[darcs-devel] darcs 2.16 TODOs

Ben Franksen ben.franksen at online.de
Wed Jul 29 11:52:27 UTC 2020


Hi Ganesh

here is my latest update.

Am 10.05.20 um 18:17 schrieb Ganesh Sittampalam:
> Here's my initial list:
> 
> - Rename 'new-style-rebase-in-progress' to something else
> (rebase-in-progress-2.16?)

Done.

> - Get to an acceptable state with unsuspending conflicts/resolutions

Done.

> - Go through the outstanding review backlog
>    - There's one patch in screened (I think to do with convert) that
> breaks a test on Windows

Nearly done. What remains is

2063	add a test for gpg signed send/apply

We should postpone this to after 2.16.

2070	Darcs.UI.SelectChanges: add 'r' key to print the curre...
2055	resolve issue2649: cleanup display of patches

We must make a final decision about these two and properly review.

> - Get the 2.14.4/support ghc 8.8+8.10 patches merged

Done.

> - document "darcs-3" format appropriately so that people don't use it by
> mistake

Done.

Missing from your original list:

- Create a changelog entry

Regarding that last point: I have attatched a file that contains the
patch descriptions of everything in reviewed but not in 2.14.4, minus
any patches I could definitely classify as internal changes i.e. not
user relevant. This is still a very long list. I tried to be careful and
if in doubt did not remove a patch. This list may serve as a starting
point to extract a changelog entry from.

Cheers
Ben
-------------- next part --------------
patch 2a6acf4563bec0f3df8ddaa95528987bc2168639
Author: Guillaume Hoffmann <guillaumh at gmail.com>
Date:   Fri Apr  6 21:17:09 CEST 2018
  * require directory 1.2.7 and use doesPathExist

patch 887c67e5d7a901ab3a93d29ab17f8d91b7faa456
Author: Guillaume Hoffmann <guillaumh at gmail.com>
Date:   Fri Apr  6 21:18:27 CEST 2018
  * require GHC 8.2 and Cabal 2.2

patch 1532c37d49cd656f32b6591ebdf2c5746a756fe7
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Mar  9 10:42:12 CET 2018
  * harness: improve output when property invertRollback fails

patch b84aa804d9ebc45b9b9a7ccdcfa18dbf07de94d0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 13 10:03:33 CEST 2018
  * renamed and fixed test for issue 2548

patch eded2c680e53f03bff04afe1e952413674bdeed9
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jun 14 18:41:16 CEST 2018
  * fix a wrong comment in failing test for issue1610

patch 0b618eeb661bcab931ec3a222250210195b0663a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jun 14 20:15:16 CEST 2018
  * issue1461 is no longer failing

patch 205c25351234da4e5bb9d25fa59e68aeaa9fe672
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jun 14 20:12:58 CEST 2018
  * re-add test for issue1609

patch 87e91d2490d1231d97a8ebd046050596a45849d3
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Mar 26 01:42:11 CEST 2018
  * remove "withSignalsHandled:" from message when we are interrupted (Ctrl-C)
  
  Prepending the function name makes sense for debug messages but not for
  messages intended for users (except bugs).

patch 44a511c23ac528f34463905c9d97771785cfe2df
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Jun  9 13:29:43 CEST 2018
  * export getPrefLines for darcsden

patch 1e696cdfb8804fb5e9ae01d4aaebe978bb4971c0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jul  1 10:41:26 CEST 2018
  * fix: show pristine is not an alias of show index

patch 401e31d6ee6f70f8e0780066bac76ccbe7f2bc65
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jul 13 19:07:51 CEST 2018
  * respect verbosity options in amend command

patch 7729f69479ed36a1733f5be67721a8c0ddfd6e51
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun  4 17:49:21 CEST 2018
  * in D.R.Resolution, throw an error if cleanly merging conflict resolutions fails
  
  This is clearly an internal error and should be handled as such. It was
  previously ignored by silently dropping the patch that could not be merged.

patch 940da5fdbc54e64875e3ef9a962e582cef9b0423
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 13 19:50:34 CEST 2018
  * resolve issue2548: inconsistent pending
  
  In Darcs.Repository.Diff.treeDiff we did not correctly handle the case where
  a file is changed to a subTree: we only emptied the file but failed to add
  an rmfile patch before adding the dir.
  
  With a pending "addfile ./f" and a working tree where f has been changed to
  a directory, we now get only the "adddir ./f" when recording with -l.
  
  However, this leaves us with a new pending "rmdir ./f; addfile ./f". This
  pending change can be reverted but does not show up with whatsnew -l and
  cannot be recorded with record -l.

patch 85c22f36716b5abd2a398a7c3a6cd81d7b6f3070
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 18 21:05:30 CEST 2018
  * accept issue2592: unclean pending with look-for options

patch ffa25a85a94ebb4ec8ac856fdb33135387cb34e4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  2 15:40:08 CEST 2018
  * fix handling of pending patch in amend command
  
  In case of look-for-moves/replaces, the code called
  tentativelyRemoveFromPending on the old patch. This was done after
  tentativelyRemovePatch and tentativelyAddPatch had already adapted the
  pending patch (via YesUpdatePending). This is clearly wrong and worked only
  because tentativelyRemovePatches called prepend, which pre-filtered the new
  prim patches with crudeSift. This is no longer done, and so we now get
  failures when we try to apply pending.
  
  The clean solution is to pass NoUpdatePending to both tentativelyRemovePatch
  and tentativelyAddPatch and then adapt pending in one go with the difference
  between old and new patch. The function tentativelyRemoveFromPending now
  takes an FL of prim patches, has more correct type witnesses, uses less
  coercion, and has its UpdatePending parameter removed.
  
  This restores the regression of issue2209-look_for_replaces after the fix
  for issue2548-inconsistent-pending. It also makes the previously failing
  test look_for_replaces1 succeed.

patch 90c1861cb3d104833964c1328075febc49dd9e98
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  2 18:38:03 CEST 2018
  * resolve issue2592: update pending with coalesced look-for changes

patch b072c4eba14e88f51a5d1b8b6ac0076c9cd40a0d
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jul 13 15:44:49 CEST 2018
  * tests for issue1316 no longer fail
  
  This is most probably due to the recent fix for how the amend command
  handles the pending patch.

patch af1ef038079689cab15703a766b04dfad85c66cb
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jun 29 21:58:25 CEST 2018
  * resolve issue2593: network test can collide with shell tests

patch b3109c010af6deff5e8df937e368e0ba77bfd3b0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jul 19 12:35:41 CEST 2018
  * fix test for issue2310 and rename because it does not actually fail

patch 4697b98a1fcecbe832f6a5c123c45353edfabe67
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jul 19 13:01:08 CEST 2018
  * add regression test for (already resolved) issue2536

patch c46a2aa4589102fe01d069a33dd30761f29ad5fd
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  2 16:09:39 CEST 2018
  * accept issue2594: darcs show index crashes replace with unrecorded force hunk

patch 9aa931db7a4b8f3f8b5c392ed9c1452ff199086e
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jul 19 19:10:04 CEST 2018
  * fix: must not siftForPending in revertPending
  
  The reason is that we want the checks that attempt to apply pending to
  pristine to fail as early as possible and also consistently regardless of
  whether we are in a transaction or not. If we siftForPending with a buggy
  pending such as constructed in tests/pending_has_conflicts.sh applyToTree no
  longer fails.

patch 12b5ad555fef276cf9c8f21bd4f9f8039a8c7308
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jul 19 19:10:08 CEST 2018
  * resolve issue2594: add UseIndex parameter to addToPending

patch ea6570a8e50adbe115696b729e5e141d881cf2e1
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul 23 09:28:43 CEST 2018
  * extended test for issue1522 with success case

patch 0b30a12378c874d1cc9ed41a537e80810d3ed755
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jul 22 14:24:46 CEST 2018
  * fix and simplify checkUnrecordedConflicts and then inline
  
  The implementation in checkUnrecordedConflicts really only checked for
  conflicts with pending, but we need to check for conflicts with pending and
  working; and the merge that gives us this information has already been
  calculated in tentativelyMergePatches: all new conflicts are contained in
  them'' and new conflicts with pending and working are contained in pw'.
  
  Also, when tentativelyMergePatches is called by a remote apply (during
  execution of a push command), there is no interactive stdin, so promptYorn
  throws an exception, which is now cought. This fixes an existing bug that
  was hidden because the prompting happened only for conflicts with the remote
  pending, whereas it now happens for all conflicts with unrecorded changes.

