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

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

Re: [Gnu-arch-users] Re: darcs vs tla


From: Zenaan Harkness
Subject: Re: [Gnu-arch-users] Re: darcs vs tla
Date: Fri, 19 Nov 2004 10:14:25 +1100

On Fri, 2004-11-19 at 09:28, John A Meinel wrote:
> Zenaan Harkness wrote:
> 
> > 
> > This is something I strongly believe to be worthwhile from a users point
> > of view - where it makes sense of course, have only one way to do thing.
> > Only have multiple mechanisms when you _need_ them.
> > 
> > I personally prefer a unix-like command subspace, as in tla mv, tla ln,
> > tla cp, etc. Having to remember which operations are "tla" commands and
> > which are plain unix is unnecessary thought-overhead, in my opinion!
> > 
> > cheers
> > zen
> > 
> 
> This is where I semi-disagree. I'm fine with having a set of commands 
> (tla cp, tla mv, tla...) which always work. And that will support people 
> who want the "completely consistent" view.
> 
> But if I know what's going on, and don't like having to type 4 extra 
> characters each time, or I want to use say Nautilus (or windows 
> explorer). It would be nice if it would do what I want.

Actually I agree with this too. If it can work, it should.

I would like a fully consistent "sub-" command namespace though...

> Also, tla mv,rm et al *won't* work in a darcs repository, or a bitkeeper 
> repository, or a svn one.

If the semantics of the respective SCMs are different - if the behaviour
is different, you don't want them to be the same, if that will result in
potentially painful side-effects.

If the semantics are the same, or close enough, alias is your friend :)

> So then you have to remember where you are again, and what command does 
> what you want.

That's a different problem - an organizational problem (if you have to
use multiple SCMs).

There will _always_ be different programs that do sort of similar stuff,
with different semantics. If you have to use them or swap between them
regularly, that's surely not the problem of any _particular_ program, or
a reason not to simplify/unify the command (sub-)namespace of a
particular program! (I don't imagine you'd disagree with that either.)

In fact, if all these SCMs consistently use a unix-like sub-command
namespace, then that will simplify your job, not make it difficult - all
you have to remember is _which_ SCM you need, and then they all have
$SCM [add|mv|rm|ln|cp|ci|etc] (gratuitous monopoly lock in tactics aside
of course). You'd be asking the SCMs that _didn't_ stick to the standard
naming conventions to at least support alias's (alii?) for the
"standard" command names.

> If they all used taglines (again a pipe dream, I know) then they all 
> could use just plain mv, and they all wouldn't need to re-invent the 
> wheel all the time.

That's not entirely an SCM problem (binary files => OS/ filesystem
metadata problem). But you knew that. Perhaps reiser4 will one day
become ubiquitous enough to make such an app/solution widely deployable.

> And for the case where you can't have a tagline you have tla mv-id (and 
> no tla mv) which will move a file id that has become dis-associated.

Yeah yeah. That's not "newbie friendly". 'Always use "tla mv"' is.

> And then on commit or tree-lint you get a nicer error message:
> 
>    The file associated with id blah.c.id cannot be found.
>    Did you move or delete the file [m/d]? m
>    Supply the new filename: blahblah.c
>    Renamed blah.c.id -> blahblah.c.id
> 
>    The file associated with id bliss.id cannot be found.
>    Did you move or delete the file [m/d]? d
>    Are you sure [y/N]? y
>    Deleted bliss.id.

I am a strong advocate of nice error messages (allows me to verbally
kick those who didn't read the error message :) - of course, I kick
myself when I miss obvious error messages too.

cheers
zen




reply via email to

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