Mercurial > hg-stable
changeset 21083:20b0c49c032c
largefiles: update should only create a .orig backup of a largefile once
A .orig of a standin after the update do that a .orig of the actual largefile
is created. The .orig standin was however never removed again and the largefile
.orig was thus overwritten again and again.
The fix: remove the standin .orig when it is used.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Thu, 18 Apr 2013 18:56:18 +0200 |
parents | 0d67fccc0d43 |
children | 70252bdfd39c |
files | hgext/largefiles/lfcommands.py tests/test-largefiles.t |
diffstat | 2 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/lfcommands.py Mon Apr 07 02:12:28 2014 +0200 +++ b/hgext/largefiles/lfcommands.py Thu Apr 18 18:56:18 2013 +0200 @@ -447,6 +447,7 @@ if (os.path.exists(absstandin + '.orig') and os.path.exists(abslfile)): shutil.copyfile(abslfile, abslfile + '.orig') + util.unlinkpath(absstandin + '.orig') expecthash = lfutil.readstandin(repo, lfile) if (expecthash != '' and (not os.path.exists(abslfile) or
--- a/tests/test-largefiles.t Mon Apr 07 02:12:28 2014 +0200 +++ b/tests/test-largefiles.t Thu Apr 18 18:56:18 2013 +0200 @@ -1111,6 +1111,12 @@ $ echo mistake > sub2/large7 $ hg revert sub2/large7 + $ cat sub2/large7 + large7 + $ cat sub2/large7.orig + mistake + $ test ! -f .hglf/sub2/large7.orig + $ hg -q update --clean -r null $ hg update --clean getting changed largefiles @@ -1128,18 +1134,16 @@ large7 $ cat sub2/large7.orig mistake - $ cat .hglf/sub2/large7.orig - 9dbfb2c79b1c40981b258c3efa1b10b03f18ad31 + $ test ! -f .hglf/sub2/large7.orig -demonstrate misfeature: .orig file is overwritten on every update -C, -also when clean: +verify that largefile .orig file no longer is overwritten on every update -C: $ hg update --clean getting changed largefiles 0 largefiles updated, 0 removed 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cat sub2/large7.orig - large7 - $ rm sub2/large7.orig .hglf/sub2/large7.orig + mistake + $ rm sub2/large7.orig Now "update check" is happy. $ hg update --check 8