Matt Mackall <mpm@selenic.com> [Sun, 19 Aug 2007 14:03:56 -0500] rev 5201
match: handle large regexes
Some Python versions don't handle large regexes, so when we hit an
overflow, split our regex in two.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 18 Aug 2007 21:36:10 -0300] rev 5200
path_auditor: cache names of audited directories
We use a separate cache to avoid problems with
audit = path_auditor(repo.root)
audit("subrepo")
audit("subrepo/file")
whitelisting "subrepo" (which is fine) and then using the same whitelist
with "subrepo/file" (which is not fine).
Since we create a separate path_auditor for every path on the command line,
a "hg add dir/a dir/b dir/c" will still lstat dir 3 times just to audit
the paths.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 18 Aug 2007 20:21:14 +0200] rev 5199
Quote ^ and ~ chars in test-parentrevspec.
At least ^ causes problems on some sh implementations.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 18 Aug 2007 14:25:55 -0300] rev 5198
Remove demandimport.enable from dispatch.py
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 18 Aug 2007 11:37:08 +0200] rev 5197
Enable demandimport only in scripts, not in importable modules (
issue605)
This way other applications can choose if and when they want this feature,
because it might be problematic if those applications rely on ImportError.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Fri, 17 Aug 2007 23:20:13 -0300] rev 5196
Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Fri, 17 Aug 2007 20:18:05 -0300] rev 5195
convert: fix mercurial_sink.putcommit
Changeset
4ebc8693ce72 added some code to putcommit to avoid creating a
revision that touches no files, but this can break regular conversions
from some repositories:
- conceptually, since we're converting a repo, we should try to make
the new hg repo as similar as possible to the original repo - we
should create a new changeset, even if the original revision didn't
touch any files (maybe the commit message had some important bit);
- even if a "regular" revision that doesn't touch any file may seem
weird (and maybe even broken), it's completely legitimate for a merge
revision to not touch any file, and, if we just skip it, the
converted repo will end up with wrong history and possibly an extra
head.
As an example, say the crew and main hg repos are sync'ed. Somebody
sends an important patch to the mailing list. Matt quickly applies
and pushes it. But at the same time somebody also applies it to crew
and pushes it. Suppose the commit message ended up being a bit
different (say, there was a typo and somebody didn't fix it) or that
the date ended up being different (because of different patch-applying
scripts): the changeset hashes will be different, but the manifests
will be the same.
Since both changesets were pushed to public repos, it's hard to recall
them. If both are merged, the manifest from the resulting merge
revision will have the exact same contents as its parents - i.e. the
merge revision really doesn't touch any file at all.
To keep the file filtering stuff "working", the generic code was changed
to skip empty revisions if we're filtering the repo, fixing a bug in the
process (we want parents[0] instead of tip).
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Fri, 17 Aug 2007 17:33:27 -0300] rev 5194
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Fri, 17 Aug 2007 17:33:27 -0300] rev 5193
Move enabling of demandimport to dispatch.py
This avoids loading many modules before enabling demandimport.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Fri, 17 Aug 2007 17:33:27 -0300] rev 5192
Move cmdtable and reposetup handling out of extensions.py
A new function (extensions.extensions) allows the code that is
interested in those attributes to handle them directly.
This allows some cleanups of extensions.py. Notably, we can
remove the extensions.commandtable hack.
It also makes it easier to add standard extension attributes,
like a "hgwebsetup" function or a "helptable" dict that augments
the data in help.py, etc.
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 17 Aug 2007 19:11:16 +0200] rev 5191
Adjust contrib/hg-ssh for moved dispatch() function.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Fri, 17 Aug 2007 22:43:38 -0300] rev 5190
Fix sshrepo.unbundle
We weren't reading all the data sent by the server. Depending on
the system, the remote hg (actually, the remote python) could send a
"close failed: [Errno 32] Broken pipe", making some tests fail.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Fri, 17 Aug 2007 22:43:38 -0300] rev 5189
run-tests.py: pass --install-scripts to setup.py
This avoids possible problems when the user has a ~/.pydistutils.cfg.
Fixes
issue638. Patch provided by Ralf Schmitt.
Peter Meerwald <pmeerw@pmeerw.net> [Fri, 17 Aug 2007 22:43:38 -0300] rev 5188
recognize user:password in URLs that include port numbers.
when giving user/pwd in an URL, eg.
hg pull http://user:pwd@host.com:666/hg/something,
hg would still ask for user/pwd in interactive mode (or fail in
non-interactive)
Matt Mackall <mpm@selenic.com> [Fri, 17 Aug 2007 00:35:16 -0500] rev 5187
Merge with crew
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 17 Aug 2007 00:43:49 +0200] rev 5186
merge with -stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 17 Aug 2007 00:42:22 +0200] rev 5185
clone: do not delete the target if only the update fails
Patrick Mezard <pmezard@gmail.com> [Thu, 16 Aug 2007 08:23:14 +0200] rev 5184
Merge with crew-stable
Brendan Cully <brendan@kublai.com> [Wed, 15 Aug 2007 16:22:12 -0700] rev 5183
Merge with crew-stable
Brendan Cully <brendan@kublai.com> [Wed, 15 Aug 2007 14:38:18 -0700] rev 5182
convert: raise Abort instead of NoRepo when CVS pserver auth fails.
At this point we know the source is CVS, so we should not go through
the rest of the converters.
Patrick Mezard <pmezard@gmail.com> [Thu, 16 Aug 2007 08:19:15 +0200] rev 5181
Merge with hg-stable
Brendan Cully <brendan@kublai.com> [Wed, 15 Aug 2007 16:20:10 -0700] rev 5180
mq: truncate patch just before rewriting header
Matt Mackall <mpm@selenic.com> [Wed, 15 Aug 2007 16:55:15 -0500] rev 5179
verify: report expected linkrev
Matt Mackall <mpm@selenic.com> [Wed, 15 Aug 2007 16:55:13 -0500] rev 5178
dispatch: move command dispatching into its own module
- move command dispatching functions from commands and cmdutil to dispatch
- change findcmd to take a table argument
- remove circular import of commands in cmdutil
- privatize helper functions in dispatch
Matt Mackall <mpm@selenic.com> [Wed, 15 Aug 2007 16:10:36 -0500] rev 5177
move parseurl from cmdutil to hg
Matt Mackall <mpm@selenic.com> [Wed, 15 Aug 2007 16:10:24 -0500] rev 5176
fix-up references to repo.RepoError
Matt Mackall <mpm@selenic.com> [Wed, 15 Aug 2007 16:09:50 -0500] rev 5175
remove unneeded imports of mdiff
Matt Mackall <mpm@selenic.com> [Wed, 15 Aug 2007 15:56:39 -0500] rev 5174
Merge with stable
Brendan Cully <brendan@kublai.com> [Wed, 15 Aug 2007 13:21:23 -0700] rev 5173
convert: hg: optionally create branches as clones
If convert.hg.clonebranches is set, branches will be created as clones of
their parent revisions. All clones will be subdirectories of the
destination path.
Sascha Wilde <wilde@sha-bang.de> [Wed, 15 Aug 2007 17:27:51 +0200] rev 5172
Use smerge minor mode in emacs to resolve conflicts.
The condition-case is used to suppress errors with emacs versions before 21.