patch a3a406c6de37030ea1fdbc568e9db1fe139b9e22
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jul 13 20:12:43 CEST 2018
  * adapt tests after fix to detection of conflicts with unrecorded
  
  We now get prompted for confirmation whenever we create a conflict with
  unrecorded changes, instead of only for conflicts with pending. This patch
  makes the necessary adaptions to the test scripts.
  
  Some test deliberately pull patches on top of unrecorded changes; for these,
  we prepend "echo y | ..." to simulate the users consent. Other tests issue
  multiple conflicting pull commands; the conflict with unrecorded changes
  here is accidental due to the conflict markup generated by earlier pulls, so
  they are adapted by adding --allow-conflicts to suppress generation of
  conflict markup.

patch 0c411632a2068c2004d41162bd790863e39011b2
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Aug 26 11:18:15 CEST 2018
  * remove extraneous emptying of file object in treeDiff
  
  The fix for issue2548 correctly added an rmFileP patch in the case where we
  detect a file that is changed into a directory. However, the rmFileP already
  contains a patch that makes the file empty, so we don't have to do it again.

patch a6ca1a898e7362c83d7f6dd6d2a40a310f60eb54
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Aug 26 12:34:13 CEST 2018
  * resolve the symmetric case for issue2548, tightened and extended test script
  
  The test script previously specified only that the unrecorded changes that a
  'record -l' sees are consistent i.e. addfile or adddir but not both. We now
  require that the state of the working tree wins over whatever is in pending.
  This is justified because when the user issues 'darcs add' she does not
  specify whether to add a file or a directory, so whether pending has an
  addfile or an adddir is incidental.

patch a04c54380af24bbd912cf41b481cccd4f01071c5
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jul 22 17:46:49 CEST 2018
  * resolve issue2599: don't bother to update pending when cloning a repo

patch 078ef4dfc7f0fa7b03d9ddead5153a359e75e691
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 22 11:02:28 CEST 2018
  * simplify decoalescing and add all missing cases
  
  Decoalescing can /almost/ be defined as decoalesce x y = coalesce y^ x.
  There are only a few cases that need to be handled specially, see comments
  in the code for details. The simplified implementation can now handle hunks
  and token replaces, too.

patch 676bf23cd07f7dc961587a1148b64dd63a5d0542
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Aug 26 19:26:20 CEST 2018
  * fix updatePending and rewrite docs
  
  The previous specification and implementation was invalid, because it did
  not take hunk splitting into account. This resulted in crashes when we use
  interactive hunk editing with a non-empty but unrelated pending.

patch 5aa080f8f1bf87912d49ef4803a1f8ef07f14ef0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Sep 18 19:00:40 CEST 2018
  * store rebase patch at the repo layer instead of mixing it with normal patches
  
  This does not yet do away with the WrappedNamed layer and the
  RepoType/PatchType cruft, which will be done in a second and third step.
  Some tests now fail which is due to bugs which are only weakly related to
  the change made here, so will be fixed in a follow-up patch.
  
  Note that this changes is incompatible in that previous versions of darcs
  can't handle a repo with a new-style rebase in progress and vice versa. This
  is something we cannot avoid unless we keep all the old code around, which
  would reap us us of most of the benefits we get from this change.

patch f0e13101eb205765ade027749c5af445e79e5580
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Sep 18 04:10:46 CEST 2018
  * two fixes in clone and convert import commands
  
  The bug was in both cases that finalizeRepositoryChanges was not correctly
  paired with revertRepositoryChanges. This was exposed by the new way of
  storing the rebase patch, which crashes when it tries to rename the
  tentative rebase patch back to its final version.

patch 49d7d124a3bd725dff62d22f989679fdef4dc30c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Sep 19 22:11:51 CEST 2018
  * add command 'rebase upgrade'
  
  This required a few additional refactorings mostly in D.R.Hashed. We lift a
  local function to the top level that (lazily) reads the patches from a
  single inventory. Since this does not return a PatchSet but only an RL of
  PatchInfoAnd, we can generalize it to return PatchInfoAndG and so can be
  used with WrappedNamed instead of Named. The WrappedNamed has been
  resurrected and largely cut down to what is needed for this single purpose.

patch 4a12994d2b9d97fd0b81b87014a4ead7c0f95223
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Sep 20 15:56:15 CEST 2018
  * reliably fail if we detect that an old-style rebase is in progress
  
  The trick is to check if the repo type is tagged with SIsRebase, which means
  that the repo format has rebase-in-progress, and then count the suspended
  patches in the new-style rebase patch. If it is zero we can assume that we
  have an old-style rebase in progress.
  
  While the check itself is simple, making sure it is called with the right
  parameters at the right time is not. One problem is that we must make an
  exception for the 'rebase upgrade' command. This is achieved by adding a new
  kind of RepoJob (OldRebaseJob) just for this command. A further complication
  arises because startRebaseJob is called with an SIsRebase-typed repo
  regardless of whether a rebase was in progress initially or not. In this
  case we cannot decide whether to run the check based on the repo type alone,
  but instead have to (re-)test the format stored in repository token.

patch 70e7eb2a2f540344931740f1fa70d84133f6d64a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Sep 23 15:07:10 CEST 2018
  * adapt rebase tests to new style of storing rebase patch
  
  It is now okay to transfer patches between repos with new-style rebase in
  progress; these operations ignore the rebase patch.

patch 1ca018fa626ee2d62d1a3a79fa7e5c686f4037c9
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 22 23:29:54 CEST 2018
  * add new repo format new-style-rebase-in-progress

patch 00a15f41d126b499e6bf6f68b5098c75ae73715b
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Sep 21 16:25:54 CEST 2018
  * use cryptonite instead of cryptohash and random
  
  This also replaces our own implementation of SHA1.
  
  It is unfortunate that we have to add the memory package as a dependency
  but there is currently no other way to get at the content of a Digest.

patch 3b58a0a247f6da0c36e50f03b2a71185c6201148
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 22 17:43:03 CEST 2018
  * fix: don't throw away pending in 'optimize upgrade'
  
  There is really no need to do that since pending isn't hashed anyway.

patch fee8afc5d42df581954a00ea20f544b2032263a0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Oct  3 20:21:15 CEST 2018
  * fix test for issue1702
  
  This test was completely broken and therefore always skipped.

patch 674ba6bd0e794040877a64c62c1ae09b534b768a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Oct 12 00:18:11 CEST 2018
  * rename test for issue1702 to mark as failing

patch 62524e7c12637be444ff69f1b029df1164d6c30e
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Oct  7 18:53:39 CEST 2018
  * fix in output of log command
  
  I think the 'not' here got lost during a refactor.

patch e6f06c7f38efd8896655fda3cef2dd2be2cc8fee
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Oct 18 21:26:47 CEST 2018
  * handle binary patches in applyAndTryToFixFL (for prim V1)
  
  Darcs's conflict resolution of binary patches is completely broken.
  Apparently, it leaves pending in an inconsistent state which then gets
  recorded by unwitting users. This happens a lot lately where I work.
  With this patch I can at least use 'darcs repair' to fix the broken repos.

patch e8d4e47572b175ea769524d5e09b86464eba7a4e
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Oct 11 02:04:40 CEST 2018
  * fix: fail if pending patch cannot be parsed
  
  The previous behavior was to silently ignore pending. This is bad because we
  want to know if the pending patch is corrupt. Note that parsing is now
  stricter and requires the leading "./". This invalidates some of the tests
  for darcs repair since we cannot record a pending patch with an invalid
  file path.

patch 9253d72801cb849f1474184b4baa0ba1173d3624
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Oct 14 00:57:23 CEST 2018
  * improve wording of warning message in maybeFixSubPaths

patch 92e94c8810ea48f5b848b537577ba41abf799166
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Oct  9 13:01:01 CEST 2018
  * bugfix in whatsnew: must use chooseTouching, not choosePreTouching
  
  This bug was previously hidden because the old effectOnFilePaths did not
  always do the right thing. I trust the much simpler version that works with
  AnchoredPaths more that the old version that fiddles with the String
  representation. chooseTouching also makes more sense when you think about
  it: if we invert the patch that adds the new files then its effect on the
  paths is to remove them; thus choosePreTouching removes the interesting
  paths from its input before it calls chooseTouching, which gives us wrong
  results (now).

patch f867f1f5d3ffe8c466d1c9b219381ba649818bd3
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Oct 13 21:23:49 CEST 2018
  * bugfix in remove command: don't allow removal of root
  
  This will otherwise create an invalid pending patch causing subsequent darcs
  invocations to crash.

patch 441b08715437be817ef7cf0a63907ed6d5fcff7f
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Oct 12 22:08:29 CEST 2018
  * adapt a test script: darcs no longer fails to detect this move 
  
  This was fixed by the FileName->AnchoredPath cleanup. I have no idea how or
  why in particular, except that we save a lot of tricky Char/String fiddling
  some of which may have been buggy.

