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

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

Re: [Gnu-arch-users] checksum.cacherev exists in "tla cacherev"


From: Tom Lord
Subject: Re: [Gnu-arch-users] checksum.cacherev exists in "tla cacherev"
Date: Mon, 26 Jan 2004 07:53:52 -0800 (PST)

    > From: address@hidden

    > I'm following the tutorial with arch (on cygwin)

    > When I get to
    > "Elementary Branches -- Maintaining Private Changes"
    > and "candice" performs the command
    > "tla cacherev hello-world--candice--0.1--base-0"
    > I get the following error:

    > Failed to open files:
    > 
/arch/candice/{archives}/2003-candice/hello-world/hello-world--candice/hello-world--candice--0.1/base-0/checksum.cacherev

    > because the file exists, and tla tries to open the file with the flags
    > O_WRONLY | O_CREAT | O_EXCL (in libarch/pfs-fs.c:226)

    > Could someont tell me if this is an error in tla1.2pre1 or in cygwin or in
    > tla/cygwin.


There is a combination of two things going on there.

First, the tutorial has fallen out of date wrt to the 1.2preX series.
The `tag' command, when tagging across archive boundaries,
automatically cacherevs the new revision unless you ask it not to.
So, that revision is already cachereved.

Second, that's just a case of a crappy error message.  There's lots of
places in tla (though the number is shrinking) where a perfectly
"ordinary" error condition (such as trying to cacherev and already
cachereved revision) must cause a command to fail.  To give a pretty
error message in such cases, tla needs to be modified to explicitly
check for the error condition and print the pretty error message.
Where such checks are missing, what happens instead is that a lower
level function fails safely -- but gives a lower level error message.

Adding checks for high-level errors is something that has to be done
on a case by case basis.   Many have recently been added -- if you
find an error like the one you reported and the message bugs you, the
best thing to do is to make the (usually simple) patch to add the
higher level check.

-t





reply via email to

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