diff --git a/git-grep.sh b/git-grep.sh index 51924fd7c3..e7a35ebd70 100755 --- a/git-grep.sh +++ b/git-grep.sh @@ -40,4 +40,4 @@ while : ; do shift done git-ls-files -z "${git_flags[@]}" "$@" | - xargs -0 grep "${flags[@]}" "$pattern" + xargs -0 grep "${flags[@]}" -e "$pattern" diff --git a/show-branch.c b/show-branch.c index 8cc0755e0a..5778a594f4 100644 --- a/show-branch.c +++ b/show-branch.c @@ -138,7 +138,20 @@ static void name_commits(struct commit_list *list, nth++; if (p->object.util) continue; - sprintf(newname, "%s^%d", n->head_name, nth); + switch (n->generation) { + case 0: + sprintf(newname, "%s^%d", + n->head_name, nth); + break; + case 1: + sprintf(newname, "%s^^%d", + n->head_name, nth); + break; + default: + sprintf(newname, "%s~%d^%d", + n->head_name, n->generation, + nth); + } name_commit(p, strdup(newname), 0); i++; name_first_parent_chain(p);