Sun, 10 Aug 2014 14:30:30 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 10 Aug 2014 14:30:30 -0500] rev 22088
merge with stable
Sun, 10 Aug 2014 13:53:36 -0500 hgweb: avoid config object race with hgwebdir (issue4326) stable
Matt Mackall <mpm@selenic.com> [Sun, 10 Aug 2014 13:53:36 -0500] rev 22087
hgweb: avoid config object race with hgwebdir (issue4326) Turns out hgwebdir passes full repo objects to each hgweb request instance, but with a shared baseui. We explicitly break the sharing.
Sat, 09 Aug 2014 16:15:52 -0500 test-commandserver.py: filter path separator stable
Matt Mackall <mpm@selenic.com> [Sat, 09 Aug 2014 16:15:52 -0500] rev 22086
test-commandserver.py: filter path separator Was failing on Windows: -bundle.mainreporoot=$TESTTMP/repo +bundle.mainreporoot=$TESTTMP\repo
Sat, 09 Aug 2014 16:06:01 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 09 Aug 2014 16:06:01 -0500] rev 22085
merge with stable
Sat, 09 Aug 2014 16:05:03 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sat, 09 Aug 2014 16:05:03 -0500] rev 22084
merge with i18n
Sat, 09 Aug 2014 16:04:36 -0500 i18n-ru: fix RST breakage spotted by test-gendoc stable
Matt Mackall <mpm@selenic.com> [Sat, 09 Aug 2014 16:04:36 -0500] rev 22083
i18n-ru: fix RST breakage spotted by test-gendoc test-gendoc complained: % extracting documentation from ru checking for parse errors + gendoc-ru.txt:5686: (WARNING/2) Field list ends without a blank line; unexpected unindent. + gendoc-ru.txt:8327: (WARNING/2) Definition list ends without a blank line; unexpected unindent.
Sat, 09 Aug 2014 15:46:54 -0500 i18n-ru: undo fix buildbot breakage stable
Matt Mackall <mpm@selenic.com> [Sat, 09 Aug 2014 15:46:54 -0500] rev 22082
i18n-ru: undo fix buildbot breakage Buildbot complained: $ python check-translation.py *.po + ru.po:9576:fatal(promptchoice): number of choices differs between msgid and msgstr + [1] Prompt text was obviously wrong.. because it didn't include a prompt.
Fri, 08 Aug 2014 17:45:36 -0500 contrib: add emacs mode for *.t files
Matt Mackall <mpm@selenic.com> [Fri, 08 Aug 2014 17:45:36 -0500] rev 22081
contrib: add emacs mode for *.t files
Thu, 07 Aug 2014 14:11:36 -0700 phase: attach phase to the transaction instead of the lock
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 14:11:36 -0700] rev 22080
phase: attach phase to the transaction instead of the lock The phase cache file is no longer written on lock release, it is now handled by the transaction (as changesets and obsolescence markers are). (Hooray) As we stop relying on the lock to write phase, repos with no existing phase information will need to wait for a phase move or a strip to happen in order to get the first write in the `phaseroots` file. This explain the change in test-inherit-mode.t. This should not have any side effects but in very obscure cases where people interact with pre-2.1 and post-2.1 versions of Mercurial on the same repo while having MQ patches applied but the MQ extension disabled from time to time. A case unlikely enough to not be worth preserving the old behavior with awful hacks.
Thu, 07 Aug 2014 14:41:00 -0700 phase: extract the phaseroots serialization in a dedicated method
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 14:41:00 -0700] rev 22079
phase: extract the phaseroots serialization in a dedicated method In most case, the file creation logic will be handled by the transaction itself. The write method has to stay around for the case where the repository is modified outside a transaction (strip).
Thu, 07 Aug 2014 14:40:02 -0700 transaction: add a file generation mechanism
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 14:40:02 -0700] rev 22078
transaction: add a file generation mechanism A new `transaction.addfilegenerator` function is added. It allows external code to register files to be generated. See inline documentation for details. It is important to gather all file creation logic on the transaction as at some point we'll want to mimic the "pre-transaction-commit" logic that we use for revlog. I'm refering to the logic that lets hooks see the result of the transaction before it actually gets committed.
Thu, 07 Aug 2014 10:54:17 -0700 transaction: backup file in a dedicated "namespace"
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 10:54:17 -0700] rev 22077
transaction: backup file in a dedicated "namespace" File backup may conflict with other "journal.*" file. We add a fixed part in the backup name file to prevent it.
Thu, 07 Aug 2014 11:56:32 -0700 transaction: use `self.journal` to create backup file
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 11:56:32 -0700] rev 22076
transaction: use `self.journal` to create backup file Transaction journal name is "journal" in most case, but it can be something else. We use the appropriate attribute to create the file.
Tue, 17 Jun 2014 20:55:06 -0700 memctx: add note about p2
Sean Farley <sean.michael.farley@gmail.com> [Tue, 17 Jun 2014 20:55:06 -0700] rev 22075
memctx: add note about p2
Fri, 25 Jul 2014 20:20:26 -0500 memfilectx: add remove and write methods
Sean Farley <sean.michael.farley@gmail.com> [Fri, 25 Jul 2014 20:20:26 -0500] rev 22074
memfilectx: add remove and write methods Similar to the previous patch for workingfilectx, this patch will allow abstracting localrepo.remove / write method to refactor working directory code but instead operate on files in memory.
Wed, 02 Jul 2014 14:01:01 -0500 workingfilectx: add remove and write methods
Sean Farley <sean.michael.farley@gmail.com> [Wed, 02 Jul 2014 14:01:01 -0500] rev 22073
workingfilectx: add remove and write methods This patch will allow abstracting localrepo.remove / write method to refactor working directory code.
Fri, 25 Jul 2014 19:36:01 -0500 memctx: create a filectxfn if it is not callable
Sean Farley <sean.michael.farley@gmail.com> [Fri, 25 Jul 2014 19:36:01 -0500] rev 22072
memctx: create a filectxfn if it is not callable This will allow future patches to construct a memctx based on another context or any other store-type object.
Thu, 07 Aug 2014 11:39:19 -0400 test-patchbomb.t: work around Python change d579866d6419 (issue4188)
Augie Fackler <raf@durin42.com> [Thu, 07 Aug 2014 11:39:19 -0400] rev 22071
test-patchbomb.t: work around Python change d579866d6419 (issue4188) Python 2.7.7 and later (as well as some ubuntu/debian packages of 2.7.6) include a fix that makes the email module more pedantically correct for MIME boundaries, but this breaks our tests. We work around this by filtering the output of any 'hg email' invocations in the test that produce MIME messages.
Tue, 05 Aug 2014 23:52:21 -0700 phase: add a transaction argument to retractboundary
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Aug 2014 23:52:21 -0700] rev 22070
phase: add a transaction argument to retractboundary We now pass a transaction option to this phase movement function. The object is currently not used by the function, but it will be in the future. All call sites have been updated. Most call sites were already enclosed in a transaction for a long time. The handful of others have been recently updated in previous commit.
Wed, 06 Aug 2014 01:54:19 -0700 phase: add a transaction argument to advanceboundary
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 01:54:19 -0700] rev 22069
phase: add a transaction argument to advanceboundary We now pass a transaction option to this phase movement function. The object is currently not used by the function, but it will be in the future. All call sites have been updated. Most call sites were already enclosed in a transaction for a long time. The handful of others have been recently updated in previous commit. The retractboundary function remains to be upgraded.
Wed, 06 Aug 2014 00:54:37 -0700 pull: pre-filter remote phases before moving local ones
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 00:54:37 -0700] rev 22068
pull: pre-filter remote phases before moving local ones We were relying on the phase internals to filter out redundant phase information from remove. However as we plan to integrate phase movement inside the transaction, we want to avoid useless transaction creation on no-op pulls. Therefore we filter out all the information that already matches the current repository state. This will let us create a transaction only when there is actual phase movement needed.
Wed, 06 Aug 2014 01:40:51 -0700 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 01:40:51 -0700] rev 22067
test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets We introduce a test-check-commit-hg.t file that will happily run the check-commit file on all draft changeset under the working directory. This should help newcomers to catch up with the rules. (And will helps old timer from time to time).
Mon, 04 Aug 2014 16:08:42 +0100 i18n-ru: syncronized with 45a01832cad1 stable
Alexander Sauta <demosito@gmail.com> [Mon, 04 Aug 2014 16:08:42 +0100] rev 22066
i18n-ru: syncronized with 45a01832cad1
Mon, 04 Aug 2014 16:21:58 +0100 merge with i18n stable
Alexander Sauta <demosito@gmail.com> [Mon, 04 Aug 2014 16:21:58 +0100] rev 22065
merge with i18n
Mon, 04 Aug 2014 18:51:18 +0400 i18n-ru: sync with ad56fc55cbc3 (fuzzies) stable
Alexander Sauta <demosito@gmail.com> [Mon, 04 Aug 2014 18:51:18 +0400] rev 22064
i18n-ru: sync with ad56fc55cbc3 (fuzzies)
Fri, 01 Aug 2014 19:49:28 +0400 i18n-ru: sync with ad56fc55cbc3 (missing strings) stable
Alexander Sauta <demosito@gmail.com> [Fri, 01 Aug 2014 19:49:28 +0400] rev 22063
i18n-ru: sync with ad56fc55cbc3 (missing strings)
Wed, 30 Jul 2014 17:24:08 +0400 i18n-ru: update 'revisions' translation stable
Vladimir Zakharov <zakharov.vv@gmail.com> [Wed, 30 Jul 2014 17:24:08 +0400] rev 22062
i18n-ru: update 'revisions' translation
Tue, 29 Jul 2014 19:08:41 +0400 i18n-ru: update 'revsets' translation stable
Vladimir Zakharov <zakharov.vv@gmail.com> [Tue, 29 Jul 2014 19:08:41 +0400] rev 22061
i18n-ru: update 'revsets' translation
Wed, 16 Oct 2013 08:22:06 +0100 i18n-ru: prompts fixed stable
Alexander Sauta <demosito@gmail.com> [Wed, 16 Oct 2013 08:22:06 +0100] rev 22060
i18n-ru: prompts fixed
Thu, 07 Aug 2014 14:58:12 -0500 whitespace: nuke triple blank lines in **.py
Matt Mackall <mpm@selenic.com> [Thu, 07 Aug 2014 14:58:12 -0500] rev 22059
whitespace: nuke triple blank lines in **.py
Thu, 07 Aug 2014 14:57:20 -0500 check-commit: spot growing whitespace
Matt Mackall <mpm@selenic.com> [Thu, 07 Aug 2014 14:57:20 -0500] rev 22058
check-commit: spot growing whitespace We discourage PEP-8-style double blank lines, spot them creeping in.
Thu, 24 Jul 2014 15:06:08 -0400 strip: remove -b/--backup codepaths
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 24 Jul 2014 15:06:08 -0400] rev 22057
strip: remove -b/--backup codepaths cset ba3bc6474bbf has removed this option. This commit just tidies the code that was associated to it. It also fixes the internal calls to the strip() function. Before this change, any function that thought it would want as a final safety to keep a partial backup bundle (bundling changes not linearly related to the current change being stripped), had to explicitly pass a backup="strip" option. With this change, these backups are always kept in case of an exception and always removed if there is no exception. Only full backups can be specified with backup=True or no full backups with backup=False.
Thu, 07 Aug 2014 12:51:45 -0400 simplemerge: remove dead code
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 07 Aug 2014 12:51:45 -0400] rev 22056
simplemerge: remove dead code The following functions in simplemerge are dead code. I reran "make test-merge*" after this change, and it passed. Looks like cruft that we've been carrying since we nabbed this code from bzr.
Tue, 17 Jun 2014 20:26:51 -0700 basectx: add missing, merge, and branch args to dirty method
Sean Farley <sean.michael.farley@gmail.com> [Tue, 17 Jun 2014 20:26:51 -0700] rev 22055
basectx: add missing, merge, and branch args to dirty method This fixes a discrepency for basectx and classes that inherit from it. Now callers can pass these arguments to any context without an exception being raised.
Fri, 25 Jul 2014 20:11:47 -0500 basefilectx: move isexec and islink from memfilectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 25 Jul 2014 20:11:47 -0500] rev 22054
basefilectx: move isexec and islink from memfilectx This will be used in the future for creating memctx objects from other store-type objects, such as a patch store or even another context.
Wed, 06 Aug 2014 12:16:58 -0500 tests: fix pyflakes test whitespace breakage
Matt Mackall <mpm@selenic.com> [Wed, 06 Aug 2014 12:16:58 -0500] rev 22053
tests: fix pyflakes test whitespace breakage
Wed, 06 Aug 2014 00:54:58 -0700 pushkey: wrap pushkey phase movement in a transaction
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 00:54:58 -0700] rev 22052
pushkey: wrap pushkey phase movement in a transaction Phases are not yet inside the transaction, but we need to prepare for it. So we wrap the phase movement inside a transaction.
Wed, 06 Aug 2014 00:54:15 -0700 push: wrap local phase movement in a transaction
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 00:54:15 -0700] rev 22051
push: wrap local phase movement in a transaction Phases are not yet inside the transaction, but we need to prepare for it. So we wrap the phase movement inside a transaction.
Wed, 06 Aug 2014 00:50:53 -0700 phase: wrap `hg phases` phase movement in a transaction
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 00:50:53 -0700] rev 22050
phase: wrap `hg phases` phase movement in a transaction Phases are not yet inside the transaction, but we need to prepare for it. So we wrap the phase movement inside a transaction.
Wed, 06 Aug 2014 00:50:07 -0700 mq: wrap qimport phase movement in a transaction
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 00:50:07 -0700] rev 22049
mq: wrap qimport phase movement in a transaction Phases are not yet inside the transaction, but we need to prepare for it. So we wrap the phase movement inside a transaction.
Wed, 06 Aug 2014 00:48:51 -0700 mq: wrap qfinish phase movement in a transaction
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 00:48:51 -0700] rev 22048
mq: wrap qfinish phase movement in a transaction Phases are not yet inside the transaction, but we need to prepare for it. So we wrap the phase movement inside a transaction.
Wed, 06 Aug 2014 11:53:08 -0500 tests: change some #ifs to #requires
Matt Mackall <mpm@selenic.com> [Wed, 06 Aug 2014 11:53:08 -0500] rev 22047
tests: change some #ifs to #requires
Wed, 06 Aug 2014 11:43:59 -0500 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com> [Wed, 06 Aug 2014 11:43:59 -0500] rev 22046
tests: replace exit 80 with #require
Wed, 06 Aug 2014 10:34:54 -0500 run-tests: add #require to abort full test
Matt Mackall <mpm@selenic.com> [Wed, 06 Aug 2014 10:34:54 -0500] rev 22045
run-tests: add #require to abort full test This allows nuking a bunch of ugly hghave || exit 80 lines.
Tue, 05 Aug 2014 21:17:11 -0400 run-tests: add support for xunit test reports
Augie Fackler <raf@durin42.com> [Tue, 05 Aug 2014 21:17:11 -0400] rev 22044
run-tests: add support for xunit test reports The Jenkins CI system understands xunit reports natively, so this will be helpful for anyone that wants to use Jenkins for testing hg or extensions that use run-tests.py for their testing.
Wed, 06 Aug 2014 02:45:55 -0500 contrib: add check-commit hook script to sanity-check commits
Matt Mackall <mpm@selenic.com> [Wed, 06 Aug 2014 02:45:55 -0500] rev 22043
contrib: add check-commit hook script to sanity-check commits
Tue, 05 Aug 2014 13:51:13 -0700 shelve: use `targetphase` while unbundling
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Aug 2014 13:51:13 -0700] rev 22042
shelve: use `targetphase` while unbundling This removes the last manual phase movement in shelve.
Tue, 05 Aug 2014 13:49:38 -0700 changegroup: add a `targetphase` argument to `addchangegroup`
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Aug 2014 13:49:38 -0700] rev 22041
changegroup: add a `targetphase` argument to `addchangegroup` This argument controls the phase used for the added changesets. This can be useful to unbundle in "secret" phase as required by shelve. This change aims at helping high-level code get rid of manual phase movement. An important milestone for having phases part of the transaction.
Tue, 05 Aug 2014 14:37:45 -0700 shelve: do not retract phase boundary by hand
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Aug 2014 14:37:45 -0700] rev 22040
shelve: do not retract phase boundary by hand We rely on the internal mechanism to commit the changeset in the right state. This is similar to what the mq extension is doing. This is an important change as we plan to move phase movement with the transaction. Avoiding phase movement from high level code will avoid them the burden of transaction handling. It is also important to limit the need for transaction handling as this limits the odds of people messing up. Most common expected mess-up is to use a different transaction for changesets creation and phase adjustment.
Tue, 05 Aug 2014 18:53:05 -0700 commit: update the --secret code to use backupconfig and restoreconfig
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Aug 2014 18:53:05 -0700] rev 22039
commit: update the --secret code to use backupconfig and restoreconfig Those dedicated methods also preserve all associated data (eg: sources, lack of value).
Tue, 05 Aug 2014 13:22:44 -0700 rebase: do not retract phase boundary by hand
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Aug 2014 13:22:44 -0700] rev 22038
rebase: do not retract phase boundary by hand We rely on the internal mechanism to commit the changeset in the right phase. This similar to what the mq extension is doing. This is an important change as we plan to includes phase movement within the transaction. Avoiding phase movement from high-level code will avoid the burden of transaction handling. It is also important to limit the need for transaction handling as this limits the odds of people messing up. Most common expected mess-up is code using a different transaction for changeset creation and phase adjustment.
Tue, 05 Aug 2014 21:16:24 -0700 config: fix restoreconfig of non existing config
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Aug 2014 21:16:24 -0700] rev 22037
config: fix restoreconfig of non existing config When the section, but no value existed, the `del` call raised a key error.
Thu, 31 Jul 2014 13:51:17 -0700 push: use stepsdone for obsmarkers push
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 31 Jul 2014 13:51:17 -0700] rev 22036
push: use stepsdone for obsmarkers push We do not have infrastructure to include obsolescence markers in the bundle2 push from core. But extensions may so we make sure it would not be sent twice.
Sat, 05 Jul 2014 19:32:20 +0200 push: introduce a discovery step for obsmarker
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 05 Jul 2014 19:32:20 +0200] rev 22035
push: introduce a discovery step for obsmarker The discovery step is still not doing anything smart. But this will allow extension to wrap it.
Sat, 05 Jul 2014 19:17:09 +0200 push: move the list of obsmarker to push into the push operation
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 05 Jul 2014 19:17:09 +0200] rev 22034
push: move the list of obsmarker to push into the push operation The list is now carried in the push operation, this will let extensions override it.
Fri, 04 Jul 2014 19:31:49 +0200 push: explicitly encode a list of obsmarkers to push
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Jul 2014 19:31:49 +0200] rev 22033
push: explicitly encode a list of obsmarkers to push Sending obsmarkers through pushkey requires extra encoding (since pushkey can't take binary content) and slicing (since we can hit http header limit). As we send all obsolescences markers that exists in the repo for each push, we used to just look at the content of the "obsolete" pushkey namespace (already encoded and sliced) and send its content. However, future changeset will make it possible to push only parts of the obsmarkers. To prepare this we now explicitly encode a list of markers. The list of markers is still "all of them" but future changeset will takes care of that. The new code uses a "_protected" method but that seems reasonable to keep it private as this is the is the only external user of it and this whole pushing obsmarker through pushkey things in fairly hacky already)
Mon, 04 Aug 2014 16:32:41 -0700 merge-tools: add a `premerge=keep-merge3` config option
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 Aug 2014 16:32:41 -0700] rev 22032
merge-tools: add a `premerge=keep-merge3` config option This value leaves premerge markers that includes the merge base too. This is a the same as what `internal:merge3` would do.
Mon, 04 Aug 2014 16:58:39 -0700 merge-tools: make premerge valid values extensible
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 Aug 2014 16:58:39 -0700] rev 22031
merge-tools: make premerge valid values extensible We want to introduce a version leaving merge3 style markers.
Mon, 04 Aug 2014 16:50:15 -0700 mergetools: add a test for premerge --keep
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 Aug 2014 16:50:15 -0700] rev 22030
mergetools: add a test for premerge --keep It works! No surprise.
Mon, 04 Aug 2014 16:39:47 -0700 test-merge-tools: introduce a "revision 4" that merges with conflict
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 Aug 2014 16:39:47 -0700] rev 22029
test-merge-tools: introduce a "revision 4" that merges with conflict We need conflicts to test the premerge=keep configuration.
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip