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.
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.
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.
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.
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 17:57:25 +0100] rev 15790
cvsps: pull function definition out of loop
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
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 14:50:20 +0100] rev 15788
merge with stable
Na'Tosha Bard <natosha@unity3d.com> [Sun, 08 Jan 2012 12:35:47 +0100] rev 15787
largefiles: fix output of hg summary (
issue3060)
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.
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.
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 15:35:15 +0100] rev 15784
largefiles: clean up and shorten test output by using the same log format everywhere
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 07 Jan 2012 15:27:34 +0100] rev 15783
largefiles: remove a chunk of commented out code
Martin Geisler <mg@aragost.com> [Fri, 06 Jan 2012 16:27:13 +0100] rev 15782
Remove FSF mailing address from GPL headers
The GPLv3 FAQ suggests to upgrade by
[...] replace all your existing v2 license notices (usually at the
top of each file) with the new recommended text available on the GNU
licenses howto. It's more future-proof because it no longer includes
the FSF's postal mailing address.
This removes the postal address, but leaves the version number at 2+.
Martin Geisler <mg@aragost.com> [Fri, 06 Jan 2012 16:16:58 +0100] rev 15781
dispatch: lowercase abort message
Martin Geisler <mg@lazybytes.net> [Fri, 06 Jan 2012 11:43:17 +0100] rev 15780
merge with stable
Martin Geisler <mg@lazybytes.net> [Fri, 06 Jan 2012 11:15:32 +0100] rev 15779
commands: add link to addremove in commit help text
Kevin Gessner <kevin@fogcreek.com> [Thu, 05 Jan 2012 07:26:22 -0800] rev 15778
largefiles: display remote errors from putlfile (
issue3123) (
issue3149)
Matt Mackall <mpm@selenic.com> [Thu, 05 Jan 2012 20:35:10 -0600] rev 15777
cmdutil: simplify duplicatecopies
Matt Mackall <mpm@selenic.com> [Thu, 05 Jan 2012 14:14:12 -0600] rev 15776
hgcia: fix diffstat support
Matt Mackall <mpm@selenic.com> [Wed, 04 Jan 2012 17:55:30 -0600] rev 15775
copies: rewrite copy detection for non-merge users
The existing copy detection API was designed with merge in mind and
was ill-suited for doing status/diff. The new pathcopies
implementation gives more accurate, easier to use results for
comparing two revisions, and is much simpler to understand.
Test notes:
- test-mv-cp-st.t results finds more renames in the reverse direction now
- test-mq-merge.t was always wrong and duplicated a copy in diff that
was already present in one of the parent revisions
Matt Mackall <mpm@selenic.com> [Wed, 04 Jan 2012 15:48:02 -0600] rev 15774
copies: split the copies api for "normal" and merge cases (API)
Matt Mackall <mpm@selenic.com> [Tue, 03 Jan 2012 17:13:03 -0600] rev 15773
merge with stable
Augie Fackler <durin42@gmail.com> [Mon, 02 Jan 2012 19:30:28 -0600] rev 15772
progress: Use the same GPL boilerplate as most hg files
Augie Fackler <durin42@gmail.com> [Mon, 02 Jan 2012 19:30:21 -0600] rev 15771
color: Use the same GPL boilerplate as most hg files
Matt Mackall <mpm@selenic.com> [Tue, 03 Jan 2012 17:09:26 -0600] rev 15770
tests: patch up silly new year's bug
Mads Kiilerich <mads@kiilerich.com> [Mon, 26 Dec 2011 15:01:06 +0100] rev 15769
encoding: use hint markup for "please check your locale settings"
This will also make test-encoding.t pass on windows. The test would hit some
other code path that already used hint markup.
Mads Kiilerich <mads@kiilerich.com> [Mon, 26 Dec 2011 15:30:43 +0100] rev 15768
tests: make simple single quotes work with dummyssh on windows
Mercurial assumes that the shell on remote servers over ssh servers uses unix
quoting rules. Tests using dummyssh are however also run on windows where cmd
doesn't parse single quotes like on unix.
This hack replaces the single quotes with double quotes on windows - that is
enough to make test-ssh.t pass after
d8fa35c28335.
Mads Kiilerich <mads@kiilerich.com> [Mon, 26 Dec 2011 16:54:43 +0100] rev 15767
tests: ensure platform independent revision hashes in test-notify.t
Makes the test pass again on windows after
ca572e94d8e7.