mirror of http://darcs.net/screened (fork of darcs's darcs-reviewed)  (http://darcs.net/Development/GettingStarted)

removed cleaning of _darcs/patches before getting patches pack

It seems wrong to clean the patches directory right after we started populating it. Not that the cleaned files are overly important, but still...

bfrSun Jun 28 01:50:16 UTC 2015

extended network/log.sh test (repeat without any filename arguments)

bfrSat Jul 4 14:57:15 UTC 2015

resolve issue2463: building darcs on powerpc

Joachim BreitnerThu Jul 16 18:34:03 UTC 2015

require text>=1.2.1.3 if using ghc 7.10

ghThu Jul 30 21:29:11 UTC 2015

require text>=1.2.1.2 if using ghc 7.10

ghThu Jul 30 19:15:43 UTC 2015

Add missing file for 'renames.sh' test

Found on darcs-2.10.1 release tarball:

renames.sh (Darcs2) (PatienceDiff): [Failed] | ... | runhaskell $TESTBIN/renameHelper.hs | + runhaskell /home/slyfox/dev/darcs/darcs.net/dist/darcs-2.11.0/tests/bin/renameHelper.hs | | <no location info>: | can't find file: /home/slyfox/dev/darcs/darcs.net/dist/darcs-2.11.0/tests/bin/renameHelper.hs

Sergei TrofimovichFri Jul 17 12:54:53 UTC 2015

please hackage adding 'manual: True' to the warn-as-error flag

ghThu Jul 9 16:58:51 UTC 2015

simplified code in D.R.Ssh by using withMVar

bfrThu Jul 2 13:06:28 UTC 2015

rollback issue2455 test - issue now resolved as invalid

ganeshFri Jul 3 05:39:21 UTC 2015

stop test being sensitive to runner's umask

ganeshSun Jun 28 20:15:42 UTC 2015

resolve issue2461, this time also when no file names are specified

Also slightly improve the error message when invalid arguments (non-relative paths) are given for remote repos.

bfrWed Jul 1 19:10:23 UTC 2015

remove race from D.R.Packs, further simplify the code

It turned out cancelling the other thread makes the error only less probable, I could still reproduce it. The reason is that the race is semantically incorrect: The extra patches to fetch are not a subset of the ones we get from the pack, since they may contain patches that were added after creation of the pack.

In order to further simplify the code and remove possible race conditions, the meta-filelist-xxx files are not written to disk. Instead we directly evaluate their content and pass it to fetchFilesUsingCache.

bfrSun Jun 28 18:18:58 UTC 2015

resolve issue2459: fall back to writing the file if createLink fails

bfrWed Jun 24 22:15:07 UTC 2015

resolve issue2461: darcs log --repo=remoterepo creates and populates _darcs

The solution is to make a case distinction between remote and local usage. If we are working in a remote location, check that file arguments are relative paths and then do the log action inside a temporary directory.

bfrSun Jun 28 16:23:56 UTC 2015

extend network/log.sh test for things mentioned in issue2461

In particular, check that - no _darcs dir remains - it works if we are in a non-writeable dir - it fails if we give it an absolute filename

bfrSun Jun 28 16:33:40 UTC 2015

use transferModeHeader from D.R.Ssh in D.U.C.TransferMode

bfrSun Jun 28 01:44:43 UTC 2015

made connection caching in Darcs.Repository.Ssh thread safe

The module in question had a global variable implemented as an IORef which does not play well with concurrent threads. The revised implementation uses MVars and also takes care that a connection is only used by one thread at a time. This fixes severe performance problems and intermittent failures when cloning repos over ssh due to concurrent access from D.R.Packs.

Another problem was that the connections were identified by the user@host part only, but not by the directory of the repo. This causes problems when e.g. pulling from multiple ssh repos on the same user@host. We now use a (user@host, repodir) pair as the key for cached connections.

bfrSun Jun 28 01:53:30 UTC 2015

removed Darcs.Patch.Prim.V3 from unit tests

The tests sometimes fail and we do not use it in darcs (yet?).

bfrMon Jun 22 07:36:28 UTC 2015

fix precondition violation in hashed-storage tests

bfrMon Jun 22 07:40:03 UTC 2015

cleanup in Darcs.Util.URL

  • indentation/whitespace
  • improved comments
  • added TODO about using regex library
  • renamed urlOf to sshFilePathOf
  • use </> for path catenation
bfrSun Jun 28 13:42:25 UTC 2015

cleanup: break up an over long code line D.R.Clone

bfrSun Jun 28 18:17:21 UTC 2015

cleanup: removed unnecessary LANGUAGE CPP pragma from D.U.C.TransferMode

bfrSun Jun 28 12:38:52 UTC 2015

Darcs.Repository.Clone: removed useless haddocks for createRepository

bfrSun Jun 21 22:04:21 UTC 2015

Darcs.Repository.Clone: moved cleanDir to the top level

bfrSun Jun 21 22:02:39 UTC 2015

cleanup: removed an unused export from Darcs.UI.Options.Matching

bfrSun Jun 21 11:25:30 UTC 2015

resolve issue2400: use async package to keep track of unpack threads

The main difference is that we now cancel all threads when the job is done. The previous implementation left one of the threads running and I suspect (but haven't strictly verified) that this caused the error message. There is rather strong evidence though: turning on debug messages makes the problem disappear, as did turning off the concurrency (by commenting out the forkIO), both of which suggests a race condition. Then there is the fact that the clone actually succeeded despite the error message. Last not least, with this patch in effect I can no longer reproduce the problem.

bfrSun Jun 21 21:54:09 UTC 2015

cleanup: removed unused function from Darcs.Repository.Match

bfrSun Jun 14 11:22:19 UTC 2015

renamed option matchOne to matchUpToOne

This group of options is used by show files, show contents, dist, and annotate. For those commands, the intention is /not/ to select a single patch but rather all patches up to a single patch.

bfrFri Jun 19 19:44:58 UTC 2015

fixed comment: ammend does not use the matchOne option

bfrFri Jun 19 19:44:24 UTC 2015

refactored Darcs.Repository

All the code implementing cloneRepository and createRepository moved to a separate module Darcs.Repository.Clone and only re-exported by Darcs.Repository. Only a few small functions remain in Darcs.Repository, which was certainly originally intended to be for re-exporting only.

Furthermore, moved the fetching and unpacking code used by cloneRepository and createRepository to separate module Darcs.Repository.Packs. This module now contains all the tricky concurrency code that I suspect being reponsible for causing issue2400.

This patch makes no functional changes. The only changes beside the above two large refactorings are - culling (and some sorting) of the imports - inlining of copyRepoAndGoToChosenVersion into cloneRepository - consistent use of the </> operator from System.FilePath - combine fetching and unpacking of the packs in a function

bfrSun Jun 21 21:49:33 UTC 2015