patch 8fc258192b76374fd570e310f45496ff81a6e6d4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Oct 15 09:05:30 CEST 2018
  * fix in patch index: avoid generating repeated move patch mods
  
  This regression was due to a mistake in the AnchoredPatch refactor.

patch 31b2f4d9a34d9becc78fdcb93ddda75064c163e2
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Oct 14 10:29:07 CEST 2018
  * fix in patch index: use removeFile, not removeDirectoryRecursive to remove noPatchIndex

patch 6b0af3027412cd37fb823657d7e5bdfa676fdbf4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Oct 14 10:38:56 CEST 2018
  * add progress reporting to patch index

patch 3391054ba84fe9adcaa5e6057d0aac6a08eea59a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Oct 17 09:51:32 CEST 2018
  * fix nonsense cases for decoalesce

patch a56ffcf03fae25d66014544e1aeb6cd8e9077e02
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Tue Oct 16 19:39:31 CEST 2018
  * add test that decoalescing a move works properly

patch 159052d2c96345dad8c6e20de7e52648dfad9994
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Oct 12 23:36:58 CEST 2018
  * print remote execution failure message to stderr

patch 704efbf89326b8195c9919e73b15176cc0668db7
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 29 13:23:00 CEST 2018
  * update help for defaults file(s)
  
  The information given there was partly out-dated.

patch 4db7dedb12416d907bfbb72452524b243ead6165
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Sep 30 19:27:51 CEST 2018
  * add subcommand 'darcs help preferences'
  
  This is exactly the same as the chapter in the manual, slightly re-formatted
  for terminal output.

patch 7c1f5b8288f3baa5472ce20e6bb74dfbacea179a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Oct  1 10:46:04 CEST 2018
  * improve help for _darcs/prefs/sources

patch 2bc54badcea883da5eb45ed794b8d3ef1f37a3e1
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 29 18:35:53 CEST 2018
  * move cache related global variables to D.R.Cache and make them thread-safe
  
  The two global variables are reachableSourcesList and badSourcesList and
  they are exclusively used by D.R.Cache. So it seems cleaner to me to
  encapsulate them in the same module. They use MVars now to make access
  thread safe. While apparently the code seems to work with IORefs, the cache
  functions /are/ used from multiple threads, so MVars are the safer option.

patch e58e96882a706d6a854029b393f1a58c47aa2bbf
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Oct 28 14:47:18 CET 2018
  * accept issue2605: darcs crashes with duplicate patches

patch d2e84e16dcbbdee97937581ea4af402f92921078
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Oct 13 01:09:27 CEST 2018
  * resolve issue2604: remove --reply and related options
  
  The options are: ccApply, reply, happyForwarding and were supported by the
  apply and push commands. This patch removes all conditional compilation from
  Darcs.Util.Compat. It also removes the dependency on the random package when
  building for Windows.

patch da98f6eae4bc3c158e1edb47f300289d01a12d2a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 29 18:42:18 CEST 2018
  * re-formulate the bad sources hint
  
  First, it no longer shouts at the user. Second, instead of saying what the
  user "should probably" do, we give a clear recommendation, but make it
  conditional on circumstance (the user may want to keep the source if they
  plan to restore access to it).

patch f293190d6c4527a331ff682a9281ab28a348be3e
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 29 22:16:18 CEST 2018
  * remove hint "Do you have the right URI for the repository?"
  
  This hint serves no purpose at all. We already told the user the name of the
  repo and that we don't recognize it as one. What more is there to say?

patch ab9d625c0ce86cca33282bc336416d1ef893cf5a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Oct  5 01:39:19 CEST 2018
  * remove the "darcs failed:" from error messages
  
  Most error conditions reported by darcs are due to invalid input from the
  user, or indicate non-existence of things (patches, files, ...). It makes no
  sense for darcs to take the blame for that, which is what the phrase
  suggests to me.

patch d2733fe48508c16ac39bfc5f36065edf6c3cd9b6
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Nov 15 16:10:37 CET 2018
  * resolve issue2608: download _darcs/hashed_inventory separately

patch 67418ecc6fa5c29a46818f918624c7ad2b3bcf83
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Nov 14 22:00:30 CET 2018
  * resolve issue2603: warn and mark conflicts when cloning

patch 4f0f6e70180b32c11fe125431ec4de96ced3e764
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Sep 25 19:03:11 CEST 2018
  * new implementation of http client based on http-conduit
  
  This implementation does not use our self-written download manager in
  Darcs.Util.Download, which is needed only to interact with libcurl. Instead,
  speculating on a remote file is done simply by running the action in a
  background thread (using async) and relying on the connection manager that
  is supplied with http-conduit. This works pretty well and gives us the full
  functionality (including HTTPS) in a portable manner, so I switched the
  default for the curl flag in darcs.cabal to False.

patch 781e6b0685a1cd3ae82d5edc8fb7bda72bfd8070
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Fri Nov 16 16:43:19 CET 2018
  * Re-mark issue1461 test as failing.
  
  This test is intended to check behaviour on case-insensitive filesystems,
  but could never work in practice. It passed by accident for a while on
  Windows because it seems && doesn't interact properly with set -e.
  
  Possibly this test should just be deleted, it's not clear what value it
  could ever have.

patch ecc7509b36b8ee98a535226c9e2f880cc549dc91
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sun Nov 18 12:10:30 CET 2018
  * issue2605 test is currently failing

patch 307ad115a790fb29c5688d228263c1e496dc4225
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Nov 18 23:04:05 CET 2018
  * increase format version of patch index to 3
  
  This change reflects that the patch index now uses AnchoredPath instead of
  the old FileName for all paths, and that has different Binary and Ord
  instances.

patch e466a2aa71551879934e2df0104af5a3166b9b7d
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sun Nov 18 22:57:05 CET 2018
  * bump Win32 upper bound to support 2.4.x, 2.5.x, 2.6.x
  
  Although 2.7 and 2.8 are available, process doesn't support them
  so there's no install plan to test with

patch b53b697e82fdc1db10cfb17b42cdde6d44f5238d
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sun Nov 25 00:05:51 CET 2018
  * use the Posix </> in anchorPath
  
  Otherwise we get things like ".\foo/bar" on Windows.
  
patch a8a44e147336e0e818e5d1d3d629990219dda2af
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Nov 19 19:19:13 CET 2018
  * re-formulate the set-default hint
  
  Besides being worded in a less patronizing way, the hint no longer suggests
  to "quit now" unless the command being executed is interactive.

patch fd73efbb68c9e3976ba308f04362e8560910f945
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Dec  3 12:47:56 CET 2018
  * for Windows, use linkCount and createLink from unix-compat
  
  This requires lifting the lower version limit for unix-compat to 0.5.

patch ba25e53c0bbbe23ab84f07447af346aa5059ecd8
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Nov 16 21:26:05 CET 2018
  * fix: insert a valid date when creating anonymous named patch
  
  Otherwise we get an exception when we try to e.g. display the patch.

patch 27e85830d38d35d7840ec54f8b7dea0c4da8dd1e
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Nov 16 21:43:07 CET 2018
  * Darcs.UI.Commands.Diff: work with a temporary copy of pristine.hashed
  
  This allows to use 'darcs diff' on a repo where we have no write access to
  _darcs/pristine.hashed.

patch cb81fa97fb972277b776139859ca484b6c2e8d78
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Nov 16 17:09:59 CET 2018
  * check writability of index when we start a transaction

patch cff227050b324cc76dd38076fecd888121ac0b85
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Dec  3 19:24:24 CET 2018
  * extend test for issue1959
  
  It now covers many more read-only commands and also checks with
  --no-ignore-times (for those commands that support it). Also test that for
  repo-changing commands we get a decent error message if _darcs is writable,
  but either _darcs/index or _darcs/index_invalid is not.

patch 2fb6b284aaaaa20cf3c4c628fdc15510cbd71716
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Dec  3 19:29:54 CET 2018
  * fully respect the useIndex option
  
  This hopefully eliminates any remaining unchecked uses of the index.
  Darcs.Repository.State now contains a CPP macro TEST_INDEX to control
  whether some testing code is included that accesses the index /and/ does a
  readPlainTree with an appropriate filter and then checks that the resulting
  trees are equal. We also pass the repoLocation explicitly to readPlainTree
  now (if available), because it turned out that some uses of the functions in
  D.R.State are made with a CWD that is not equal to the repo base dir.
  The implementation of readUnrecorded is now in terms of
  readUnrecordedFiltered instead of repeating ourselves.

patch 248f84c2847cc7c453c395be6b73c3cb0ada8d92
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Dec  3 19:33:14 CET 2018
  * resolve issue1959: read-only commands should not need write access to the index

patch f79b8258702c164000c2126f3b5c2a50f6101ea1
Author: Eric Kow <kowey at darcs.net>
Date:   Mon Nov 26 12:01:04 CET 2018
  * resolve issue2441: Use pager for darcs annotate

patch 5249e5fb34ee4a8330ce68034d09f172208246d5
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Nov 12 10:12:18 CET 2018
  * group --reorder under the merge options and improve its help text

patch 33b4a21a59ebe7378dbd79ca10a7a71b15c63b6a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Nov 25 14:42:31 CET 2018
  * no coloring in progress reports for check/repair
  
  For reasons that aren't fully clear to me, colors aren't properly reset when
  using them in progress messages. This has the undesired effect of coloring
  all subsequent messages. The simple solution here is to use renderString
  instead of showDoc to avoid coloring the progress messages.

patch b42934b96d06f98292c7a27ada68151482e03bce
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Nov 13 18:29:46 CET 2018
  * add progress reporting when creating packs

patch 254ba064e656a2322bce1913d93def767fbb2ba4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Nov 12 10:30:35 CET 2018
  * remove option --restrict-paths
  
  I can't think of a situation where allowing patches to manipulate paths
  outside of the repository makes sense.

patch 5d674ea8304b0aced93afb532df4bdd7036bbeeb
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Wed Jan 16 07:44:52 CET 2019
  * Support GHC 8.6/base 4.12
  
  Also bump a couple of other versions needed to find a build
  plan with base 4.12.
  

patch 762aa5806a5e6eed15a09baa7d8ed26b3280939e
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Dec 14 14:14:58 CET 2018
  * fix several uses of error where it should be fail
  
  These situations are normal failure conditions and not bugs in Darcs.

patch 1bcf44c5b15cdbbfe86727a41fbb0fe40a09ee4c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Dec 14 16:34:21 CET 2018
  * replace a few calls to 'bug' with 'fail'
  
  These aren't bugs in Darcs at all, instead they are normal failures.

patch 7448ac2618ae158dbe576e45f487d24e9c71170c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Dec 14 16:36:46 CET 2018
  * add new Exception types CommuteCommonPatches and PatchNotAvailable
  
  We now throw these special exceptions instead of calling error. This is
  because neither is (necessarily) a bug in Darcs. Instead these exceptions
  can be thrown under normal conditions and indeed there are tests that
  provoke these failures.

patch 8ffa32f7fe19f3901c0674276fa4d6c907815376
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Dec 14 16:36:46 CET 2018
  * add a top-level error handler
  
  This exception handler merely adds information about where to report the
  bug, then prints the exception to stderr and exits with ExitFailure 4. This
  allows externals tools to distinguish whether darcs exited due to a bug.

patch 69eb75eef00d668184fee0c6a3ef80141a4f778a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jan 24 09:57:55 CET 2019
  * enable test for issue436 for darcs-1 format

patch e4a9cd9363e62946e78b5a602d1e373a0f27640d
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jan 24 19:36:55 CET 2019
  * resolve issue2618: option --ask-deps adds too many dependencies
  
  The trick is to filter out any patches in the result from runSelection that
  depend on later ones. While this may also filter out explicitly selected
  patches, these should rightfully not have been offered in the first place.
  I took the freedom to clean up and simplify the code for askAboutDepends.
  This concerns mainly the initial filtering of patches that are depended on
  by what we record, which is now reduced to a plain commuteWhatWeCanRL.

patch 1554fee44f2dcd273f4375eeea8883ecbcd2480d
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Feb 12 20:10:02 CET 2019
  * fix crash when a hash (given with -h) is not found
  
  It now throws a new type of exception (MatchFailure) instead of calling error.

patch 850c80e9c61c93a2c54f454a676c6a570bd85d89
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Jun  8 11:55:40 CEST 2019
  * make linear search report results like bisect
  previously it would just print out "Success" and the most
  recently printed patch would be the one to blame

patch 0942856223e2ffbcc0f4b38070c34a4bdb432e15
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jan 24 20:34:57 CET 2019
  * don't offer already depended on patches with --ask-deps
  
  This reverts an unintended behavior change introduced by the fix for
  issue2618: the patches we already explicitly depend on are offered again.
  This is done by adding the old dependencies to the anonymous patch before
  filtering out its dependencies.

patch d55f77f479dfc3af6ec5092eaeb0885a608d7762
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 12 17:39:25 CEST 2019
  * treat 'failed to commute common patches' as a bug
  
  This partially rolls back
    patch 7448ac2618ae158dbe576e45f487d24e9c71170c
    * add new Exception types CommuteCommonPatches and PatchNotAvailable

patch ca7780c8aa54bbe66cfe3a68db348a9363e86d7c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 12 17:38:42 CEST 2019
  * issue1442 has been resolved some time ago

patch 3113fff08bdd62741bc9d46292333bc44be242e6
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 12 17:54:02 CEST 2019
  * test for issue2293 no longer fails

patch 399afb6d3993c0281fa20d5ace212dc9c1000ee4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 12 18:02:32 CEST 2019
  * issue2614 has been resolved
  
  It has been fixed by
    patch 9dfd9ea8480ced1f5bf88491c51d31b622bd6a43
      * revert partitionRL to its former state, remove partitionRL'
  
  Also, for darcs-1 repos it failed for the wrong reason, namely because we
  push a conflicting patch (it does not conflict for darcs-2 because of
  Duplicates) so we allow pushing conflicts to the target repo.

patch 2ab2d6ea7d3b4299dee37bc81e36fa35bc9c035d
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Feb  8 17:45:13 CET 2019
  * add RepoPatchV3 aka camp conflictors

patch 3a797b9fc225df6dbb031b29307f4e30c891fa6c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Feb  8 17:46:49 CET 2019
  * add new Darcs3 format option

patch 0107cb750c63795b3cd1fb17f94478102ab7dc5d
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Feb  8 17:46:49 CET 2019
  * allow runnign the test scripts with darcs-3 format

patch dc879f6671f4dbff633ebeeb635a83e8d05337ac
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Feb 10 23:09:51 CET 2019
  * hack: disable showContextSeries for darcs-3 format
  
  The code (in Darcs.Patch.Viewing) that implements showContextSeries messily
  re-implements showing for FLs of primitive patches (hunks in particular),
  circumventing the ShowPatchBasic instance. This means that it cannot take
  prim patch IDs into account since these are added to prim patches as a
  wrapper. This would not be a big problem for display but it is one when we
  use showContextPatch to create a patch bundle because it means that hunks
  are stored without the prim patch ID and thus cannot be read.
  
  The temporary "fix" here is to disable showContextSeries by adding a new
  ListFormatV3, until the context showing code is cleaned up to pass the
  correct prim show function down into showContextSeries.

patch dcceaa03b5ae8ce0c7670e056a1f6ef9eec8aa16
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Feb 12 18:17:39 CET 2019
  * show the PrimPatchId only ForStorage, not ForDisplay
  
  The PrimPatchId is not useful to the user and clutters up the output when
  --verbose is in effect. It also allows more test scripts to pass without
  having to adapt them.

patch d22ee446187b4954744092a410530b23d2866aad
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Feb 13 09:23:01 CET 2019
  * disable repair tests when format is darcs-3
  
  Repairing currently means that we add or drop prims from a sequence, and we
  cannot lift that to NamedPrims. Doing this right requires considerable
  refactors to the Repair interface(s), so this is postponed for now.

patch 0cae5acc67078b6cc2b6b0cbe5137a19522ec553
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Feb 17 12:12:56 CET 2019
  * replace our own patch parser with attoparsec
  
  We already depend on attoparsec for convert import and its functionality and
  implementation is quite similar to our self-written parser monad. I have
  checked that this does not impact performance negatively.

patch 7ab9d4c2d08f03bc735ecd706fb923a04081cd03
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Mar  2 23:34:55 CET 2019
  * fix error message in function transferProblem

patch b67f24e6d75014d3a6950daf292690084fc7e796
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 12 18:54:59 CEST 2019
  * issue2257 fails only for darcs-2 repos and that will never be fixed

patch 1ce1846d0130a0901bf02cf663546234a8aba133
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 12 19:19:18 CEST 2019
  * issue1401 and issue2605 no longer fail, at least for darcs-3
  
  They are both instances of the same underlying problem in darcs-1 and
  darcs-2 patches, namely that they cannot distinguish between duplicate prim
  patches. The darcs-3 format allows that and thus does not fail these tests.

patch 616c8227e46032ef3571113efc65d9552f6b22d3
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jun 16 13:24:14 CEST 2019
  * resolve issue2625: catch only IO exceptions from applyToWorking

