remove vs rm vs forget

Jari Aalto+mail.perl jari.aalto at cante.net
Fri Jun 16 08:16:29 BST 2006


* Fri 2006-06-16 Matthew Hannigan <mlh AT zip.com.au>
* Message-Id: 20060616000130.GB2348 AT mattsputer.localdomain
> On Thu, Jun 15, 2006 at 07:45:42PM +0300, Jari Aalto+mail.perl wrote:
>>     rm
>> 
>> Has established history since day one. The meanin is clear even in context
>> of VCS:
>
> ?  SVN deletes the file as well as removing from repository.
> Or do you mean working directory (if so you're confusing the
> heck out of me.)

- CVS does not delete file (user has to)
- SVN does both (in repo + working dir)
- BZR would delete it from repo (and leave it on working dir)

>> People are familiar
>> with it. An extra option to physically delete the file from local disk
>> is in in par with the idea of:
>> 
>>     "Do something more"
>> 
>> And the command
>>     
>>     bzr rm [--delete]
>> 
>> is simply
>> 
>> - Elegant
>> - Self explanatory
>
> Hardly.  rm is the Unix delete command.  People would be
> confused if it did not delete the file without an option.

the "rm" is part of the bzr command set, so it not at all confusing
bzr to primarily work on repository (thus by default leaving the file
in working directory). The extra --delete (or --delete-local or ...)
is quite straught forward.

>> The "remove" and "rm" can be synonyms of course, so that they 
>> serve both command line users and backend delevelopers.
>
> rm in particular, but also remove are hopelessly
> overloaded with meanings.

Could you elaborate? I would estimate "bzr rm" would do 90% what
people expect it to do (because similar concepts exists in CVS, SVN).

> I've come to like unversion/unadd.  They're pretty
> clunky but far more accurate.

I'm sure terminology would be more correct, but I wouldn't
appreciate every version control tool out there ro invent their
own commands

- change project; What the command called in VCS x?
- change project; What the command called in VCS y?
  ...
  "Argh, why can't they use common command set ..."

To me, using 

- already known commands (in this case: Unix)
- or already established command (in SVN, CVS; the "big two")

is a win and makes people to adadpt to new tool more easily.

Jari







More information about the bazaar mailing list