gnu-arch-users
[Top][All Lists]
Advanced

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

Re: [Gnu-arch-users] Re: Arch revision namespace


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
=:->

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]