patch 173e8e8e4ffd993d761de1cc441f2012e01e7e5c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 17 08:32:58 CEST 2019
  * resolve issue2626: treat applyToWorking more uniformly
  
  This factors catching IO errors into applyToWorking with a generic error
  message that should fit all use cases. In case of the 'convert darcs-2'
  command, the extra clarification that suggests to use --no-workingdir has
  been removed as I find it misleading and cannot see how that could actually
  help: we have created the whole working tree ourselves, so if applying the
  patches fails something really weird (like another process interfering with
  the working tree) must be going on.
  
  It also adds a number of withSignalsBlocked to wrap the calls to
  applyToWorking where they were missing. Where possible, the scope of actions
  under withSignalsBlocked is extended to include finalization and/or updating
  the pending patch. This has previously been the case for some commands but
  not all of them.

patch d81f309e3b5387439540c77b22a1b121ccb01de9
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 17 09:49:53 CEST 2019
  * streamline the final "Finished ..." messages

patch 005ad8a944052a3b2ce4832298d81f624d63b114
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 17 13:57:29 CEST 2019
  * remove defunct --set-default option for rebase pull
  
  The option was never honored by this command.

patch d9b778edf5284c139cc8ccda8480ceef2f09a86b
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Jun 18 14:26:35 CEST 2019
  * bring help text for 'darcs repair' up to date

patch 08d6977bb518bca5024ecad7e87fc6fd29055d79
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 24 08:30:22 CEST 2019
  * improved test case generator for RepoPatches
  
  We previously generated RepoPatches by merging prims from a Tree. While this
  generates conflictors, it never generates sequences where a patch depends on
  a conflictor. The new generator (which can only be used for patch types that
  have a Merge instance i.e. not prims) directly generates an RL of patches,
  making sure we cover all possible cases.

patch 8531b00787cf3b229f16d2b7fcaa0d786a335ee9
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Feb 13 10:21:18 CET 2019
  * colorize --dry-run output

patch d6decfee86649feea8be7503f7851fb461a97cf3
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 17 15:15:25 CEST 2019
  * resolve issue2610: add --inherit-default option

patch ccaf002fd1ce38b981d55c08d1f0ce52364d1acb
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Jun 18 23:27:34 CEST 2019
  * enhance security of --inherit-default
  
  We now check that the remote repo (dir) has the same owner as ".", reducing
  the danger of using a corrupt defaultrepo due to encoding mismatches between
  the remote and local repo.

patch 0477caae257162b34f54bfba9a75f682e54375c3
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 19 22:38:13 CEST 2019
  * remove env var DARCS_DO_COLOR_LINES
  
  If the user wants colored output we should go all the way and not require
  them to set yet another configuration variable to achieve that. On the other
  hand, if they can't see colors or don't have actual colors in their terminal
  and thus set DARCS_ALTERNATIVE_COLOR then we should not color hunk lines
  since we have no alternative rendering for them.

patch 8a3bc69e7a55b30aefd58d6b5d2f348e286d35b0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jul  5 23:30:01 CEST 2019
  * demote errors in defaults file and commandline to warnings
  
  When we change the UI by e.g. adding a new command line option, we want the
  user to be able to use these switches in their defaults file without this
  giving an error when they use an older version of darcs. So this change
  improves forwards compatibility.

patch 3fd4dfddbb35169970ad18fb09c873aa45357583
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jul 11 18:25:35 CEST 2019
  * colorize warnings

patch 36779a9fba5df83b62465b8c095538ef88e2fc7c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jul 19 11:18:19 CEST 2019
  * add --not-in-remote option to amend and rebase unsuspend

patch ebc504f611ce088e78657a4b28d2f3b3d6b0c851
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jul 19 20:13:22 CEST 2019
  * whatsnew: print via pager (unless --xml or -s is active)

patch c041a3557da9c9fdb986208dd17c394878af6c44
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Tue Aug  6 14:24:42 CEST 2019
  * issue1442 test doesn't work on Windows

patch 0bfd01962214561df99905fcb183986ac22c31f0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Jul 20 14:01:37 CEST 2019
  * harness: test all patch formats by default
  
  Now that we are moving towards darcs-3 format, better make sure we test that
  by default. And testing darcs-1 is good to avoid regressions.

patch 4882dda3251975b08fc8fa003c08ca3c7b523520
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Aug  1 23:17:51 CEST 2019
  * use the old test case generator for most RepoPatchV2 properties
  
  With the new test case generator many properties fail for RepoPatchV2, so we
  go back to the simpler generator that does not record patches after
  conflicts. This required re-adding merge_properties and also adds
  triple_properties (for permutivity). While we're at it, also test the
  triple_properties for prim patches.

patch 6b11cedb1dde629063fc9b21894246734427c67c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Jul 16 21:34:44 CEST 2019
  * resolve issue2550: apply only properly mangled resolutions, warn about any others
  
  To support this change we add the new data type StandardResolution and
  return that from standardResolution. It contains a summary of the data we
  gathered from calling resolveConflicts: the mangled resolutions, merged into
  a single FL, the list of conflicted paths, and an IO action to warn about
  and display any (unravelled) conflicts that we couldn't properly mangle. The
  warning is normally only displayed if we actually want mangling to happen
  i.e. if --mark-conflicts is in effect (except for the mark-conflicts command).

patch 8f3b7bb7685d16003ba26050397b3022d0427119
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jul 19 17:55:14 CEST 2019
  * remove our own optimisation settings in darcs.cabal
  
  Letting cabal be aware of optimisation makes it easier to switch between
  optimised and unoptimised builds, since cabal nowadays puts unoptimised
  builds in a separate directory.
  I tested with a number CPU-intensive test runs (darcs-test -t conflict) that
  this causes no performance regressions: the default optimisation level
  chosen by cabal (-O1) gives the same or better results than the -O2 we
  passed explicitly.

patch 6f7195b9d5fd43169850bc85f2ebd28bbd52abb9
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Jul 20 13:51:58 CEST 2019
  * regard explicit dependencies as resolving conflicts
  
  This is necessary to allow users to resolve a conlfict in favour of what
  darcs does by default (i.e. apply neither of the conflicting changes). The
  implementation is mostly in Darcs.Patch.Named which now has an instance
  Conflict. The PatchInfoAnd instance only delegates to the contained Named 
  patch. A subtlety here is that for efficiency and correctness in the face of
  lazy repos, we must make sure that hopefully is lazy in its patch argument.

patch dfb78642e1f57e824bf74fb4394dc20db1251131
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Aug  2 19:51:08 CEST 2019
  * suspend reify: give reified fixup patches a real author
  
  Instead of "Invalid <invalid at invalid>" we now call getAuthor and pass that
  down to reifyRebaseSelect.

patch 106dd1e2c1792c2c6b1a167107acc721ac3fe624
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Aug  8 10:26:51 CEST 2019
  * re-unify finished messages in PatchAppliers
  
  We make a small simplification in the process: fetchPatches already reports
  if there are no patches to pull, so we needn't repeat that.

patch 24197f876a01166aed000ad7f8090c5386d556e3
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Aug 15 10:23:43 CEST 2019
  * apply: print "reading from stdin" unless --quiet
  
  The message is indeed useful to users, since with no arguments 'darcs apply'
  will "hang" waiting for input from the terminal. But printing it only if
  --verbose is in effect defeats the purpose.

patch 120001d4caa98aff0ad92de2970ad4d2b3466eb4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Jul 11 19:16:06 CEST 2019
  * fix in add command: fail unconditionally when no files were added
  
  Whether a command fails should not depend on verbosity.

patch 682e8edc4f51b10d21cb6938bf9eb691494ca599
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Aug 17 11:23:46 CEST 2019
  * bugfix in optimize compress
  
  We must not compress special patches such as pending or unrevert.

patch 13c63d79853d31eb2354cd89c745d9cd6cf8507b
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Aug 24 19:48:54 CEST 2019
  * include all the information from exceptions in darcs send
  
  The previous code was stripping away the filenames from
  "does not exist" errors.
  
  This change also means that all exceptions are guarded by
  'warnMailBody', not just IO exceptions. As the purpose of
  that is just to tell the user where their mail body was
  preserved, this seems sensible.
  

patch 8372745022d9af6863e69ce8bcb0b17dc1405c49
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Aug 24 19:49:04 CEST 2019
  * bugfix for darcs send on Windows with GHC>=8.6

