[darcs-devel] [patch1758] resolve issue2605: allow common patches to be non-consecutive

Ben Franksen bugs at darcs.net
Fri Nov 16 11:28:03 UTC 2018


Ben Franksen <ben.franksen at online.de> added the comment:

This is a full replacement bundle that contains yet another bug fix patch as
well as a patch that cleans up and extends the test script.

I have not rebased the original patch because I think it is pretty
instructive to study the two failures and how to fix them.

After using this version for some time I am now quite confident that
embracing and fixing merge by value is the right thing to do. While it adds
a bit of complexity in the UI to filter out common patches that cannot be
commuted to a common shared history, this is by far less than I originally
thought would be needed.

9 patches for repository http://darcs.net/screened:

patch ea33e52a9e21100c435cae1968d7c40a4f8b8cea
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Oct 31 18:48:53 CET 2018
  * resolve issue2605: allow common patches to be non-consecutive
  
  The basic functionality is fully implementated. In particular, patch
  selection does not offer common patches to the user; they are silently
  marked as "undecided" i.e. are included in the selection if required by
  dependencies. Common patches still appear in some of the messages displayed
  to the user. This will be fixed in another patch. It is now painfully
  obvious that we need a more efficient way to represent sets of patch names,
  which is (still) done using lists and linear search.
  
  The test for issue1879 has been removed because it is no longer valid and
  its (invalid) fix has been reverted by this patch. I will re-open the issue.

patch 46d2946cdfa1f4599b83ab56f070afa609c407a4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Nov  2 13:57:32 CET 2018
  * fix numbering of patches in patch selection with hidden patches

patch e08759838bebe7cd0bf36440f7bdf6f3c09ff9a4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Oct 31 20:40:00 CET 2018
  * use Data.HashSet for sets of PatchInfos
  
  This adds a dependency on unordered-containers which I think is justified.
  Note that comparing PatchInfo is expensive, which makes an array mapped trie
  a much better option than a balanced tree based container like Data.Set.

patch 9107fcbc0aff1f20c7314c9f8d641995eca72a23
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Nov 12 20:30:44 CET 2018
  * fix a subtle bug in findCommonAndUncommon
  
  This became an issue only because findCommonWithThem is now implemented in
  terms of findCommonAndUncommon. This was a rather subtle laziness bug, so I
  added a detailed explanation in a comment.

patch 01fc5a5889e7c0e5b874134257197e777b771ff6
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Oct 31 17:02:56 CET 2018
  * extended test for issue2605

patch 6fa5efd31460f8cf0de00f344059d43b46791ed9
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Nov  2 17:49:34 CET 2018
  * remove common patches from all messages
  
  This adds another argument of type PatchPredicate to some calls which issue
  messages based on a list of selected patches. The argument is used to filter
  out the patches that should not be shown, usually patches common between
  remote and local repo.

patch 2ec71857d9cefc819af4b8b804b60251d9ae5a5c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Nov 15 10:59:54 CET 2018
  * fix in test for issue2605

patch 273c53ee327748d7549403c3c55296d67f95b9db
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Nov 16 11:52:56 CET 2018
  * clean up, extend, and comment test for issue2605

patch d5a1b68dc420455eed6c4f6d6ae3e22107691669
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Nov 15 10:53:10 CET 2018
  * fix in mergeThem after resolving issue2605
  
  This procedure is used to update the unrevert bundle. It calls merge2FL
  which is now more sensitive to "unavailable" patches (i.e. those in the
  context of a bundle, for which we only have the meta data but not the
  content). This can lead to errors of the "Patch not stored in patch bundle"
  sort. The solution is to remove all context patches before we call merge2FL
  by using findUncommon instead of just taggedIntersection. Note that common
  patches that cannot be commuted to the common trunk are always included
  (with content) in a bundle; they are filtered out only when we apply it.

__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/patch1758>
__________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-preview.txt
Type: text/x-darcs-patch
Size: 50494 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/darcs-devel/attachments/20181116/a5410228/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: resolve-issue2605_-allow-common-patches-to-be-non_consecutive.dpatch
Type: application/x-darcs-patch
Size: 77934 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/darcs-devel/attachments/20181116/a5410228/attachment-0003.bin>
-------------- next part --------------
.






More information about the darcs-devel mailing list