Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Feb 2011 03:10:37 +0100] rev 13458
changegroup: don't accept odd chunk headers
Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Feb 2011 03:03:39 +0100] rev 13457
changegroup: verify all stream reads
Mercurial often failed with struct.error or mpatch.mpatchError if incomplete
data was received from a server.
Now we validate all changegroup reads and aborts with
abort: stream ended unexpectedly (got %d bytes, expected %d)
if less than requested was read.
Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Feb 2011 03:02:50 +0100] rev 13456
changegroup: don't accept streams without proper termination
Streams should be terminated with a zero size changegroup, and read should
never be permitted to return less than requested.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 21 Feb 2011 20:58:54 -0300] rev 13455
rollback, i18n: avoid parameterized message
David Soria Parra <dsp@php.net> [Mon, 21 Feb 2011 23:27:45 +0100] rev 13454
summary: add bookmarks to summary
David Soria Parra <dsp@php.net> [Mon, 21 Feb 2011 22:22:12 +0100] rev 13453
bookmarks: issue a warning if remote doesn't support comparing bookmarks
We want to issue a warning and abort comparing bookmarks if remote doesn't
support it. Otherwise hg out -B will list you outgoing bookmarks that cannot
be pushed to the remote repository using hg push -B.
Matt Mackall <mpm@selenic.com> [Mon, 21 Feb 2011 11:24:23 -0600] rev 13452
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 16 Feb 2011 22:42:03 -0200] rev 13451
i18n-pt_BR: synchronized with ed720c7cc97d
David Soria Parra <dsp@php.net> [Mon, 21 Feb 2011 00:37:55 +0100] rev 13450
wireproto: catch possible cast error in pushkey
The server can return an unexpected answer like 'ssl required'. We catch those
possible cast errors and abort the operation.
Gilles Moris <gilles.moris@free.fr> [Sun, 20 Feb 2011 18:06:05 +0100] rev 13449
test-push-http: use killdaemons.py instead of kill to avoid test unreliability
David Soria Parra <dsp@php.net> [Sun, 20 Feb 2011 00:57:55 +0100] rev 13448
bookmarks: mark new bookmark as current if it points to the current dirstate
hg bookmark -r ancestorrev X will not mark X as the current bookmark anymore.
If you want to point a bookmark to a ancestor rev you will use hg update to
move to it. This will set the current bookmark.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 18 Feb 2011 20:25:25 +0100] rev 13447
introduce new RequirementError (issue2649)
This improves the misleading error message
$ hg identify
abort: there is no Mercurial repository here (.hg not found)!
to the more explicit
$ hg identify
abort: requirement 'fake' not supported!
for all commands in commands.optionalrepo, which includes the identify
and serve commands in particular.
This is for the case when a new entry in .hg/requires will be defined
in a future Mercurial release.
Gilles Moris <gilles.moris@free.fr> [Thu, 10 Feb 2011 09:03:06 +0100] rev 13446
rollback: clarifies the message about the reverted state (issue2628)
Previously, when rolling back a transaction, some users could be confused
between the level to which the store is rolled back, and the new parents
of the working directory.
$ hg rollback
rolling back to revision 4 (undo commit)
With this change:
$ hg rollback
repository tip rolled back to tip revision 4 (undo commit)
working directory now based on revision 2 and 1
So now the user can realize that the store has been rolled back to an older
tip, but also that the working directory may not on the tip (here we are
rolling back the merge of the heads 2 and 1)
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Feb 2011 00:57:19 +0100] rev 13445
hgweb: handle invalid requests with both form data and querystring
Invalid requests could give an unhandled ErrorResponse.
Now this ErrorResponse is handled like other ErrorResponses so the client gets
an error message which also is logged on the server.
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Feb 2011 00:52:26 +0100] rev 13444
hgweb: give ErrorResponse a descriptive string/Exception representation
Very handy if the exception should appear in output.
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Feb 2011 00:52:23 +0100] rev 13443
serve: catch and log all Exceptions, not only StandardException
Other exceptions than StandardExceptions were left to the default error handler
which was muted when running in daemon mode.
Now all Exceptions are handled and logged to the log file.
Martin Geisler <mg@lazybytes.net> [Sun, 20 Feb 2011 13:35:30 +0100] rev 13442
test-i18n: make test conditional on msgfmt availability
Steve Borho <steve@borho.org> [Fri, 18 Feb 2011 10:28:20 -0600] rev 13441
match: fix subtle error in _buildmatch
The trailing comma was causing a ValueError. See
https://bitbucket.org/tortoisehg/thg/issue/132
Mads Kiilerich <mads@kiilerich.com> [Fri, 18 Feb 2011 23:41:13 +0100] rev 13440
statichttprepo: don't modify localrepo class variables
This happened to crash in subrepo setups when the base class variable was
modified twice.
Now we don't modify the class variable but an instance copy.
Mads Kiilerich <mads@kiilerich.com> [Fri, 18 Feb 2011 03:35:01 +0100] rev 13439
util: flush stdout before calling external processes
stdout could have content in its buffer while a subprocess ran and emitted
output.
Flushing stdout ensures that output now comes in the right order.
Mads Kiilerich <mads@kiilerich.com> [Fri, 18 Feb 2011 03:34:47 +0100] rev 13438
tests: update test-https.t output
I must have lost the insecure cert warning in a last minute patch series
cleanup of 08f9c587141f.
Oleg Stepanov <oleg.stepanov@jetbrains.com> [Wed, 16 Feb 2011 08:56:11 -0800] rev 13437
Do not allow merging with uncommitted changes in a subrepo
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 17 Feb 2011 18:05:27 -0200] rev 13436
hgwebdir: reduce memory usage for index generation
The archive list generator was holding a reference to each
temporary ui copy passed by rawentries(), so the memory
usage for index generation growed proportionally to the
ui object size and the amount of repositories. By returning a
list instead, the temporary reference is dropped immediately.
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 17 Feb 2011 13:37:52 -0200] rev 13435
pure: fix index parsing on empty repositories
Steve Losh <steve@stevelosh.com> [Thu, 17 Feb 2011 17:15:32 -0500] rev 13434
alias: add test cases for $ escaping in shell aliases
Augie Fackler <durin42@gmail.com> [Wed, 16 Feb 2011 17:36:31 -0600] rev 13433
bookmarks: verify switching bookmarks works properly
Martin Geisler <mg@aragost.com> [Thu, 17 Feb 2011 09:20:44 +0100] rev 13432
subrepo: break long line found by check-code
Martin Geisler <mg@aragost.com> [Thu, 17 Feb 2011 09:19:15 +0100] rev 13431
test-convert: update output to match 0079fb98e8d0
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 16 Feb 2011 21:02:41 -0200] rev 13430
dispatch: fix typo in debug message
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 16 Feb 2011 21:02:19 -0200] rev 13429
convert: fix typos in docstring
Kevin Bullock <kbullock@ringworld.org> [Wed, 16 Feb 2011 11:53:48 -0600] rev 13428
subrepos: print short git changeset ids
This changes the prompts on git subrepos to show only the first seven
digits of git changeset IDs (as git's command line does):
$ hg update
subrepository sources for s differ (in checked out version)
use (l)ocal source (32a3438) or (r)emote source (da5f5b1)?
Matt Mackall <mpm@selenic.com> [Wed, 16 Feb 2011 14:13:22 -0600] rev 13427
merge default into stable for 1.8 code freeze
Adrian Buehlmann <adrian@cadifra.com> [Wed, 16 Feb 2011 15:02:30 +0100] rev 13426
store: remove pointless pathjoiner parameter
We can stop pretending that we have to support anything else
than '/' for concatenating path elements anywhere.
Windows deals just fine with '/' in file paths and we already
have plenty of places which produce paths containing '/'
anyway when running on Windows.
David Soria Parra <dsp@php.net> [Wed, 16 Feb 2011 18:36:45 +0100] rev 13425
bookmarks: forbid \0 \r \n : in bookmark names (BC)
We restrict : to 1. make it easer to convert bookmarks to git branches,
2. use : later for a syntax to push a local bookmark to a remote bookmark
of a different name. \0, \n, \r are fobbidden they are used to separate
bookmarks in the bookmark file.
This change breaks backward compatbility as ':' was an allowed character in
previous versions.
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Feb 2011 04:36:36 +0100] rev 13424
url: merge BetterHTTPS with httpsconnection to get some proxy https validation
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Feb 2011 04:28:11 +0100] rev 13423
tests: test https through http proxy
These tests fails for me with Python 2.6(.nothing)
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Feb 2011 04:28:17 +0100] rev 13422
url: always create BetterHTTPS connections the same way
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Feb 2011 04:28:17 +0100] rev 13421
url: refactor BetterHTTPS.connect
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Feb 2011 04:28:17 +0100] rev 13420
url: refactor _gen_sendfile
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Feb 2011 04:28:17 +0100] rev 13419
url: remove test for self.ui in BetterHTTPS
We use self.ui unconditionally anyway so we would have noticed if it in some
cases wasn't set.
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Feb 2011 03:28:22 +0100] rev 13418
tests: update ssl requirement for test-https.t
hgweb requires OpenSSL for serving https.
Erik Zielke <ez@aragost.com> [Wed, 09 Feb 2011 10:53:09 +0100] rev 13417
subrepos: prompt on conflicts on update with dirty subrepos
Consider a repository with a single subrepository. The changesets in
the main repository reference the subrepository changesets like this:
m0 -> s0
m1 -> s1
m2 -> s2
Starting from a state (m1, s0), doing 'hg update m2' in the main
repository will yield a conflict: the subrepo is at revision s0 but
the target revision says it should be at revision s2.
Before this change, Mercurial would do (m1, s0) -> (m2, s2) and thus
ignore the conflict between the working copy and the target revision.
With this change, the user is prompted to resolve the conflict by
choosing which revision he wants. This is consistent with 'hg merge',
which also prompts the user when it detects conflicts in the merged
.hgsubstate files.
The prompt looks like this:
$ hg update tip
subrepository sources for my-subrepo differ
use (l)ocal source (fc627a69481f) or (r)emote source (12a213df6fa9)?
David Soria Parra <dsp@php.net> [Wed, 16 Feb 2011 01:29:26 +0100] rev 13416
bookmarks: make track.current=True default behaviour and remove option (BC)
David Soria Parra <dsp@php.net> [Wed, 16 Feb 2011 01:28:42 +0100] rev 13415
update: preserve possible bookmark name to set current bookmark correctly
Martin Geisler <mg@aragost.com> [Wed, 16 Feb 2011 10:02:24 +0100] rev 13414
test-i18n: test translations
Erik Zielke <ez@aragost.com> [Wed, 09 Feb 2011 13:37:21 +0100] rev 13413
subrepo: remove argument introduced by mistake in c19b9282d3a7
Martin Geisler <mg@aragost.com> [Thu, 03 Feb 2011 10:31:17 +0100] rev 13412
remove unnecessary list comprehensions
These result lists were only built for the side effects, and so a
normal loop is just as good and more straight-forward.
Patrick Mezard <pmezard@gmail.com> [Tue, 15 Feb 2011 22:25:48 +0100] rev 13411
commit: abort if a subrepo is modified and ui.commitsubrepos=no
The default behaviour is to commit subrepositories with uncommitted changes. In
my experience this is usually undesirable:
- Changes to dependencies are often debugging leftovers
- Real changes should generally be applied on the source project directly,
tested then committed. This is not always possible, subversion subrepos may
include only a small part of the source project, without the tests.
Setting ui.commitsubrepos=no will now abort commits containing such modified
subrepositories like:
$ hg --config ui.commitsubrepos=no ci -m msg
abort: uncommitted changes in subrepo sub
I ruled out the hook solution because it does not easily take --include/exclude
options in account. Also, my main concern is whether this flag could cause
problems with extensions. If there are legitimate reasons for callers to
override this behaviour (I could not find any), they might either override at ui
level, or we could add an argument to localrepo.commit() later.
v2:
- Renamed ui.commitsubs to ui.commitsubrepos
- Mention the configuration entry in hg help subrepos