Re: [PATCH] git-filter-branch could be confused by similar names
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Dec 30, 2007, 10:46 UTC
- Message-ID
- <Pine.LNX.4.64.0712301145360.14355@wbgn129.biozentrum.uni-wuerzburg.de>
- In-Reply-To
- <20071230103146.GU13968@dpotapov.dyndns.org>
Hi,
On Sun, 30 Dec 2007, Dmitry Potapov wrote:
Show 34 quoted lines
> On Sat, Dec 29, 2007 at 11:36:51PM +0100, Johannes Schindelin wrote: > > > > On Tue, 25 Dec 2007, Dmitry Potapov wrote: > > > > > '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"'$')" > > > > 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. > > Are you sure? I had created a tag and a branch with the same name, and > then tried git filter-branch on it, and it did error out: > === > warning: refname 'test1' is ambiguous. > Which ref do you want to rewrite? > ===
Okay, bad example. But try "heads/master". Or "origin" in a repository which has "refs/remotes/origin/HEAD".
Ciao, Dscho