Martin Geisler <mg@aragost.com> [Mon, 24 Oct 2011 10:08:58 +0200] rev 15352
largefiles: improve markup in module help text
Martin Geisler <mg@aragost.com> [Mon, 24 Oct 2011 09:54:02 +0200] rev 15351
largefiles: remove redundant documentation
The extension help text already covered what was in usage.txt and
design.txt is now moved to the wiki:
http://mercurial.selenic.com/wiki/LargefilesExtension
Greg Ward <greg@gerg.ca> [Sun, 23 Oct 2011 14:25:48 -0400] rev 15350
largefiles: use ui.configpath() where appropriate
Greg Ward <greg@gerg.ca> [Sun, 23 Oct 2011 10:23:31 -0400] rev 15349
largefiles: drop more unnecessary compatibility checks
Matt Mackall <mpm@selenic.com> [Sun, 23 Oct 2011 16:32:27 -0500] rev 15348
windows: sanity-check symlink placeholders
On Windows, we store symlinks as plain files with the link contents.
Via user error or NFS/Samba assistance, these files often end up with
'normal' file contents. Committing these changes thus gives an
invalid symlink that can't be checked out on Unix.
Here we filter out any modified symlink placeholders that look
suspicious when computing status:
- more than 1K (looks more like a normal file)
- contain NULs (not allowed on Unix, probably a binary)
- contains \n (filenames can't contain \n, very unusual for symlinks,
very common for files)
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 23 Oct 2011 21:59:15 +0200] rev 15347
largefiles: use util.sha1() instead of hashlib.sha1() everywhere
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 23 Oct 2011 21:22:55 +0200] rev 15346
tests: check for svn >= 1.3 and >= 1.5 in tests that require those versions
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 22 Oct 2011 23:42:48 +0200] rev 15345
convert: add missing import of util, needed for svn < 1.6
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 22 Oct 2011 23:21:38 +0200] rev 15344
run-tests: make sure no_proxy/NO_PROXY are empty to fix test-http-proxy.t
If no_proxy (or NO_PROXY) includes localhost, the test for detecting an
unreachable proxy fails, because the proxy setting is ignored.
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 15:39:51 -0400] rev 15343
largefiles: test "lfconvert --to-normal" with rename/remove/merge
This gets us very close to full test coverage of lfconvert. The only
features not tested are:
- .hgtags conversion
- abort when largefile becomes symlink
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 15:16:52 -0400] rev 15342
largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 14:52:05 -0400] rev 15341
largefiles: beef up test-lfconvert.t so it's more thorough
- instead of converting a single changeset with a single file, convert
two changesets which each add a mix of normal and large files
- make one of the large files not-so-large, but identified as large
by filename
- use shorter, simpler filenames
- put some files in a subdirectory
- test that file contents are correctly converted
- drop unnecessary cleanup step
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 14:20:17 -0400] rev 15340
largefiles: rearrange how lfconvert detects non-local repos
Mainly this is so we can test that code; it has the side benefit of not
requiring network I/O to reject non-local repo URLs.
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 14:17:19 -0400] rev 15339
largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 13:48:56 -0400] rev 15338
largefiles: extract test-lfconvert.t from test-largefiles.t
test-largefiles.t is getting pretty big, and there's lots more to test
in lfconvert. And lfconvert is a fairly orthogonal feature to the
rest of largefiles.
Matt Mackall <mpm@selenic.com> [Sat, 22 Oct 2011 16:12:33 -0500] rev 15337
windows: recompute flags when committing a merge (
issue1802)
Before this patch, Windows always did the wrong thing with exec bits
when committing a merge: consult the flags in first parent.
Now we manually recompute the result of merging flags at commit time,
which almost always does the right thing (except when there are
conflicts between symlink and exec flags).
To do this, we:
- pull flag synthesis out into its own function
- delay building this function unless it's needed
- add a merge case that compares flags in local and other against the ancestor
This has been tested in multiple ways on Linux:
- running the whole test suite with both old and new code in place,
checking for differences in each flags() result
- running the whole test suite while comparing real on-disk flags
against synthetic ones for merges
- test-
issue1802 (from Martin Geisler) which disables exec bit
checking on Unix
Andrew Pritchard <awpritchard@gmail.com> [Fri, 21 Oct 2011 15:09:33 -0500] rev 15336
largefiles: test interaction between largefiles and vanilla clients and servers
This reintroduces tests for the case described by
issue3066, among others:
- vanilla clients and servers should still be able to talk to largefiles
clients and servers about vanilla repos
- vanilla clients should not attempt to clone largefiles repos over http and
should report a useful error message (
issue3066; this appears to work
correctly)
- vanilla clients should not attempt to clone largefiles repos over ssh, again
with a useful error message
- largefiles clients should not attempt to push largefile changes to vanilla
servers
Matt Mackall <mpm@selenic.com> [Sat, 22 Oct 2011 11:21:00 -0500] rev 15335
tests: darcs > 2.5 got "smart" about encoding, disable encoding tests
We can no longer convert a repo with mixed encodings, nor can I even
figure out how to get Darcs to display such messages.
Matt Mackall <mpm@selenic.com> [Fri, 21 Oct 2011 16:52:23 -0500] rev 15334
check-code: catch BaseException and os.path.relpath
Matt Mackall <mpm@selenic.com> [Fri, 21 Oct 2011 16:52:16 -0500] rev 15333
largefiles: py2.4 doesn't have BaseException
..and it's the wrong base class anyway.
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 21:56:30 -0400] rev 15332
largefiles: rename lfconvert --tonormal option to --to-normal
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 22:01:05 -0400] rev 15331
largefiles: test lfconvert --tonormal
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 22:24:24 -0400] rev 15330
largefiles: use smaller files in test script
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 22:22:24 -0400] rev 15329
largefiles: test that minimum size can be a float
This allows us to drop the existing test of --lfsize, since it's
redundant with the new test.
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 22:14:11 -0400] rev 15328
largefiles: polish comments in test script
Kevin Bullock <kbullock@ringworld.org> [Fri, 21 Oct 2011 11:10:43 -0500] rev 15327
import: abort usefully if no patch name given
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Oct 2011 14:15:58 +0200] rev 15326
revset: disambiguous the node variable
The module could be confused with the function.
Matt Mackall <mpm@selenic.com> [Fri, 21 Oct 2011 12:12:21 -0500] rev 15325
revset: deal with empty lists in formatspec
Christian Ebert <blacktrash@gmx.net> [Fri, 21 Oct 2011 12:07:27 +0100] rev 15324
keyword: correct grammar in iskwfile docstring
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 17:40:25 -0400] rev 15323
largefiles: remove all uses of os.path.relpath for 2.4 compatibility
Patrick Mezard <pmezard@gmail.com> [Thu, 20 Oct 2011 16:43:31 +0200] rev 15322
mq: avoid data loss upon qfold + qmv (
issue3058)
When renaming a patch A as B where B was previously qfolded into A and
therefore marked as removed, a versioned MQ would first restore B before
marking it as a copy of A, thus losing A changes. The undelete() call is
probably a left-over, wctx.copy() explicitely handles the case where the
destination is removed.
Also note that status command represents "hg rm b; hg mv a b" as:
A b
a
R a
which explains the first hunk in test-mq-qrename.t.
Martin Geisler <mg@lazybytes.net> [Fri, 21 Oct 2011 00:33:08 +0200] rev 15321
subrepos: abort commit by default if a subrepo is dirty (BC)
This changeset flips the default value of ui.commitsubrepos setting
from True to False and adds a --subrepos flag to commit.
The commit, status, and diff commands behave like this with regard to
recusion and the ui.commitsubrepos setting:
| recurses | recurses
| by default | with --subrepos
--------+---------------+----------------
commit: | commitsubrepo | True
status: | False | True
diff: | False | True
By changing the default from True to False, the table becomes
consistent in the two columns:
* without --subrepos on the command line, commit will abort if a
subrepo is dirty and status/diff wont show changes inside subrepos.
* with --subrepos, all three commands will recurse.
A --subrepos flag on the command line overrides the config settin.g