Skip to content

Commit

Permalink
[PATCH] Make sure git-resolve-script always works on commits
Browse files Browse the repository at this point in the history
You can resolve a tag, and it does the right thing except that it might
end up writing the tag itself into the resulting HEAD, which will confuse
subsequent operations no end.

This makes sure that when we resolve two heads, we will have turned them
into proper commits before we start acting on them.

This also fixes the parsing of "treeish^0", which would incorrectly
resolve to "treeish" instead of causing an error.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Linus Torvalds authored and Junio C Hamano committed Aug 14, 2005
1 parent 3140825 commit 02a4a32
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 9 deletions.
4 changes: 2 additions & 2 deletions git-resolve-script
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
#
. git-sh-setup-script || die "Not a git archive"

head=$(git-rev-parse --verify "$1")
merge=$(git-rev-parse --verify "$2")
head=$(git-rev-parse --verify "$1"^0) || exit
merge=$(git-rev-parse --verify "$2"^0) || exit
merge_msg="$3"

dropheads() {
Expand Down
10 changes: 3 additions & 7 deletions sha1_name.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,13 +208,9 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1)
} else
parent = -1;

if (0 <= parent) {
ret = get_parent(name, len, sha1, parent);
if (!ret)
return 0;
else if(parent>0)
return ret;
}
if (parent >= 0)
return get_parent(name, len, sha1, parent);

ret = get_sha1_basic(name, len, sha1);
if (!ret)
return 0;
Expand Down

0 comments on commit 02a4a32

Please sign in to comment.