sapling/hgext/largefiles
FUJIWARA Katsunori 3f4cab3fa5 largefiles: move "copyalltostore" invocation into "markcommitted"
Before this patch, while "hg convert", largefiles avoids copying
largefiles in the working directory into the store area by combination
of setting "repo._isconverting" in "mercurialsink{before|after}" and
checking it in "copytostoreabsolute".

This avoiding is needed while "hg convert", because converting doesn't
update largefiles in the working directory.

But this implementation is not efficient, because:

  - invocation in "markcommitted" can easily ensure updating
    largefiles in the working directory

    "markcommitted" is invoked only when new revision is committed via
    "commit" of "localrepository" (= with files in the working
    directory). On the other hand, "commitctx" may be invoked directly
    for in-memory committing.

  - committing without updating the working directory (e.g. "import
    --bypass") also needs this kind of avoiding

For efficiency of this kind of avoiding, this patch does:

  - move "copyalltostore" invocation into "markcommitted"
  - remove meaningless procedures below:
    - hooking "mercurialsink{before|after}" to (un)set "repo._isconverting"
    - checking "repo._isconverting" in "copytostoreabsolute"

This patch invokes "copyalltostore" also in "_commitcontext", because
"_commitcontext" expects that largefiles in the working directory are
copied into store area after "commitctx". In this case, the working
directory is used as a kind of temporary area to write largefiles out,
even though converted revisions are committed via "commitctx" (without
updating normal files).
2014-11-08 00:48:41 +09:00
..
__init__.py largefiles: define norepo in command decorator 2014-05-04 21:11:15 -07:00
basestore.py largefiles: hide passwords in URLs in ui messages 2013-10-17 16:13:15 +08:00
CONTRIBUTORS hgext: add largefiles extension 2011-09-24 17:35:45 +02:00
lfcommands.py largefiles: move "copyalltostore" invocation into "markcommitted" 2014-11-08 00:48:41 +09:00
lfutil.py largefiles: move "copyalltostore" invocation into "markcommitted" 2014-11-08 00:48:41 +09:00
localstore.py largefiles: don't close the fd passed to store._getfile 2013-04-15 23:47:04 +02:00
overrides.py largefiles: move "copyalltostore" invocation into "markcommitted" 2014-11-08 00:48:41 +09:00
proto.py largefiles: import whole modules instead of importing parts of them 2014-04-08 00:48:36 +02:00
remotestore.py largefiles: import whole modules instead of importing parts of them 2014-04-08 00:48:36 +02:00
reposetup.py largefiles: move "copyalltostore" invocation into "markcommitted" 2014-11-08 00:48:41 +09:00
uisetup.py largefiles: move "copyalltostore" invocation into "markcommitted" 2014-11-08 00:48:41 +09:00
wirestore.py largefiles: stat all largefiles in one batch before downloading 2013-04-15 23:37:43 +02:00