Guillaume Hoffmann | 2 Sep 00:28 2015

Darcs News #111

# News and discussions

1.  The next Darcs Sprint will take place in Paris on September 18-20th.
    Please add yourself to the wiki page if you're going!

    -   <>
    -   <>

2.  Darcs 2.10.1 has been released (bugfixes, dependency versions bump):

    -   <>

# Issues resolved (19)

issue2102 Guillaume Hoffmann
  ~ -   document packs in help of clone and optimize http
    -   <>

issue2307 Daniil Frumin
  ~ -   Add information about 'darcs help manpage' and 'darcs help markdown'
    -   <>

issue2308 Ben Franksen
  ~ -   use command agnostic comment for changes summary
    -   <>

issue2327 Alain91
  ~ -   ask user to keep trying if locking fails
    -   <>

(Continue reading)

Xan | 10 Aug 08:14 2015

issue 1683: utf-8 in logs

Can anyone solve the issue 1693 []. This is my blocker item for adopting
darcs as my default version system. It's annoying that the progress of this issue is so slow. Please,
consider to next release (2.10.2).

Thanks in advance,
Guillaume Hoffmann | 7 Jul 16:40 2015

imminent 2.10.1 release

Dear Darcsers,

I'm planning to release Darcs 2.10.1 soon, which contains a few
bugfixes and dependency version bumps. If you want to help, please
get, build and test the 2.10 branch from over there:

* darcs clone:

* zip download:

* darcs clone from mirror:

What's new in 2.10.1:


Henning Thielemann | 20 May 19:47 2015

'darcs rebase unsuspend' with unrecorded changes

'darcs rebase suspend' let me suspend when there are unrecorded changes - 
of course, because unrecorded changes must be present when I run a deep 
amend-record. But if changes remain, I cannot run 'darcs rebase unsuspend' 
because darcs says:

Rebase in progress: 1 suspended patches
darcs-2.10.0: can't unsuspend when there are unrecorded changes

What to do now? Shall I do 'darcs revert' before 'unsuspend' and 'darcs 
unrevert' after 'unsuspend'? Like 'git stash' and 'git stash pop'?
Eric Kow | 26 Apr 12:22 2015

hcar 2015-05 draft

Hi all,

For the latest HCAR, I chopped everything out and just talked about 2.10.
What do you think?

The non-boilterplatey bit is 

After three years of development, we have released Darcs 2.10 (April
2015). This new major release includes the new \verb!darcs rebase!
command (for merging and amending patches that would be hard to do with
patch theory alone), numerous optimisations and performance
improvements, a \verb!darcs convert! command for switching to and from
Git, as well as general improvements to the user interface.



darcs-users mailing list
darcs-users <at>
Henning Thielemann | 26 Apr 09:10 2015

darcs rebase

I just installed darcs-2.10 since I needed to correct the name of an older 
patch. I can report that it just worked!

When reading
  I first wondered why I have to anser "y" to suspending the target patch 
since the next step is to unsuspend it immediately. But then I understood 
that darcs suspends only the depending patches when I answer "w" to all 
new patches and "y" only to the target patch.
Guillaume Hoffmann | 19 Apr 23:42 2015

darcs 2.10.0 release

Hi all,

The darcs team is pleased to announce the release of darcs 2.10.0.

# Downloading #

The easiest way to install darcs 2.10.0 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:

$ cabal update
$ cabal install darcs-2.10.0

Alternatively, you can download the tarball from and build it by hand as
explained in the README file.

The 2.10 branch is also available as a darcs repository from

# Feedback #

If you have an issue with darcs 2.10.0, you can report it via the web
on . You can also report bugs by email to bugs at, or come to #darcs on

# What's new since darcs 2.8.5 #

## New features ##

- darcs rebase: enable deep amending of history
  (Ganesh Sittampalam)
- darcs pull --reorder: keep local-only patches on top of mainstream patches
  (Ale Gadea, Ganesh Sittampalam)
- darcs dist --zip: generate a zip archive from a repository
  (Guillaume Hoffmann)
- patch bundle contexts are minimized by default.
  Enables bundles to be applied to more repositories. (Guillaume Hoffmann)
