Re: [PATCH] filter-branch: rewrite only refs which were not excludedbythe options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Tue, 24 Jul 2007, Johannes Sixt wrote:

> Johannes Schindelin wrote:
>
> > On Tue, 24 Jul 2007, Johannes Sixt wrote:
> >
> > > But there's another problem. Consider this history:
> > >
> > >    ---X--o--M         <- master
> > >              \
> > >           ...-o-...-o <- topic
> > >
> > > Then this (rather contrieved) command:
> > >
> > >    $ git-filter-branch -n $n master topic --not X
> > >
> > > If $n is small enough so that M is never rewritten, then
> > >
> > >    git rev-list -1 "$ref" $negatives
> > >
> > > still expands to non-empty even for 'master' (= M), which then 
> > > incorrectly ends up in "$tempdir"/heads.
> > 
> > Aaargh!  Of course!  Since I have to add --topo-order at the end. 
> > Otherwise it makes no sense.
> 
> No, that was no my point: In my example above, if n=1, `git rev-list -1
> "$ref" $negatives` evaluates to
> 
>     $ git rev-list -1 "master" -n 1 ^X
> 
> which returns M, even though M is not going to be rewritten. 
> --topo-order changes nothing. The problem is that the -n is a relative 
> restriction. --since is turned into --max-age, which is absolute, 
> therefore, the test works as expected with --since.

So you think we have to say something like

	git rev-list "$ref" $negatives | grep "$ref" > /dev/null || continue

?

I really should add a test case for that.

Ciao,
Dscho

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux