@hackage darcs-beta2.7.99.2

a distributed, interactive, smart revision control system

Darcs

This is the source tree for darcs, a distributed version control system written in Haskell.

For more information, visit the darcs web site:

http://www.darcs.net

Compilation and Installation

Building Darcs requires GHC, version 6.10.3 or higher. It also requires the Cabal package, version 1.6 or higher. The cabal-install package is also recommended.

If you have the "cabal-install" package on your system (that is, there is a "cabal" executable in your path), you can use the following command to create an executable in ~/.cabal/bin/darcs (this will also automatically fetch and build dependencies from the Hackage server).

$ cabal update
$ cabal install

Otherwise, if you have the "cabal" package but not the "cabal-install" package, run the following:

$ runghc Setup configure
$ runghc Setup build
$ sudo runghc Setup install

You may also omit the last step and copy the darcs executable (found in dist/build/darcs/darcs) to a location of your choosing.

More detailed instructions can be found at http://www.haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package including instructions on obtaining a copy of cabal-install.

Please also note that the cabal-based build by default requires the cURL library (and development headers). If, for some reason, you cannot provide cURL, please pass "-f-curl" to the configure step above.

Hacking

For more information about darcs hacking and best practices please check the darcs wiki at http://wiki.darcs.net

Of particular interest are the following documents:

Comments about do-notation warnings

You may find a number of comments (163 of them at the time of writing) looking like: -- Warning: A do-notation statement discarded a result of type Whatever. They signal warnings issued by GHC that have been automatically silenced. See http://bugs.darcs.net/issue1988 for more detail.

These warnings were most certainly harmless, but who knows... If you stumble upon one such comment, take a minute or two to check if it is really okay to ignore the return value (look for "_ <- " on the line next to the comment). If everything is correct, please remove the comment and send a patch (mentioning issue1988). If it isn't, you have found a bug, congratulations! Fix it, or fill a bug report on http//bugs.darcs.net/. Finally, if in doubt, leave it as is. Many thanks.

Testing

For more information about the test suite, including how to run specific tests please read tests/README.test_maintainers.txt.

Happy hacking!

  • Deprecated

  • Dependencies (0)

  • Dependents (1)

    @hackage/acme-everything
  • Package Flags

      curl
       (on by default)

      Use libcurl for HTTP support.

      http
       (on by default)

      Use the pure Haskell HTTP package for HTTP support.

      static
       (off by default)

      Build static binary

      terminfo
       (on by default)

      Use the terminfo package for enhanced console support.

      threaded
       (on by default)

      Use threading and SMP support.

      library
       (on by default)

      Build darcs library

      executable
       (on by default)

      Build darcs executable

      color
       (on by default)

      Use ansi color escapes.

      mmap
       (on by default)

      Compile with mmap support.

      hpc
       (off by default)
      test
       (off by default)

      Build test harness

      optimize
       (on by default)

      Build with optimizations (-O2)

      warn-as-error
       (off by default)

      Build with warnings-as-errors

      force-char8-encoding
       (off by default)

      Allow base 4.5 or above on Unix. base 4.4 introduces a change in the behaviour of filenames that requires API calls in base 4.5 to workaround. So base 4.4 is not supported at all.