patch 10f31d86c1275da3a54e50814bb69a6c7baa9843
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Aug 25 15:31:04 CEST 2019
  * replace quickcheck with leancheck for testing Graph properties
  
  Calculating graph properties scales very badly because the specifications
  aren't optimised (naturally). Exhaustive testing with leancheck is a lot
  more effective here because we avoid testing with (too) large graphs.
  Unfortunately test-framework is a bit limited in that it doesn't allow to
  scale the number of tests, just to set them to a fixed value. We opt to
  set it to 0x8000 which covers all graphs up to size 6.

patch b5c70c85e56f25190016c33e9e4fe3aab8fbca69
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Aug 27 21:45:08 CEST 2019
  * remove unused dependency of darcs-test on split package

patch 238ffe4bb9aa170249bc359c64d81355ff5b8a82
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Aug 24 14:01:09 CEST 2019
  * fix prompting when we get a bad patch name
  
  If the user gives a patch name on the command line and that turns out to be
  bad, we want darcs to fail and not prompt the user. Think of using 'darcs
  record' in a script...
  Also, if we do prompt for a patch name and get a bad name, we should explain
  why it is bad before prompting again.
  Finally, when we get a bad name from reading a log file or from launching an
  editor, we also want to fail, rather than prompting the user.

patch b6c7ad3ba858f0d7030f31263d4449a0717676f4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Aug 29 18:36:55 CEST 2019
  * issue no-patches message in applyPatchesStart regardless of --reorder

patch 3ee34d503c4a79de22531f261fa251e700d87c2a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Sep 15 12:17:52 CEST 2019
  * extend tests/resolve-conflicts-explicitly.sh
  
  This adds a test that explicitly depending on a partial resolution does not
  inadvertantly turn it into a full resolution. It also cleans up the existing
  test with better names for the patches and defines a common baseline for the
  conflicts.

