This is probably an issue that will affect and isn't yet terribly clear 
to many of us. I see this affecting the refactoring efforts and seeming 
to be causing some tedious blocking and extra work. But here's a smaller 
example to frame my questions.

I realised I had fallen behind with pulling from upstream to my local 
repo, about 40 patches' worth. When I pulled, I saw that my test targets 
patch, just sent to the list, conflicts with Zooko's disttest target 
patch. Now, generally what's best to do here ? I could

- record an additional conflict resolution patch and send that along 
too. The part of me that learned to tiptoe around darcs 1's issues says 
"that's bad, because over time the repo becomes more "conflictful" and 
slows down for everyone". But this repo is darcs-2 format, so that's a 
non-issue - right ?

- unrecord, rerecord and resend my patch without the conflict ? Risks 
creating more confusion if others have pulled the first version, creates 
a burden of effort to keep track of what's going on. I think we've seen 
a fair amount of this on the list recently.

- roll back and rerecord my patch, and send both upstream. Also possibly 
confusing, but in theory everything should just keep working 
automatically. Clutters up the history and works against a lean and 
efficient repo.

I think conflicts are inevitable so a good robust non-tedious process 
for handling them is needed. Secondly, what are the best practices for 
keeping them to a minimum ? I think

- pull from upstream to your working repo(s) frequently (daily)

- resolve conflicts before recording. Perhaps pull right before 
recording a patch ?

- try to minimise that vulnerable window of time between recording and 
getting your patch applied upstream. High-quality patches maximise your 
chances here (well thought out, well documented, complete, modular, 
digestible, well-reviewed etc...)

- be aware of where people are actively working (via #darcs, darcs-users 
and repo changes) and try to work in other areas

- conversely, announce when you're working on something large or conflictful

- keep patches as focussed as possible

Your thoughts ?

_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to