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:
http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions/Darcs
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.
http://wiki.darcs.net/Ideas/RebaseStatus
Don't forget about --skip-conflicts. I have it on by default for pulls
in my ~/.darcs/defaults.
Cheers,
Simon