Ganesh Sittampalam | 25 Aug 22:45 2014

darcs 2.8.5 release

The darcs team is pleased to announce the release of darcs 2.8.5:


The main purpose of this release is to add support for GHC 7.8. It's
been tested with GHC 7.8.3.

The new 64 bit version of GHC for Windows is not supported; 64 bit
is supported on other platforms as before.

Various dependencies on hackage packages have also been bumped: base,
network, unix, process, array, mtl, text.

The following problems have also been fixed:

 - Resolve issue2364 <> :
   Download problems with GHC 7.8

 - Resolve issue2345 <> :
   Erroneous message about libiconv when libcurl is missing


The easiest way to install darcs 2.8.5 from source is by first
installing the Haskell Platform ( If
you have installed the Haskell Platform or cabal-install, you can
install this release by doing:

(Continue reading)

Gian Piero Carrubba | 17 Aug 11:26 2014

Whatsnew on a rolled back repo

Use case:

I've a repo with patches A and B that are mutually exclusive. They 
aren't conflicting, but both define a same-named function, so the sw 
won't compile if both are applied. The simple solution is to rollback 
the undesired one before compiling, then revert the repo afterwards. Now 
I've discovered that last time I've forgotten to do the revert step. If 
I do a revert now, I'll lose any change I could have done in the repo 
while in the rolled-back status, so I need a way for displaying the 
changes in the working dir other than the ones generated by the rollback 

Any hint ? I think it could be done with some scripting, but this seems 
a bit too heavy task and probably there should be some simpler method 
for obtaining this. What am I missing ?

Gian Piero.
Gian Piero Carrubba | 14 Aug 21:42 2014

Using hash(es) for selecting one or more patches

Hi all,

now that `log` shows the hash of the patches, I would like to use it for 
selecting patches as `log (or whatever) -p` is not much handy where 
there are similar- or same-named patches. On the other hand, typing 
`--match 'hash` is boring, so I've added a `-H/--hash`[0] option that 
aliases to `--match 'hash ...'`.

Then I've changed idea and instead thought that I would prefer to 
continue using `-p` and darcs should discriminate if I've provided a 
regex or a hash. So I've modified `-p` (and the related `--from-patch` 
and `--to-patch`) in order to consider its argument as a hash if it's 40 
chars long and only composed by hex digits.

- much shorter patch
- no options inflating

1. no hash prefix matches: too many chances for false positives.
2. lack of correctness if your regex happens to be a 40 digits long hex.  
In this case you would have to resort to `--match 'name ...'`

If we had (or will have in the future) a short-id like other VCSs, we 
could use both full and short versions for alleviate 1, but this would 
OTOH aggravate 2.

While I consider the chances for 2. pretty limited, the drawbacks seem 
serious: user's surprise, breakage of sw that automatically names 
patches using hashes, possible kittens injuries, ...
(Continue reading)

Ganesh Sittampalam | 30 Jul 07:23 2014

planning a 2.8.5


I'm planning a 2.8.5 release primarily to support GHC 7.8.

The things I intend to include are:

 - GHC 7.8 support
 - The fixes from HEAD for the problems with downloading that GHC 7.8
 - The configuration fix from HEAD so that a missing libcurl is
correctly reported rather than as a missing iconv

Please shout if there's anything else important.


Xan xan | 26 Jul 23:26 2014

darcs serve


Is there any way of having embeded web server in darcs like "hg serve" in mercurial? Is there any bug against that? I think it were useful for seeing more comfortably what's changed, the files in every revision, etc.

Is there a planning for implementing that?

darcs-users mailing list
darcs-users <at>
Guillaume Hoffmann | 25 Jun 06:55 2014

Darcs News #108

# News and discussions

1.  We have a few updates from the Google Summer of Code projects.
    Alejandro Gadea about history reordering:

    -   <>
    -   <>
    -   <>

2.  Marcio Diaz about the cache system:

    -   <>

3.  Incremental fast-export is now provided to ease maintenance of git mirrors:

    -   <>

# Issues resolved (8)

issue2244 Ale Gadea
  ~ -   darcs tag should warn about duplicate tags
    -   <>

issue2314 Benjamin Franksen
  ~ -   output-auto-name in defaults file
    -   <>

issue2361 Ale Gadea
  ~ -   optimize --reorder runs forever with one repository
    -   <>

issue2364 Sergei Trofimovich
  ~ -   fix file corruption on double fetch
    -   <>

issue2364 Sergei Trofimovich
  ~ -   don't break list of 'bad sources'
    -   <>

issue2388 Owen Stephens
  ~ -   check if inventories dir has been created
    -   <>

issue2394 Guillaume Hoffmann
  ~ -   make optimize a supercommand
    -   <>

issue2396 Guillaume Hoffmann
  ~ -   make convert a supercommand and enhance help strings
    -   <>

# Patches applied (39)

2014-06-24 Guillaume Hoffmann
  ~ -   update issue2388 test to optimize supercommand

2014-05-11 Owen Stephens
  ~ -   Resolve issue2388: check if inventories dir has been created
    -   Accept issue 2388

2014-05-30 Ganesh Sittampalam
  ~ -   indentation fix for Windows-only module

2014-05-11 Benjamin Franksen
  ~ -   fixed a typo in a comment in Darcs.Util.Diff.Patience
    -   Allow options with path arguments to be specified in defaults file
    -   fixed cut-n-paste error in haddock comment
    -   resolve issue2314: output-auto-name in defaults file

2014-05-11 Owen Stephens
  ~ -   Accept issue2386

2014-06-12 Guillaume Hoffmann
  ~ -   remove patch index flags from rollback command
    -   resolve issue2396: make convert a supercommand and enhance help strings
    -   factorize boilerplate of optimize subcommands
    -   resolve issue2394: make optimize a supercommand
    -   adapt testsuite to new optimize supercommand

2014-05-11 Benjamin Franksen
  ~ -   make optimize command respect --quiet by using putInfo
    -   darcs.cabal: make Haskell2010 the default-language for all stanzas

2014-06-18 Guillaume Hoffmann
  ~ -   explain commandProgramName

2014-05-07 Benjamin Franksen
  ~ -   fixed missing option for author in test
    -   added _test_playground to boring file
    -   added cabal sandbox generated stuff to boringfile
    -   avoid a syntax error with haddock-2.13.2

2014-04-29 Sergei Trofimovich
  ~ -   resolve issue2364: fix file corruption on double fetch

2014-04-30 Owen Stephens
  ~ -   Use DeriveFunctor instead of manual instance for PatchMod

2014-06-09 Guillaume Hoffmann
  ~ -   marksfile support for convert --export

2014-06-11 Ale Gadea
  ~ -   Documentation of function Darcs.Repository.Internal.misplacedPatches .
    -   Documentation for Darcs.Patch.Witnesses.Sealed module.
    -   Documentation for Darcs.Patch.Witnesses.Ordered module.

2014-06-03 Ganesh Sittampalam
  ~ -   conditionalise replHook using Template Haskell

2014-06-05 Ale Gadea
  ~ -   Resolve Issue2361: optimize --reorder runs forever with one repository

2014-05-16 Guillaume Hoffmann
  ~ -   implement doFastZip to create zip archive from pristine tree

2014-05-29 Ganesh Sittampalam
  ~ -   re-advertise GHC 7.8 support
    -   clean out some obsolete conditionalisation
    -   bump version to 2.9.9

2014-05-19 Guillaume Hoffmann
  ~ -   rm latex2html file

2014-05-13 Sergei Trofimovich
  ~ -   resolve issue2364: don't break list of 'bad sources'

2014-04-27 Owen Stephens
  ~ -   Accept issue2382: darcs is confused if a dir is moved inplace of a file
    -   Accept issue2383
    -   Accept issue2380: darcs wont rename a file to the name of a deleted file

2014-05-07 Ale Gadea
  ~ -   Resolve Issue2244: darcs tag should warn about duplicate tags
Dmitry Bogatov | 29 May 20:12 2014

Return value of hooks


It seems, that I can set {pre,post} -hooks for record command, but
I cannot find a way to use their exit status.

What I want, is get `darcs record` to ask me to choose chunks, apply
them, run test and refuse to record, if it fails. Is it possible?

PS. Sorry for possible duplicate

Best regards, Dmitry Bogatov <KAction <at>>,
Free Software supporter, esperantisto and netiquette guardian.
	GPG: 54B7F00D
Eric Kow | 11 May 22:33 2014

HCAR 2014-05

Hi everyone!

Any comments on our latest Haskell Communities and Activities Report draft?

Lines 31-47 are new, with a brief description of our (exciting!) GSoC projects for 2014.

Thanks :-)


Eric Kow

Attachment (Darcs.tex): application/octet-stream, 3826 bytes
darcs-users mailing list
darcs-users <at>
Guillaume Hoffmann | 5 May 20:35 2014

Darcs News #107

# News and discussions

1.  Darcs has received two grants from the Google Summer of Code program,
    as part of the umbrella organization
    Alejandro Gadea will work on history reordering:

    -   <>

2.  Marcio Diaz will work on the cache system:

    -   <>
    -   <>

3.  Repository cloning to remote ssh hosts has been present for years as
    `darcs put`. This feature has now a more efficient implementation:

    -   <>

# Issues resolved (11)

issue851 Dan Frumin
  ~ -   interactive mode for whatsnew
    -   <>

issue1066 Guillaume Hoffmann
  ~ -   clone to ssh URL by locally cloning then copying by scp
    -   <>

issue1268 Guillaume Hoffmann
  ~ -   enable to write darcs init x
    -   <>

issue1416 Ale Gadea
  ~ -   put log files in tempdir instead of in working dir.
    -   <>

issue1987 Marcio Diaz
  ~ -   Garbage collection for inventories and patches.
    -   <>

issue2263 Ale Gadea
  ~ -   Option --set-scripts-executable is not properly documented
    -   <>

issue2345 Dan Frumin
  ~ -   solution using cabal's checkForeignDeps
    -   <>

issue2357 Dan Frumin
  ~ -   switching to regex-compat-tdfa for unicode support
    -   <>

issue2365 Guillaume Hoffmann
  ~ -   correctly copy pristine in no-working-dir clones
    -   <>

issue2367 Guillaume Hoffmann
  ~ -   rename amend-record to amend, make --unrecord more visible
    -   <>

issue2379 Guillaume Hoffmann
  ~ -   only use packs to copy pristine when up-to-date
    -   <>

# Patches applied (41)

2014-05-03 Owen Stephens
  ~ -   Use custom replHook to fix cabal repl
    -   Use DeriveFunctor instead of manual instance for PatchMod

2014-04-25 Guillaume Hoffmann
  ~ -   update packs tests to new strings
    -   resolve issue1268: enable to write darcs init x
    -   rename get to clone
    -   remove Put since Get can clone to ssh destination faster
    -   resolve issue1066: clone to ssh URL by locally cloning then
copying by scp
    -   do not tolerate ctrl+c when --complete is passed
    -   do not print message twice when patches pack grabbing fails
    -   create inventories subdir at darcs init

2014-04-24 Ganesh Sittampalam
  ~ -   TAG 2.9.9

2014-04-22 Guillaume Hoffmann
  ~ -   resolve issue2365: correctly copy pristine in no-working-dir clones
    -   rename copyRepo to copyHashedInventory, separate copySources
    -   only print once repository renaming message when cloning
    -   maybeIdentifyRepository: report missing _darcs directory right away
    -   no longer make put autocomplete on known repos
    -   rename setDefaultrepo to addRepoSource and haddock it
    -   resolve issue2379: only use packs to copy pristine when up-to-date

2014-02-08 Dan Frumin
  ~ -   A shell test for `whatsnew --interactive`
    -   resolve issue851: interactive mode for whatsnew
    -   Cleaning up the headers in WhatsNew and SelectChanges

2014-04-23 Ganesh Sittampalam
  ~ -   switch hashed-storage-test to be a proper test harness
    -   dumb merge of hashed-storage.cabal etc into darcs.cabal
    -   drop NoMonomorphismRestriction from hashed-storage
    -   conditionally use local copy of Data.Map.Strict in Darcs.Repository.Util

2014-02-14 Dan Frumin
  ~ -   resolve issue2357: switching to regex-compat-tdfa for unicode support
    -   resolve issue2345: solution using cabal's checkForeignDeps

2014-04-22 Owen Stephens
  ~ -   Add a test for all combinations of path status for darcs move

2014-04-19 Ganesh Sittampalam
  ~ -   don't advertise GHC 7.8 support until is fixed

2014-04-10 Guillaume Hoffmann
  ~ -   resolve issue2367: rename amend-record to amend, make
--unrecord more visible
    -   Accept issue2365: whatsnew fails in repos made w get --no-working-dir

2014-04-09 Marcio Diaz
  ~ -   resolve issue1987: Garbage collection for inventories and patches.
    -   Accept issue1987: regression tests for garbage collection for

2014-04-08 Guillaume Hoffmann
  ~ -   fix warning in Record

2014-04-08 Ale Gadea
  ~ -   Resolve Issue1416: put log files in tempdir instead of in working dir.

2013-10-27 Guillaume Hoffmann
  ~ -   TAG 2.9.8
    -   bump version to 2.9.8

2013-09-06 Petr Rockai
  ~ -   Fix a bug in MIME encoding of bundles.

2014-03-17 Guillaume Hoffmann
  ~ -   eliminate withRepoReadLock obsolete since old-fashioned deprecation
    -   polish help string on get --set-strings-executable

2014-03-22 Ale Gadea
  ~ -   Resolve Issue2263: Option --set-scripts-executable is not
properly documented
Dominic Steinitz | 14 Apr 20:44 2014

darcs does not install in a fresh sandbox

Anyone got any ideas?

~/Dropbox/Private/darcs $ cabal sandbox init
Writing a default package environment file to
Creating a new sandbox at /Users/dom/Dropbox/Private/darcs/.cabal-sandbox
~/Dropbox/Private/darcs $ cabal install darcs
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: darcs-2.8.4 (user goal)
trying: darcs-2.8.4:+terminfo
trying: darcs-2.8.4:-force-char8-encoding
next goal: terminfo (dependency of darcs-2.8.4:+terminfo)
rejecting: terminfo- (conflict: darcs-2.8.4:terminfo =>
trying: terminfo-
next goal: base (dependency of terminfo-
rejecting: base- (conflict:
darcs-2.8.4:force-char8-encoding => base>=4 && <4.4)
rejecting: base-,,,,,,,,,,,,,,, (global constraint requires installed instance)
Backjump limit reached (change with --max-backjumps).

Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating the sandbox.

Dominic Steinitz
dominic <at>
Vikraman | 21 Mar 15:44 2014

RFC: GSoC proposal: Distributed Issue Tracking in Darcsden

Hello everyone,

I am proposing a GSoC project with darcs. The idea is to improve the
issue tracker in darcsden, by implementing distributed issue tracking
using patch theory. Any feedback is welcome!

You can read my proposal in markdown here[0], and a pdf version here[1].



darcs-users mailing list
darcs-users <at>