Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4956
simplify dirstate fixups in repo.status()
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4955
dirstate: add doesn't need to call stat
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4954
use context for part of localrepo status
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4953
context: add __contains__, __getitem__, and __iter__
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4952
dirstate: get rid of default args for status
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4951
dirstate: make filterfiles private
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4950
dirstate: add __contains__ and make __getitem__ more useful
dirstate.state(f) == '?' -> f not in dirstate
dirstate.state(f) -> dirstate[f]
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4949
dirstate: make wjoin function private
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4948
dirstate: break update into separate functions
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4947
dirstate: use True and false for _dirty
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:56:30 +0200] rev 4946
test-alias: Removed fallback to parentui, no longer needed since 10afa3fab6b4
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:37:39 +0200] rev 4945
merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:36:45 +0200] rev 4944
Make [defaults] in .hg/hgrc work.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Jul 2007 09:44:50 +0200] rev 4943
fix bogus close spotted by pychecker (no close() in global scope)
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:43:29 +0200] rev 4942
Remove unused pprint import and the commented line which used it before.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:39:42 +0200] rev 4941
Use format string for lockname again (was changed by 3e25a6eb5c9a)
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:36:51 +0200] rev 4940
Backout ad09ce1d393c and replace ''' with """ to make some highlighting happy.
I have tried Debian's default emacs and the current CVS version. Default emacs
doesn't have highlighting enabled (and being emacs-illiterate I don't know how
to enable it) and the CVS emacs' Python highlighting has no problems with '
characters here.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:30:51 +0200] rev 4939
removed trailing whitespace
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Jul 2007 09:31:32 +0200] rev 4938
fix unused variables reported by pychecker
Christian Ebert <blacktrash@gmx.net> [Thu, 19 Jul 2007 18:39:51 +0200] rev 4937
churn: get current terminal width if possible
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:48:24 -0300] rev 4936
merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4935
dirstate.invalidate: avoid rebuilding _map
Since hasattr will call __getattr__, the call to hasattr(self, '_dirs')
will end up reparsing the dirstate file.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4934
add dirstate._dirtypl variable
Theoretically, it's possible to forget modified dirstate
parents by doing:
dirstate.invalidate()
dirstate.setparents(p1, p2)
dirstate._map
The final access to _map should call _read(), which will
unconditionally overwrite dirstate._pl.
This doesn't actually happen right now because invalidate
accidentally ends up rebuilding dirstate._map.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4933
archive: delay extraction of file revisions
This allows us to look only at the filelogs we're interested in,
providing a nice speedup if we're archiving only part of a repository.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4932
help: avoid traceback if an extension has only debug commands
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 15:33:21 -0700] rev 4931
convert/subversion: rehandle the no-tags case
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 15:29:33 -0700] rev 4930
Print meaningful error message if os.symlink fails
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 15:13:48 -0700] rev 4929
lock.py: cache hostname, but not pid, in case we fork
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 12:41:07 -0700] rev 4928
convert/subversion: work around memory leak in svn's python bindings
The svn.ra.get_log wrapper attaches the hash of changed paths for every
log entry to a global memory pool, so memory consumption increases
rapidly, with no way to free it.
Our workaround is to call this function in a child process, and feed
its results back over a pipe. The memory consumption of the child still
grows huge (hundreds of megabytes), but at least it goes away once the
reading-the-log phase is done.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 22:46:14 -0700] rev 4927
Automated merge with http://hg.intevation.org/mercurial/crew
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 22:44:25 -0700] rev 4926
convert/subversion: Simplify callback.
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 19 Jul 2007 07:28:27 +0200] rev 4925
merge with crew-stable
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 14:00:55 -0700] rev 4924
Simplify update.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 13:56:08 -0700] rev 4923
Better fix for issue 622 than we had in c4dd58af0fc8.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 19:56:36 -0700] rev 4922
convert/subversion: reduce memory usage by filtering early
This makes up to a 50% difference in memory consumption.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 19:47:22 -0700] rev 4921
Automated merge with http://hg.intevation.org/mercurial/crew
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 17:44:52 -0700] rev 4920
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 14:00:55 -0700] rev 4919
Simplify update.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 13:56:08 -0700] rev 4918
Better fix for issue 622 than we had in c4dd58af0fc8.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 18 Jul 2007 16:46:20 +0200] rev 4917
merge with main
Matt Mackall <mpm@selenic.com> [Tue, 17 Jul 2007 15:26:28 -0500] rev 4916
doc: typo, -x bit
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 18 Jul 2007 16:46:01 +0200] rev 4915
merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 18 Jul 2007 16:41:45 +0200] rev 4914
fix test-tag on Solaris
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 20:15:03 -0700] rev 4913
tag: handle .hgtags and .hg/localtags with missing final newline (issue 601)
This also fixes an asymmetry bug in which we called the pretag hook if we
were going to create a local tag, but didn't call the tag hook afterwards.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 18:01:20 -0700] rev 4912
issue 622: pull/unbundle -u updates to default branch if repo was empty
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 16:50:47 -0700] rev 4911
mq: autodetect an existing git patch during qrefresh (issue 491)
Brendan Cully <brendan@kublai.com> [Wed, 11 Jul 2007 00:53:44 -0700] rev 4910
replace .hgtags instead of appending to it when doing a raw commit
Brendan Cully <brendan@kublai.com> [Wed, 11 Jul 2007 00:34:35 -0700] rev 4909
handle nonexistent .hgtags in raw _tag
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 15:47:32 -0700] rev 4908
convert/subversion.py: str.rsplit is not available in Python 2.3
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 15:26:27 -0700] rev 4907
Automated merge with http://hg.intevation.org/mercurial/crew
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 15:24:59 -0700] rev 4906
convert/subversion.py: fix bad assumptions about SVN path naming
The SVN converter assumed that the trunk and branches paths were fixed,
and immediately under the base of the SVN URL. Fix the second assumption,
and allow the trunk and branches paths to be reconfigured.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 13:08:50 -0700] rev 4905
convert/subversion.py: escape quotes to make code readable in Emacs
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jul 2007 23:35:24 +0200] rev 4904
patch: patches should be read and written in binary mode when possible.
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jul 2007 23:34:52 +0200] rev 4903
patch: fix normalized paths separators.
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jul 2007 23:33:42 +0200] rev 4902
posixfile_nt: '+' was understood as read mode instead of update.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4901
Update test output to reflect small changes in patch chattiness.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4900
patch.py: re-add the ability to use an external patch program
This is now invoked by default only if ui.patch is set. Otherwise, we
use our built-in patch. If that fails because it can't find any valid
hunks, we'll fall back to trying the external patch command.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4899
patch.py: don't mark files as changed unless they have actually been changed
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4898
patch.py: fix some incorrect uses of _() for i18n
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4897
Add Chris Mason's mpatch library.
The original repo is http://oss.oracle.com/mercurial/mason/mpatch
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 17 Jul 2007 09:28:01 -0300] rev 4896
merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 17 Jul 2007 09:08:29 -0300] rev 4895
convert: manually set encoding to UTF-8
Right now the backends assume we're working in UTF-8 and there's
no good way to ignore the encoding when adding revisions.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 17 Jul 2007 09:08:29 -0300] rev 4894
hg parents: don't pass an OS-specific path to repo.filectx
The only reason to use the matcher code instead of calling util.canonpath
directly is to be able to use "path:canonical/path/to/file" patterns.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 17 Jul 2007 08:22:43 +0200] rev 4893
merge with main
Matt Mackall <mpm@selenic.com> [Mon, 16 Jul 2007 17:39:03 -0500] rev 4892
contexts: improve filectx eq test
Matt Mackall <mpm@selenic.com> [Mon, 16 Jul 2007 17:30:34 -0500] rev 4891
Merge with -stable
Matt Mackall <mpm@selenic.com> [Sun, 15 Jul 2007 14:43:38 -0500] rev 4890
merge: fix unnecessary rename merges on linear update (issue631)
If one side's revision is identical to the ancestor, we skip the rest
of the copy detection logic.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 20:15:03 -0700] rev 4889
tag: handle .hgtags and .hg/localtags with missing final newline (issue 601)
This also fixes an asymmetry bug in which we called the pretag hook if we
were going to create a local tag, but didn't call the tag hook afterwards.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 18:01:20 -0700] rev 4888
issue 622: pull/unbundle -u updates to default branch if repo was empty
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 16:50:47 -0700] rev 4887
mq: autodetect an existing git patch during qrefresh (issue 491)
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 14:43:47 -0700] rev 4886
patchbomb: add --desc, to specify a file containing a series description
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 15 Jul 2007 21:05:38 +0200] rev 4885
merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 15 Jul 2007 21:04:07 +0200] rev 4884
convert: Use clone's behaviour for the default destionation name.
Adjusted the documentation for this and for the fact that the destionation is
created even if a name is specified.
Patrick Mezard <pmezard@gmail.com> [Sun, 15 Jul 2007 14:57:20 +0200] rev 4883
Merge with crew-stable.
Patrick Mezard <pmezard@gmail.com> [Sun, 15 Jul 2007 14:09:56 +0200] rev 4882
test-symlink-basic: require symlinks availability
Patrick Mezard <pmezard@gmail.com> [Sat, 14 Jul 2007 18:34:06 +0200] rev 4881
Add hghave utility and run-tests.py support.
hghave detects system features like symlinks availability at run-time. Tests can be skipped by starting them with:
"$TESTDIR/hghave" symlink || exit 80
The 80 exit status triggers hghave output handling by run-tests.py. Also, tests output can be locally patched on the fly to match reference output.
Patrick Mezard <pmezard@gmail.com> [Sat, 14 Jul 2007 14:01:11 +0200] rev 4880
run-tests: extract correct status when script terminates with exit
Matt Mackall <mpm@selenic.com> [Sat, 14 Jul 2007 13:34:40 -0500] rev 4879
Merge with -stable
Matt Mackall <mpm@selenic.com> [Sat, 14 Jul 2007 12:44:47 -0500] rev 4878
diff: correctly handle combinations of whitespace options
Giorgos Keramidas <keramida@ceid.upatras.gr> [Mon, 09 Jul 2007 17:41:14 +0300] rev 4877
hg grep: handle re.compile errors & update tests/test-grep
Jesse Glick <jesse.glick@sun.com> [Thu, 12 Jul 2007 10:55:49 -0400] rev 4876
typo fix
jon.christopher@Rigaku.com [Sat, 14 Jul 2007 11:27:58 -0500] rev 4875
Re: mercurial.el and hg-version-other-window
hg-version-other window is unimplemented in mercurial.el. The version
below works for me, YMMV.
Christian Ebert <blacktrash@gmx.net> [Fri, 06 Jul 2007 12:02:43 +0200] rev 4874
Use isinstance instead of type == type
Brendan Cully <brendan@kublai.com> [Fri, 13 Jul 2007 08:28:57 -0700] rev 4873
convert: record the source revision in the changelog
Wesley J. Landaker <wjl@icecavern.net> [Thu, 12 Jul 2007 22:55:44 -0700] rev 4872
Use wsgi.url_scheme instead of ad-hoc CGI checks.
Instead of each place in hgweb_mod that needs to check for SSL or get
the protocol scheme (http vs. https) doing it ad-hoc, make them just
look at the wsgi.url_scheme which because of previous patches is now
always set correctly.
Brendan Cully <brendan@kublai.com> [Thu, 12 Jul 2007 22:44:16 -0700] rev 4871
cosmetics
Wesley J. Landaker <wjl@icecavern.net> [Thu, 12 Jul 2007 13:58:36 -0600] rev 4870
Make hg serve set the wsgi.url_scheme property correctly.
This fixes the bug where hg serve with SSL will always detect the wrong
urlbase for templates. This is also part of unifying the CGI interface
and hg serve interface to both use standard wsgi.
Wesley J. Landaker <wjl@icecavern.net> [Thu, 12 Jul 2007 13:55:20 -0600] rev 4869
Handle CGI SSL detection via HTTPS environment better.
Some servers send on/off, 0/1, yes/no, and may be upper or lower case.
This fix will handle all of those permutations. It was inspired by the
detection done in in some other wsgi python web applications I looked at.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 11 Jul 2007 20:15:03 -0300] rev 4868
merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 11 Jul 2007 19:56:16 -0300] rev 4867
archive: make the %r escape work.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 11 Jul 2007 19:56:16 -0300] rev 4866
serve: respect settings from .hg/hgrc
create_server was looking only at the root ui object, ignoring any
settings from .hg/hgrc. To keep respecting command-line arguments,
commands.serve must also call repo.ui.setconfig.
Edouard Gomez <ed.gomez@free.fr> [Sat, 12 May 2007 00:41:30 +0200] rev 4865
Fix inconsistency for the stream_out capability in hgweb
During some experiments of mine, the uncompressed cloning could not
be enabled for hgweb.cgi nor hgwebdir.cgi though the server claimed
to be stream_out capable.
The only solution was to enable it using the user's .hgrc file.
This solution is not acceptable when publishing the repos through
an HTTP server because the CGI runs as a www dedicated user whose's
home hgrc file may not be accessible to users publishing their repos
through their userdir.
For such cases we could end up with this typical debug output:
hg --debug clone --uncompressed http://server/hg/project
destination directory: project
sending capabilities command
capabilities: lookup changegroupsubset stream=1
unbundle=HG10GZ,HG10BZ,HG10UN
sending stream_out command
abort: operation forbidden by server
The error lies in the fact the hgweb object defines new accessors
to the repo configuration that trust things by default (untrusted=True)
but the streamclone:stream_out function uses the usual accessors to the
repo.ui object, which do not trust by default (untrusted=False)
Fix this inconsistency, adding a new parameter to the stream_out function.
hgweb then forces a "trust by default" behavior.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 11 Jul 2007 19:56:16 -0300] rev 4864
improve warning for hg add foo; hg mv foo bar
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 11 Jul 2007 18:15:21 -0300] rev 4863
util._hgexecutable: default to 'hg'
This should make hooks work even if util.set_hgexecutable is not called
(e.g. hgweb.cgi).
Fixes issue625.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 11 Jul 2007 17:40:41 -0300] rev 4862
archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 11 Jul 2007 17:40:41 -0300] rev 4861
archive: use util.opener when archiving files.
This simplifies the code a bit and makes it easier to support symlinks.