Renaming a large file confuse mercurial and render the repository unusable. Step to reproduce : hg init hg add --large video.avi hg status A video.avi hg commit -m"added video" hg rename video.avi movie.avi hg status R C:\Users\Olivier\Desktop\testrepo\video.avi ! C:\Users\Olivier\Desktop\testrepo\movie.avi ! video.avi ? movie.avi hg add abort: The system cannot find the file specified: C:\Users\Olivier\Desktop\testrepo\.hglf/video.avi hg add movie.avi movie.avi already a largefile Workaround : None.
Adding some largefiles people, setting recommended priority.
I reproduced this locally and am now working on a fix. Thanks for the proper failing test case.
Just an update; I have found the cause of this bug and it is a bit more complicated than I anticipated. I have a partial fix; will work more on it next week. Goal is to have this fix in next week before the 2.1 cut on December 1st.
This case actually turned out not to be an issue with renaming itself, but to be an issue with a messy dirstate causing very confusing status output after running 'hg rename' (or 'hg copy', for that matter) on a largefile. If the user comitted a rename (or copy), despite the confusing output of status, expected behavior occurred. I have submitted a patch that fixes the messy dirstate so that the output of 'hg status' is correct. It also introduces test cases to prevent regressions. I will mark this as testing until the patch is queued.
Oops, marking this as "in-progress" instead. Here is the thread on the mailing list with the patch: http://www.selenic.com/pipermail/mercurial-devel/2011-November/036017.html
Fixed by http://selenic.com/repo/hg/rev/a77ce45584ef Na'Tosha Bard <natosha@unity3d.com> largefiles: fix rename (issue3093) (please test the fix)
--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:25 EDT --- This bug was previously known as _bug_ 3093 at http://mercurial.selenic.com/bts/issue3093