|
From: | John A Meinel |
Subject: | Re: [Gnu-arch-users] Re: Arch revision namespace |
Date: | Tue, 24 May 2005 21:46:52 -0500 |
User-agent: | Mozilla Thunderbird 1.0.2 (Windows/20050317) |
Matthieu Moy wrote:
Mikhael Goikhman <address@hidden> writes:And how exactly adding a completely random suffix to the namespace makes it non-bogus and maybe more intuitive?
I believe the real trick here is that under the covers you use the completely random suffix according to the currently registered values. But at the user interface you hide them. So when I say "tla star-merge address@hidden/my-project--devo--1.3", it secretly transforms that into: "tla star-merge address@hidden/my-project--devo--1.3/bunchofrandomcharactershanetuhntahonethunhoentuh" And then if you later delete the my-project--devo--1.3 branch, and re-create it, the random characters will be different, which means that star-merge will realize that it hasn't actually merged those changesets before. At least, that is the idea in bazaar-ng. Every archive has a location and set of revision numbers. These are considered the human visible identifiers. Under the surface they all have unique identifiers. So that if something new shows up in the same location, it is recognized to be something different. I think it is a good idea. You can always pull back the covers and use the machine identifier, but it also means you can use the human friendly identifiers the rest of the time.
Not sure I got all of Tom's idea, but if you add a checksum suffix to the namespace, then ifever you recreate a branch with the same userdefined part, it won't have the same checksum part. So, if X creates a branch "foo" twice, and Y merges from the second "foo" after merging from the first "foo", his RCS won't tell him "No, I've already merged those patches", but will merge as if it were different branches. Similarly, X won't get a corrupt archive if he forgot to clear his arch cache or his revision library.
John =:->
signature.asc
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |