Fri, 15 Aug 2014 20:28:51 +0900 largefiles: put whole "hgmerge" process into the same "wlock" scope
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 15 Aug 2014 20:28:51 +0900] rev 22194
largefiles: put whole "hgmerge" process into the same "wlock" scope Before this patch, there are two distinct "wlock" scopes below in "hgmerge": 1. "merge.update" via original "hg.merge" function 2. "updatelfiles" specific "wlock" scope (to synchronize largefile dirstate) But these should be executed in the same "wlock" scope for consistency, because users of "hg.merge" don't get "wlock" explicitly before invocation of it. - merge in commands This patch puts almost all of the original "hgmerge" implementation into "_hgmerge" to reduce changes.
Fri, 15 Aug 2014 20:28:51 +0900 largefiles: put whole "hgupdaterepo" process into the same "wlock" scope
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 15 Aug 2014 20:28:51 +0900] rev 22193
largefiles: put whole "hgupdaterepo" process into the same "wlock" scope Before this patch, there are two distinct "wlock" scopes below in "hgupdaterepo": 1. "merge.update" via original "hg.updaterepo" function 2. "updatelfiles" specific "wlock" scope (to synchronize largefile dirstate) In addition to them, "dirstate.walk" is executed between these "wlock" scopes. But these should be executed in the same "wlock" scope for consistency, because many (indirect) users of "hg.updaterepo" don't get "wlock" explicitly before invocation of it. "hg.clean" is invoked without "wlock" from: - mqrepo.restore in mq - bisect in commands - update in commands "hg.update" is invoked without "wlock" from: - clone in mq - pullrebase in rebase - postincoming in commands (used in "hg pull -u", "hg unbundle") - update in commands This patch puts almost all original "hgupdaterepo" implementation into "_hgupdaterepo" to reduce changes.
Fri, 15 Aug 2014 14:33:19 +0900 annotate: inline definition of decorate() functions
Yuya Nishihara <yuya@tcha.org> [Fri, 15 Aug 2014 14:33:19 +0900] rev 22192
annotate: inline definition of decorate() functions
Fri, 15 Aug 2014 14:29:30 +0900 annotate: rewrite long short-circuit statement by if-elif-else
Yuya Nishihara <yuya@tcha.org> [Fri, 15 Aug 2014 14:29:30 +0900] rev 22191
annotate: rewrite long short-circuit statement by if-elif-else
Tue, 24 Jun 2014 17:27:18 +0100 revert: use modified information from both statuses
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 17:27:18 +0100] rev 22190
revert: use modified information from both statuses Using status information against the target ensures we are catching all files with modifications that need reverting. We still need to distinguish fresh modifications for backup purpose. test-largefile is affected because it reverted a file that needs no content change.
Tue, 24 Jun 2014 16:57:16 +0100 revert: drop special case handling for file unknown in parent
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 16:57:16 +0100] rev 22189
revert: drop special case handling for file unknown in parent We had a special case for file not caught by any categories. It was aimed at files missing in wc and wc's parent but existing in the target revision. This is now properly handled using status information.
Tue, 24 Jun 2014 16:53:22 +0100 revert: use "remove" information from both statuses
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 16:53:22 +0100] rev 22188
revert: use "remove" information from both statuses Using status information against the target to make sure we are catching all files that need to be re-added. We still need to distinguish fresh removal because they use a different message.
Fri, 01 Aug 2014 18:27:47 -0700 revert: process removed files missing in target as clean
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Aug 2014 18:27:47 -0700] rev 22187
revert: process removed files missing in target as clean If a file does not exist in target and is marked as removed in the dirstate, we can mark it as clean. There are no changes needed to revert it.
Thu, 31 Jul 2014 15:52:56 -0700 revert: also track clean files
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 31 Jul 2014 15:52:56 -0700] rev 22186
revert: also track clean files Tracking clean files is the simplest way to be able to reports files that need no changes. So we explicitly retrieve them. This fixes a couple of test outputs where the lack of changes was not reported.
Fri, 01 Aug 2014 18:57:53 -0700 revert: triage "deleted" files into more appropriate categories
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Aug 2014 18:57:53 -0700] rev 22185
revert: triage "deleted" files into more appropriate categories Status can return file as "deleted". This is only a special case related to working directory state: file is recorded as tracked but no file exists on disk. This will never be a state obtainable from manifest comparisons. "Deleted" files have another working directory status shadowed by the lack of file. They will -alway- be touched by revert. The "lack of file" can be seen as a modification. The file will never match the same "content" as in the revert target. From there we have two options: 1. The file exists in the target and can be seen as "modified". 2. The file does not exist in the target and can be seen as "added". So now we just dispatch elements from delete into appropriate categories.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip