[prev in list] [next in list] [prev in thread] [next in thread] 

List:       git
Subject:    Re: grafts+repack+prune = history at danger
From:       Linus Torvalds <torvalds () linux-foundation ! org>
Date:       2007-01-27 0:56:41
Message-ID: Pine.LNX.4.64.0701261652440.25027 () woody ! linux-foundation ! org
[Download RAW message or body]



On Fri, 26 Jan 2007, Junio C Hamano wrote:

> Linus Torvalds <torvalds@linux-foundation.org> writes:
> >
> >  - "git prune" would *also* explicitly set it to zero, but would also 
> >    manually look at the grafts file, and mark anything that is set in the 
> >    grafts file as being reachable (the same way it does for index entries 
> >    etc).
> 
> I am not sure why your "git prune" one does that, but will think
> about it for some time first before I ask you to waste your time
> explaining it me.

Simple: the grafts may actually _hide_ history too - not just add it.

Sure, commonly, a graft is used to graft two complete trees together (eg, 
you'd graft the old Linux history into the new Linux history tree). 

However, they _can_ also be used to "fix" history - say that you had one 
tree that has a rough history (with all the releases, but not the full 
history between them), and another "fine-grained" historical tree. You 
could use a graft to replace the rough history version with the 
fine-grained one, so the graft may actually hide stuff that is there in 
the rough history.

So in this case, we wouldn't necessarily want to prune stuff that 
"exists", but is hidden by a graft. So in my suggestion, pruning would 
basically only use the grafts file to *add* refs, never to hide them.

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

Configure | About | News | Add a list | Sponsored by KoreLogic