git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] git-filter-branch could be confused by similar names
@ 2007-12-25 14:35 Dmitry Potapov
  2007-12-29 22:36 ` Johannes Schindelin
  0 siblings, 1 reply; 18+ messages in thread
From: Dmitry Potapov @ 2007-12-25 14:35 UTC (permalink / raw)
  To: git; +Cc: Dmitry Potapov

'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 <dpotapov@gmail.com>
---
 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"'$')"
 	esac
 
 	git check-ref-format "$ref" && echo "$ref"
diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh
index 5f60b22..c3e5207 100755
--- a/t/t7003-filter-branch.sh
+++ b/t/t7003-filter-branch.sh
@@ -36,6 +36,16 @@ test_expect_success 'result is really identical' '
 	test $H = $(git rev-parse HEAD)
 '
 
+test_expect_success 'rewrite branch with similar names' '
+	git branch my &&
+	git tag my/orig &&
+	git tag my-orig &&
+	git tag orig/my &&
+	git tag orig-my &&
+	git-filter-branch my &&
+	test $H = $(git rev-parse HEAD)
+'
+
 test_expect_success 'rewrite, renaming a specific file' '
 	git-filter-branch -f --tree-filter "mv d doh || :" HEAD
 '
-- 
1.5.3.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2008-01-06  9:14 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-25 14:35 [PATCH] git-filter-branch could be confused by similar names Dmitry Potapov
2007-12-29 22:36 ` Johannes Schindelin
2007-12-30 10:31   ` Dmitry Potapov
2007-12-30 10:46     ` Johannes Schindelin
2007-12-30 13:54       ` Dmitry Potapov
2007-12-30 16:03         ` Johannes Schindelin
2007-12-30 18:40           ` Dmitry Potapov
2007-12-30 18:51           ` Dmitry Potapov
2008-01-03 21:27             ` Junio C Hamano
2008-01-04 15:51               ` Dmitry Potapov
2008-01-04 20:28                 ` Junio C Hamano
2008-01-05 16:03                   ` Johannes Schindelin
2008-01-05 20:23                     ` [PATCH 1/2] git-rev-parse --symbolic-full-name Junio C Hamano
2008-01-05 20:28                     ` [PATCH 2/2] filter-branch: work correctly with ambiguous refnames Junio C Hamano
2008-01-06  1:57                       ` Johannes Schindelin
2008-01-06  2:53                         ` Junio C Hamano
2008-01-06  9:14                           ` Johannes Schindelin
2008-01-05  1:17                 ` [PATCH] git-filter-branch could be confused by similar names Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).