How to develop on a (GHC) branch with darcs

Simon Marlow marlowsd at
Tue Dec 7 13:41:54 CET 2010

On 06/12/2010 01:57, Iavor Diatchki wrote:
> Hello,
> I am doing some work on a GHC branch and I am having a lot of troubles
> (and spending a lot of time) trying to keep my branch up to date with HEAD,
> so I would be very grateful for any suggestions by fellow developers of how
> I might improve the process.

Firstly, in GHC we never have conflicting patches in the main trunk, and 
we never commit conflict resolutions.  This is due to darcs' performance 
and UI issues with conflicts - life is much easier if we have no 
conflicts in the trunk.  (one or two have slipped in by accident in the 
past, though).  In case you haven't seen this, there are some guidelines 
for using darcs with GHC in the wiki:

So, when merging a branch with HEAD, you have to rebase, as you noticed. 
  With darcs as it stands, you can't rebase a series of patches with 
dependencies, so you have to squash your local patch history into one 
big patch.

For my branches, however, I've been using Ganesh's pre-release rebase 
support.  The UI has a few issues, but I've found that if you follow the 
workflow carefully, it does the job.

Don't forget about --skip-conflicts.  I have it on by default for pulls 
in my ~/.darcs/defaults.


More information about the Glasgow-haskell-users mailing list