Monday, March 17, 2014

Darcs News #106

News and discussions

  1. Darcs is participating once again to the Google Summer of Code, through the umbrella organization Deadline for student application is Friday 21st:
  2. It is now possible to donate stock to darcs through the Software Freedom Conservancy organization. Donations by Paypal, Flattr, checks and wire transfer are still possible:
  3. Dan Licata wrote a presentation about Darcs as a higher inductive type:
  4. Darcs now directly provides import and export commands with Git. This code was adapted from Petr Rockai's darcs-fastconvert, with some changes by Owen Stephen from his Summer of Code project "darcs-bridge":

Issues resolved (6)

issue642 Jose Luis Neder
issue2209 Jose Luis Neder
issue2319 Guillaume Hoffmann
issue2332 Guillaume Hoffmann
issue2335 Guillaume Hoffmann
issue2348 Ryan

Patches applied (34)

2014-03-02 Guillaume Hoffmann
  • pandoc-ize README and remove mention of old flags and warnings
  • resolve issue2332: ignore case of characters in prompt
2014-01-26 Dan Frumin
  • Making sure darcs builds on OSX Mavericks
2014-02-08 Ganesh Sittampalam
  • hashed-storage: GHC 7.8 build fix
  • support GHC 7.8 and various assorted other version bumps
  • drop support for GHC 7.0/7.2
  • get rid of now redundant conditionalisation
  • remove accidentally added file
  • fix hashed-storage build on Windows
  • we need utf8-string on Windows too now for the fast-export/import code
  • bump cryptohash dependency
2014-01-25 Guillaume Hoffmann
  • Implement convert --export and --import for git conversion
2014-01-10 Jose Luis Neder
  • resolve issue2209: Automatically detect replace
2014-01-08 Guillaume Hoffmann
  • remove useless check of xml-output in get and convert
  • add hashed-storage 0.5.11
2013-09-15 Jose Luis Neder
  • resolve issue642: Automatic detection of file renames
  • Show fileid info with show index
2013-11-28 Ryan
  • resolve issue2348: switch to cabal's test framework
2013-11-27 Guillaume Hoffmann
  • fix bug when global prefs dir does not exist and try to save author name
2013-11-26 Ganesh Sittampalam
  • improve help text
  • need to use ByteString to read tests on unix
  • fix warnings
  • add a TODO comment
  • add pragmas to shell tests to allow for the test to specify configurations
  • remove explicit choice of Myers diff from test
  • add command-line options to control global test options
2013-10-11 Guillaume Hoffmann
  • resolve issue2335: one liner when adding tracked files if not verbose
  • announce added files with existing infrastructure
  • rename changes command to log, keep changes as alias
  • output darcs changes to a pager if more than 20 lines big
  • Make changes non-interactive by default again
2013-06-14 Guillaume Hoffmann
  • make changes non-interactive when given flags --count or --xml-output
2013-05-09 Guillaume Hoffmann
  • fix issue2270 test since piped darcs changes is now never interactive
  • resolve issue2319: make changes non-interactive if fed to a pipe
See darcs wiki entry for details.

Sunday, November 24, 2013

darcs news #105

News and discussions

  1. This year's Google Summer of Code projects brought a lot of improvements to darcs and its ecosystem!
  2. Gian Piero Carrubba asked why adjacent hunks could not commute:
  3. We listed the changes that occurred between version 2.8.4 and the current development branch into a 2.10 release page:

Issues resolved (8)

issue346 Jose Luis Neder
issue1828 Guillaume Hoffmann
issue2181 Guillaume Hoffmann
issue2309 Owen Stephens
issue2313 Jose Luis Neder
issue2334 Guillaume Hoffmann
issue2343 Jose Luis Neder
issue2347 Guillaume Hoffmann

Patches applied (39)

2013-10-28 Guillaume Hoffmann
  • record: no longer accept first commented line as patch name
  • resolve issue2347: fix amend-record --prompt-long-comment
  • refuse incorrect patch names (empty or starting with TAG)
2013-06-15 Jose Luis Neder
  • resolve issue2313: whatsnew -l: Stack space overflow
  • tests for issue2313: whatsnew -l: Stack space overflow
2013-02-17 Mark Stosberg
  • new failing test for issue2303 - illustrates a Patch Index diagnostic that can be improved.
  • failing test for issue2272: darcs rebase unsuspend should succeed despite unrecorded changes
  • issue2271: New (passing) test which confirms that darcs optimize --disable-patch-index will fail in the face of a permissions problem.
2013-08-20 BSRK Aditya
  • Export getChangesInfo from Changes command module
2013-09-22 Jose Luis Neder
  • Add better comments to the issue2343 test file
  • resolve issue2343: darcs amend-record does not record my change
2013-08-20 Ganesh Sittampalam
  • Introduce a local copy of Data.Map.Strict from containers 0.5,
  • Weaken hashable dependency
2013-08-13 Guillaume Hoffmann
  • put upper bound on hashable dependency
2013-07-30 Jose Luis Neder
  • make darcs-test run tests with both diff algorithms
  • resolve issue346: implement "patience diff" from bzr
  • name change Lcs.hs -> Diff/Myers.hs
2013-08-05 Guillaume Hoffmann
  • resolve issue2334 fix win32 build removing file permission functions
2013-08-27 BSRK Aditya
  • When using send command, post the patch if using http,
  • Update containers minimum version
2013-08-12 Guillaume Hoffmann
  • remove import warning
  • put newline after darcs diff changelog output
  • change format of patch name file when a text editor is invoked
  • remove redundant case in Darcs.UI.Command.Record.getLog
  • update unrecord and obliterate help, mention -O flag
2013-07-18 Owen Stephens
  • Fix a couple of warnings from annotate with line numbers patch
  • Resolve issue2309: annotate includes line numbers
2013-07-25 Guillaume Hoffmann
  • fix test for issue1290 for when tests are run in parallel
  • announce moved files
  • make move patch explicit
  • announce removed files
  • announce added files
  • resolve issue2181: put cache in $XDG_CACHE_HOME (~/.cache by default)
  • merge Darcs.Util.IO into Darcs.Util.File
2013-07-17 Owen Stephens
  • Move chompNewline from Commands to Util/Text and rename to chompTrailingNewline
2013-07-04 Guillaume Hoffmann
  • update help of mark-conflicts
  • resolve issue1828: file listing and working --dry-run for mark-conflicts
2013-03-18 Ganesh Sittampalam
  • fix warnings introduced by issue1105 fix
2013-02-21 Florent Becker
  • Fix issue1105 even in the presence of command-line optinos
See darcs wiki entry for details.

Sunday, June 30, 2013

darcs news #104

News and discussions

  1. Google Summer of Code 2013 has begun! BSRK and José will post updates on their blogs:

Issues resolved (8)

issue2163 Radoslav Dorcik
issue2227 Ganesh Sittampalam
issue2248 Ganesh Sittampalam
issue2250 BSRK Aditya
issue2311 Sebastian Fischer
issue2312 Sebastian Fischer
issue2320 Jose Luis Neder
issue2321 Jose Luis Neder

Patches applied (20)

2013-06-09 Guillaume Hoffmann
  • make nano the default text editor instead of vi
2013-06-20 BSRK Aditya
  • Resolve issue2250: tabbing in usageHelper - pad by max length of command name
2013-06-16 Guillaume Hoffmann
  • remove word repetition in fileHelpAuthor string
2013-06-16 Jose Luis Neder
  • resolve issue2320: save prompted author name in ~/.darcs/author instead of ./_darcs/prefs/author
  • resolve issue2321: when no patch name given, directly invoke text editor
2013-04-30 Guillaume Hoffmann
  • remove repository flag DryRun parameter when not used or always NoDryRun
2013-04-05 Ganesh Sittampalam
  • fix test for Windows
2013-03-10 Sebastian Fischer
  • Follow-up on patch1066 resolving issue2312.
  • resolve issue2312: posthooks for 'record' and 'amend-record' should receive DARCS_PATCHES
  • Added tests for issue2312: posthooks for 'record' and 'amend-record' should receive DARCS_PATCHES
2013-02-16 Ganesh Sittampalam
  • resolve issue2227: move the rebase patch to the end before an amend-record
  • tidy command definitions in Darcs.UI.Commands.Rebase
  • resolve issue2248: always clean up rebase-in-progress state
  • add --ignore-times option to rebase commands that read the working dir
2013-03-08 Sebastian Fischer
  • resolve issue2311: posthook for 'get' should run in created repo
  • Added tests for Issue 2311.
2013-06-03 Guillaume Hoffmann
  • haddocks for functions that look for user e-mail
2013-03-02 Radoslav Dorcik
  • Resolve issue2163: new option for amend, select author for patch stealing.
2013-05-29 BSRK Aditya
  • Export doOptimizeHTTP from Optimize module
  • Increase efficiency of patch index update by more efficient extraction
See darcs wiki entry for details.

Tuesday, April 30, 2013

darcs weekly news #103

News and discussions

  1. Darcs will be participating to this year's Google Summer of Code under the umbrella of! If you are interested please consult the ideas page and contact us:
  2. Sebastian Fischer implemented darcs-history, a program to be used as darcs posthook and that tracks patch movements inside of a repository:
  3. Sebastian also suggested the possibility for darcs to easily split and merge patches that are depended upon:
  4. Piyush P Kurur was also interested in some special kinds of deep amend-record:

Issues resolved in the last week (1)

issue2274 Guillaume Hoffmann

Patches applied in the last week (27)

See darcs wiki entry for details.

Friday, March 1, 2013

darcs weekly news #102

News and discussions

  1. Darcs 2.8.4 was released. It supports GHC 7.6 and fixes get --tag:
  2. Here is the report from the 8th darcs hacking sprint:

Issues resolved in the last week (6)

issue904 Nathaniel Filardo
issue2155 Dave Love
issue2270 Sebastian Fischer
issue2277 Radoslav Dorcik
issue2282 Ganesh Sittampalam
issue2287 Radoslav Dorcik

Patches applied in the last week (77)

See darcs wiki entry for details.

Thursday, February 21, 2013

darcs hacking sprint 8 report

The 8th Darcs Hacking Sprint happened on 15-17th February in Paris, at IRILL like in 2011. This sprint occured one week after the latest stable release (2.8.4), and after a process of integrating many new features to the HEAD repository of darcs: rebase, the patch index optimization, the last regrets prompt, and a lot of refactoring in the code base. We are currently looking at the next important milestone for darcs: the release of 2.10, that should happen sometimes this year. This sprint was about polishing as much as possible these new features and take a few short and medium-term decisions.

This time we had five people attending: Florent Becker, Ganesh Sittampalam, Guillaume Hoffmann, Owen Stephens and Radoslav Dorcik. We also had a short visit of Pierre-Yves David, a Mercurial hacker.

Sprinters' Backlog

Ganesh mainly worked on rebase in preparation for the upcoming 2.10 release: he resolved the issue 2282 and 2227, and started work on a `darcs rebase changes` command. He also made various minor code cleanups, including getting the unit tests back to green which will hopefully encourage people to run them in future.

Radoslav worked on a couple of ProbablyEasy bugs (darcs obliterate -O overwrites existing files and implement `darcs rebase unsuspend --summary`). He created a wiki page to help us think about a future darcs flags overhaul. Last day he wrote a prototype patch on the issue 
make darcs amend -A use the default author idwhich he will continue to work on after sprint along with elaboration of big overhaul of the darcs command line flags.

With Guillaume he also worked on the manual and completed the help for environment variables and the output of `darcs help markdown`. We decided that should always have the manual corresponding to the current stable branch of darcs (as of now 2.8), because sometimes commands and flags change. We thus continue the process of moving away the documentation from literate haskell and latex and to have everything in markdown (website documentation and darcs-generated help). Guillaume also fixed bugs in the testsuite, in particular network tests.

Florent worked around the UI/Selectchanges code, with three aims:

  • make the code clearer, and more easily usable by a gui / web ui (in progress)
  • allow the user to preview dependencies (done) and conflicts (todo) before selectenig a patch
  • adding darcs diff --interactive and darcs trackdown --interactive (interactive choice of a non-contiguous set of patches to search among.) unleashing the power of implicit branching! (in progress)
The current state of the branch is available on, and is subject to agressive rebases (as witnessed by the number of "brouillon" patches).

Owen spent the weekend of the sprint working on darcs-bridge. Spending time getting the theory right for exporting merges, including some tricky corner cases. He implemented a proof-of-concept of the new exporter and has started to integrate it back into the bridge.  With lots of help from Ganesh (thanks!), he discussed and worked through most of the difficult implementation points.

Last regrets for 2.10

We decided that 2.10 will contain the last regrets prompt (an extra final question "Do you want to push/pull these patches? [yn...]" ) in its current form.

Darcs on sshfs

We finally closed , accepting a patch that makes darcs work on sshfs-mounted directories. This, combined with the bare repositories introduced in 2.8, will make darcs easier to work with dumb servers, i.e., ssh-accessible servers which do not have darcs installed.

Google Summer of Code and 2.10 beta

We plan to apply to this year's Google Summer of Code as an independent organization. This means we will ask for two slots. We discussed possible projects. Organizations sumbissions for GSoC are at mid-march, so we estimated a beta release of Darcs 2.10 would make sense by then.

Mercurial's Changesets Evolutions

Pierre-Yves David, a Mercurial developer, came to see us and gave us a short version of his FOSDEM talk "Changesets evolutions with Mercurial". Changesets evolution is a feature that recently made its way into Mercurial, that enables automatic merging of rewritten histories. We discussed similarities and differences with the way darcs commutes patches and how `darcs rebase` works.

IRC Sprinters

We also counted with a good participation on #darcs. Eric Kow did intensive bug triaging on the tracker. Mark Stosberg worked on stabilizing two features: rebase and patch index. Iago Abal helped Ganesh improve the patch code unit tests. Simon Michael updated darcsden (the software behind to the latest API of libdarcs, which changed before and during the sprint. Petr Rockai kept us up to date about the state of the buildbot infrastructure.

Meatspace sprinters


We would like to thank the generous people and organizations that made this sprint possible:
  • the IRILL for kindly hosting the sprint again.
  • all our donators, that help afford the prices of travelling and accomodations for the sprinters.

Monday, February 4, 2013

darcs weekly news #101

News and discussions

  1. Confirmed: the next Hacking Sprint will be in IRILL, Paris on February 15, 16 and 17:
  2. Darcs HEAD has been fixed to work with GHC 7.6 without encoding bugs, go ahead and try it!

Issues resolved in the last week (4)

issue2199 Ganesh Sittampalam
issue2236 Gian Piero Carrubba
issue2238 Gian Piero Carrubba
issue2247 Ganesh Sittampalam

Patches applied in the last week (45)

See darcs wiki entry for details.