Re: grafts+repack+prune = history at danger

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

 



Junio C Hamano wrote:
> Graft is a local matter, but that does not mean it should
> introduce inconsistencies.  It is a way to _locally_ change the
> world view, and to give the consistent world view locally, not
> only the commands you listed (fsck, prune, pack-objects) but
> also log, rev-list and friends all should take grafts into
> account, which is why losing B is the right thing to do if you
> repack or prune.  In your altered world, B is not part of any
> remaining history.

Here's my stance on it. Grafts should be a local matter. And they alter
the world view, with a pronounciation on *view*. That's why I proposed
that only log familiy of commands obey them[*]. And probably rev-list so
that gitk et.al. have a way to obey them. And also the ref parser (so
that master~20 is what it looks it is). Everything else should disregard
grafts: repack, prune, fetch, <transfer>-pack, push etc. No nasty side
effects anymore. No transfer of the grafts file needed. No clash when
someone else has a different *view* of the world.

Then the location of the file in .git/info/grafts is justified. If
grafts continue to have the radical influence that they have now, then
the grafts file is better located in .git/objects/info/grafts as part of
the objects database.

[*] ok, I originally also proposed the diff family, but that's likely
not necessary.

-- Hannes

-
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]