Sat, 07 Jan 2012 19:05:59 +0100 largefiles: fix inappropriate locking (issue3182)
Levi Bard <levi@unity3d.com> [Sat, 07 Jan 2012 19:05:59 +0100] rev 15794
largefiles: fix inappropriate locking (issue3182) Don't lock/write on operations that should be readonly (status). Always lock when writing the lfdirstate (rollback). Don't write lfdirstate until after committing; state isn't actually changed until the commit is complete.
Sat, 07 Jan 2012 18:43:34 +0100 largefiles: correctly handle dirstate status when rebasing
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 18:43:34 +0100] rev 15793
largefiles: correctly handle dirstate status when rebasing When rebasing, we need to trust that the standins are always correct. The rebase operation updates the standins according to the changeset it is rebasing. We need to make the largefiles in the working copy match. If we don't make them match, then they get accidentally reverted, either during the rebase or during the next commit after the rebase. This worked previously only becuase we were relying on the behavior that largefiles with a changed standin, but unchanged contents, never showed up in the list of modified largefiles. Unfortunately, pre-commit hooks can get an incorrect status this way, and it also results in extra execution of code. The solution is to simply trust the standins when we are about to commit a rebased changeset, and politely ask updatelfiles() to pull the new contents down. In this case, updatelfiles() will also mark any files it has pulled down as dirty in the lfdirstate so that pre-commit hooks will get correct status output.
Sat, 07 Jan 2012 12:42:54 +0100 largefiles: implement addremove (issue3064)
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 12:42:54 +0100] rev 15792
largefiles: implement addremove (issue3064) Implementing addremove correctly in largefiles is tricky, becuase the original addremove function does not call into any of the add or remove function we've already overridden in the extension. So the trick is to implement addremove without duplicating any code. This patch implements addremove by pulling out the interesting parts of override_add() and override_remove() into generic utility functions, and using those to handle the largefiles in addremove. Then a matcher is installed that will ignore all largefiles, and the original addremove function is called to take care of the regular files in addremove. A small bit of monkey patching is used to make sure that remove_largefiles() notifies the user when a file is removed by addremove and also makes sure the removal of largefiles doesn't interfer with the original addremove's operation of removing the standin.
Sun, 08 Jan 2012 18:15:54 +0100 Use explicit integer division
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 18:15:54 +0100] rev 15791
Use explicit integer division Found by running the test suite with the -3 flag to show places where we have int / int division that can be replaced with int // int.
Sun, 08 Jan 2012 17:57:25 +0100 cvsps: pull function definition out of loop
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 17:57:25 +0100] rev 15790
cvsps: pull function definition out of loop
Sun, 08 Jan 2012 11:23:21 +0100 largefiles: Fix parser warning: redefinition of unused 'node' from line 14
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 11:23:21 +0100] rev 15789
largefiles: Fix parser warning: redefinition of unused 'node' from line 14
Sun, 08 Jan 2012 14:50:20 +0100 merge with stable
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 14:50:20 +0100] rev 15788
merge with stable
Sun, 08 Jan 2012 12:35:47 +0100 largefiles: fix output of hg summary (issue3060) stable
Na'Tosha Bard <natosha@unity3d.com> [Sun, 08 Jan 2012 12:35:47 +0100] rev 15787
largefiles: fix output of hg summary (issue3060)
Sun, 08 Jan 2012 11:19:51 +0100 largefiles: fix confusion upon removal of added largefile (issue3176) stable
Na'Tosha Bard <natosha@unity3d.com> [Sun, 08 Jan 2012 11:19:51 +0100] rev 15786
largefiles: fix confusion upon removal of added largefile (issue3176) This patch makes "hg remove" work the same way on largefiles as it does on regular Mercurial files. If you try to remove an added largefile, the removal fails and you are instead prompted to use "hg forget" to undo the add.
Sat, 07 Jan 2012 23:37:19 +0100 largefiles: remove invalid comment (issue3065)
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 23:37:19 +0100] rev 15785
largefiles: remove invalid comment (issue3065) This comment is invalid. The hg.update() function will abort in the case of any genuine error, so there is nothing to check. If we have gotten to this point in execution, nothing critical has gone wrong, and if any standins have been updated, we must pull new largefiles.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip