Matt Mackall <mpm@selenic.com> [Sat, 29 Oct 2011 11:02:23 -0500] rev 15381
backout
dbdb777502dc (
issue3077) (
issue3071)
Using util.realpath turns out to create complex issues on both Mac and
Windows. Back this change out for the release.
Martin Geisler <mg@aragost.com> [Fri, 28 Oct 2011 15:00:21 +0200] rev 15380
largefiles: fix uppercase in abort message
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 28 Oct 2011 12:59:50 +0200] rev 15379
Makefile: adjust example, test-merge1 is now test-merge1.t
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 28 Oct 2011 12:44:19 +0200] rev 15378
tests: use $DAEMON_PIDS and killdaemons in largefiles test
$DAEMON_PIDS is used by tests to make sure there will be no leftover
processes, the cycling through ports is needed because they are not
available for a new bind that quickly on some systems.
There are not enough $HGPORT variables available for each hg serve,
so use the killdaemons script before reusing ports.
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 28 Oct 2011 11:16:39 +0200] rev 15377
tests: make largefiles test use $HGPORT instead of 8001
Matt Mackall <mpm@selenic.com> [Thu, 27 Oct 2011 18:35:07 -0500] rev 15376
merge in another fix on the wrong branch
Brodie Rao <brodie@bitheap.org> [Thu, 27 Oct 2011 11:57:08 -0700] rev 15375
hgweb: fix dynamic date calculation not working under Safari
While Chrome, Firefox, and IE 6+ support the current date format being
passed to Date(), Safari doesn't:
> new Date('Mon Oct 24 13:58:01 2011 +0200')
Invalid Date
However, the rfc822date format--officially supported by
ECMAScript[1]--does work:
> new Date('Mon, 24 Oct 2011 13:58:01 +0200')
Mon Oct 24 2011 04:58:01 GMT-0700 (PDT)
This change replaces all instances of {date|date} in HTML with
{date|rfc822date}. For elements that only have the "age" class,
there's no outward change for users with JavaScript enabled. For
elements with both the "age" and "date" classes, the full date
displayed uses the new format.
Tested in IE 6, Safari 5.1.1, Google Chrome 15, and Firefox 7.0.1.
[1]: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse
Matt Mackall <mpm@selenic.com> [Thu, 27 Oct 2011 18:15:34 -0500] rev 15374
tests: fix spurious largefiles test failure on Cygwin
Peer Stritzinger <peer@stritzinger.com> [Wed, 26 Oct 2011 18:47:12 +0200] rev 15373
revert: fix missing removes when parent was changed in dirstate
When dirstate parent is changed with dirstate.setparent before a
revert so it no longer points to where the dirstate refered to, revert
does not remove all files it should:
Revert to a different revision needs also to remove files that are not
found through disptables and not in the context or parent manifest.
Matt Mackall <mpm@selenic.com> [Thu, 27 Oct 2011 17:22:04 -0500] rev 15372
check-code: fix issues with finding patterns in unified tests, fix tests
- old-style patterns without ^ were getting improperly anchored
- finditer was matching against beginning of line poorly
- \s was matching newlines
- [^x] was matching newlines
so we:
- remove earlier hacks for multiline matching
- fix unified test anchoring by adding .*
- replace \s with [ \t]
- replace [^x] with [^\nx]
- force all matches into multiline mode so ^ anchors work
This uncovers a number of test issues that are then repaired.
Hao Lian <hao@fogcreek.com> [Tue, 25 Oct 2011 11:45:28 -0400] rev 15371
largefiles: remove lfutil.createdir, replace calls with util.makedirs
Eli Carter <eli.carter@tektronix.com> [Wed, 26 Oct 2011 14:22:19 -0500] rev 15370
largefiles: fix typo
Eli Carter <eli.carter@tektronix.com> [Wed, 26 Oct 2011 13:48:33 -0500] rev 15369
largefiles: bugfix for symlink handling with testcase
The code was using the size of a symlink's target, thus wrongly making symlinks
to large files into largefiles themselves. This can be demonstrated by
deleting the symlink and then doing an 'hg up' or 'hg up -C' to restore the
symlink.
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Wed, 26 Oct 2011 22:35:15 +0200] rev 15368
i18n-it: fixed wrong message
Matt Mackall <mpm@selenic.com> [Wed, 26 Oct 2011 12:56:27 -0500] rev 15367
setup: set env global earlier (3073)
Greg Ward <greg@gerg.ca> [Tue, 25 Oct 2011 08:56:59 -0400] rev 15366
largefiles: test reverting largefiles (coverage creeping ever upwards)
This reveals a small bug: revert reports "reverting .hglf/largefile"
when it really should report "reverting largefile". I don't see an
easy fix, though (short of using ui.pushbuffer() to interfere with
revert's output).
Greg Ward <greg@gerg.ca> [Mon, 24 Oct 2011 21:33:23 -0400] rev 15365
largefiles: test "update --check"
It works fine; I'm just getting the test coverage up.
Matt Mackall <mpm@selenic.com> [Wed, 26 Oct 2011 12:56:27 -0500] rev 15364
tests: fix check-code detection of anchored expressions, fix echo -n usage
Patrick Mezard <pmezard@gmail.com> [Mon, 24 Oct 2011 13:41:19 +0200] rev 15363
diffstat: be more picky when marking file as 'binary' (
issue2816)
The 'Bin' marker was added to every changed file for which we could not find
any diff changes. This included binary files but also copy/renames and mode
changes. Since Mercurial regular diff format emits a 'Binary file XXX has
changed' line when fed with binary files, we use that and the usual git marker
to tell them from other cases. In particular, new empty files are no longer
reported as binary.
Still, this fix is not complete since copy/renames/mode changes are now
reported as '0' lines changes, instead of 'Bin'.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 24 Oct 2011 10:41:10 -0200] rev 15362
i18n-pt_BR: synchronized with
b74f74b482d8
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 17:01:49 -0500] rev 15361
graft: add a test
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 16:57:14 -0500] rev 15360
graft: fix duplicate filter logic
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 16:57:14 -0500] rev 15359
graft: fix duplicate scan message
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 16:57:14 -0500] rev 15358
util: don't complain about '..' in path components not working on Windows
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 12:09:12 -0500] rev 15357
graft: fix formatting of message
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:58:01 +0200] rev 15356
largfiles: drop unused import
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:51:24 +0200] rev 15355
consistency: use util.realpath instead of os.path.realpath where useful
exceptions:
hg: os.path.realpath used before util can be imported
tests/run-tests.py: may not import mercurial modules
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:54:59 +0200] rev 15354
keyword: use util.realpath instead of os.path.realpath
This makes test-keyword.t pass on Python 2.4.1 (e.g. Debian sarge)
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:32:23 +0200] rev 15353
posix: workaround for os.path.realpath bug in Python 2.4.1 and before
os.path.realpath didn't resolve symlinks that were the first component of
the path, see http://bugs.python.org/
issue1213894
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
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 17:05:13 -0400] rev 15320
largefiles: use XDG and OS X-specific cache locations by default (
issue3067)
Benjamin Pollack <benjamin@bitquabit.com> [Wed, 19 Oct 2011 20:40:55 -0400] rev 15319
largefiles: remove redundant any_ function
Eli Carter <eli.carter@tektronix.com> [Thu, 20 Oct 2011 09:35:37 -0500] rev 15318
largefiles: testcase to simulate inter-user clone on local machine
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 13:24:11 -0400] rev 15317
largefiles: make the store primary, and the user cache secondary
This uses the now-properly-named functions and methods from the previous
patch to actually deliver the desired behavior
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 13:24:09 -0400] rev 15316
largefiles: rename functions and methods to match desired behavior
The original intent was that the largefiles would primarily be in the
repository, with the global cache being only that--a cache. The naming
conventions and actual intent have both strayed. In this first patch, the
naming conventions are switched to match the actual intent, as are the
configuration options.
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 13:24:08 -0400] rev 15315
largefiles: fix documentation to match desired behavior
Martin Geisler <mg@aragost.com> [Thu, 20 Oct 2011 17:47:33 +0200] rev 15314
runrst: improve error message when Docutils is missing
Peter Toft told me he had installed a 'python-doc' package instead of
the correct 'python-docutils' and he suggested that we add the URL to
Docutils in our error message.
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 17:28:26 -0500] rev 15313
largefiles: fix newline for lfconverted repos
Eli Carter <eli.carter@tektronix.com> [Wed, 19 Oct 2011 15:37:03 -0500] rev 15312
largefiles: remove 1.9 compat code
Matt Mackall <mpm@selenic.com> [Wed, 19 Oct 2011 17:16:25 -0500] rev 15311
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 18 Oct 2011 09:51:02 -0200] rev 15310
i18n-pt_BR: synchronized with
ab341fbb05b1
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 18 Oct 2011 09:50:57 -0200] rev 15309
i18n-pt_BR: msgmerge with
ab341fbb05b1
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 18 Oct 2011 09:38:14 -0200] rev 15308
bisect: add i18n contexts
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 18 Oct 2011 09:38:10 -0200] rev 15307
import: add i18n context
Greg Ward <greg@gerg.ca> [Sun, 16 Oct 2011 10:24:45 -0400] rev 15306
largefiles: fix some badly named function parameters
overrides.py contains several functions that temporarily override
scmutil.match(), which always takes a changectx object as the first
parameter. But these overrides name that parameter either 'repo' or
'ctxorrepo', which is misleading. So rename them to 'ctx' and remove
the special type-sensitive handling of the one called 'ctxorrepo'.
Greg Ward <greg@gerg.ca> [Sun, 16 Oct 2011 10:29:51 -0400] rev 15305
largefiles: tidy imports
- no need to defensively import scmutil
- remove duplicate
- unwrap non-long line
Greg Ward <greg@gerg.ca> [Tue, 18 Oct 2011 20:06:23 -0400] rev 15304
largefiles: rename config setting 'size' to 'minsize'
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 16:40:59 -0500] rev 15303
largefiles: include 'largefiles' in converted repository requirements
Hao Lian <hao@fogcreek.com> [Tue, 18 Oct 2011 17:09:03 -0400] rev 15302
largefiles: string formatting typo in basestore._openstore where comma is used instead of modulo
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 11:09:11 -0500] rev 15301
largefiles: fix test typo
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 10:32:12 -0500] rev 15300
convert: fix typo
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 09:59:04 -0500] rev 15299
largefiles: fix typo
Na'Tosha Bard <natosha@unity3d.com> [Wed, 19 Oct 2011 17:40:27 +0200] rev 15298
largefiles: test that merging does not result in wrong versions of largefiles
Na'Tosha Bard <natosha@unity3d.com> [Wed, 19 Oct 2011 17:02:59 +0200] rev 15297
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
Matt Mackall <mpm@selenic.com> [Mon, 17 Oct 2011 17:27:33 -0500] rev 15296
check-code: report suspicious string joins
This detects patterns of the form:
ui.write("this is missing"
"a space at the join\n")
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 17 Oct 2011 19:10:28 -0200] rev 15295
largefiles: fix typo
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 17 Oct 2011 19:10:42 -0200] rev 15294
largefiles: make parameter more i18n-friendly
Mads Kiilerich <mads@kiilerich.com> [Sun, 16 Oct 2011 01:26:06 +0200] rev 15293
grep: correct handling of matching lines without line ending (
issue3050)
Matching lines without trailing '\n' was missing the last character.
That seems to have been an unintended side effect of
261a9f47b44b.
The test in
dac14cc9711e documents the bad behaviour.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 17 Oct 2011 11:37:59 +0200] rev 15292
discovery: Fix error print mentioning a 'None' branch
When talking to old server discovery use heads of the 'None' branch to refer to
topological heads. This use of None should never make it to the end user.
Matt Mackall <mpm@selenic.com> [Mon, 17 Oct 2011 14:14:28 -0500] rev 15291
largefiles: remove fixme from docs
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 17 Oct 2011 11:54:12 -0200] rev 15290
i18n: import polib 0.6.4 (rev
84598f2b5365)
This version fixes some upstream issues observed during the pt_BR
translation update: #8 (obsolete entries reappearing); an
unidentified issue that made i18n/posplit produce some spurious
messages on the resulting po file; possibly others.
These bugs probably didn't cause actual differences on the translated
output, since an invalid message added to the .mo file wouldn't match
an input message most of the time. But they do pollute the .po file
contents (and diffs), adding some confusion to the translation
process.
db957a72fbd7,
4c50552fc9bc and
8ea51e9e7031 were included upstream,
so the only remaining difference is the "no-check-code" marking.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 17 Oct 2011 14:47:36 -0200] rev 15289
rebase: fix typos
Matt Mackall <mpm@selenic.com> [Mon, 17 Oct 2011 13:42:42 -0500] rev 15288
auth: fix realm handling with Python < 2.4.3 (
issue2739)
Martin Geisler <mg@aragost.com> [Mon, 17 Oct 2011 18:01:38 +0200] rev 15287
subrepo: abort in hgsubrepo._get if the destination is obstructed
Before, we deleted foo when we determined that there were zero
changesets in the foo subrepo. Any files in foo was deleted too. We
now delete foo/.hg instead, and the normal checks in hg.clone will
then abort if there are untracked files in foo.
Martin Geisler <mg@aragost.com> [Mon, 17 Oct 2011 16:45:19 +0200] rev 15286
subrepo: pull revisions on demand when archiving hg subrepos
Before, running 'hg archive -S' could result in
abort: unknown revision '
65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'!
if a subrepo was missing completely or had missing changesets. Now,
the missing changesets will be pulled or cloned as appropriate.
This make Mercurial subrepos match Git subrepos which already took
care to fetch any missing commits before starting the archive.