Comments
Patch
@@ -1148,12 +1148,8 @@
lfdirstate = lfutil.openlfdirstate(ui, repo)
lfiles = lfutil.listlfiles(repo)
- oldlfiles = lfutil.listlfiles(repo, repo[None].parents()[0].rev())
for file in lfiles:
- if file in oldlfiles:
- lfdirstate.normallookup(file)
- else:
- lfdirstate.add(file)
+ lfutil.synclfdirstate(repo, lfdirstate, file, True)
lfdirstate.write()
finally:
wlock.release()
@@ -99,4 +99,28 @@
$ cat .hglf/large1
58e24f733a964da346e2407a2bee99d9001184f5
+Test that "hg rollback" restores status of largefiles correctly
+
+ $ hg update -C -q
+ $ hg remove large1
+ $ hg forget large2
+ $ echo largeX > largeX
+ $ hg add --large largeX
+ $ hg commit -m 'will be rollback-ed soon'
+ $ hg status -A large1
+ large1: No such file or directory
+ $ hg status -A large2
+ ? large2
+ $ hg status -A largeX
+ C largeX
+ $ hg rollback
+ repository tip rolled back to revision 3 (undo commit)
+ working directory now based on revision 3
+ $ hg status -A large1
+ R large1
+ $ hg status -A large2
+ R large2
+ $ hg status -A largeX
+ A largeX
+
$ cd ..