Martin Geisler <mg@aragost.com> [Wed, 18 May 2011 09:31:19 +0200] rev 14356
revset: the name is optional for the tag predicate
Martin Geisler <mg@aragost.com> [Wed, 18 May 2011 09:28:11 +0200] rev 14355
revset: note case-sensitive match in grep
Martin Geisler <mg@aragost.com> [Wed, 18 May 2011 09:20:52 +0200] rev 14354
revset: note case-insensitive matches in keyword and user
Martin Geisler <mg@aragost.com> [Wed, 18 May 2011 09:15:18 +0200] rev 14353
revset: expand help for contains predicate
Sune Foldager <cryo@cyanite.org> [Wed, 18 May 2011 09:05:18 +0200] rev 14352
patch: remove unused variable to make pyflakes test happy
Patrick Mezard <pmezard@gmail.com> [Tue, 17 May 2011 23:46:38 +0200] rev 14351
patch: add lexists() to backends, use it in selectfile()
At this point, all applydiff() filesystem calls should pass through fsbackend.
Patrick Mezard <pmezard@gmail.com> [Tue, 17 May 2011 23:46:38 +0200] rev 14350
patch: move copyfile() into backends, abstract basedir
Patrick Mezard <pmezard@gmail.com> [Tue, 17 May 2011 23:46:37 +0200] rev 14349
patch: merge makerejlines() into write_rej()
Patrick Mezard <pmezard@gmail.com> [Tue, 17 May 2011 23:46:15 +0200] rev 14348
patch: extract fs access from patchfile into fsbackend
Most filesystem calls are already isolated in patchfile but this is not enough:
renames are performed before patchfile is available and some chmod calls are
even done outside of the applydiff call. Once all these calls are extracted
into a backend class, we can provide cleaner APIs to write to a working
directory context directly into the repository.
Patrick Mezard <pmezard@gmail.com> [Tue, 17 May 2011 23:27:58 +0200] rev 14347
mq: fix qpush changes detection of renamed files
patch.changedfile() was not considering renamed file source as changed.
Augie Fackler <durin42@gmail.com> [Mon, 16 May 2011 16:59:45 -0500] rev 14346
httpconnection: correctly handle redirects from http to https
Previously the connection cache for keepalives didn't keep track of
ssl. This meant that when we connected to an https server after that
same server via http, both on the default port, we'd incorrectly reuse
the non-https connection as the default port meant the connection
cache key was the same.
Adrian Buehlmann <adrian@cadifra.com> [Sun, 15 May 2011 21:33:51 +0200] rev 14345
win32.py: add argtypes and restype
This is a feature of ctypes. Without these, pypy complains with
RuntimeWarning: C function without declared arguments called
RuntimeWarning: C function without declared return type called
As a side effect of specifying restypes, the return value of e.g. CreateFileA
is now implicitly converted to an instance of _HANDLE, so we also need to
change the definition
_INVALID_HANDLE_VALUE = -1
to
_INVALID_HANDLE_VALUE = _HANDLE(-1).value
Otherwise, tests for equality to _INVALID_HANDLE_VALUE in code like
def _getfileinfo(name):
fh = _kernel32.CreateFileA(name, 0,
_FILE_SHARE_READ | _FILE_SHARE_WRITE | _FILE_SHARE_DELETE,
None, _OPEN_EXISTING, 0, None)
if fh == _INVALID_HANDLE_VALUE:
_raiseoserror(name)
would now fail to detect an invalid handle, which in turn would lead to
exceptions raised with wrong errno values, like e.g.
>>> nlinks('missing.txt')
Traceback (most recent call last):
...
OSError: [Errno 9] missing.txt: The handle is invalid.
instead of the correct (as per this patch and before it)
>>> nlinks('missing.txt')
Traceback (most recent call last):
...
OSError: [Errno 2] missing.txt: The system cannot find the file specified.
Adrian Buehlmann <adrian@cadifra.com> [Sun, 15 May 2011 21:27:59 +0200] rev 14344
win32.py: more explicit definition of _STD_ERROR_HANDLE
Matt Mackall <mpm@selenic.com> [Mon, 16 May 2011 17:02:35 -0500] rev 14343
revset: add follow(filename) to follow a filename's history across copies
Matt Mackall <mpm@selenic.com> [Mon, 16 May 2011 17:02:35 -0500] rev 14342
revset: introduce filelog() to emulate log's fast path
filelog() only reports revisions present in the matching filelogs.
Augie Fackler <durin42@gmail.com> [Thu, 12 May 2011 10:48:31 -0500] rev 14341
httpclient: import revision b8c3511a8cae from py-nonblocking-http
Fixes issues with SSL_ERROR_WANT_READ incorrectly breaking the
response read.
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:56:26 +0200] rev 14340
run-tests: replace chdir() with Popen cwd option
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:54:43 +0200] rev 14339
run-tests: make --debug run in the temporary test directory
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:52:28 +0200] rev 14338
run-tests: use the common test path on Windows and Java
The alternate one did not run in the test directory and controlling
the jobs execution with threads instead of process made it harder
to fix.
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:41:46 +0200] rev 14337
run-tests: ignore timeout when Popen.terminate is unavailable
Popen.terminate was introduced in python 2.6
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:26:50 +0200] rev 14336
run-tests: fix hg.bat python reference
hg.bat expects to live in pythonxx/scripts and the python interpreter
to be in pythonxx. run-tests.py file layout is a little different and
python location must be fixed.
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:24:14 +0200] rev 14335
run-tests: fix python executable detection and copy on Windows
Sune Foldager <cryo@cyanite.org> [Mon, 16 May 2011 13:06:48 +0200] rev 14334
changelog: don't use generaldelta
Sune Foldager <cryo@cyanite.org> [Mon, 16 May 2011 12:44:34 +0200] rev 14333
revlog: get rid of defversion
defversion was a property (later option) on the store opener, used to propagate
the changelog revlog format to the other revlogs, so they would be created with
the same format.
This required that the changelog instance was created before any other revlog;
an invariant that wasn't directly enforced (or documented) anywhere.
We now use the revlogv1 requirement instead, which is transfered to the store
opener options. If this option is missing, v0 revlogs are created.
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 16 May 2011 11:52:28 +0200] rev 14332
bash_completion: Use "hg paths -q" instead of piping through sed
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 16 May 2011 11:41:48 +0200] rev 14331
paths: Add support for -q/--quiet
Suppresses output (resolved paths or "not found!") when searching a path,
similar to "grep -q".
Sample usage: hg paths -q foo || echo "there is no foo"
Just prints path names (instead of "name = result") when listing all path
definitions, like "hg bookmarks -q".
Sample usage: hg paths -q | while read i; do hg incoming "$i"; done
Sune Foldager <cryo@cyanite.org> [Mon, 16 May 2011 11:14:06 +0200] rev 14330
fix test broken in merge from stable
Matt Mackall <mpm@selenic.com> [Sun, 15 May 2011 13:15:41 -0500] rev 14329
merge with stable
Steve Borho <steve@borho.org> [Fri, 13 May 2011 19:46:36 -0500] rev 14328
simplemerge: do not allow binary files to abort an entire merge
When used as the default merge tool, or used as a --tool override,
the simplemerge script should not be allowed to raise a util.Abort
just because one of the files being merged is binary. Instead, return
1 and mark the file unresolved.
Javi Merino <cibervicho@gmail.com> [Sun, 15 May 2011 18:00:22 +0100] rev 14327
extdiff: grammar "allows to" -> "allows one to"
The verb to allow requires a direct object.
Lintian, a Debian tool to find common mistakes, reported it. I'm not a
native english speaker but I think this is correct.
Matt Mackall <mpm@selenic.com> [Sun, 15 May 2011 11:50:16 -0500] rev 14326
debugrevlog: add --dump flag to dump graphable per-revision statistics
Matt Mackall <mpm@selenic.com> [Sun, 15 May 2011 11:50:15 -0500] rev 14325
revlog: restore the base method
Brendan Cully <brendan@kublai.com> [Sat, 14 May 2011 22:07:58 -0700] rev 14324
Hardcoding ARCHFLAGS breaks the build against fink's python
Fink's python is either i386 or amd64, but not universal. Setting ARCHFLAGS to the
empty string produces a successful build against both OS X python and fink python.
The modules will no longer be universal -- if that is an issue, we can change the
test to extract ARCHFLAGS from distutils.sysconfig and remove ppc if necessary.
Sune Foldager <cryo@cyanite.org> [Sat, 14 May 2011 00:30:32 +0200] rev 14323
debugindex etc.: add --changelog and --manifest options
These open the changelog and manifest, respectively, directly so you don't
need to specify the path.
The options have been added to debugindex, debugdata and debugrevlog.
The patch also fixes some minor usage-related bugs.
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 14:58:24 -0500] rev 14322
scmutil: drop aliases in cmdutil for match functions
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 14:48:48 -0500] rev 14321
scmutil: drop some aliases in cmdutil
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 14:07:16 -0500] rev 14320
scmutil: fold in wdutil
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 14:06:28 -0500] rev 14319
scmutil: move revsingle/pair/range from cmdutil
This allows users at levels below the command layer to avoid import loops.
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 12:57:27 -0500] rev 14318
help: consolidate topic hooks in help.py
This removes loops like cmdutil->revset->help->extensions->cmdutil and
simplifies the code.
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 11:04:51 -0500] rev 14317
extensions: move moduledoc to break import loop with help
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 11:04:51 -0500] rev 14316
extensions: drop maxlength from enabled and disabled
This is a bad/silly API. Instead calculate maxlength in one place in help
it's used and simplify all the callers.
Martin Geisler <mg@aragost.com> [Fri, 13 May 2011 11:26:29 +0200] rev 14315
Makefile: remove pure modules on clean
Cédric Krier <ced@b2ck.com> [Wed, 11 May 2011 18:18:50 +0200] rev 14314
hgcia: Handle URL like in notify (issue2406)
The URL must be composed with baseurl and webroot like in notify
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 12 May 2011 16:41:56 +0200] rev 14313
util: make str(url) return file:/// for abs paths again
str(url) was recently changed to return only file:/. However, the
canonical way to represent absolute local paths is file:/// [1], which
is also expected by at least hgsubversion.
Relative paths are returned as file:the/relative/path.
[1] http://en.wikipedia.org/wiki/File_URI_scheme
Matt Mackall <mpm@selenic.com> [Thu, 12 May 2011 18:35:04 -0500] rev 14312
subrepo: use a safer revision check for hg repos
This avoids a traceback if the expected revision has been stripped.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 12 May 2011 20:27:35 +0200] rev 14311
graphlog: use cmdutil.command decorator
Adrian Buehlmann <adrian@cadifra.com> [Thu, 12 May 2011 20:14:42 +0200] rev 14310
purge: use cmdutil.command decorator
Adrian Buehlmann <adrian@cadifra.com> [Thu, 12 May 2011 18:27:05 +0200] rev 14309
patchbomb: use cmdutil.command decorator
Adrian Buehlmann <adrian@cadifra.com> [Thu, 12 May 2011 17:50:07 +0200] rev 14308
transplant: use cmdutil.command decorator
Steven Brown <StevenGBrown@gmail.com> [Thu, 12 May 2011 18:06:15 +0800] rev 14307
monoblue: improve readability of the filenolink template
Whitespace changes only. No difference to the rendered page.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 12 May 2011 17:09:56 +0200] rev 14306
rebase: use cmdutil.command decorator
Sune Foldager <cryo@cyanite.org> [Thu, 12 May 2011 22:37:52 +0200] rev 14305
debugrevlog: many improvements
Sune Foldager <cryo@cyanite.org> [Thu, 12 May 2011 18:22:49 +0200] rev 14304
add debugrevlog command
Displays data and statistics about revlogs, including generaldelta details.
Sune Foldager <cryo@cyanite.org> [Thu, 12 May 2011 18:19:28 +0200] rev 14303
check-code: add /= to operator list
Sune Foldager <cryo@cyanite.org> [Thu, 12 May 2011 16:21:01 +0200] rev 14302
order commands alphabetically
Sune Foldager <cryo@cyanite.org> [Thu, 12 May 2011 15:24:33 +0200] rev 14301
revlog: improve delta generation heuristics for generaldelta
Without this change, pulls (and clones) into a generaldelta repository could
generate very inefficient revlogs, the size of which could be at least twice
the original size.
This was caused by the generated delta chains covering too large distances,
causing new chains to be built far too often. This change addresses the
problem by forcing a delta against second parent or against the previous
revision, when the first parent delta is in danger of creating a long chain.
Martin Geisler <mg@aragost.com> [Thu, 12 May 2011 14:31:07 +0200] rev 14300
keyword: use cmdutil.command decorator
Martin Geisler <mg@aragost.com> [Thu, 12 May 2011 14:31:01 +0200] rev 14299
gpg: use cmdutil.command decorator
Martin Geisler <mg@aragost.com> [Thu, 12 May 2011 14:25:08 +0200] rev 14298
mq: use cmdutil.command decorator
Adrian Buehlmann <adrian@cadifra.com> [Thu, 12 May 2011 08:14:04 +0200] rev 14297
commands: use a decorator to build table incrementally
this allows to define the table entries near the command functions
Sune Foldager <cryo@cyanite.org> [Thu, 12 May 2011 13:47:17 +0200] rev 14296
revlog: fix bug in chainbase cache
The bug didn't cause corruption, and thus wasn't caught in hg verify or in
tests. It could lead to delta chains longer than normally allowed, by
affecting the code that decides when to add a full revision. This could,
in turn, lead to performance regression.
Zachary Gramana <zgramana@pottsconsultinggroup.com> [Mon, 09 May 2011 15:16:56 -0400] rev 14295
setup.py: workaround for missing bz2 module in IronPython
IronPython does not provide the bz2 module on its own. This patch skips
importing it to allow setup to continue.
(minor tweaks by mpm)
Augie Fackler <durin42@gmail.com> [Wed, 11 May 2011 08:07:51 -0500] rev 14294
httpconnection: fix debug logging option for httpclient
Augie Fackler <durin42@gmail.com> [Wed, 11 May 2011 08:00:48 -0500] rev 14293
httpclient: import f4c380237fd5 to fix keepalive not working
Sune Foldager <cryo@cyanite.org> [Wed, 11 May 2011 11:04:44 +0200] rev 14292
revlog: add docstring to _addrevision
Matt Mackall <mpm@selenic.com> [Tue, 10 May 2011 16:08:47 -0500] rev 14291
cmdutil: make_file to makefileobj
Matt Mackall <mpm@selenic.com> [Tue, 10 May 2011 16:08:46 -0500] rev 14290
cmdutil: make_filename -> makefilename
Matt Mackall <mpm@selenic.com> [Tue, 10 May 2011 16:08:46 -0500] rev 14289
cmdutil: bail_if_changed to bailifchanged
Adrian Buehlmann <adrian@cadifra.com> [Sun, 08 May 2011 23:27:48 +0200] rev 14288
store: change names to comply with project coding standards
as stated at http://mercurial.selenic.com/wiki/CodingStyle
(see also http://selenic.com/pipermail/mercurial-devel/2011-May/031139.html )
name changes done at module scope:
_build_lower_encodefun -> _buildlowerencodefun
_windows_reserved_filenames -> _winreservednames (see 23cd7eeff678)
MAX_PATH_LEN_IN_HGSTORE -> _maxstorepathlen
DIR_PREFIX_LEN -> _dirprefixlen
_MAX_SHORTENED_DIRS_LEN -> _maxshortdirslen
(no users of these outside the store module)
changed locals:
win_reserved -> winreserved
space_left -> spaceleft
Sune Foldager <cryo@cyanite.org> [Tue, 10 May 2011 17:38:58 +0200] rev 14287
filelog: add file function to open other filelogs
Martin Geisler <mg@aragost.com> [Tue, 10 May 2011 14:42:53 +0200] rev 14286
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com> [Tue, 10 May 2011 13:19:05 +0200] rev 14285
help: give hint about 'hg help -e' when appropriate
The hint is only given if a command shadows an extension with the same
name and when that extension has a multi-line module docstring.
Henri Wiechers <hwiechers@gmail.com> [Wed, 20 Jan 2010 20:24:20 +0200] rev 14284
help: add -e/--extension switch to display extension help text
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 18:11:08 +0200] rev 14283
debugbuilddag: read DAG from stdin if not given on cmdline
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 17:20:15 +0200] rev 14282
run-tests: remove check on --shell argument
No shell is needed when executing Python tests and finding a good
shell might be difficult/impossible on some platforms (e.g., Windows).
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 17:15:44 +0200] rev 14281
subrepo: create subrepos using clone instead of pull
Subrepositories used to be created empty and then filled with data
using pull. This is wasteful when you do a clone from a local source
since it means that no hardlinks are created for the subrepos.
This patch make the hgsubrepo._get method check for an empty subrepo
and in that case do a clone instead of a pull. This brings in the same
data as before, but creates hardlinks when possible.
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 16:41:45 +0200] rev 14280
progress: add speed format
This is not enabled by default, but the user can add it by setting
progress.format.
We might want to let the estimate format output a speed instead of an
ETA if there is not total. Currently estimate just returns the empty
string in that case.
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 14:40:49 +0200] rev 14279
debugbuilddag: output progress information
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 14:33:08 +0200] rev 14278
test-debugbuilddag: replace unneeded 'rm -rf' with 'rm -r'
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 11:01:45 +0200] rev 14277
hgrc.5: document positional arguments in aliases
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 10:52:08 +0200] rev 14276
merge with stable
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 10:46:54 +0200] rev 14275
hgrc.5: document shell aliases
Matt Mackall <mpm@selenic.com> [Sun, 08 May 2011 16:41:41 -0500] rev 14274
merge with crew
Adrian Buehlmann <adrian@cadifra.com> [Sun, 08 May 2011 20:45:47 +0200] rev 14273
rename util.is_exec to isexec
Adrian Buehlmann <adrian@cadifra.com> [Sun, 08 May 2011 20:42:28 +0200] rev 14272
posix: delete unused expand_glob
Adrian Buehlmann <adrian@cadifra.com> [Sun, 08 May 2011 20:35:46 +0200] rev 14271
rename util.find_exe to findexe
Sune Foldager <cryo@cyanite.org> [Sun, 08 May 2011 21:32:33 +0200] rev 14270
revlog: support writing generaldelta revlogs
With generaldelta switched on, deltas are always computed against the first
parent when adding revisions. This is done regardless of what revision the
incoming bundle, if any, is deltaed against.
The exact delta building strategy is subject to change, but this will not
affect compatibility.
Generaldelta is switched off by default.
Sune Foldager <cryo@cyanite.org> [Sun, 08 May 2011 21:24:30 +0200] rev 14269
cmdutil: fix errors reported by pyflakes test
Matt Mackall <mpm@selenic.com> [Sun, 08 May 2011 16:16:41 -0500] rev 14268
merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 08 May 2011 11:39:24 -0500] rev 14267
check-code: complain about set.isdisjoint
Alexander Solovyov <alexander@solovyov.net> [Sun, 01 May 2011 13:07:00 +0200] rev 14266
fix bookmarks rollback behavior
Before this patch undo.bookmarks was created on bookmarks write and
not with other transaction-related files. There were two issues: first
is that if you have changed bookmarks few times after a transaction
happened, rollback will give you a state which can point to
non-existing revision. Second is that if you have not changed
bookmarks after a transaction, rollback will touch your state anyway.
This change also adds `localrepo._writejournal` method, which can be
used by other extensions to save their transaction-related backup in
right time.
Alexander Solovyov <alexander@solovyov.net> [Sun, 01 May 2011 12:29:32 +0200] rev 14265
add positional arguments to non-shell aliases
Idan Kamara <idankk86@gmail.com> [Sat, 07 May 2011 21:01:15 +0300] rev 14264
run-tests: take the basepath when constructing the test temp dir
so it's possible to run tests that are outside the test/ dir
Idan Kamara <idankk86@gmail.com> [Sat, 07 May 2011 20:56:43 +0300] rev 14263
run-tests: compare absolute paths in _checkhglib
Adrian Buehlmann <adrian@cadifra.com> [Sat, 07 May 2011 22:25:20 +0200] rev 14262
util: rename _windows_reserved_filenames and _windows_reserved_chars
Adrian Buehlmann <adrian@cadifra.com> [Sat, 07 May 2011 20:22:32 +0200] rev 14261
opener: rename _can_symlink to _cansymlink
Patrick Mezard <pmezard@gmail.com> [Sun, 08 May 2011 17:48:31 +0200] rev 14260
patch: make patch()/internalpatch() always update the dirstate
Patrick Mezard <pmezard@gmail.com> [Sun, 08 May 2011 17:48:30 +0200] rev 14259
patch: move updatedir() from cmdutil into patch
Also, create an artificial wdutil.py to avoid import cycles between patch.py
and cmdutil.py.
Patrick Mezard <pmezard@gmail.com> [Sun, 08 May 2011 17:48:29 +0200] rev 14258
record: unconditionally update the working dir after patching
Patrick Mezard <pmezard@gmail.com> [Sun, 08 May 2011 17:48:29 +0200] rev 14257
mq: explicitly updatedir() even if patch() fails
It already works that way in practice, and we intend to merge updatedir() into
patch().
Idan Kamara <idankk86@gmail.com> [Fri, 06 May 2011 19:55:46 +0300] rev 14256
mq: allow to qpop/push with a dirty working copy (issue2780)
It's safe to do so if the sets of changed files in the
working copy and patches are disjoint.
Idan Kamara <idankk86@gmail.com> [Fri, 06 May 2011 19:03:41 +0300] rev 14255
patch: introduce changedfiles
returns the set of all changed files in a given patch
Sune Foldager <cryo@cyanite.org> [Sat, 07 May 2011 23:14:36 +0200] rev 14254
debugindex: change output for generaldelta revlogs
For generaldelta revlogs, reporting the deltaparent instead of the chain base
makes more sense, since that's what's actually stored in the revlog.
Sune Foldager <cryo@cyanite.org> [Sat, 07 May 2011 22:40:17 +0200] rev 14253
revlog: support reading generaldelta revlogs
Generaldelta is a new revlog global flag. When it's turned on, the base field
of each revision entry holds the deltaparent instead of the base revision of
the current delta chain.
This allows for great potential flexibility when generating deltas, as any
revision can serve as deltaparent. Previously, the deltaparent for revision r
was hardcoded to be r - 1.
The base revision of the delta chain can still be accessed as before, since it
is now computed in an iterative fashion, following the deltaparents backwards.
Sune Foldager <cryo@cyanite.org> [Sat, 07 May 2011 22:40:14 +0200] rev 14252
revlog: calculate base revisions iteratively
This is in preparation for generaldelta, where the revlog entry base field is
reinterpreted as the deltaparent. For that reason we also rename the base
function to chainbase.
Without generaldelta, performance is unaffected, but generaldelta will suffer
from this in _addrevision, since delta chains will be walked repeatedly.
A cache has been added to eliminate this problem completely.
Sune Foldager <cryo@cyanite.org> [Sat, 07 May 2011 22:37:40 +0200] rev 14251
revlog: remove the last bits of punched/shallow
Most of it was removed in e7483ec3c374, but a few pieces were accidentally
left behind.
Patrick Mezard <pmezard@gmail.com> [Sat, 07 May 2011 21:12:35 +0200] rev 14250
util: make readfile() operate in binary mode
writefile() and appendfile() are already working that way.
Patrick Mezard <pmezard@gmail.com> [Sat, 07 May 2011 21:12:33 +0200] rev 14249
cmdutil: normalize log message eols when reading from file
This will be necessary once util.readfile() operates in binary mode. While
changelog.add() already normalizes the message, doing so in logmessage() is
required as ui.edit() or others expect messages with LF only.
Patrick Mezard <pmezard@gmail.com> [Sat, 07 May 2011 21:12:30 +0200] rev 14248
match: make 'listfile:' split on LF and CRLF
We want util.readfile() to operate in binary mode, so EOLs have to be handled
correctly depending on the platform. It seems both easier and more convenient
to treat LF and CRLF the same way on all platforms.
Patrick Mezard <pmezard@gmail.com> [Sat, 07 May 2011 17:25:12 +0200] rev 14247
progress: remove useless statement left by bab267e7fc1a
Patrick Mezard <pmezard@gmail.com> [Sat, 07 May 2011 17:25:02 +0200] rev 14246
debugbuilddag: simplify tags serialization a bit
Augie Fackler <durin42@gmail.com> [Mon, 02 May 2011 12:10:50 -0500] rev 14245
httprepo: send 100-continue on POSTs if using http2
Augie Fackler <durin42@gmail.com> [Fri, 06 May 2011 10:22:08 -0500] rev 14244
url: use new http support if requested by the user
The new http library is wired in via an extra module
(httpconnection.py), as it requires similar but different plumbing to
connect the library to Mercurial's internals and urllib2. Eventualy we
should be able to remove all of keepalive.py and its associated tangle
in url.py and replace it all with the code in httpconnection.py.
To use the new library, set 'ui.usehttp2' to true. The underlying http
library uses the logging module liberally, so if things break you can
use 'ui.http2debuglevel' to set the log level to INFO or DEBUG to get
that logging information (for example, ui.http2debuglevel=info.)
Augie Fackler <durin42@gmail.com> [Fri, 06 May 2011 09:57:55 -0500] rev 14243
Import new http library as mercurial.httpclient.
This is revision a4229f13c374 of
http://py-nonblocking-http.googlecode.com/ with a no-check-code
comment added to the end of each file using `for fi in $(hg manifest |
grep mercurial/httpclient/) ; echo '# no-check-code' >> $fi`.
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 06 May 2011 15:48:04 -0300] rev 14242
commands, i18n: add translation hint for split message
Idan Kamara <idankk86@gmail.com> [Fri, 06 May 2011 19:03:45 +0300] rev 14241
mq: don't hide the patch module
Idan Kamara <idankk86@gmail.com> [Fri, 06 May 2011 18:45:12 +0300] rev 14240
patch: remove unused ui arg to iterhunks
Idan Kamara <idankk86@gmail.com> [Fri, 06 May 2011 18:45:12 +0300] rev 14239
mq: loosen except clause when reading patch headers
Matt Mackall <mpm@selenic.com> [Fri, 06 May 2011 13:04:24 -0500] rev 14238
merge with abuehl
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:41:04 +0200] rev 14237
rename util.set_signal_handler to setsignalhandler
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:36:05 +0200] rev 14236
rename util.executable_path to executablepath
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:34:34 +0200] rev 14235
rename util.os_link to oslink
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:31:09 +0200] rev 14234
rename explain_exit to explainexit
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:25:35 +0200] rev 14233
rename util.set_binary to setbinary
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:22:31 +0200] rev 14232
rename util.set_flags to setflags
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:19:48 +0200] rev 14231
rename util.parse_patch_output to parsepatchoutput
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:16:22 +0200] rev 14230
rename util.lookup_reg to lookupreg
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:13:46 +0200] rev 14229
rename util.set_hgexecutable to _sethgexecutable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:10:29 +0200] rev 14228
rename util.main_is_frozen to mainfrozen
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 15:02:53 +0200] rev 14227
scmutil: rename local function _add_dir_if_not_there
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 14:58:04 +0200] rev 14226
rename scmutil.user_rcpath to userrcpath
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 14:54:05 +0200] rev 14225
rename scmutil.system_rcpath to systemrcpath
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 14:52:25 +0200] rev 14224
rename scmutil.os_rcpath to osrcpath
Matt Mackall <mpm@selenic.com> [Fri, 06 May 2011 11:51:18 -0500] rev 14223
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 06 May 2011 11:50:58 -0500] rev 14222
merge with crew
Martin Geisler <mg@aragost.com> [Fri, 06 May 2011 14:29:53 +0200] rev 14221
merge with stable
The change from 7b627923739f (parent 2) is not needed after switching
to the new url parser.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 06 May 2011 09:54:06 +0200] rev 14220
rename path_auditor to pathauditor
The Mercurial 1.9 release is moving a lot of stuff around anyway and we are
already moving path_auditor from util.py to scmutil.py for that release.
So this seems like a good opportunity to do such a rename. It also strengthens
the current project policy to avoid underbars in names.
Martin Geisler <mg@aragost.com> [Fri, 06 May 2011 12:09:20 +0200] rev 14219
revlog: use real Booleans instead of 0/1 in nodesbetween
Martin Geisler <mg@aragost.com> [Fri, 06 May 2011 11:31:40 +0200] rev 14218
patch: fix clash between local variable and exception instance
The local err variable would be bound to PatchError thrown and it
keeps this value even after the except block is executed.
The whole thing worked anyway since the rejected variable is set in
the except block and this makes the function return -1 when a
PatchError is thrown.
Martin Geisler <mg@aragost.com> [Fri, 06 May 2011 11:12:55 +0200] rev 14217
patchfile: use real Booleans instead of 0/1
Martin Geisler <mg@aragost.com> [Fri, 06 May 2011 11:11:55 +0200] rev 14216
annotate: use real Booleans instead of 0/1
Martin Geisler <mg@aragost.com> [Fri, 06 May 2011 10:02:46 +0200] rev 14215
hbisect: use real Booleans instead of 0/1
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Fri, 06 May 2011 14:45:13 +0200] rev 14214
summary: run discovery only once for in/out against same repo
Reuses the result of findcommonincoming if default and default-push
are the same.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Fri, 06 May 2011 14:44:18 +0200] rev 14213
discovery: resurrect findoutgoing as findcommonoutgoing for extension hooks
discovery.findoutgoing used to be a useful hook for extensions like
hgsubversion. This patch reintroduces this version of findcommonincoming
which is meant to be used when computing outgoing changesets.
Idan Kamara <idankk86@gmail.com> [Fri, 06 May 2011 16:00:48 +0300] rev 14212
transplant: remove unneeded loop over repo in revset
Idan Kamara <idankk86@gmail.com> [Fri, 06 May 2011 15:37:38 +0300] rev 14211
transplant: fix revset doc
Idan Kamara <idankk86@gmail.com> [Fri, 06 May 2011 16:07:35 +0300] rev 14210
mq: add a 'mq()' revset predicate that returns applied mq csets
Augie Fackler <durin42@gmail.com> [Fri, 06 May 2011 10:17:07 -0500] rev 14209
pyflakes: ignore files marked no-check-code
Sune Foldager <cryo@cyanite.org> [Thu, 05 May 2011 18:05:24 +0200] rev 14208
revlog: compute correct deltaparent in the deltaparent function
It now returns nullrev for chain base revisions, since they are conceptually
deltas against nullrev. The revdiff function was updated accordingly.
Zachary Gramana <zgramana@pottsconsultinggroup.com> [Thu, 05 May 2011 11:33:02 -0400] rev 14207
changelog: fixes leaked file handle
Steven Brown <StevenGBrown@gmail.com> [Thu, 05 May 2011 23:21:37 +0800] rev 14206
setdiscovery: limit lines to 80 characters
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 05 May 2011 16:01:09 +0200] rev 14205
subrepo: use code from 71ea5b2b9517 only if Python needs it (issue2795)
With Python >= 2.6 the original code already works correct, therefore the
fix for issue2556 on Python <= 2.5 broke relative subrepositories with
newer versions of Python.
Augie Fackler <durin42@gmail.com> [Wed, 04 May 2011 22:08:55 -0500] rev 14204
sslutil: extracted ssl methods from httpsconnection in url.py
This makes it easier to share ssl cert validation with other http
implementations.
Mads Kiilerich <mads@kiilerich.com> [Fri, 06 May 2011 00:34:10 +0200] rev 14203
check-code: fix checking for sh style in .t tests
Restore checks after they were disabled by 64de9ca66511.
Martin Geisler <mg@lazybytes.net> [Thu, 05 May 2011 20:04:49 +0200] rev 14202
run-tests: add --shell command line flag
This makes it easy to test with, say, both /bin/bash and /bin/dash
instead of changing the system-wide /bin/sh.
Martin Geisler <mg@lazybytes.net> [Thu, 05 May 2011 20:03:43 +0200] rev 14201
run-tests: use type of default to convert environment variable
Before, defaults could only be integers, they can now also be strings,
floats and what have you.
Martin Geisler <mg@lazybytes.net> [Thu, 05 May 2011 19:29:02 +0200] rev 14200
test-treediscovery: fix escaping for both dash and bash
A '\n' on the command line is turned into a newline by dash, but kept
as-is by bash, which resulted in a syntax error in the config file.
Luckily, dash wont turn '\n' into a newline when it is part of a
here-doc, so we can write the config file using that technique.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 05 May 2011 12:53:33 +0200] rev 14199
treediscovery: fix regression when run against older repos (issue2793)
I ran the entire test suite with "known" and "getbundle" disabled in
localrepository. This generated failures because the old findoutgoing
had always queried remote's heads explicitly and thus always got them
back in the returned heads. treediscovery.findcommonincoming now
correctly returns remote's heads in all cases.
Also adds a dedicated test for running treediscovery against a
pre-getbundle HTTP server.
Martin Geisler <mg@aragost.com> [Thu, 05 May 2011 14:57:21 +0200] rev 14198
commands: use util.Abort's hint some more
Martin Geisler <mg@aragost.com> [Thu, 05 May 2011 12:16:43 +0200] rev 14197
commands: use double-quotes for strings with single-quotes
The globalopts table contain a couple of \' still, but it was
normalized like that in 83238c1db6de.
Sune Foldager <cryo@cyanite.org> [Thu, 05 May 2011 12:46:02 +0200] rev 14196
revlog: remove support for punched/shallow
The feature was never finished, and there has been restructuring going on
since it was added.
Sune Foldager <cryo@cyanite.org> [Thu, 05 May 2011 12:55:12 +0200] rev 14195
revlog: remove support for parentdelta
We will introduce a more powerful and general delta concept instead,
called generaldelta.
Adrian Buehlmann <adrian@cadifra.com> [Wed, 04 May 2011 12:58:59 +0200] rev 14194
store: break up reference cycle introduced in 9cbff8a39a2a
see also 996c1cd8f530
Augie Fackler <durin42@gmail.com> [Wed, 04 May 2011 10:32:08 -0500] rev 14193
test-https.t: clean up superfluous trailing whitespace
Augie Fackler <durin42@gmail.com> [Wed, 04 May 2011 10:39:10 -0500] rev 14192
run-tests.py: correctly handle list options with parallel tasks
Idan Kamara <idankk86@gmail.com> [Wed, 04 May 2011 23:12:23 +0300] rev 14191
mq: don't suggest to refresh when qpushing with no applied patches
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Wed, 04 May 2011 20:14:30 +0200] rev 14190
bundlerepo: fix closing and docstring of getremotechanges
I did not in fact implement what I documented about closing of the
original repo. And there was a bit of leftover from an older version
of the API.
Kevin Bullock <kbullock@ringworld.org> [Wed, 04 May 2011 10:43:47 -0500] rev 14189
bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org> [Sat, 11 Dec 2010 18:08:55 +0100] rev 14188
bookmarks: allow to create/move bookmark without making it current (issue2788)
Adds a -i/--inactive flag to the bookmarks command to create or move a
bookmark without making it the current one. This lets you use a bookmark
like a shareable, movable 'tag' and less like a 'branch'.
Thanks to Alexander Solovyov <alexander@solovyov.net> for most of the
work of implementation, and Matt Mackall <mpm@selenic.com> for
suggesting the option name.
Mads Kiilerich <mads@kiilerich.com> [Thu, 05 May 2011 01:57:13 +0200] rev 14187
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com> [Thu, 05 May 2011 01:47:46 +0200] rev 14186
tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com> [Thu, 05 May 2011 01:47:46 +0200] rev 14185
tests: fix test-ssh.t after 6bd9778ae749
Sune Foldager <cryo@cyanite.org> [Wed, 04 May 2011 19:27:55 +0200] rev 14184
fix errors reported by pyflakes test
Matt Mackall <mpm@selenic.com> [Wed, 04 May 2011 08:21:50 -0500] rev 14183
merge with crew
Sune Foldager <cryo@cyanite.org> [Wed, 04 May 2011 13:37:41 +0200] rev 14182
tests: fix deprecated use of hg debugdata/debugindex
For filelogs, debugindex and debugdata can be called with the file name
directly instead of the path to the revlog. Since in the future filelogs
will no longer be valid revlogs, calling with a path to the revlog is
deprecated for debugdata. For debugindex it is expected to still work,
but I changed them as well for consistency.
Matt Mackall <mpm@selenic.com> [Tue, 03 May 2011 22:04:23 -0500] rev 14181
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 03 May 2011 22:04:11 -0500] rev 14180
merge with crew
Matt Mackall <mpm@selenic.com> [Tue, 03 May 2011 21:53:13 -0500] rev 14179
hgext: fixup a couple missed file().read() instances
Adrian Buehlmann <adrian@cadifra.com> [Tue, 03 May 2011 22:11:56 +0200] rev 14178
test-casecollision.t: add test for case changing rename
timeless <timeless@mozdev.org> [Sun, 01 May 2011 18:57:11 +0200] rev 14177
convert: fix error in git solaris code
timeless <timeless@mozdev.org> [Sun, 01 May 2011 17:36:16 +0200] rev 14176
test: add pyflakes checking for unable to detect undefined names
timeless <timeless@mozdev.org> [Sun, 01 May 2011 17:27:41 +0200] rev 14175
tests: add pyflakes checking for assigned to but never used
timeless <timeless@mozdev.org> [Sun, 01 May 2011 17:20:40 +0200] rev 14174
remove unused variables
timeless <timeless@mozdev.org> [Sun, 01 May 2011 18:56:27 +0200] rev 14173
test-pyflake: improve sorting algorithm
Johan Euphrosine <proppy@google.com> [Mon, 02 May 2011 09:50:21 +0200] rev 14172
add make check: tests rule
Sune Foldager <cryo@cyanite.org> [Tue, 03 May 2011 22:28:08 +0200] rev 14171
ui: add configint function and tests
Kevin Bullock <kbullock@ringworld.org> [Tue, 03 May 2011 11:46:02 -0500] rev 14170
mq: strip extra whitespace from node ids in header (issue2790)
This makes `hg qpush --exact` work with patches created by `hg export`.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 10:11:24 +0200] rev 14169
check-code: disallow calling opener(...).read() and opener(..).write()
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 10:11:18 +0200] rev 14168
prevent transient leaks of file handle by using new helper functions
These leaks may occur in environments that don't employ a reference
counting GC, i.e. PyPy.
This implies:
- changing opener(...).read() calls to opener.read(...)
- changing opener(...).write() calls to opener.write(...)
- changing open(...).read(...) to util.readfile(...)
- changing open(...).write(...) to util.writefile(...)
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 10:11:05 +0200] rev 14167
util & scmutil: adapt read/write helpers as request by mpm
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 09:11:35 +0200] rev 14166
store: use a subclass, not a function for fncacheopener
jfh <jason@jasonfharris.com> [Mon, 18 Apr 2011 02:42:52 +0200] rev 14165
util.termwidth: never return 0 for terminal width
Catch a case where the termwidth was being reported as 0 when I was connecting
with TLMTask instead of NSTask in OSX. This caused the progress extension to
print no progress. The termwidth should never return 0 so in case we would
return 0, simply fall back to the default termwidth below which is 80.