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

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

[Gnu-arch-users] Re: Creating and joining branches...


From: Aaron Bentley
Subject: [Gnu-arch-users] Re: Creating and joining branches...
Date: Wed, 11 Aug 2004 23:05:17 -0400
User-agent: Mozilla Thunderbird 0.5 (X11/20040306)

Miles Bader wrote:
Yeah, the aba change-version script is essentially what you wrote above.

And the `tla-switch' script in tla-tools.  :-)

And then there's all the scripts for forking... :-)

 In Fai, you can do "fai update project--branch-cheese--0"

This is worrying, because `tla update project--branch-cheese--0' does
something quite different (and very useful in its own right).

I haven't yet seen a use case where update was better than star-merge or replay VERSION for the purpose.

tla's
interpretation is quite consistent with the way other commands in tla
work when given a version argument, so I think it's arguably a good one.

This behavior is consistent with "tla get". And no, the commands aren't all that consistent. Somtimes they use the latest revision that has a patchlog in the tree. Somtimes they use the latest revision in the archive. Update does both; it's roughly

tla apply-delta $(tla logs -f |tail -n1) $(tla revisions -f|tail -n 1) $(tla tree-root)

I don't know what your goals are for fai, but it seems like avoiding
pointless incompatibilities with identically-named commands in tla would
be a good one...

I'm trying to provide a set of commands that are useful for everyday work.

Having them behave similarly to tla commands is fine, but making them identical is pointless-- it's just reimplementing tla in Python on top of tla.

I believe the functionality "fai update" provides is useful-- the number of times it's been reimplemented should be proof of that. I think that the behavior of "tla update" is strange:

- In a tla--devo--1.3 tree, "tla update tla--devo--1.3--patch-4" does something, but "tla update tla--devo--1.2--patch-115" does nothing. - In a tla--devo--1.2 tree, "tla update tla--devo--1.3" reports "tree has no common history with version" - Perhaps the merge behavior has a use case, but it's counterintuitive, and the use case is unusual. On the other hand, people update all the time, and I believe this is more useful for that case.

I always thought of update as "turn this tree into the latest revision of foo, but keep my local changes intact". I think that's what people want from an update command. It took me months to find out that tla's update had these odd behavours in the corner cases, and I'm not the only one.

Aaron




reply via email to

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