Tue, 30 Apr 2013 05:01:32 +0900 icasefs: enhance test to prevent regression by changes in the future stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 05:01:32 +0900] rev 19106
icasefs: enhance test to prevent regression by changes in the future This patch adds steps to test case-folding collision detection on the revision tree built up in the order different from the one reproducing issue3452. This may prevent regression by changes around "copy detection" and/or "case-folding collision detection" logic in the future.
Tue, 30 Apr 2013 05:01:32 +0900 icasefs: rewrite case-folding collision detection (issue3452) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 05:01:32 +0900] rev 19105
icasefs: rewrite case-folding collision detection (issue3452) Before this patch, case-folding collision detection uses "copies.pathcopies()" before "manifestmerge()", and is not aware of renaming in some cases. For example, in the case of issue3452, "copies.pathcopies()" can't detect renaming, if the file is renamed at the revision before common ancestor of merging. So, "hg merge" is aborted unexpectedly on case insensitive filesystem. This patch fully rewrites case-folding collision detection, and relocate it into "manifestmerge()". New implementation uses list of actions held in "actions" and "prompts" to build provisional merged manifest up. Provisional merged manifest should be correct, if actions required to build merge result up in working directory are listed up in "actions" and "prompts" correctly. This patch checks case-folding collision still before prompting for merge, to avoid aborting after some interactions with users. So, this assumes that user would choose not "deleted" but "changed". This patch also changes existing abort message, because sorting before collision detection changes order of checked files.
Tue, 30 Apr 2013 05:01:32 +0900 icasefs: refactor "test-casecollision-merge.t" to reuse in succeeding fixes stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 05:01:32 +0900] rev 19104
icasefs: refactor "test-casecollision-merge.t" to reuse in succeeding fixes This patch refactors "test-casecollision-merge.t" to increase reusability in succeeding patches. It is confirmed that changed test also can detect issue3370.
Tue, 30 Apr 2013 05:00:48 +0900 icasefs: ignore removed files at building "dirstate._foldmap" up on icasefs stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 30 Apr 2013 05:00:48 +0900] rev 19103
icasefs: ignore removed files at building "dirstate._foldmap" up on icasefs Before this patch, all files in dirstate are used to build "_foldmap" up on case insensitive filesystem regardless of their statuses. For example, when dirstate contains both removed file 'a' and added file 'A', "_foldmap" may be updated finally by removed file 'a'. This causes unexpected status information for added file 'A' at "hg status" invocation. This patch ignores removed files at building "_foldmap" up on case insensitive filessytem. This patch doesn't add any test, because this issue is difficult to reproduce intentionally: it depends on iteration order of "dirstate._map".
Wed, 01 May 2013 11:20:16 -0300 i18n-pt_BR: synchronized with 3f5e75c22585 stable
Wagner Bruna <wbruna@yahoo.com> [Wed, 01 May 2013 11:20:16 -0300] rev 19102
i18n-pt_BR: synchronized with 3f5e75c22585
Wed, 01 May 2013 11:18:49 -0300 merge with i18n stable
Wagner Bruna <wbruna@yahoo.com> [Wed, 01 May 2013 11:18:49 -0300] rev 19101
merge with i18n
Wed, 01 May 2013 00:38:43 +0900 i18n-ja: synchronized with f01a351db791 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 01 May 2013 00:38:43 +0900] rev 19100
i18n-ja: synchronized with f01a351db791
Mon, 29 Apr 2013 14:14:42 -0700 dispatch: add support for --option=value to _earlygetopt stable
Bryan O'Sullivan <bryano@fb.com> [Mon, 29 Apr 2013 14:14:42 -0700] rev 19099
dispatch: add support for --option=value to _earlygetopt This fixes a very confusing error message: $ hg --config=pager.enabled=off st abort: option --config may not be abbreviated!
Mon, 29 Apr 2013 14:14:41 -0700 dispatch: add doctests for _earlygetopt stable
Bryan O'Sullivan <bryano@fb.com> [Mon, 29 Apr 2013 14:14:41 -0700] rev 19098
dispatch: add doctests for _earlygetopt
Tue, 30 Apr 2013 21:19:56 +0200 push: make locking of source optional (issue3684) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 30 Apr 2013 21:19:56 +0200] rev 19097
push: make locking of source optional (issue3684) Having the permission to lock the source repo on push is now optional. When the repo cannot be locked, phase are not changed locally. A status message is issue when some actual phase movement are skipped: cannot lock source repo, skipping local public phase update A debug message with the exact reason of the locking failure is issued in all case.
Tue, 30 Apr 2013 10:51:25 +0200 push: factorise phase movement in a simple closure stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 30 Apr 2013 10:51:25 +0200] rev 19096
push: factorise phase movement in a simple closure Having all phases movement centralised will help to handle special case when the local repo can not be locked as describe in issue 3684.
Mon, 29 Apr 2013 15:58:15 +0900 merge: increase safety of parallel updating/removing on icasefs stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 29 Apr 2013 15:58:15 +0900] rev 19095
merge: increase safety of parallel updating/removing on icasefs "merge.applyupdates()" sorts "actions" in removal first order, and "workeractions" derived from it should be also sorted. If each actions in "workeractions" are executed in serial, this sorting ensures that merging/updating process is collision free, because updating the file in target context is always executed after removing the existing file which causes case-folding collision against the former. In the other hand, if each actions are executed in parallel, updating on a worker process may be executed before removing on another worker process, because "worker.partition()" partitions list of actions regardless of type of each actions. This patch divides "workeractions" into removing and updating, and executes the former first. This patch still scans "actions"/"workeractions" some times for ease of patch review, even though large list may cost much in this way. (total cost should be as same as before) This also changes some tests, because dividing "workeractions" affects progress indication.
Tue, 30 Apr 2013 13:53:49 +0200 hgweb: handle filtered "0" rev in navigation stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 30 Apr 2013 13:53:49 +0200] rev 19094
hgweb: handle filtered "0" rev in navigation Before this changeset, navigation generation crashed if revision "0" was filtered. We introduce a `_first` methods on revision navigation that return the lowest unfiltered element and use it in two place were the "0" changeset was explicitly referenced. Test case are introduced.
Tue, 30 Apr 2013 15:11:12 +0200 hgweb: fix empty navigation detection stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 30 Apr 2013 15:11:12 +0200] rev 19093
hgweb: fix empty navigation detection For some obscure reason, changelog.node(0) returns nullid if changelog is empty. this break empty navigation detection. We fix this code by using the length of the changelog. Using the length have some issue with revision filtering but this is a small step in the right direction. Proper fix comes in later changeset.
Tue, 30 Apr 2013 14:56:33 +0100 tests: AIX can't handle negative date in test-dirstate.t stable
Jim Hague <jim.hague@acm.org> [Tue, 30 Apr 2013 14:56:33 +0100] rev 19092
tests: AIX can't handle negative date in test-dirstate.t test-dirstate.t fails on AIX in the absurd date test. AIX touch errors on any date prior to 1970. AIX mktime() gives an error on such dates, so the problem is deeper than touch and attempts to work around touch in Python failed. Give up. Add an AIX test to hghave and skip the absurd date test on AIX.
(0) -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 +30000 tip