Re: [PATCH] git-filter-branch could be confused by similar names
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:01
Hi, On Tue, 25 Dec 2007, Dmitry Potapov wrote:
quoted hunk ↗ jump to hunk
'git-filter-branch branch' could fail producing the error: "Which ref do you want to rewrite?" if existed another branch or tag, which name was 'branch-something' or 'something/branch'. Signed-off-by: Dmitry Potapov <redacted> --- git-filter-branch.sh | 2 +- t/t7003-filter-branch.sh | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletions(-)diff --git a/git-filter-branch.sh b/git-filter-branch.sh index dbab1a9..b89a720 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh@@ -219,7 +219,7 @@ do ;; *) ref="$(git for-each-ref --format='%(refname)' | - grep /"$ref")" + grep '^refs/[^/]\+/'"$ref"'$')"
Hmm. I wonder if this is a proper solution. It still does not error out when you have a tag and a branch of the same name. I kinda hoped that by 1.5.4, rewrite-commits would be finished, but it seems that nothing happened in that area after 1.5.3-rcX. It would be so much easier to have checks like this -- returning the real refname for short but unique short refnames -- in C. Ciao, Dscho