mirror of http://darcs.net/reviewed (http://darcs.net/Development/GettingStarted)
|bf||Sat Apr 22 00:16:48 UTC 2017|
|bfr||Fri Oct 27 11:31:15 UTC 2017|
|bf||Sat Sep 30 06:53:45 UTC 2017|
|bfr||Fri Sep 29 17:07:48 UTC 2017|
|bfr||Fri Sep 29 17:06:20 UTC 2017|
|bf||Sat Sep 30 06:56:46 UTC 2017|
|bf||Sat Sep 30 06:59:02 UTC 2017|
It tested encoding of meta data, not patch content.
|bfr||Wed Sep 27 16:28:53 UTC 2017|
The procedure createRepository now returns a properly typed Repository. The new type EmptyRepository captures what we can guarantee: there is no rebase in progress and there are no patches and no changes in the working tree; the patch type is existentially quantified, so we can use it for V1 and V2 patches. In addition, createRepositoryV1 and createRepositoryV2 have been added for those cases where we statically know which sort of repo will be created (e.g. conversion to darcs2 format).
Instead of withRepoLock, we now directly use the result of createRepository in the clone, convert, and init commands. To provide the remaining functionality of withRepoLock, we export withUMaskFlag and, instead of using a lock, provide a new procedure withNewDirectory to perform the argument action in a temporary directory that gets renamed to the target dir only if and when it (successfully) finishes.
I also moved the procedures that create repositories to their own module Darcs.Repository.Create, which required some refactorings in Darcs.Repository.Clone. Among them: cleaning up the parts that copy and then modify the remote cache config (_darcs/prefs/sources), and removing a function (patchSetToRepository) that is not used anywhere in darcs or darcsden.
|bf||Thu Oct 26 17:12:33 UTC 2017|
There is no need to merge anything when converting, we can just add the patches to the new repo, committing our changes every 100 patches like we did before.
To get the types right was a challenge. I added checkRepoIsNoRebase to Darcs.Repository.Job so as not to pollute the command implementation with a host of obscure singleton types. Using foldFL_M requires two separate newtype wrappers (W2 and W3) because the procedures we want to fold simultaneously change two and three witnesses, respectively, and not just the last one. It may be possible to encapsulate this somehow, but I leave that to future refactorings. In spite of all that effort, we still need to coerce the repo parameter in two places, which I extensively documented: one to work around the types of finalizeRepositoryChanges and revertRepositoryChanges (which are not precise enough) and another one to work around the type of withRepoLock (which is too restrictive).
|bf||Fri Sep 29 20:09:08 UTC 2017|
|bf||Sun Sep 10 13:21:12 UTC 2017|
|gpiero||Tue Jan 2 07:10:21 UTC 2018|
|gh||Tue Dec 19 17:37:23 UTC 2017|
|gh||Mon Dec 11 14:44:52 UTC 2017|
|gh||Mon Dec 11 14:41:09 UTC 2017|
|bfr||Thu Oct 26 16:54:38 UTC 2017|
|bf||Sat Oct 21 10:35:26 UTC 2017|
|bf||Wed Oct 18 20:13:04 UTC 2017|
|bf||Fri Oct 27 08:58:40 UTC 2017|
|bf||Tue Oct 17 11:11:32 UTC 2017|
At least this is what the tests (ask_deps.sh, look_for_moves.sh) seem to expect. These tests were broken by
patch 7b33ae71b0411ef081b9d7922b3f01cca09b2d9f * improved UI display of named patches
|bf||Sat Oct 7 09:02:48 UTC 2017|
It now takes a ShowPatchFor as first argument and showPatchInfoUI has been renamed to displayPatchInfo.
|bfr||Fri Oct 6 13:59:06 UTC 2017|
|bfr||Thu Oct 5 15:13:32 UTC 2017|
|bfr||Thu Oct 5 15:12:55 UTC 2017|
Previously we used the same format to display the PatchInfo as for storage (i.e. showPatchInfo), and similarly for the PatchInfos of explicit dependencies. This could be seen by hitting 'v' when using 'darcs log' in interactive mode. We now use showPatchInfoUI when we show the PatchInfo of a patch for display. Explicit dependencies are displayed less verbosely but still so that they can be identified easily:
Explicit dependencies: patch <hash> * <patch name> patch <hash> * <patch name> ...
|bf||Thu Oct 5 14:51:00 UTC 2017|
|bf||Thu Oct 5 06:03:21 UTC 2017|
|gh||Thu Oct 26 13:35:34 UTC 2017|
More precisely, we no longer recognize this environment variable, instead can set DARCS_ESCAPE_8BIT to 1 if so desired. Also re-wrote most of the help text for this and other environment variables related to character escaping.
|bf||Wed Sep 27 16:25:29 UTC 2017|
Now we can do
|gh||Fri Aug 18 21:05:16 UTC 2017|
|bf||Sat Oct 21 15:02:50 UTC 2017|