Fri, 15 Aug 2014 23:05:53 +0900 ui: invoke editor for committing with HGEDITFORM environment variable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 15 Aug 2014 23:05:53 +0900] rev 22205
ui: invoke editor for committing with HGEDITFORM environment variable At the external editor invocation for committing, the value specified as "editform" for "cmdutil.getcommiteditor" is in "HGEDITFORM". This enables external editor to do own customization according to commit types.
Fri, 15 Aug 2014 04:37:46 +0200 cleanup: name unused variables using convention of leading _
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 04:37:46 +0200] rev 22204
cleanup: name unused variables using convention of leading _ This helps checker tools ... and readability for those who knows and follows the convention.
Fri, 15 Aug 2014 16:20:47 +0200 cleanup: rename check-translation.py checker function - don't hide global var
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 16:20:47 +0200] rev 22203
cleanup: rename check-translation.py checker function - don't hide global var
Fri, 15 Aug 2014 04:37:45 +0200 cleanup: remove some unused / duplicate imports
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 04:37:45 +0200] rev 22202
cleanup: remove some unused / duplicate imports
Fri, 15 Aug 2014 04:37:46 +0200 cleanup: fix some list comprehension redefinitions of existing vars
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 04:37:46 +0200] rev 22201
cleanup: fix some list comprehension redefinitions of existing vars In all the remaining cases the comprehension variable is used for the same thing as a previous loop variable. This will mute some pyflakes "list comprehension redefines" warnings.
Fri, 15 Aug 2014 16:20:47 +0200 cleanup: avoid local vars shadowing imports
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 16:20:47 +0200] rev 22200
cleanup: avoid local vars shadowing imports This will mute some pyflakes "import ... shadowed by loop variable" warnings.
Fri, 15 Aug 2014 16:20:47 +0200 cleanup: avoid _ for local unused tmp variables - that is reserved for i18n
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 16:20:47 +0200] rev 22199
cleanup: avoid _ for local unused tmp variables - that is reserved for i18n _ is usually used for i18n markup but we also used it for I-don't-care variables. Instead, name don't-care variables in a slightly descriptive way but use the _ prefix to designate unused variable. This will mute some pyflakes "import '_' ... shadowed by loop variable" warnings.
Fri, 15 Aug 2014 04:37:45 +0200 cleanup: make sure we always access members of imported modules
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 04:37:45 +0200] rev 22198
cleanup: make sure we always access members of imported modules This will make sure we get import errors, even if demandimport is enabled. This will also mute some pyflakes 'imported but unused' warnings.
Fri, 15 Aug 2014 20:28:51 +0900 largefiles: update lfdirstate for unchanged largefiles during linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 15 Aug 2014 20:28:51 +0900] rev 22197
largefiles: update lfdirstate for unchanged largefiles during linear merging Before this patch, linear merging of modified largefiles causes an unexpected result, if (1) largefile collides with same-name normal one in the target revision and (2) "local" largefile is chosen, even though branch merging between such revisions works correctly. Expected result of such linear merging is marking the largefile as (re-)"added", but the actual result is marking it as "modified". The standin of modified "local largefile" is not changed by linear merging, and updating/merging update lfdirstate entries only for largefiles of which standins are changed. This patch adds the code path to update lfdirstate only for largefiles of which standins are not changed. In this case, "synclfdirstate" should be invoked with True as "normallookup" argument always to force using "normallookup" on dirstate for "n" files, because "normal" may mark target files as "clean" unexpectedly. To reduce cost of "lfile not in filelist", this patch converts "filelist" to a "set" object: "filelist" is used only in (1) the newly added code path and (2) the next line of "filelist = set(filelist)". This is a temporary way to fix with less changes. For fundamental resolution of this kind of problems in the future, "lfdirstate" should be updated with "dirstate" simultaneously during "merge.update" execution: maybe by hooking "recordupdates" (+ total refactoring around lfdirstate handling)
Fri, 15 Aug 2014 20:28:51 +0900 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 15 Aug 2014 20:28:51 +0900] rev 22196
largefiles: keep largefiles from colliding with normal one during linear merge Before this patch, linear merging of modified or newly added largefile causes unexpected result, if (1) largefile collides with same name normal one in the target revision and (2) "local" largefile is chosen, even though branch merging between such revisions doesn't. Expected result of such linear merging is: (1) (not yet recorded) largefile is kept in the working directory (2) largefile is marked as (re-)"added" (3) colliding normal file is marked as "removed" But actual result is: (1) largefile in the working directory is unlinked (2) largefile is marked as "normal" (so treated as "missing") (3) the dirstate entry for colliding normal file is just dropped (1) is very serious, because there is no way to restore temporarily modified largefiles. (3) prevents the next commit from adding the manifest with correct "removal of (normal) file" information for newly created changeset. The root cause of this problem is putting "lfile" into "actions['r']" in linear-merging case. At liner merging, "actions['r']" causes: - unlinking "target file" in the working directory, but "lfile" as "target file" is also largefile itself in this case - dropping the dirstate entry for target file "actions['f']" (= "forget") does only the latter, and this is reason why this patch doesn't choose putting "lfile" into it instead of "actions['r']". This patch newly introduces action "lfmr" (LargeFiles: Mark as Removed) to mark colliding normal file as "removed" without unlinking it. This patch uses "hg debugdirstate" instead of "hg status" in test, because: - choosing "local largefile" hides "removed" status of "remote normal file" in "hg status" output, and - "hg status" for "large2" in this case has another problem fixed in the subsequent patch
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip