author | Shawn O. Pearce <spearce@spearce.org> | |
Mon, 5 Mar 2007 17:49:02 +0000 (12:49 -0500) | ||
committer | Shawn O. Pearce <spearce@spearce.org> | |
Mon, 5 Mar 2007 17:50:29 +0000 (12:50 -0500) |
* maint:
fast-import: Fail if a non-existant commit is used for merge
fast-import: Avoid infinite loop after reset
[sp: Minor evil merge to deal with type_names array moving
to be private in 'master'.]
fast-import: Fail if a non-existant commit is used for merge
fast-import: Avoid infinite loop after reset
[sp: Minor evil merge to deal with type_names array moving
to be private in 'master'.]
1 | 2 | |||
---|---|---|---|---|
fast-import.c | patch | | diff1 | | diff2 | | blob | history |
diff --cc fast-import.c
index 65e99c2e8b14840f70c027deb360d5d3c5292959,d9492b9884fbf78a5986f7701c79136c6f83798f..cc3347b23d0c7dba1bc05c65cb58215c92bb8547
--- 1/fast-import.c
--- 2/fast-import.c
+++ b/fast-import.c
if (oe->type != OBJ_COMMIT)
die("Mark :%" PRIuMAX " not a commit", idnum);
hashcpy(n->sha1, oe->sha1);
- } else if (get_sha1(from, n->sha1))
+ } else if (!get_sha1(from, n->sha1)) {
+ unsigned long size;
+ char *buf = read_object_with_reference(n->sha1,
- type_names[OBJ_COMMIT], &size, n->sha1);
++ commit_type, &size, n->sha1);
+ if (!buf || size < 46)
+ die("Not a valid commit: %s", from);
+ free(buf);
+ } else
die("Invalid ref name or SHA1 expression: %s", from);
n->next = NULL;