Wednesday, April 4, 2018

Darcs 2.14.0 released

The Darcs team is pleased to announce the release of Darcs 2.14.0!

Darcs is a free, open source revision control system. It is:

  • Distributed: Every user has access to the full command set, removing boundaries between server and client or committer and non-committers.
  • Interactive: Darcs is easy to learn and efficient to use because it asks you questions in response to simple commands, giving you choices in your work flow. You can choose to record one change in a file, while ignoring another. As you update from upstream, you can review each patch name, even the full "diff" for interesting patches.
  • Smart: Originally developed by physicist David Roundy, darcs isbased on a unique algebra of patches.
Learn more about Darcs on .

Supported GHC and Cabal versions

Darcs 2.14 can be compiled with GHC 8.0, 8.2 and 8.4, and
supports Cabal versions from 1.24.

Windows issues

Darcs 2.14 received many updates in its support of encoding.
However, it may still contain bugs, especially under Windows,
a platform for which we have fewer known users. Please let us
know if you encounter weird behaviour under Windows.

What's new

User Interface:

  •  fix encoding business, make DARCS_DONT_ESCAPE_8BIT=1 default (Ben Franksen, Ganesh Sittampalam)
  • show explicit dependencies in `darcs log -s` (Gian Piero Carrubba)
  • improve bash/zsh completion (Ben, Gian Piero)
  • no longer print an error message when ctrlc'ing pager (Guillaume Hoffmann)
  • darcs help markdown` mentions all files in `_darcs/prefs/` (Guillaume)
  • add patch index status to `show repo` command (Ben)
New features:

  • per-file conflict marking (Ben)
  • make it possible to use DARCS_SCP=rsync (Ben)
  • add --not-in-remote option to unrecord command (Ben)

  • plug memory leak and improve efficiency in annotate (Ben)
  • save unneeded FL/RL reverses in SelectChanges module (Ben)
  • optimize token replace code and --look-for-replaces (Ben)
  • no longer show conflicting files on `whatsnew -s`, will reintrodue this
  • feature when it is done efficiently (Guillaume)

  • separate display and storage of patches (Ben)
  • support GHC 8.2 and GHC 8.4 (Ganesh)
  • many refactorings in Darcs.Repository modules and API (Ben, Guillaume)
  • no longer track build dependencies in Setup.hs, nor use alpha, beta, rc names (Guillaume)
  • refactor `pull --reorder-patches` (Ben)
  • refactor SelectChanges (Ben)
  • remove Patchy typeclass and redundant constaints where possible (Guillaume)
  • fix build with cabal new-build (Francesco Ariis)
  • unit and quickcheck tests for inventories (Ben)
  • throw out all access to bytestring internals from Darcs.Util.ByteString (Ben)
  • refactor, simplify, and document hunk application (Ben)
  • drop support of old cache location and SHA1-hashed repos (Guillaume)
  • rely on GHC's own stack traces for bug reporting (Guillaume)
Issues resolved in Darcs 2.14:

  • fix mail encoding with '.' or '=' as last character (Timo von Holtz)
  • issue2526: whatsnew -l --boring should list boring files (Ben)
  • issue2208: replace detects existing force hunks in working (Ben)
  • issue2512: author name is written to repository after multiple-choice  prompt (Stephan-A. Posselt)
  • issue2359: convert --export mishandles Unicode filenames (Ben)
  • issue2545: prevent argument smuggling in SSH repository URLs (Gian Piero)
  • issue2581: fix rebase pull --reorder (Ben)
  • issue2575: fix unrevert with rebase (Ben)
  • issue2579: allow darcs send to work even if no MTA is installed
  • issue2555: include explicit dependencies in the output of `log -v` (Gian Piero)
  • issue2569: decoding multibyte characters (Ben)
  • issue2563: create remote repo in correct format in ssh tests (Ben)
  • issue2565: create _darcs dir after searching for an existing one (Ben)
  • issue2567: darcs whatsnew --unified (Ben)
  • issue2566: avoid renaming across file systems (Ben)
  • issue2564: delete wrong and irrelevant propConcatPS (Guillaume)
  • issue2559: remove trailing empty lines in patch header edition (Guillaume)
  • issue2536: mask out internal matchers in `show files` routing logic (Gian Piero)