darcs-scripts

Shell scripts for support of darcs workflow

Latest on Hackage:0.1.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Henning Thielemann
Maintained by [email protected]

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.