- darcs convert export/import for conversion
  to/from VCSes supporting the fast-export protocol (Petr Rockai,
  Owen Stephens, Guillaume Hoffmann, Lele Gaifax, Ben Franksen)
- darcs test --backoff: exponential backoff test strategy,
  faster than bisect on big repositories (Michael Hendricks)
- work normally on sshfs-mounted repositories (Nathaniel Filardo)
- automatic detection of file/directory moves, and of token replaces
  (Jose Neder)
- patience diff algorithm by default (Jose Neder)
- interactive mode for whatsnew (Dan Frumin)
- "tag --ask-deps" to create tags that may not include some patches
  (Ganesh Sittampalam)

## User Interface ##

- add a last question after all patches have been selected to confirm
  the whole selection (Florent Becker)
- command names:
    - clone is the new name of get and put
    - log   is the new name of changes
    - amend is the new name of amend-record
- show output of log into a pager by default (Guillaume Hoffmann)
- the output of log is more similar to git's:
    - show patch hash in UI (hash of the patch's metadata)
    - put author and date on separate lines (Guillaume Hoffmann)
- enable to match on patch hash prefix with -h and --hash
 (Guillaume Hoffmann, Gian Piero Carrubba)
- better messages:
    - better error messages for http and ssh errors (Ernesto Rodriguez)
    - init, add, remove, move and replace print
      confirmation messages (Guillaume Hoffmann)
- rollback only happens in the working copy (Florent Becker, Guillaume Hoffmann)
- darcs send no longer tries to send a mail by default (Eric Kow)
- when no patch name given, directly invoke text editor (Jose Neder,
Guillaume Hoffmann)
- use nano as default text editor instead of vi (Guillaume Hoffmann)
- keep log files for patch name and mail content in _darcs (Ale Gadea)
- optimize and convert are now supercommands (Guillaume Hoffmann)
- improve darcs help environment and darcs help markdown (Radoslav
Dorcik, Guillaume Hoffmann)
- warn about duplicate tags when creating a new one (Ale Gadea)
- allow darcs mv into known, but deleted in working, file (Owen Stephens)
- improve --not-in-remote, allowing multiple repos and use default
(Owen Stephens)

## Performance ##

- faster darcs diff (Petr Rockai)
- faster log and annotate thanks to patch index data structure (BSRK Aditya,
  Benedikt Schmidt, Eric Kow, Guillaume Hoffmann, Ganesh Sittampalam)
- faster push via ssh by using compression (Ben Franksen)
- cloning to an ssh destination (formerly darcs put) is more efficient
  (Guillaume Hoffmann)
- faster internal representation of patch hashes (Guillaume Hoffmann)
- when cloning from http, use packs in a more predictable way
(Guillaume Hoffmann)
- store global cache in bucketed format (Marcio Diaz)

## Developer-related ##

- require and support GHC 7.4 to 7.10 (Ganesh Sittampalam)
- replace type witness CPP macros with plain Haskell (Eric Kow)
- hashed-storage is bundled into darcs (Ganesh Sittampalam)
- replace C SHA256 bindings with external libraries (Ganesh Sittampalam)
- move the bits of the datetime package we need into Darcs.Util.DateTime
  (Ganesh Sittampalam)
- build Darcs once rather than thrice. (Eric Kow)
- remove home page and manual from darcs' repository (Guillaume Hoffmann)
- run tests through cabal test (Ryan Desfosses)
- run fewer darcs-1 related tests in testsuite (Ganesh Sittampalam)
- Use custom replHook to fix cabal repl (Owen Stephens)
- darcs.cabal: make Haskell2010 the default-language for all stanzas
(Ben Franksen)
- always compile with mmap support (Ganesh Sittampalam)
- new options subsystem (Ben Franksen)
- various cleanups, code restructurations and refactoring, haddocks
  (Will Langstroth, Owen Stephens, Florent Becker, Guillaume Hoffmann,
  Michael Hendricks, Eric Kow, Dan Frumin, Ganesh Sittampalam)

## Issues resolved in Darcs 2.10 ##

- issue346: implement "patience diff" from bzr (Jose Neder)
- issue642: Automatic detection of file renames (Jose Neder)
- issue822: generalized the IO Type for better error messages and
exception handling (Ernesto Rodriguez)
- issue851: interactive mode for whatsnew (Dan Frumin)
- issue904: Fix record on Linux/FUSE/sshfs (fall back to sloppy locks
automatically) (Nathaniel Filardo)
- issue1066: clone to ssh URL by locally cloning then copying by scp
(Guillaume Hoffmann)
- issue1268: enable to write darcs init x (Radoslav Dorcik)
- issue1416: put log files in tempdir instead of in working dir (Ale Gadea)
- issue1514: send --minimize-context flag for send (Guillaume Hoffmann)
- issue1624: bucketed cache (Marcio Diaz)
- issue1828: file listing and working --dry-run for mark-conflicts
(Guillaume Hoffmann)
- issue1987: Garbage collection for inventories and patches (Marcio Diaz)
- issue2181: put cache in $XDG_CACHE_HOME (~/.cache by default)
(Guillaume Hoffmann)
- issue2193: make that finalizeTentativeChanges no longer run tests
(Guillaume Hoffmann)
- issue2198: move repo testing code to Darcs.Repository.Test
(Guillaume Hoffmann)
- issue2200: darcs replace complains if no filepaths given (Owen Stephens)
- issue2204: do not send mail by default (Eric Kow)
- issue2237: prevent patch index creation for non-hashed repos (Owen Stephens)
- issue2235: Accept RFC2822 dates (Dave Love)
- issue2246: add default boring entry for emacs session save files
(Owen Stephens)
- issue2253: attempting to use the patch index shouldn't create it on
OF repos (Owen Stephens)
- Issue2278: Document default value for --keep-date / --no-keep-date
(Mark Stosberg)
- issue2199: getMatchingTag needs to commute for dirty tags (Ganesh Sittampalam)
- issue2247: move patch index creation into the job running code
(Ganesh Sittampalam)
- issue2238: let optsModifier remove all occurrences of LookForAdds
(Gian Piero Carrubba)
- issue2236: make 'n' an alias for 'q' in lastregret questions (Gian
Piero Carrubba)
- issue2155: Expurgate the non-functional annotate --xml-output option
(Dave Love)
- issue2248: always clean up rebase-in-progress state (Ganesh Sittampalam)
- issue2270: fixed darcs changes -i --only-to-files (Sebastian Fischer)
- issue2282: don't allow remote operations to copy the rebase patch
(Ganesh Sittampalam)
- issue2287: obliterate -O doesn't overwrite existing file. (Radoslav Dorcik)
- issue2227: move the rebase patch to the end before an amend-record
(Ganesh Sittampalam)
- issue2277: rebase suspend and unsuspend supports --summary. (Radoslav Dorcik)
- issue2311: posthook for 'get' should run in created repo (Sebastian Fischer)
- issue2312: posthooks for 'record' and 'amend-record' should receive
DARCS_PATCHES (Sebastian Fischer)
- issue2163: new option for amend, select author for patch stealing.
(Radoslav Dorcik)
- issue2321: when no patch name given, directly invoke text editor (Jose Neder)
- issue2320: save prompted author name in ~/.darcs/author instead of
./_darcs/prefs/author (Jose Neder)
- issue2250: tabbing in usageHelper - pad by max length of command
name (BSRK Aditya)
- issue2309: annotate includes line numbers (Owen Stephens)
- issue2334: fix win32 build removing file permission functions
(Guillaume Hoffmann)
- issue2343: darcs amend-record does not record my change (Jose Neder)
- issue2335: one liner when adding tracked files if not verbose
(Guillaume Hoffmann)
- issue2313: whatsnew -l: Stack space overflow (Jose Neder)
- issue2347: fix amend-record --prompt-long-comment (Guillaume Hoffmann)
- issue2348: switch to cabal's test framework (Ryan Desfosses)
- issue2209: Automatically detect replace (Jose Neder)
- issue2332: ignore case of characters in prompt (Guillaume Hoffmann)
- issue2263: Option --set-scripts-executable is not properly
documented (Ale Gadea)
- issue2367: rename amend-record to amend, make --unrecord more
visible (Guillaume Hoffmann)
- issue2345: solution using cabal's checkForeignDeps (Dan Frumin)
- issue2357: switching to regex-compat-tdfa for unicode support (Dan Frumin)
- issue2379: only use packs to copy pristine when up-to-date
(Guillaume Hoffmann)
- issue2365: correctly copy pristine in no-working-dir clones
(Guillaume Hoffmann)
- issue2244: darcs tag should warn about duplicate tags (Ale Gadea)
- issue2364: don't break list of 'bad sources' (Sergei Trofimovich)
- issue2361: optimize --reorder runs forever with one repository (Ale Gadea)
- issue2364: fix file corruption on double fetch (Sergei Trofimovich)
- issue2394: make optimize a supercommand (Guillaume Hoffmann)
- issue2396: make convert a supercommand and enhance help strings
(Guillaume Hoffmann)
- issue2314: output-auto-name in defaults file (Ben Franksen)
- issue2388: check if inventories dir has been created (Owen Stephens)
- issue2249: Rename isFile to isValidLocalPath and WorkRepoURL to
WorkRepoPossibleURL (Mateusz Lenik)
- issue2153: allow skipping backwards through depended-upon patches
(Andreas Brandt)
- issue2380: allow darcs mv into known, but deleted in working, file
(Owen Stephens)
- issue2403: need to avoid moving the rebase patch to the end (Ganesh
- issue2409: implement darcs rebase apply (Ganesh Sittampalam)
- issue2385: invoke pager without temporary file (Guillaume Hoffmann)
- issue2333: better error message when pushing and darcs not in path
(Ben Franksen)

## Known issues ##

These are known new issues in darcs 2.10.0:

- issue2269: rebase should warn about stolen patches at suspend, not unsuspend
- issue2272: darcs rebase unsuspend should automate or semi-automate
handling unrecorded changes
- issue2276: darcs rebase unsuspend needs UI improvements for "You are
not... Amend anyway?"
- issue2359: convert --export mishandles Unicode filenames
- issue2372: Please remove "HINT: I could not reach..." message
- issue2423: diff only respecting --diff-command when a diff.exe is present
- issue2436: rollback --patches takes ages before first prompt
- issue2445: internal error if suspended patch is pulled into repository again
- issue2449: test harness/shelly: need to handle mis-encoded/binary data
Maico Leberle | 27 Mar 00:26 2015

Conflicts handling UI: GSoC proposal

Community, hi!

I wanted to introduce myself to you all, and show my GSoC proposal I've just made on the topic of "Conflicts handling UI". My name is Maico Leberle, from Argentina. My mentor, should I be chosen to participate, would be Guillaume Hoffmann, who has actually introduced me in the world of Darcs from the beginning.
The link to my proposal is . Of course, any advise/suggestion/idea is more than welcome :-).
We will be chatting soon, hopefully.

darcs-users mailing list
darcs-users <at>
Henning Thielemann | 4 Mar 10:41 2015

upgrade from darcs-1 to darcs-2

I started to copy repositories from to I 
still have a lot of darcs-1 repositories but requires 
darcs-2 format. I suspect that when converting branches/forks of darcs-1 
to darcs-2, the darcs-2 repositories will no longer be branches of each 
other. Am I right? How can I preserve the sharing of repositories? How can 
users with local copies of my repositories upgrade?

I read

but found no answers to these concerns. The FAQ even states:
    "It is also important to know that the Darcs team will probably support 
old patch semantics indefinitely, so you do not need to worry about your 
repositories becoming obsolete."

In contrast to that statement it seems that darcs-2.5.2 is the last 
version that supports the darcs-1 format.
Guillaume Hoffmann | 4 Mar 03:31 2015

Darcs News #110

# News and discussions

1.  The Darcs 2.10 release is near! Please test the release branch and tell
    us if you find a bug.

    -   <>
    -   <>

2.  Joachin Breitner has shut down his darcswatch service after 7 years
    of activity:

    -   <>
    -   <>
    -   <>

# Issues resolved (11)

issue822 Ernesto Rodriguez
  ~ -   Generalized the IO Type for better error messages and exception handling
    -   <>

issue2260 Ganesh Sittampalam
  ~ -   skip internal patches when counting
    -   <>

issue2385 Guillaume Hoffmann
  ~ -   invoke pager without temporary file
    -   <>

issue2410 Guillaume Hoffmann
  ~ -   detect replaces even with tokens of different lengths
    -   <>

issue2411 Guillaume Hoffmann
  ~ -   ignore swap moves with --look-for-moves
    -   <>

issue2414 Guillaume Hoffmann
  ~ -   use parseFlags instead of toMatchFlags where needed
    -   <>

issue2418 Guillaume Hoffmann
  ~ -   add and check on-disk patch index version
    -   <>

issue2422 Ganesh Sittampalam
  ~ -   drop unneeded LambdaCase extension
    -   <>

issue2427 Ben Franksen
  ~ -   start conversion from intermediate tree state
    -   <>

issue2431 Ben Franksen
  ~ -   rollback Control.Monad.Catch generalizations
    -   <>

issue2432 Ganesh Sittampalam
  ~ -   use the merged version of the local patches
    -   <>

issue2437 Guillaume Hoffmann
  ~ -   fix cloning to ssh by forgetting source repo later
    -   <>

# Patches applied (111)

2015-03-02 Ganesh Sittampalam
  ~ -   resolve issue2432: use the merged version of the local patches
    -   fix warning

2015-02-22 Guillaume Hoffmann
  ~ -   resolve issue2437: fix cloning to ssh by forgetting source repo later
    -   bump version to 2.11.0
    -   bump version to 2.10.0

2015-02-10 Ganesh Sittampalam
  ~ -   -D_REENTRANT shouldn't be conditional on -frtsopts

2015-02-27 Guillaume Hoffmann
  ~ -   license DateTime module as BSD3, with original author approval

2015-02-25 Ganesh Sittampalam
  ~ -   move the bits of the datetime package we need into a
Darcs.Util.DateTime module

2015-02-26 Guillaume Hoffmann
  ~ -   NEWS update for Darcs 2.8.x releases

2015-02-21 Ben Franksen
  ~ -   resolve issue2431: rollback Control.Monad.Catch generalizations
    -   cleanup: removed old disabled code for isInteractive
    -   re-implemented getOutput in terms of the option spec
    -   cleanup: renamed applyas to applyAs
    -   purged RemoteApply of DarcsFlag remains
    -   fix: moved import of applyAs from Darcs.UI.RemoteApply to Darcs.UI.Flags
    -   cleanup: renamed PatchIndexOption to WithPatchIndex
    -   cleanup: Repository.Format and .Internal haddocks and variable names
    -   fixed type of identifyRepositoryFor according to TODO in comment
    -   cleanup: import anchoredRoot instead of internal representation

2014-12-13 Ganesh Sittampalam
  ~ -   tweak takeHeadRebase docs/message a bit
    -   support GHC 7.10/base 4.8

2015-01-26 Ben Franksen
  ~ -   fix: use getExecutablePath only if ghc version >= 7.6
    -   resolved issue2333: use getExecutablePath instead of getProgName

2015-02-10 Ganesh Sittampalam
  ~ -   skip issue2333 test on GHC 7.4

2015-01-25 Ben Franksen
  ~ -   accept issue2333: Error message when pushing and darcs not in path
    -   cleanup: tentativelyReplacePatches is only used internally
    -   cleanup: slightly streamlined doRecord
    -   cleanup: indentation of commandControlList
    -   fixed completion for help command
    -   fixed failing fromJust in look-for-replaces implementation
    -   adding -K option to less fixes "leaking last line" after Ctrl-C

2015-02-12 Guillaume Hoffmann
  ~ -   resolve issue2385: invoke pager without temporary file

2015-02-19 Ganesh Sittampalam
  ~ -   resolve issue2260: skip internal patches when counting

2015-02-18 Guillaume Hoffmann
  ~ -   remove in-depth help of repo format error, redundant with scp's errors
    -   resolve issue2410: detect replaces even with tokens of different lengths
    -   remove last dependency on extensible-exceptions
    -   remove always true condition ghc >= 6.8 in cabal file
    -   no longer use extensible-exceptions since we require ghc 7.4
    -   bump dependencies lower bounds implied by requiring ghc 7.4

2015-02-10 Ben Franksen
  ~ -   cleanup: restructured haddocks in the options core module,
simplified parseFlags
    -   restore cabal haddock by removing an out-commented line of code
    -   cleanup: purged code for obsolete --debug-verbose flag
    -   fix: should fail for the right reason
    -   removed block buffering for bundle transfer in push and remote apply

2014-12-13 Guillaume Hoffmann
  ~ -   resolve Issue2411: ignore swap moves with --look-for-moves
    -   comment for normPath with examples
    -   patch index: change order of on-disk pids
    -   check on-disk version of patch index at right place
    -   patch index: adapt removePidSuffix to the new order of pids

2014-12-10 Ganesh Sittampalam
  ~ -   need to un-reverse the pids for the patch-index-test
    -   use the strict state monad for working with PatchIndex
    -   maintain the list of PatchIds inside the PatchIndex structure
    -   Keep the PatchId list in reversed order in memory
    -   Move the handling of individual PatchMods into applyPatchMods

2014-11-19 Guillaume Hoffmann
  ~ -   make Darcs.Util.Path.normPath cheaper on well formed paths
    -   make Darcs.Util.Path.decodeWhite cheaper on paths that do not need it
    -   resolve issue2418: add and check on-disk patch index version
    -   no longer use indexing for on-disk patch index, make infomap a
bloom filter
    -   reimplement getPatches with less code
    -   comments for convert --export

2015-02-09 Ganesh Sittampalam
  ~ -   Windows build fix

2015-01-14 Ernesto Rodriguez
  ~ -   Fixed error message for invalid http repos.
    -   issue822: Generalized the IO Type for better error messages
and exception handling

2015-01-26 Ben Franksen
  ~ -   fixed incomplete patterns in Darcs.Repository
    -   cleanup: group type signatures with definitions in D.U.Printer
    -   add --[no-]compress option to push command (with --compress the default)
    -   optimization: compress patch data before sending over ssh
    -   cleanup: removed no longer used option compressActions
    -   minimally improved tests/ by testing for
identical file content
    -   test all available commands in
    -   fixed two failing tests for issue2186
    -   use files instead of pipe in tests/
    -   cleanup: removed flag membership tests (marks, patchIndex, lazy)
    -   cleanup: fixed indentation of convert command definitions
    -   cleanup: group type signatures with definitions (withLock,releaseLock)
    -   rolled back some accidental changes to messages and comments

2014-12-31 Ganesh Sittampalam
  ~ -   Make more of an effort to encode output correctly
    -   rename 'rebase changes' to 'rebase log'

2015-01-24 Ben Franksen
  ~ -   improved zsh completion script

2014-11-19 Guillaume Hoffmann
  ~ -   remove unused FileName related function

2014-11-14 Ben Franksen
  ~ -   In CommandControl, push the existential down into the alternatives

2014-11-18 Ganesh Sittampalam
  ~ -   resolve conflicts
    -   Make the options type used by a command into a type parameter.
    -   fix the --to-patch and --to-match flags

2014-12-09 Guillaume Hoffmann
  ~ -   remove execSSH unused since removal of the put command
    -   accept issue2432: pull --reorder fails to commute patches

2015-02-02 Ben Franksen
  ~ -   resolve issue2427: start conversion from intermediate tree state

2014-11-17 Ganesh Sittampalam
  ~ -   Uncouple the --mail and --sendmail-command options

2014-11-17 Ben Franksen
  ~ -   use decodeString to convert command line args up front
    -   move Iso and IsoFunctor from Darcs.UI.Options.Core to

2014-11-15 Owen Stephens
  ~ -   Abstract out some common code in UI/Options/Util
    -   Use fromMaybe d x instead of maybe d id x
    -   Improve --not-in-remote, allowing multiple repos and use default
    -   Remove some trailing spaces

2014-12-05 Ganesh Sittampalam
  ~ -   always compile with mmap support

2014-11-13 Ben Franksen
  ~ -   cleaned up some duplicate build-depends in darcs.cabal

2014-11-17 Guillaume Hoffmann
  ~ -   resolve issue2414: use parseFlags instead of toMatchFlags where needed

2014-11-12 Ben Franksen
  ~ -   removed a wrong comment in Darcs.UI.Options.All
    -   added some empty lines and fixed a comment typo in Darcs.UI.RemoteApply

2014-11-12 Ganesh Sittampalam
  ~ -   minimise imports of DarcsFlag's constructors

2014-11-09 Ben Franksen
  ~ -   removed tests for flag membership in Darcs.UI.CommandsAux

2014-12-11 Ganesh Sittampalam
  ~ -   Rename the 'utf8' test to 'latin9-input'

2014-11-08 Ben Franksen
  ~ -   fix the convert command ( test failed)

2014-11-27 Guillaume Hoffmann
  ~ -   remove redundant import

2014-11-25 Lancelot Six
  ~ -   Use darcsdir instead of literal "_darcs"

2014-11-25 Lele Gaifax
  ~ -   Suggest creating the initial git.marks in the incremental
fast-export example
    -   Use a double end-of-line to separate the patch name from the
log in fast-export
    -   Fix the git fast-import options in the incremental example

2014-11-25 Ganesh Sittampalam
  ~ -   resolve issue2422: drop unneeded LambdaCase extension

2014-11-12 Guillaume Hoffmann
  ~ -   use bytestring functions dropWhile and break instead of ours

2014-11-19 Ben Franksen
  ~ -   fix: in, add --skip-long-comment else an editor is opened
Marnix Klooster | 11 Feb 21:05 2015

Fwd: summer of code 2015 ideas: wreq / darcsden

    (This time to the mailing list, instead of just to Guillaume.)

Hi Guillaume,

One small note: to make HTTPS easy to use for Windows darcs users, it is very handy to have it use the Windows certificate store.

I was just curious and checked, and it seems like wreq on Windows does not currently supports this, since wreq depends on http-client-tls, which depends on x509-store, but not on x509-system which looks like it actually reads the Windows certificate store.

So note that that would probably be a restriction: if one wants to use HTTPS with on Windows, one would have to explicitly store the certificate somewhere, which can be a hassle.  (Where would that be with current darcs on Linux with libcurl, by the way? Configure libcurl's CA cert file name as described on, using environment variable CURL_CA_BUNDLE?)

But, of course, having _some_ HTTPS support for darcs on Windows is an improvement over having none at all. :-)

And perhaps updating http-client-tls to use x509-store could be made part of the SoC project...


On Mon, Feb 9, 2015 at 6:22 PM, Guillaume Hoffmann <guillaumh <at>> wrote:
> Dear darcs'ers,
> this year's Summer of Code program starts son: by end of March,
> student applications should be submitted to Google. We are probably
> going to work again with students that have not contributed to darcs
> before.
> Since two students in my university are interested about it, I'd like
> to hear your comments about the following two project ideas I thought
> of.
> 1. HTTP system overhaul, a.k.a. "switch to wreq and see what happens".
> This would involve having wreq ( as
> default download system, while leaving the current libcurl and HTTP
> code for benchmarking purposes.
> The benefits would be:
> * no longer requiring separate compilation/installation of libcurl
> * https support under windows (somehow we can't have libcurl under windows?)
> * access to repositories behind http authentication (and probably
> other benefits of wreq)
> Deliverables (apart from the code itself):
> * HTTP benchmarks (wreq vs libcurl vs HTTP)
> * testing that pipelining actually works
> * testing under windows / linux
> 2. Work towards Darcsden as a local UI and other improvements
> * plain files backend (vs current CouchDB)
> * other stuff to help Darcsden be a local UI (without actually
> involving any UI work)? any idea?
> * unauthenticated patch submission via darcs send and http
> Apart from opinions about these project ideas, if someone thinks there
> are more worthwile projects to do, please tell.
> Guillaume
> _______________________________________________
> darcs-users mailing list
> darcs-users <at>

Marnix Klooster
marnix.klooster <at>

Marnix Klooster
marnix.klooster <at>
darcs-users mailing list
darcs-users <at>