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.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 19:21:30 +0200] rev 14164
discovery: add new set-based discovery
Adds a new discovery method based on repeatedly sampling the still
undecided subset of the local node graph to determine the set of nodes
common to both the client and the server.
For small differences between client and server, it uses about the same
or slightly fewer roundtrips than the old tree-based discovery. For
larger differences, it typically reduces the number of roundtrips
drastically (from 150 to 4, for instance).
The old discovery code now lives in treediscovery.py, the new code is
in setdiscovery.py.
Still missing is a hook for extensions to contribute nodes to the
initial sample. For instance, Augie's remotebranches could contribute
the last known state of the server's heads.
Credits for the actual sampler and computing common heads instead of
bases go to Benoit Boissinot.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 19:21:30 +0200] rev 14163
debugbuilddag: use memctx for speed
This drops the options to run arbitrary shell commands within
commits and the option to create a file that gets appended to
in every revision. It now supports to not write file data at
all, which is very fast for generating a pure 00changelog.i
(useful for discovery tests, for instance).
Timings for 1000 linear nodes:
* Old `hg debugbuilddag -o '+1000'` took 4.5 secs.
* New `hg debugbuilddag -o '+1000'` takes 2 secs.
* New `hg debugbuilddag '+1000'` takes 0.8 secs.
(The last one creates only 00changelog.i).
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 19:20:29 +0200] rev 14162
localrepo: reuse parent manifest in commitctx if no files have changed
This speeds up the in-memory version of debugbuilddag that I'm
working on considerably for the case where we want to build just
a 00changelog.i (for discovery tests, for instance).
There are a couple of test changes because node ids in tests
have changed.
The changes to the patch names in test-mq-qdelete.t were required
because they could collide with nodeid abbreviations and newly
actually do (patch "c" collides with id "cafe..." for patch "b").
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 12:36:23 +0200] rev 14161
bundlerepo: fix and improve getremotechanges
Fixes the regression where incoming could show local changes
introduced by rev
72c84f24b420.