[darcs-users] TortoiseDarcs

Edwin Thomson edwin.thomson at businesswebsoftware.com
Thu Jan 5 17:26:36 UTC 2006


This is a modified version of TortoiseCVS, which adds support for Darcs. 
  It integrates the version control system with Explorer, marking 
files/folders by their status (modified/not in version control/modified 
etc) and giving access to darcs/cvs commands via contextual menus.

Binary: http://tortoisedarcs.bwsint.com/TortoiseCVS.exe (8.7MB)
Source: http://tortoisedarcs.bwsint.com/TortoiseDarcs-no-_darcs.zip (37.4MB)
_darcs directory for project: http://tortoisedarcs.bwsint.com/_darcs.exe 
(59.4MB self-extracting archive)


It hasn't been made pretty for release, but we have been using it 
internally for some weeks now, and we thought other people might be 
interested.  Not everything that darcs can do is available, the feature 
set being largely determined by our needs.  In particular, there is no 
support for Send/Apply or pulling from http.  The code is also rather 
messy, and was taken by modifying a version of TortoiseCVS taken from 
its CVS head branch in early November.  Although the installer asks 
about the language, only English has been done for the darcs stuff.  It 
comes with a darcs binary, which is standard darcs with two additional 
patches (which I previously posted to darcs-devel, and which are 
provided in the source download): A patch to make pull --dry-run 
--summary give unambiguous output, and a patch to prevent pull from 
making unnecessary copies of the source tree.  It also contains binaries 
of KDiff3 (http://kdiff3.sourceforge.net/) and the PuTTY utilities 
(http://www.chiark.greenend.org.uk/~sgtatham/putty/).

How to use:
The TortoiseCVS.exe provided is the installer. Run it to install (you 
should be able to say yes to everything).

Darcs commands are provided via a contextual menu in Explorer.  Some are 
put directly into the menu, and others are in the "Tortoise" submenu. 
The commands will act on either the item(s) selected or, if no item is 
selected, the containing folder.  A command will only appear in the menu 
if it makes sense for that command to act on the current item.

Commands available:
Get and Init, when not in any source-controlled directory.
Push/Pull/Unpull/Unrecord/Unrevert/Tag/Resolve, when inside a darcs repo.
Record/Revert, when inside a repo or, when items with unrecorded changes 
are selected, only for those items.
Move/Annotate, when an item in a repo is selected.
Add, when an item is selected which is inside a repo folder but not part 
of the repo.
Diff, for an item with unrecorded changes

Show Patches, inside a repo, does a "darcs changes" and displays all the 
patches. Patches can be double-clicked to see what files they affect, 
and then a file can be double-clicked to see what changes were made in 
that file.
Show Patches Since Tag will does the same, but only from a tag specified 
by a regular expression.

The Push and Pull commands automatically do it from/to the default repo. 
  To push/pull to a different one, use Push To/Pull From, which asks first.
Pull All will pull all possible patches from the default repo, without 
asking you first.
Sometimes the graphical display of what changes have been recorded gets 
out of sync with reality. Usually refreshing the window (F5) will sort 
this, but if this doesn't work, the Recolour command should.

Push/Pull: This will run darcs with the --dry-run option first, to get a 
list of available patches.  You can then choose "None" to cancel, "All" 
to get them all, and "Some" to be asked about them individually.

Edwin




More information about the darcs-users mailing list