[Top][All Lists]

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

Re: [GNU-arch-dev] Re: [Gnu-arch-users] new documentation progress

From: John Arbash Meinel
Subject: Re: [GNU-arch-dev] Re: [Gnu-arch-users] new documentation progress
Date: Fri, 08 Apr 2005 18:00:45 -0500
User-agent: Mozilla Thunderbird 1.0 (Macintosh/20041206)

Tom Lord wrote:

  >> Always giving root the same tag means that many important control
  >> files always have the same tag (using only generic rules for how those
  >> tags are constructed).

 > Uhm. All current files in Arch are either names tagged
 > - ?[_]./path/to/file-or-dir
 > or explictly id'd via external id files or in-file taglines.

 > Unless I'm badly mistaken giving the root a different id has no effect
 > on the ids of any other files.

Think more algebraicly:

The root and its id are a kind of `0'.

Given a directory id and a relative path from that directory
to a particular kind of control file, one can reliably construct
the id of that control file.

So, sure --- arch could assign a patch log file the same id it
currently does even if the root id could change.  On the other
hand, the id of a patch log file can be computed using generic
algebra rules, given only its path relative to `0', the root directory.

Why doesn't arch assign the id based on the patch log fully qualified
revision? Since that is the actual unique identifier.
One might say that there may be 2 patch-logs with the same fqrn, but in
my mind, that is actually a bug. Arch can only access it if it is in the
right location.

People sometimes argue that it would be useful if one could "rename"
a subdir to be the root and the root to be a subdir.  It is noteworthy,
though, that any such rename operations, to be valid in arch, would
*have to be* accompanied by a rename of the `{arch}' directory.  In other
words, no matter what, the root directory is a special case.

I don't see why you have to rename {arch}. The goal is to be able to
"tla tag -S main lib-foo", move things around to allow the current
$main/foo directory to be split out as a separate sub-project, such that
if you add a file in the lib-foo project, it will be added in $main/foo
instead of $main/.

It is a similar problem to the one of tla not supporting additions in
renamed directories.

Given that the root dir is always a special case, giving it a fixed
id (and thus avoiding to *ever* have to rename `{arch}'), is
actually something of a simplification.



Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

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