Fri, 13 May 2016 13:30:08 -0700 localrepo: use dirstate restorebackup instead of copying dirstate manually
Mateusz Kwapich <mitrandir@fb.com> [Fri, 13 May 2016 13:30:08 -0700] rev 29190
localrepo: use dirstate restorebackup instead of copying dirstate manually This is one step towards having dirstate manage its own storage. It will be useful for the implementation of sqldirstate [1]. I'm deleting two of the dirstate.invalidate() calls in localrepo because restorebackup method does that for us. [1] https://www.mercurial-scm.org/wiki/SQLDirstatePlan
Fri, 13 May 2016 13:28:09 -0700 dirstate: add prefix and suffix arguments to backup
Mateusz Kwapich <mitrandir@fb.com> [Fri, 13 May 2016 13:28:09 -0700] rev 29189
dirstate: add prefix and suffix arguments to backup This would allow the code explicitly copying dirstate to use this method instead. Use of this method will increase encapsulation (the dirstate class will be sole owner of its on-disk storage).
Wed, 20 Apr 2016 19:55:59 +0000 tests: mark test-atomictempfile.py write as binary
timeless <timeless@mozdev.org> [Wed, 20 Apr 2016 19:55:59 +0000] rev 29188
tests: mark test-atomictempfile.py write as binary
Wed, 20 Apr 2016 19:53:01 +0000 tests: mark test-context.py write as binary
timeless <timeless@mozdev.org> [Wed, 20 Apr 2016 19:53:01 +0000] rev 29187
tests: mark test-context.py write as binary
Thu, 05 May 2016 16:20:53 +0200 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 16:20:53 +0200] rev 29186
transaction: turn lack of locking into a hard failure (API) We have been warning about transactions without locks for about a year (and three releases), third party extensions had a fair grace period to fix their code, we are moving lack of locking to a hard failure in order to protect users against repository corruption.
Thu, 05 May 2016 16:13:22 +0200 test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 16:13:22 +0200] rev 29185
test: extract develwarn transaction testing in its own command The lack of locking for a transation is about to change from a warning to an error. We first extract the test decidated to this warning to make the next changeset clearer.
Mon, 16 May 2016 16:41:26 +0100 graphmod: update edgemap in-place
Martijn Pieters <mjpieters@fb.com> [Mon, 16 May 2016 16:41:26 +0100] rev 29184
graphmod: update edgemap in-place The edgemap update was not actually propagated to future asciiedge calls; update the edge state dictionary in-place instead.
Fri, 06 May 2016 19:24:25 +0000 tests: test-archive.t use mercurial.util for urllib compat
timeless <timeless@mozdev.org> [Fri, 06 May 2016 19:24:25 +0000] rev 29183
tests: test-archive.t use mercurial.util for urllib compat
Fri, 06 May 2016 19:19:12 +0000 tests: test-archive.t use sys.stdout.buffer for binary output in py3
timeless <timeless@mozdev.org> [Fri, 06 May 2016 19:19:12 +0000] rev 29182
tests: test-archive.t use sys.stdout.buffer for binary output in py3
Thu, 19 May 2016 14:35:22 -0700 localrepo: prevent executable-bit only changes from being lost on amend stable
Mateusz Kwapich <mitrandir@fb.com> [Thu, 19 May 2016 14:35:22 -0700] rev 29181
localrepo: prevent executable-bit only changes from being lost on amend If you have just executable-bit change and amend it twice it will vanish: * After the first amend the commit will have the proper executable bit set in manifest but it won't have the the file on the list of files in changelog. * The second amend will read the wrong list of files from changelog and it will copy the manifest entry from parent for this file. * Voila! The change is lost. This change repairs the bug in localrepo causing this and adds a test for it.
Sat, 21 May 2016 02:48:51 +0900 tests: escape bytes setting MSB in input of grep for portability stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 21 May 2016 02:48:51 +0900] rev 29180
tests: escape bytes setting MSB in input of grep for portability GNU grep (2.21-2 or later) assumes that input is encoded in LC_CTYPE, and input is binary if it contains byte sequence not valid for that encoding. For example, if locale is configured as C, a byte setting most significant bit (MSB) makes such GNU grep show "Binary file <FILENAME> matches" message instead of matched lines unintentionally. This behavior is recognized as a bug, and fixed in GNU grep 2.25-1 or later. But some distributions are shipped with such buggy version (e.g. Ubuntu xenial, which is used by launchpad buildbot). http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19230 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=800670 http://packages.ubuntu.com/xenial/grep This causes failure of test-commit-interactive.t, which applies grep on CP932 byte sequence since 1111e84de635. But, explicit setting LC_CTYPE for CP932 might cause another problem, because it can't be assumed that all environment running Mercurial tests allows arbitrary locale setting. To resolve this issue, this patch escapes bytes setting MSB in input of grep. For this purpose: - str.encode('string-escape') isn't useful, because it escapes also control code (less than 0x20), and makes EOL handling complicated - "f --hexdump" isn't useful, because it isn't line-oriented - "sed -n" seems reasonable, but "sed" itself sometimes causes portability issue, too (e.g. 900767dfa80d or afb86ee925bf) This patch is posted with "stable" flag, because 1111e84de635 is on stable branch.
Fri, 06 May 2016 19:17:49 +0000 tests: test-archive.t use absolute_import
timeless <timeless@mozdev.org> [Fri, 06 May 2016 19:17:49 +0000] rev 29179
tests: test-archive.t use absolute_import This is a step to adding a mercurial dependency to simplify py3 compat
(0) -10000 -3000 -1000 -300 -100 -12 +12 +100 +300 +1000 +3000 +10000 tip