[slime-devel] Re: Mercurial

Helmut Eller heller at common-lisp.net
Fri Aug 8 11:26:02 UTC 2008


* Tobias C. Rittweiler [2008-08-08 09:51+0200] writes:

> Helmut Eller <heller at common-lisp.net> writes:
>
>> What do people think of switching from CVS to Mercurial[*] ?
>>
>> Helmut.
>
> I'd like to try that out now. My threshold of annoyance with CVS has
> filled up.

I think that we will not do a full switch very soon.  We need to make a
few smaller steps.  The easiest for everyone, is probably to run a local
hg repository for personal use and to commit to CVS from time to time.

To get started you can try my repo.  Create a local copy with:

  hg pull -v --remotecmd=~heller/bin/hg ssh://trittweiler@common-lisp.net/~heller/slime-hg slime-hg-local

I hope that I set the permissions correctly.  

The Mercurial homepage[1] has links to tutorials and documentation.  You
might skim through the hgbook[2] a bit.  The book is rather wordy.  For
everyday use, the documentation printed with the -h option is usually
enough.

Unfortunately, nobody explains how to commit to CVS.  
In my setup I have 2 local repos: work and outgoing.  In work I do my
local hacking and I use outgoing before committing to CVS.  outgoing is
at the same time a CVS repo, i.e. I copied the CVS directory from the
original CVS repo to outgoing.

The usual commit cycle is:
  cd work
  hg pull ssh://heller@common-lisp.net/slime-hg   # get new changes from CVS
  ... merge conflicts ...
  ..frob stuff..
  hg commit
  hg push -r tip ../outgoing  
  cd ../outgoing
  cvs update  
  hg up
  cvs commit 

I have a script (see attachment) to automate the last few steps.  To
enable it, add the following to your ~/.hgrc

  [extensions] 
  slimecommit = .../slimecommit.py

Then you can commit multiple changes in a batch with

  cd outgoing; hg slimecommit . 3587 3588 3589

The numbers are revisions to commit.  The first number, 3587, must be
the version which is in synch with CVS, otherwise the command fails.

No, this isn't pretty, but a start.

Helmut.

[1]http://www.selenic.com/mercurial/wiki/
[2]http://hgbook.red-bean.com/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: slimecommit.py
Type: text/x-python
Size: 2434 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20080808/9c951887/attachment.py>


More information about the slime-devel mailing list