[darcs-users] Naming consistency between darcs and other DVCSs

Eric Kow kowey at darcs.net
Mon Aug 10 21:25:16 UTC 2009


On Mon, Aug 10, 2009 at 21:50:23 +0200, Reinier Lamers wrote:
> When you start discussing alternative names for commands you open pandoras 
> box. Can't we just keep the names we're used to, with aliases where they don't 
> cause confusion?

Yes.  It was fun to think about how a future unified dvcs name set would
work, but for the foreseeable future, Darcs command names are staying the
same.

And lest we loop back on ourselves, here are the latest contents of the
relevant part of http://wiki.darcs.net/RosettaStone which I hope summarises
our last discussion on the topic.

Thanks! :-)

Eric

Discrepencies between DVCS models
==================================
Git has the notion of an index (which affects the meanings of some of the commands),
Darcs just has its simple branch-is-repo-is-workspace model.

Discrepencies between DVCS commands
===================================
 * git revert is like darcs rollback
 * git reset   is like darcs revert
 * hg rollback is like darcs obliterate + darcs revert (and can only deal with the very last
   transaction)

Recommendations for unification
===============================
Note that there are *no current plans* to rename commands.  The following is
some idle speculation on how darcs (and other revision control systems) can
make it easier for users to go from one system to another.  In particular, we
want to be careful to avoid forcing things to have the same name if they
actually have subtly different meanings.

Quoting Stephen Turnbull in
http://lists.osuosl.org/pipermail/darcs-users/2009-July/020438.html ::

  In general, I think that application of database terminology would be
  a good idea, with the exception of "commit" because of the historical
  context of CVS, and the very strong intuition that recording locally
  doesn't commit you to anything (cf. the rebase controversy, where
  everybody agrees that local rebasing is a mere peccadillo or even
  beneficial, while rebasing a branch that has been published is equated
  to smoking in an elevator filled with pregnant women).

General principles
------------------
There will be **no swapping** of command names in any system.  That would just
cause too much confusion.  If any change were to happen, it would likely have
to involve converging to a new set of consensus commands.  This requires
cooperation from all revision control systems.

Darcs
-----

 * rename whatsnew -s to status (see http://bugs.darcs.net/issue182)
 * rename get     to clone
 * rename changes to log
 * rename rollback to new "invert"

   - Eric originally suggested "repeal", but everybody hated it, including Eric
   - "reverse" has also been suggested (although it sounds a lot like revert,
     which could be bad)

darcs record stays
~~~~~~~~~~~~~~~~~~
Note: one command we are making a point to keep is "darcs record" (as opposed
to darcs commit).  We think it's important to preserve the distinction between
saving a change locally and publishing that change somewhere.

Also, here is what you get when you type in "darcs commit"::

  This command does not do anything.
  If you want to save changes locally, use the `darcs record' command.
  If you want to save a recorded patch to another repository, use the
  `darcs push' or `darcs send' commands instead.


Others
------
We may not have much say in what others name things, but these may help build a
consensus command set
 * git:rename revert to new "invert"
 * hg:rename rollback to obliterate
 * everybody: rename commit to "record" :-)

References
==========
 * July 2009 discussion on this:
   http://lists.osuosl.org/pipermail/darcs-users/2009-July/020428.html

   Note in particular:
   - http://lists.osuosl.org/pipermail/darcs-users/2009-July/020433.html
   - http://lists.osuosl.org/pipermail/darcs-users/2009-July/020438.html

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20090810/2e60ecbe/attachment.pgp>


More information about the darcs-users mailing list