##// END OF EJS Templates
largefiles: invoke "normallookup" on "lfdirstate" for merged files...
largefiles: invoke "normallookup" on "lfdirstate" for merged files Before this patch, largefiles gotten from "other" revision (with conflict) at "hg merge" become "clean" unexpectedly in steps below: 1. "repo.status()" is invoked (for status check before merging) 1-1 "dirstate" entry for standinfile SF is "normal"-ed 1-2 "lfdirstate" entry of largefile LF (for SF) is "normal"-ed 2. "merge.update()" is invoked 2-1 SF is updated in the working directory (ASSUMPTION: user choice "other" at conflict) 2-2 "dirstate" entry for SF is "merge"-ed 3. "lfcommands.updatelfiles()" is invoked (by "overrides.hgmerge()") 3-1 largefile LF (for SF) is updated in the working directory 3-2 "dirstate" returns "m" for SF (by 2-2) 3-3 "lfdirstate" entry for LF is left as it is 3-4 "lfdirstate" is written into ".hg/largefiles/dirstate", and timestamp of LF is stored into "lfdirstate" file (by 1-2) (ASSUMPTION: timestamp of LF differs from one of "lfdirstate" file) Then, "hs status" treats LF as "clean", even though LF is updated by "other" revision (by 3-1), because "lfilesrepo.status()" always treats "normal"-ed files (by 1-2 and 3-4) as "clean". When state of standinfile in "dirstate" is "m", largefile should be "normallookup"-ed. This patch invokes "normallookup" on "lfdirstate" for merged files. This patch uses "[debug] dirstate.delaywrite" feature in the test, to ensure that timestamp of the largefile gotten from "other" revision is stored into ".hg/largefiles/dirstate". (for ASSUMPTION at 3-4)
FUJIWARA Katsunori -
r21933:8ecbe55f stable
Show More
Name Size Modified Last Commit Author
/ hgext / largefiles
CONTRIBUTORS Loading ...
__init__.py Loading ...
basestore.py Loading ...
lfcommands.py Loading ...
lfutil.py Loading ...
localstore.py Loading ...
overrides.py Loading ...
proto.py Loading ...
remotestore.py Loading ...
reposetup.py Loading ...
uisetup.py Loading ...
wirestore.py Loading ...