@hackage darcs-scripts0.1.1

Shell scripts for support of darcs workflow

This is a collection of Bash shell scripts for support of development using the revision control system Darcs. The scripts are installed in your cabal/share directory, thus you may extend your command search path accordingly.

Within a Darcs working copy you may run:

  • editor `darcs-list-modified`: Open an editor with all files that are modified with respect to the current local repository state.

  • darcs-replace-rec OLD NEW dirOrFileA dirOrFileB: Replace OLD by NEW in all files in dirOrFileA and so on, that contain OLD. This calls darcs replace, that is, the replacements are managed by Darcs as such.

  • darcs-mv-hs src/Data/Special.hs src/Control/Extra.hs: Move the file src/Data/Special.hs to src/Control/Extra.hs and replace the according module name Data.Special by Control.Extra in all modules in directory src and in the cabal file. The first component must be a directory for source files. If you do not have a source directory, you may use ., but then files in _darcs are also addressed, and Darcs will warn you. Nested source directories are not supported.

  • darcs-hub-put pkgname: Create new darcs repository at hub.darcs.net with the Cabal Synopsis as repository summary. The push patches to the newly created repository. pkgname is the name of the remote repository. A common way to run the script is darcs-hub-put `basename $PWD`.

  • darcs-conv-latin-to-utf8 dirOrFile ...: Convert all files from Latin encoding to UTF8 encoding. You may easily adapt the script in order to convert between other encodings. Instead of using non-ASCII encodings you may replace non-ASCII symbols by Haskell string escape codes.

  • darcs-replace-finitemap: Convert old programs from use of FiniteMap to containers:Data.Map.

  • darcs-mv-m3 and darcs-mv-mg are for Modula-3 development. They rename both interface and implementation file of a module and replace module names accordingly.