[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Arx-users] ArX and simplicity
From: |
Kevin Smith |
Subject: |
Re: [Arx-users] ArX and simplicity |
Date: |
Fri, 29 Apr 2005 00:25:11 -0400 |
User-agent: |
Mozilla Thunderbird 1.0.2 (X11/20050325) |
Walter Landry wrote:
> However, this actually touches on something that has always bothered
> me. I don't like it that we have to specify archives so much. It
> seems that other systems manage to get away without having explicit
> names for archives at all. I think the principle reason is that they
> do not try to support lightweight branches.
>
> In other systems, if you want to make a first class branch of a
> project, you have to download the entire history of the project. With
> ArX and tla, you just put a pointer in your own archive to the parent
> archive. In order for that pointer to work, it can't use a URL,
> because URL's can change. So they use a symbolic name.
What if it were a URL? If it moves, the link breaks. That's the risk you
take for not getting a full copy.
Or, taking the opposite position, yes, I think I would be ok losing that
feature if it *dramatically* simplified other stuff. Which it probably
would.
The whole concept of an archive having a "name" that is different from
its location seems somewhat odd, actually.
> But symbolic names suck for two reasons:
>
> 1) They need to be unique, so they become long and unwieldy.
>
> 2) People ignore guidelines, and end up with names that are not
> unique anyway.
True. A URL is guaranteed to be unique. Or at least unambiguous.
> The solution to the first problem is to make the use of archive names
> much more implicit. One possiblity would be to get rid of the default
> archive and instead use the archive of whatever project tree we are
> in.
This is an area of ArX that I don't yet understand. More explanation
would be helpful.
> The solution to the second problem is to replace the current user
> generated scheme for choosing archive names with UUID's. Bitkeeper
> uses something like this, although in a very different way. Then you
> are guaranteed to never have conflicts. It would also make me more
> comfortable allowing archive aliases, because they could never be
> mistaken for real archive names. Aliases would also make it easier to
> type archive names when you are forced to.
Aliases would be SOOOO helpful. Even if they are required to start with
a colon or something like that to clearly identify them. I just want to
refer to :arx instead of the official archive name. That is, if I
continue to have to refer to archives by name at all.
> The colon ":" is already used to determine whether we are looking at a
> url (http://foo/bar) or an archive name (address@hidden).
Hmmm. Maybe reserving some other character would be worthwhile (comma,
ampersand, number sign, whatever). Or using the colon and preventing
archive names that are also protocol names (file, http, https, etc).
I don't even remember all the commands where I had trouble knowing
whether I was referring to an archive or a branch, and how many allowed
either one. Another avenue to avoiding the ambiguity would be to avoid
any case where a command can take either one interchangeably.
Kevin