patch d1bbdb5f1f3cea279a92649f989f68f63c37f71e
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Sep  1 15:19:00 CEST 2019
  * fix interpretation of bundles as patchsets
  
  We previously created invalid patchsets when a tag was present in the
  context of a bundle. This worked (sort of) due to laziness but only if we
  actually have that tag in our repo. If we don't then this rather dirty hack
  interprets the bundle in a wrong context, i.e. Origin. Depending on how
  findCommonAndUncommon is implemented we either get immediate errors ("cannot
  commute common patches") or it hangs indefinitely trying to perform huge
  amounts of bugus commutes of patches that aren't in their rightful context.
  
  The same bug is still present in scanContextFile.

patch 1f421fa66ce31ecd65c11a17e0d168d6f8fd3bf2
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Wed Sep  4 16:46:58 CEST 2019
  * add another test for rebase changes
  
  This checks that if some parts of the patch are in conflict
  and some aren't, that this is reported properly.

patch d845a6bf57abc13afe65df6a96f8faef85ff1421
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Sep  9 11:33:30 CEST 2019
  * adapt tests/send.sh to new behavior of --output options
  
  The patch "move patchFilename from D.P.Bundle to D.UI.C.Util" (which this
  one explicitly depends on) changed the behavior of --output-auto-name such
  that we no longer overwrite existing files. Also test that we /do/ overwrite
  an existing file if the output filename is given explicitly with --output.

patch bc6e15cc384c6cd2ae328b517def70abbcee2bd9
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Sep 14 16:19:05 CEST 2019
  * Add a test for rebasing a pre-existing conflict
  
  It ought to work at least in simple scenarios.
  

patch d25e45c06af257c159e9f8566f5f937d528b2990
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Sep 14 17:02:36 CEST 2019
  * test of upgrading an old-style rebase with a conflict

patch 06e57cd0115de504d1b39a2f535aab85c3ed28f5
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 14 13:11:43 CEST 2019
  * remove message output in getUniqueDPatchName
  
  This function in used to derive an automatic name for a patch bundle, so we
  don't have to explain that there already exists a file with that name etc,
  since we display the final file name anyway.

patch 963f3b20f5081d536455954064e5c81d920d05a8
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 14 13:37:47 CEST 2019
  * fix lazy reading of inventories for obliterate with --output
  
  This one possibly fell victim to a simplification I made once, therefore the
  somewhat longer comment that explains why we have to re-read the original
  repo contents when we generate the context for the patch bundle.

patch dd705f5f9c5aa80f68306c36aff6f31f2c389be6
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 14 20:02:21 CEST 2019
  * fix lazy reading of inventories for apply command
  
  This was broken by checking availability of patches to be applied in a
  complicated and inefficient way, which as a side-effect reads all local
  inventories in our history.

patch c63580de8d04b2b2205412597b359fd74a031642
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Sep 14 20:03:06 CEST 2019
  * extend tests/issue2293-laziness-amend.sh with more commands
  
  We now test that it works with log (--context and --last=1), amend, record,
  send, obliterate, and apply.

patch 96205666b38a5c4a0b8d55134ac38630a17849a5
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Thu Sep 19 12:46:35 CEST 2019
  * move -DHAVE_MAPI from Setup.hs to darcs.cabal
  
  It's only used by .hs files so we only need to set
  cpp-options.
  

patch 3bfb31206bf6299a4a806f2d35e89e7ae5fe1f1d
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Sep 19 17:17:45 CEST 2019
  * print out name of patch bundle for obliterate --output

patch 47a68d1dc01a55d3afc2104d15947b4034c6d406
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Sep 19 18:40:37 CEST 2019
  * eliminate Invert instances for Named, WrappedNamed, and PatchInfoAnd

patch b5ba17a2ddcca702b722a41910ae307e3ef80daa
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Sep 19 18:40:38 CEST 2019
  * get rid of the last Invert constraints for RepoPatch in rebase
  
  This is done by changing the forceCommute implementation to do inversion on
  the underlying prims.

patch 2b214d6c1e79ecfd94b6fafcd86c082de606556b
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Sep 19 18:40:38 CEST 2019
  * remove Invert from RepoPatch constraint synonym
  
  This also disables tests for inverses of RepoPatches and fixes the
  permutivity test to no longer require it.

patch 1963d1f4c9c76abfc2451416488178b05485bd5a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Sep 19 19:24:22 CEST 2019
  * resolve issue2635: build/install man page only if we build darcs executable

patch e9a3073134dc4c3cf2513fe0145bfb4b29560726
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sun Sep 22 13:10:37 CEST 2019
  * support hashable 1.3

patch 96163dcbd89f2a89ccd7c8d4f74a27b12f7abbc5
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sun Sep 22 21:53:37 CEST 2019
  * add setup-depends upper bound for Cabal
  
  sDistHook has been removed in Cabal 3.0

patch 4d15f0339d3bd4084df056490ed9fff0a15423ce
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Aug 22 17:34:18 CEST 2019
  * fix build with -fcurl

patch 2ec817fedf5489fabb3cdca19a70e9434485150f
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Aug 23 11:27:19 CEST 2019
  * make working with temporary directories more robust
  
  Cleaning up after withTempDir or withDelayedDir fails if an asynchronous
  thread or an interleaved IO action continues to create files in this
  directory. We rather want those operations to fail, so we first rename the
  directory and then delete that.

patch 9ee34ceb729f6328649e91e2422b35c4fb717d9c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Aug 23 11:36:01 CEST 2019
  * make sure we cancel pending download actions at exit

patch 91de81a88c3ce11629a7b0d5f6ec074790a6c46f
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Sep 23 11:03:35 CEST 2019
  * fix help for diff command's --unified option

patch c16c23d39078febb5a184cb1ed7c909f794e10d8
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sun Sep 22 13:58:24 CEST 2019
  * move to QuickCheck 2.13
  
  It defines a Testable Maybe instance we currently have an
  orphan for. Since it works with all versions of GHC we
  support, just switch to it unconditionally to avoid CPP.

patch 17f854155bbacb52bf2ab974e04fcb82a2e56d00
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Fri Sep 27 21:19:28 CEST 2019
  * drop error in commuteNameNamed if a deleted name is readded
  
  As in D.P.R.Item.pushFixupItem, this scenario isn't impossible
  so should just be a failed commute rather than an error.
  

patch 62cb707c782b8379e62588376f03ae9a5f57a58b
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Mon Sep 30 20:30:37 CEST 2019
  * treat the PatchInfo isInverted flag as legacy
  
  Now that Named patches can't be inverted, it doesn't make
  sense to invert PatchInfos either.
  
  However patches with this flag set were historically written
  out by 'darcs rollback' until around 2008, so we need some
  residual support.
  
  The approach is to treat it like the other flags in
  PatchInfo and for it not to be anything to do with actual
  patch inversion any more.

patch 1b64bd163046effb3eb7d9ce4fdbeecd775dc019
Author: raichoo at acmelabs.space
Date:   Fri Jan 24 18:41:28 CET 2020
  * make diff use execInteractive
  
  Some diff-commands (e.g. vimdiff) need to get a hold of stdin/stdout
  due to their interactive nature.

patch 5913eea4ed4c7bcb92bee2987d19a8b36f60d17a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jan 24 17:11:19 CET 2020
  * resolve issue2639: darcs diff crashes with --last=1 and file name

patch 32e9066f6eb9951b47535c13a1770ca3abb993e5
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Jan 25 13:04:14 CET 2020
  * support sandi 0.5

patch a6ef39cce012c4cf8145ffe35b50c9433d74cca6
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Jan 25 13:04:24 CET 2020
  * support cryptonite 0.26

patch 48ad20683bef6018f3101002dd2431f4334bf18c
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Jan 25 13:05:07 CET 2020
  * support conduit 1.3.1

patch f110495d9edcd889a4e98f5fb4960477d6620e9b
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Jan 25 13:05:42 CET 2020
  * support memory 0.15

patch 800594725cea169ce95fed03aedf727197ed4021
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Jan 25 13:06:49 CET 2020
  * support binary 0.10
  
  It currently requires --allow-newer='constraints:binary' to
  actually use it.

patch ceea0e87d3e335e33dcb8dbea59128312a24f513
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat Jan 25 15:04:13 CET 2020
  * support http-types 0.12.2, 0.12.3

patch 7a3388829209725128d0f9152746da7ac3c8ea88
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jan 26 20:56:37 CET 2020
  * remove sdist and postConf hooks from Setup.hs

patch 60d2900f59e31985dad429447103fb80b1b47feb
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jan 26 17:34:03 CET 2020
  * make the index format depend on endianness
  
  Previously the index had a format that was independent from the
  architecture's endianness. This required that the code must be aware of
  endianness, which led to #ifdefs, and extra work in the custom Setup.hs. The
  new format avoids all that, at the cost of being architecture dependent.
  Since the index is just a cache, it can and should be re-created if it is
  found to be invalid. We merely need to make sure we can detect whether the
  format of the index has the same endianness as that expected by our code.
  This is done by adding a second word to the header (after the magic word)
  which should always read as 1 for the file to be considered in valid format.

patch 3a8e57ef9fed776f62a3538f8842b6593546e368
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Jan 28 22:37:44 CET 2020
  * remove graphviz dependency by re-implementing show dependencies

patch 1fb9819b0d237af77f07387c98b95d59d758dc98
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Feb  9 22:28:09 CET 2020
  * fix: need to quote hashes in dot output

patch 74e5d22381090db9e08f4422b34eb126ca80d9b4
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Feb  5 19:51:57 CET 2020
  * fix editing of tag names with amend
  
  This was broken in many ways. The editor was preloaded with the "TAG "
  prefix, and when we gave a new name on the command line it turned the tag
  into a regular patch.

patch 12bead4cc6802d4dd2f25c8672f36c7f750e10dd
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jan 29 13:43:01 CET 2020
  * review matching options for show dependencies
  
  Showing the dependency graph makes the most sense for a range of patches. We
  rename the combined matching option matchRange to matchOneOrRange (used for
  diff) and add a different matchRange function that excludes the single patch
  variants. Since the log command already has a function matchRange, we factor
  that into D.UI.Command.Util and re-use it.

patch 2467210bbd77f829350bf4c251776993011cfcdf
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Feb  9 11:02:54 CET 2020
  * annotate: more than one file argument is now an error

patch 262290797f77f252eda1d409ef2be56ba939d51b
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Feb 10 20:56:29 CET 2020
  * finally fix parsing of option arguments
  
  This concerns --index=, --max-count, and --last. Parsing the argument as an
  integer or a range of integers may fail, as well as limiting the value to a
  range (counts should be >= 0, an index should be > 0). This was previously
  either not handled or in an unreliable way via in-band values. Since back
  when I re-designed the option system I failed to allow for failure, we now
  throw a special exception type, so we'll get a clean failure with a message.

patch 102a6eac17ebf2c516714046c312a31dbfcc2c6b
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Feb 12 16:37:18 CET 2020
  * fix clone to ssh: need to check remote target dir does not exist

patch f6caccefb8780a2b41cc208afc3aa222314a8d88
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Feb 20 10:59:02 CET 2020
  * fix: mark test for issue2640 as failing

patch 45d7b402a5dbdb6c8f15691d776ff035af91d510
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Feb 18 09:30:18 CET 2020
  * change the email address for bug reports to bugs at darcs.net
  
patch 93bb14bf86c3ca3c1e745353cf0c53f22a39d68b
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Feb 21 19:20:57 CET 2020
  * clean up construction of Darcs.Util.Path.Name
  
  We now /always/ check that a Name is valid before constructing one. This is
  possible now since the index no longer builds invalid Names. It also means
  that once an AnchoredPath has been constructed, it cannot be "malicious" as
  checked by isMaliciousPath and the functions in Darcs.UI.CommandsAux that
  build on it and that we used to check paths in patches before applying them.
  Instead, we either call error, if the preconditions are provably fulfilled,
  or else throw a special exception: CorruptIndex when reading the index, and
  CorruptPatch when we read a patch (encapsulated by decodeWhiteName).

patch 592492b6b0ca524cf154ede4fcb0b902eb596ad0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Feb 12 12:58:10 CET 2020
  * fix manpage generation in Setup.hs and clean up imports

patch 2efa4a004c8edd7c49757de7a2f5ab6313f928d6
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sun Feb 23 23:15:09 CET 2020
  * resolve issue2634: use unwind to suspend patches

patch 9b35771c1740bbff7ad9283b17db5dd7778407db
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Mon May  4 07:45:03 CEST 2020
  * remove error if no suspended patches found
  
  maybeDisplaySuspendedStatus/displaySuspendedStatus are only called
  inside 'finally', so it something else has already gone wrong then
  this throwing an error just obfuscates the underyling problem.

patch ee8757a82fd66385e5ece6edea7300a2c528d9e7
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Mon May  4 22:12:16 CEST 2020
  * use RebaseChange inside Suspended
  
  This introduces rebase format 0.1, which is transitional
  and will be updated to 0.2 in a subsequent patch without an
  upgrade path from 0.1->0.2.
  
  Therefore no backwards compatibility tests are included for
  format 0.1.

patch 7939e5d0d6f9d43878ed395241dc704a05361c63
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Mon May  4 22:16:57 CEST 2020
  * use Named prim inside rebase
  
  Now that we unwind conflicts before putting them into
  rebase, the patches to be edited will now always be
  conflict-free.

patch 353a1cfd0a42393b568c32f328b8a7d626a327f0
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Apr 27 15:16:27 CEST 2020
  * fix license in darcs.cabal

patch e24a22c1c41b52bb0f1436abaf24704ea7bdc985
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Apr 27 22:02:30 CEST 2020
  * remove the special shelly upper bound for windows
  
  This is no longer necessary as cabal will now always use our (fixed) copy of
  shelly-1.7.1, at least when built from a clone. The cabal source distribution
  won't be able to run the shell tests.
  This is stop-gap-measure. We should eventually get rid of shelly.

patch 4ff9cb1b4352e2a447cead067ea5cc1a34929c9c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Apr 28 08:38:38 CEST 2020
  * replace fail with error in Darcs.Repository.Diff
  
  This is the /only/ case where the "quick fix" of replacing fail with error
  is semantically valid. Here we clearly have a partial pattern match and it
  would be a bug if we hit that case.

patch 5e216ccf2ae019a95d16a9830185ced1720c9de8
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Apr 28 09:43:25 CEST 2020
  * darcs.cabal: remove containers from setup-depends

patch c7fb6002aa234d1462bbf70c32334497f17e0fa7
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Apr 28 11:00:37 CEST 2020
  * raise upper bounds for base and Cabal dependencies
  
  This allows to build with ghc-8.8 and ghc-8.10.

patch 29bb91390b2b1d5066fc86d031b6f531a42e7275
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Apr 29 11:49:34 CEST 2020
  * re-word the package description
  
  The motivation here was to explain better what makes Darcs different from
  other revision control systems. It is a bit more technical now and points
  out the conceptual simplicity that makes Darcs unique.

patch e6c04d3fdf3fc5ee2ee083595ad213fcc2851dcd
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu Apr 30 13:34:11 CEST 2020
  * fix another instance where fail->error was wrong

patch 2b4b580edca2c62ea95ed3f432a0cbcb4c339f87
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun May 24 17:48:09 CEST 2020
  * use pager to display 'darcs rebase log'

patch 31f2953b33a4a713544c22eac8c09b3446f9e91a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon May 18 10:58:02 CEST 2020
  * fix creation of temporary directories
  
  The algorithm we used to generate a unique name is prone to race conditions
  and I occasionally got random test failures because of this. The new
  implementation uses the temporary package.

patch 9b0829c6113fb002675d42120a47b106f0b58584
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu May 21 10:19:25 CEST 2020
  * use mergerFLFL in instance Merge (FL p)

patch 32da7bf3481dfe70c962e3553be591c62fb424e1
Author: Ben Franksen <ben.franksen at online.de>
Date:   Thu May 21 10:20:54 CEST 2020
  * fix convert darcs2 test data after patch 9b0829c6113f
  
  This accounts for the fact that the on-disk format of V2 conflictors does
  not order the conflicting patches. This order is different now because the
  new definition merge for FLs merges in a different order.

patch 990550cccdbb6cffd0b68739238ea55a2bd29590
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jun 21 10:32:17 CEST 2020
  * resolve issue2404: darcs convert export ignores --repodir
  
  Calling getRepourl makes sense only if we actually allow the command to
  operate on a remote repo (which this command never did). Furthermore, the
  option was wrong: O.reponame is for cases where you create a new repo.
  Instead O.repoDir must be used.

patch 1b556df701baa40606d6505e10e393673e06f48a
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jun 21 11:41:54 CEST 2020
  * resolve issue2454: help markdown/manpage should use a pager

patch d752f3184369f082e4bd4889351d8405074206f1
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jun 21 22:00:53 CEST 2020
  * resolve issue2001: repair fails to detect missing pristine files
  
  The trick is to call darcsUpdateHashes after reading the pristine tree. This
  makes it fail when there are missing pristine files.

patch f50e08217b48566216d8b16a2dd191fb839ccf29
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 22 00:07:09 CEST 2020
  * resolve issue2533: add umask option to all commands that modify the repo

patch 28811f853ea3244eecd88374a158f69d2a5c340f
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 22 23:11:39 CEST 2020
  * fix error message in clone command
  
  A command like 'ssh user at host mkdir path' can fail for lots of reasons, not
  only because the path already exists on the remote host. It is much better
  to just rely on the ssh command to report what has gone wrong.

patch 0e06bc03269a5fa8e65889bf4fc23a47d0acdce1
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jun 22 22:06:58 CEST 2020
  * resolve issue2645: search for ":" to detect ssh URLs only up to the first "/"

patch 2165988e5457bce25154814f1437f86682760239
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Jun 23 14:33:47 CEST 2020
  * fix: add missing cases in getMatchPattern

patch c75e2d496f1df0642b79503cab2231c70579b869
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Feb 12 11:16:50 CET 2020
  * export a simplified version of getLogInfo for darcsden

patch aeecda7e5bbe4c322a604aa2c0b85442ea04d6a1
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 24 15:07:38 CEST 2020
  * relax bounds for dependency on temporary package
  
  This is for darcsden, which requires temporary <1.3.

patch e4eae152f32120725a2198812e25cbf309a03edb
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jun 24 15:31:41 CEST 2020
  * export runWithHooks instead of recordConfig and RecordConfig
  
  It is much simpler to invoke a darcs command in this way than to directly
  run the command.

patch 241c42ab31accf16f23687a020ff47587407a515
Author: Ben Franksen <ben.franksen at online.de>
Date:   Fri Jul  3 17:35:04 CEST 2020
  * relax upper bound for cryptonite to <0.28

patch 7ed208bc404fb1fe1291a1ff8bd3e2d56e63b223
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Jul  4 13:40:39 CEST 2020
  * remove initial blurb from the manpage
  
  Man pages serve as technical references, not to discuss the merits a program
  might have or not have.

patch 2919bcd56acf880d2dfb40f5c7b2ec6cf6da6e9c
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sat Jul  4 15:11:17 CEST 2020
  * extend the description in the manpage

patch 98b44a22f280f67f2c734125abb1f671aa2964aa
Author: Ben Franksen <ben.franksen at online.de>
Date:   Sun Jul  5 23:06:36 CEST 2020
  * autoformat help for history editing commands
  
  These are: amend, obliterate, unrecord, as well as rebase suspend, rebase
  apply, and rebase pull. This patch also factors out a common help text for
  history editing commands, including the previously under-documented
  --not-in-remote option.

patch 8cc9cbcc860d94d8198121ca622ae28edb8c72d8
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 01:06:20 CEST 2020
  * fix manpage formatting of bullet lists in help Docs
  
  To preserve layout i.e. disable any paragraph formatting by nroff, text must
  be indented.

patch 350ea5586aeb0bc3898f4343fd72845265171a55
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 15:05:03 CEST 2020
  * move debugging options to the end of the advanced options

patch 1bcdeb157c647e85ffd81b9a4b03d1db7a77521f
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 15:34:02 CEST 2020
  * shorten the help for alias commands
  
  The default help text for an alias now refers the user to the other command.
  Directly including the help for the other command may can be misleading.

patch 5d004b301b9983c6f784a87d14d0c608e2404a41
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 15:43:00 CEST 2020
  * fix docs and description for the status command

patch b121e72a6c8c6375335e44f31ed2e8d0e548a31e
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 15:43:35 CEST 2020
  * add extended help for rebase super command
  
  This is intended to give an overview of how darcs rebase works.

patch 9abba9f01db89d6d25e838e1ac650a13c19fb902
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 15:50:23 CEST 2020
  * include help for super commands in the man page

patch 2876456a350c21618c912dbc023a0fccd43e28b8
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 15:52:00 CEST 2020
  * slightly extend help text for darcs show and darcs convert

patch ac677777b536ca6a696d234a943a4213fd17d4bf
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 15:58:05 CEST 2020
  * slightly re-word some option descriptions
  
patch 07309d00351c7f3fe12e52df38664b9d94c3e2e9
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul  6 14:13:34 CEST 2020
  * slightly improve the (top level) usage text

patch d488d2cb073582a92fb9ea10f059cbbfae094d16
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jul  8 19:44:33 CEST 2020
  * fix in patch bundle parser
  
  Removing the dash-space from gpg clearsigned patch bundles was broken: it
  crashed when an empty line and any following line gets removed by a patch.

patch a457a8a68fc12fdd9075c69d6829a4050493ab53
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Jul 14 18:27:30 CEST 2020
  * resolve issue2648: convert import with non-ASCII meta data and filepaths

patch a74ac58fabc0919542918e0731da5da4f6fca65f
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Jul 21 11:15:56 CEST 2020
  * init command: add help for --darcs-3 and a warning when it is used

patch 5a5ca2de9c436a24d44dde0ca33b69ffe9e1efe2
Author: Ben Franksen <ben.franksen at online.de>
Date:   Tue Jul 21 22:18:42 CEST 2020
  * in darcs check/repair, expand the pristine tree
  
  This finally fixes detection of missing (hashed) pristine files.

patch 1a2d291109d8b59f4b8d623647341e7e15f1b834
Author: Ganesh Sittampalam <ganesh at earth.li>
Date:   Sat May  9 18:38:28 CEST 2020
  * rebase unsuspend: start at the beginning when extracting
  
  As the new comment explains, it's important to simplify any
  fixups that result from extracting the first patch, before
  extracting the next patch.
  
  As the associated test shows, this in particular makes
  unsuspending a conflict along with its resolution behave much
  better.
  

patch d93db849385b28de0040d8286955fc27d3597351
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jul 22 11:23:12 CEST 2020
  * rename format new-style-rebase-in-progress to rebase-in-progress-2-16
  
  The former is, however, temporarily kept as a (read-only) alias.

patch 1c4c3a92ab31d6ec0de642a520940161f4643760
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jul 22 19:56:33 CEST 2020
  * resolve issue2275: ignore symlinks as repo paths even when the index is used
  
  It was necessary to fix the last test scenario in the script (removing a
  recorded file and replacing it with a symbolic link to a non-existing file)
  because what the script expected here was not what we want, namely that the
  symbolic link is treated as if it wouldn't exist.

patch 5c9692acc334f683b7adf5487959a76b4c91ff7d
Author: Ben Franksen <ben.franksen at online.de>
Date:   Wed Jul 22 20:43:09 CEST 2020
  * add a warning when the index code ignores a symlink
  
  The solution is unfortunately not perfect: some commands, notably
  'darcs wh -l' issue the warning twice per link. I think this is because of
  the implied '-s', since 'darcs wh -l --no-summary' displays it only once.

patch 109d1acdc565ec2daf86fd14366aff785344c6f1
Author: Ben Franksen <ben.franksen at online.de>
Date:   Mon Jul 27 13:53:22 CEST 2020
  * darcs.cabal: factual correction in package description
  
  Darcs is no longer the only RCS that is based on changes rather than
  versions, see e.g. Pijul.


More information about the darcs-devel mailing list