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
Matt Mackall <mpm@selenic.com> [Tue, 15 Feb 2011 16:19:11 -0600] rev 13410
tests: fixes for svn 1.4.2
André Sintzoff <andre.sintzoff@gmail.com> [Tue, 15 Feb 2011 20:02:52 +0100] rev 13409
mq: remove undo after a qimport
Adrian Buehlmann <adrian@cadifra.com> [Tue, 15 Feb 2011 14:41:49 +0100] rev 13408
transaction: use posixfile and unlink from util
instead of open() and os.unlink()
Avoids potential issues with file access on Windows (e.g. AV-scanners).
Kevin Bullock <kbullock@ringworld.org> [Mon, 14 Feb 2011 23:59:21 -0600] rev 13407
bookmarks: update help text since moving into core
Clarifies the help text for the bookmarks command regarding the
requirements for pushing or pulling bookmarks.
jfh <jason@jasonfharris.com> [Tue, 15 Feb 2011 23:23:16 +1300] rev 13406
debugignore: catch the case when ignore.includepat doesn't exist
In testing of my recent addition of a debugignore command, some of my MacHg
users uncovered the exceptional case that if there is no ignore patterns of any
kind then a traceback occurred. Catch and fix this case.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Feb 2011 02:17:43 +0100] rev 13405
tests: use printenv.py where it is - don't copy it around
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Feb 2011 01:05:32 +0100] rev 13404
tests: let printenv.py show the real values
Test paths are now hidden by the test framework, so HG_URL no longer needs
mangling.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Feb 2011 01:04:10 +0100] rev 13403
hgweb: make paths wildcards expanding in a repo root match repo correctly
There was a trailing '/' too much when the wildcard part expanded to nothing.
The consequence was that the repo was announced but didn't work.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Feb 2011 01:04:10 +0100] rev 13402
hgweb: doctest of url creation from wildcard expansion
Matt Mackall <mpm@selenic.com> [Mon, 14 Feb 2011 18:04:20 -0600] rev 13401
bookmarks: fix up test-https
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 24 Dec 2010 15:23:01 +0100] rev 13400
explicitly close files
Add missing calls to close() to many places where files are
opened. Relying on reference counting to catch them soon-ish is not
portable and fails in environments with a proper GC, such as PyPy.
Afuna [Fri, 11 Feb 2011 22:24:10 +0800] rev 13399
tag: add tests for tags with whitespace (issue2174)
Afuna [Fri, 11 Feb 2011 17:23:24 +0800] rev 13398
doc: Add diff.unified to the hgrc docs.
Steven Brown <StevenGBrown@gmail.com> [Wed, 26 Jan 2011 18:19:49 +0800] rev 13397
tests: push wire protocol over CGI-based hgweb
jfh <jason@jasonfharris.com> [Sat, 15 Jan 2011 16:02:03 +0100] rev 13396
add debugignore which yields the combined ignore patten of the .hgignore files
For GUI clients its sometimes important to know which files will be ignored and
which files will be important. This allows the GUI client to skipping redoing a
'hg status' when the files are ignored but have changed. (For instance, a
typical case is that the "build" directory inside some project is ignored but
files in it frequently change.)
Gastón Kleiman <gaston.kleiman@gmail.com> [Fri, 04 Feb 2011 16:32:14 -0300] rev 13395
diffstat: fix parsing of filenames with spaces
The patch changes the output of "hg diff --stat" when one file whose filename
has spaces has changed, making it get the full filename instead of just the
substring between the last space and the end of the filename.
It also changes the diffstat generated by "hg email -d" when one of the commit
messages starts with "diff". Because of the regex used to parse the filename,
the diffstat generated by "hg email -d" will still be not correct if a commit
message starts with "diff -r ".
Before the patch Mercurial has the following behavior:
$ echo "foobar">"file with spaces"
$ hg add "file with spaces"
$ hg diff --stat
spaces | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
$ hg diff --git --stat
file with spaces | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
After the patch:
$ echo "foobar">"file with spaces"
$ hg add "file with spaces"
$ hg diff --stat
file with spaces | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
$ hg diff --git --stat
file with spaces | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Before the patch:
$ hg add mercurial/patch.py tests/tests-diffstat.t
$ hg commit -m "diffstat: fix parsing of filenames"
$ hg email -d --test tip
This patch series consists of 1 patches.
diffstat: fix parsing of filenames
[...]
filenames | 0
mercurial/patch.py | 6 ++++--
tests/test-diffstat.t | 17 +++++++++++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
[...]
After the patch:
$ hg email -d --test tip
This patch series consists of 1 patches.
diffstat: fix parsing of filenames
[...]
mercurial/patch.py | 6 ++++--
tests/test-diffstat.t | 17 +++++++++++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
[...]
Roman Sokolov <sokolov.r.v@gmail.com> [Thu, 10 Feb 2011 15:41:34 +0300] rev 13394
dispatch: use flag cmdalias.shell for detecting shell aliases
Roman Sokolov <sokolov.r.v@gmail.com> [Fri, 11 Feb 2011 03:46:28 +0300] rev 13393
dispatch: debug message for missing arguments in shell alias
Shows debug message if alias definition contains substitution variables,
but insufficient number of arguments supplied.
Roman Sokolov <sokolov.r.v@gmail.com> [Fri, 11 Feb 2011 03:32:40 +0300] rev 13392
dispatch: support for $ escaping in shell-alias definition
Sigils in shell-alias can be escaped by doubling them.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 28 Jan 2011 13:38:34 +0100] rev 13391
fncachestore: defer updating the fncache file to a single file open
Defers updating the fncache file with newly added entries to the end of
the transaction (on e.g. pull), doing a single open call on the fncache
file, instead of opening and closing it each time a new entry is added
to the store.
Implemented by adding a new abstract write() function on store.basicstore
and registering it as a release function on the store lock in
localrepo.lock (compare with dirstate.write).
store.fncachestore overrides write() from basicstore and calls a new
write function on the fncache object, which writes all entries to the
fncache file if it's dirty.
store.fncache.add() now just marks itself as dirty if a new name is added.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 28 Jan 2011 13:34:07 +0100] rev 13390
localrepo: acquire lock on stream_in
Adrian Buehlmann <adrian@cadifra.com> [Fri, 28 Jan 2011 13:54:38 +0100] rev 13389
tests: sort fncache
David Soria Parra <dsp@php.net> [Fri, 11 Feb 2011 20:35:32 +0100] rev 13388
localrepo: sort hg bookmark output
sort bookmarks before we write them to stdout to get a predictable output.
David Soria Parra <dsp@php.net> [Fri, 11 Feb 2011 20:35:30 +0100] rev 13387
templates: add bookmarks to command line styles
David Soria Parra <dsp@php.net> [Fri, 11 Feb 2011 19:47:39 +0100] rev 13386
templater: add bookmarks to templates and default output
as bookmarks are not dispalyed as tags anymore, we add a bookmark label
to the changeset printer.
David Soria Parra <dsp@php.net> [Fri, 11 Feb 2011 19:44:17 +0100] rev 13385
tags: do not merge bookmarks with tags
bookmarks are no tags, therefore they should not be returned as tags.
David Soria Parra <dsp@php.net> [Fri, 11 Feb 2011 19:36:15 +0100] rev 13384
context: add method to return all bookmarks pointing to a node
Adrian Buehlmann <adrian@cadifra.com> [Sun, 13 Feb 2011 11:14:46 +0100] rev 13383
contrib: add win32/buildlocal.bat
Adrian Buehlmann <adrian@cadifra.com> [Sat, 12 Feb 2011 10:58:11 +0100] rev 13382
Make sure bundlerepo doesn't leak temp files (issue2491)
Add empty repository.close() and call it in dispatch.
Remove bundlerepository.__del__(), merging it into bundlerepository.close(),
which overrides repository.close().
http://docs.python.org/reference/datamodel.html says:
"It is not guaranteed that __del__() methods are called for objects that
still exist when the interpreter exits."
David Soria Parra <dsp@php.net> [Fri, 11 Feb 2011 19:32:49 +0100] rev 13381
bookmarks: read current bookmark as utf-8 and convert it to local
Javi Merino <cibervicho@gmail.com> [Mon, 14 Feb 2011 07:39:21 +0000] rev 13380
hgk: gitk->hgk in About... menu
Adrian Buehlmann <adrian@cadifra.com> [Mon, 14 Feb 2011 11:13:05 +0100] rev 13379
eliminate win32.user_rcpath_win32()
Adrian Buehlmann <adrian@cadifra.com> [Mon, 14 Feb 2011 11:12:57 +0100] rev 13378
windows: eliminate system_rcpath_win32()
Adrian Buehlmann <adrian@cadifra.com> [Mon, 14 Feb 2011 11:12:35 +0100] rev 13377
win32: move system_rcpath_win32() to windows.py
no code change in system_rcpath_win32
This breaks the dependency from the win32 module on osutil
Adrian Buehlmann <adrian@cadifra.com> [Mon, 14 Feb 2011 11:12:31 +0100] rev 13376
win32: new function executable_path
Adrian Buehlmann <adrian@cadifra.com> [Mon, 14 Feb 2011 11:12:26 +0100] rev 13375
port win32.py to using the Python ctypes library
The pywin32 package is no longer needed.
ctypes is now required for running Mercurial on Windows.
ctypes is included in Python since version 2.5. For Python 2.4, ctypes is
available as an extra installer package for Windows.
Moved spawndetached() from windows.py to win32.py and fixed it, using
ctypes as well. spawndetached was defunct with Python 2.6.6 because Python
removed their undocumented subprocess.CreateProcess. This fixes
'hg serve -d' on Windows.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 14 Feb 2011 11:12:22 +0100] rev 13374
win32: optimize parameters for the CreateFile call in _getfileinfo
Set dwDesiredAccess to 0 instead of GENERIC_READ.
Zero is enough for querying the file metadata. We don't even need to
access the -contents- of the file.
Set dwShareMode to FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE
instead of the overly restrictive FILE_SHARE_READ.
There is no need to cause write or delete accesses by other processes to
fail while we are querying file metadata.
See http://msdn.microsoft.com/en-us/library/aa363858(v=vs.85).aspx
Steve Borho <steve@borho.org> [Mon, 14 Feb 2011 14:12:48 -0600] rev 13373
merge with stable
Steve Borho <steve@borho.org> [Sun, 13 Feb 2011 12:19:58 -0600] rev 13372
url: return the matched authentication group name from readauthforuri()
Internally, the group name is only used in debug statements, but readauthforuri
can be also used externally to determine which group will be matched for a given
URL.
Steve Borho <steve@borho.org> [Sat, 12 Feb 2011 21:59:43 -0600] rev 13371
url: move [auth] parsing out into a utility function
No functionality change, but it makes the [auth] section parsing and
best match detection usable by third party tools
Steve Borho <steve@borho.org> [Sat, 12 Feb 2011 21:53:27 -0600] rev 13370
url: use rsplit to split [auth] keys
None of the auth section subkeys include a period, so it makes zero
sense to not split from the end. By using rsplit() users can use
the hostname as group keys.
Afuna <afunamatata@gmail.com> [Sat, 12 Feb 2011 16:08:41 +0800] rev 13369
mq: catch attempt to qpush to an earlier patch (issue2587)
We can't assume that all pushable patches early in the series have already been
applied. If a hg qselect is done while you already have patches applied, some
patches with guards may now be pushable, even though they come earlier in the
series.
So instead of checking only applied patches, explicitly check where we are in
the series against the position of the patch we want to qpush to.
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13368
bookmarks: move push/pull command features to core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13367
bookmarks: merge current tracking on update into core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13366
bookmarks: merge incoming/outgoing into core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13365
bookmarks: merge suspect addchangegroup into core
This is marked with FIXME because it's not clear that it makes any sense.
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13364
bookmarks: merge low-level push/pull support into core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13363
bookmarks: merge lookup into localrepo
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13362
bookmarks: move strip support to repair
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13361
bookmarks: move color style to color
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13360
bookmarks: merge _findtags method into core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:28 -0600] rev 13359
bookmarks: move revset support to core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13358
bookmarks: merge invalidation into core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13357
bookmarks: move commit action into core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13356
bookmarks: merge rollback support into localrepo
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13355
bookmarks: move property methods into localrepo
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13354
bookmarks: move diff to core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13353
bookmarks: move pushkey functions into core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13352
bookmarks: move update into core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13351
bookmarks: move read methods to core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13350
bookmarks: move basic io to core
Matt Mackall <mpm@selenic.com> [Thu, 10 Feb 2011 13:46:27 -0600] rev 13349
extensions: add an ignore list for old extensions
Simon Heimberg <simohe@besonet.ch> [Wed, 02 Feb 2011 23:21:13 +0100] rev 13348
run-tests: only call WIFEXITED on systems it exists
not on Windows or in jython
Simon Heimberg <simohe@besonet.ch> [Tue, 01 Feb 2011 20:47:05 +0100] rev 13347
run-tests: loadable as module
Simon Heimberg <simohe@besonet.ch> [Thu, 03 Feb 2011 07:58:54 +0100] rev 13346
hgignore: ignore more bytecode
ignore optimized bytecode and jython bytecode
Javi Merino <cibervicho@gmail.com> [Sat, 05 Feb 2011 14:37:25 +0000] rev 13345
doc: Capitalize the "options" header of mercurial commands
Javi Merino <cibervicho@gmail.com> [Sat, 05 Feb 2011 13:59:34 +0000] rev 13344
doc: Add back quotes around filenames
Filenames starting with a dot (.hg and .hgignore) confuse man when
creating the ps documentation with "man -t hg >hg.ps" if they are not
enclosed in back quotes.
Martin Geisler <mg@lazybytes.net> [Fri, 04 Feb 2011 09:17:07 +0100] rev 13343
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Wed, 02 Feb 2011 13:51:22 +0100] rev 13342
opener: use posixfile to hold file open when calling nlinks()
Mercurial's posixfile is less intrusive on Windows than Python's open
Adrian Buehlmann <adrian@cadifra.com> [Mon, 17 Jan 2011 09:37:20 +0100] rev 13341
remove pointless os.path.join calls when opening files in .hg/cache
Windows deals just fine with '/' in paths and Mercurial on Windows
already does file accesses elsewhere with mixed \ and / in file
paths anyway.
This patch also makes the static-http repo case use proper URLs of the
form
http://example.com/repo/.hg/cache/branchheads
http://example.com/repo/.hg/cache/tags
instead of the entirely pointless
http://example.com/repo/.hg/cache%5Cbranchheads
http://example.com/repo/.hg/cache%5tags
(as introduced by 5ccdca7df211)
Jonathan Nieder <jrnieder@gmail.com> [Thu, 03 Feb 2011 00:27:44 -0600] rev 13340
backout: make help more explicit about what backout does
The help for backout explains:
The backout command merges the reverse effect of the reverted
changeset into the working directory.
Unfortunately, that does not make it obvious to a newcomer what the
backout command does. Since it performs a 3-way merge, what is the
common ancestor? Will the result be automatically committed? What is
this reverted changeset --- is it the rev passed with -r on the
command line or its inverse?
So try to clarify the description, avoiding jargon and being
explicit about what happens from the user's perspective.
Thanks to Gilles Moris, Steve Borho, Kevin Bullock, and timeless for
help.
trbs <trbs@trbs.net> [Fri, 04 Feb 2011 09:05:23 +0100] rev 13339
subrepo: fix pruning of subrepo filenames in dirstate (issue2619)
Matt Mackall <mpm@selenic.com> [Tue, 01 Feb 2011 17:53:50 -0600] rev 13338
merge with self
Matt Mackall <mpm@selenic.com> [Tue, 01 Feb 2011 17:52:25 -0600] rev 13337
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Feb 2011 17:30:13 -0600] rev 13336
Added signature for changeset 2b2155623ee2
Matt Mackall <mpm@selenic.com> [Tue, 01 Feb 2011 17:30:09 -0600] rev 13335
Added tag 1.7.5 for changeset 2b2155623ee2
Matt Mackall <mpm@selenic.com> [Tue, 01 Feb 2011 17:29:38 -0600] rev 13334
merge with crew
Patrick Mezard <pmezard@gmail.com> [Tue, 01 Feb 2011 21:59:07 +0100] rev 13333
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Tue, 01 Feb 2011 21:39:28 +0100] rev 13332
subrepo: fix update -C with svn subrepos when cwd != repo.root
Eric Eisner <ede@mit.edu> [Mon, 31 Jan 2011 19:19:56 -0500] rev 13331
test-subrepo-git.t: make compatible with old git
Javi Merino <cibervicho@gmail.com> [Tue, 01 Feb 2011 07:29:11 +0000] rev 13330
win32mbcs: Fix typo in documentation
extention -> extension
Mads Kiilerich <mads@kiilerich.com> [Tue, 01 Feb 2011 01:55:45 +0100] rev 13329
merge with stable
Yuya Nishihara <yuya@tcha.org> [Sat, 29 Jan 2011 23:23:24 +0900] rev 13328
url: add --insecure option to bypass verification of ssl certificates
If --insecure specified, it behaves in the same way as no web.cacerts
configured.
Also shows hint for --insecure option when _verifycert() failed. But currently
the hint isn't displayed on SSLError, because it needs a certain level of
changes.
Patrick Mezard <pmezard@gmail.com> [Mon, 31 Jan 2011 22:16:33 +0100] rev 13327
mq: factor out push conditions checks
Some extensions (e.g. hgsubversion) completely override push command. Because
extensions load order is unspecified, if hgsubversion loads before mq, mq
checks about not pushing applied patches will be bypassed. Short of finding a
way to fix load order, extracting the checking logic will allow
hgsubversion-like extensions to run the check themselves.
Kevin Bullock <kbullock@ringworld.org> [Thu, 27 Jan 2011 15:51:26 -0600] rev 13326
test-subrepo-mq-svn.t: correct comment
This fixes the description of a helper function in the test.
Kevin Bullock <kbullock@ringworld.org> [Tue, 04 Jan 2011 10:42:00 -0600] rev 13325
subrepo: clarify comments in dirty() methods
Just a little change to bring the comments in the dirty() methods of the
various subrepo classes into a uniform structure. This clarifies the
meaning of the states checked.
Erik Zielke <ez@aragost.com> [Mon, 31 Jan 2011 13:40:05 +0100] rev 13324
subrepo: make update -C clean the working directory for git subrepos
This makes 'hg update --clean' behave the same way for all three kinds
of subrepositories [hg, svn, git]. Before git subrepos did not take
the clean parameter into account, but just updated to the given
revision and merged uncommitted changes into that.
Martin Geisler <mg@aragost.com> [Mon, 31 Jan 2011 13:38:00 +0100] rev 13323
merge with stable
Erik Zielke <ez@aragost.com> [Mon, 31 Jan 2011 13:33:41 +0100] rev 13322
subrepo: make update -C clean the working directory for svn subrepos
This makes 'hg update --clean' behave the same way for both kinds of
subrepositories. Before Subversion subrepos did not take the clean
parameter into account, but just updated to the given revision and
merged uncommitted changes into that.
Matt Mackall <mpm@selenic.com> [Tue, 01 Feb 2011 17:08:49 -0600] rev 13321
Added signature for changeset a6c855c32ea0
Matt Mackall <mpm@selenic.com> [Tue, 01 Feb 2011 17:08:46 -0600] rev 13320
Added tag 1.7.4 for changeset a6c855c32ea0
Wagner Bruna <wbruna@yahoo.com> [Tue, 01 Feb 2011 10:15:50 -0200] rev 13319
i18n-pt_BR: messages from crew a939f08fae9c
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 28 Jan 2011 21:01:57 -0200] rev 13318
merge with i18n stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 28 Jan 2011 13:31:17 -0200] rev 13317
i18n-pt_BR: messages from crew 8dc488dfcdb4, some small fixes
Matt Mackall <mpm@selenic.com> [Fri, 28 Jan 2011 17:02:29 -0600] rev 13316
util: delay loading of textwrap
Mads Kiilerich <mads@kiilerich.com> [Fri, 28 Jan 2011 03:09:22 +0100] rev 13315
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 28 Jan 2011 02:57:59 +0100] rev 13314
url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Known fingerprints of HTTPS servers can now be configured in the
hostfingerprints section. That makes it possible to verify the identify of web
servers without configuring and trusting the CA chain.
Limitations:
* Portnumbers are ignored, just like with ordinary certificates.
* Host name matching is case sensitive.
Matt Mackall <mpm@selenic.com> [Thu, 27 Jan 2011 17:22:37 -0600] rev 13313
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 27 Jan 2011 17:21:23 -0600] rev 13312
merge with i18n
Martin Geisler <mg@aragost.com> [Mon, 24 Jan 2011 11:27:56 +0100] rev 13311
i18n-merge stable heads
Arne Babenhauserheide <bab@draketo.de> [Fri, 24 Dec 2010 15:10:24 +0100] rev 13310
i18n-de: translated some rebase strings.
Arne Babenhauserheide <bab@draketo.de> [Thu, 23 Dec 2010 15:51:14 +0100] rev 13309
i18n-de: translated missing strings for progress extension.
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 19 Jan 2011 17:49:06 -0200] rev 13308
i18n-pt_BR: synchronized with 75d0c38a0bca
David Soria Parra <dsp@php.net> [Thu, 27 Jan 2011 02:58:48 +0100] rev 13307
bookmarks: respect rollbacks dryrun parameter
David Soria Parra <dsp@php.net> [Thu, 27 Jan 2011 02:55:11 +0100] rev 13306
bookmarks: always write undo file
Always write the undo file. Otherwise, rollback will not work for
the initial bookmark as undo.bookmarks doesn't exists. In this case
undo.bookmarks needs already be empty.
Adrian Buehlmann <adrian@cadifra.com> [Wed, 26 Jan 2011 19:14:30 +0100] rev 13305
opener: force copy on 'a'ppend if nlinks() returns 0 (issue1922)
If pywin32 is not installed, 'os.lstat(pathname).st_nlink' is used for
nlinks(), which is always zero for all files on Windows.
To make sure we break up hardlinks if pywin32 is missing, we force
nlink = 2 if nlinks() returns < 1.
(this completely fixes issue1922)
Matt Mackall <mpm@selenic.com> [Thu, 27 Jan 2011 13:29:21 -0600] rev 13304
help: ssh urls don't allow passwords
Adrian Buehlmann <adrian@cadifra.com> [Tue, 18 Jan 2011 14:16:27 +0100] rev 13303
commit: use the term SCM instead of RCS
for consistency.
see also fc4a3931e608
Martin Geisler <mg@aragost.com> [Thu, 27 Jan 2011 11:15:08 +0100] rev 13302
backout of 613b8bd2284e
Matt and a majority of crew did not like this approach.
Martin Geisler <mg@aragost.com> [Wed, 26 Jan 2011 12:35:02 +0100] rev 13301
check-code: do not complain about 'ls x | foo -v'
Such a line was introduced in test-subrepo-git.t in 5dda6c708138,
which made check-code confused.
Kevin Bullock <kbullock@ringworld.org> [Mon, 10 Jan 2011 16:02:41 -0500] rev 13300
subrepo: separate out mq+svn subrepo tests
Having the mq+subrepo+svn tests in a separate file lets them be skipped
without skipping the other mq+subrepo tests.
Christian Ebert <blacktrash@gmx.net> [Sun, 23 Jan 2011 03:15:44 +0100] rev 13299
keyword: move repo.__class__ assignment out of monkeypatch context
A cosmetic change to improve readability.
Christian Ebert <blacktrash@gmx.net> [Sun, 23 Jan 2011 03:15:39 +0100] rev 13298
keyword: inform user about current keywordset in kwdemo
The kwdemo --default output now looks roughly like this:
configuration using default cvs keywordset
[extensions]
keyword =
[keyword]
demo.txt =
[keywordset] * section added with this change
svn = False
[keywordmaps]
...
Martin Geisler <mg@aragost.com> [Wed, 26 Jan 2011 12:05:01 +0100] rev 13297
specify C indention style using Emacs file local variables
Lee Cantey <lcantey@embarcadero.com> [Tue, 25 Jan 2011 16:33:46 -0800] rev 13296
Ignore pax_global_header that some tar versions write as a file.
Patrick Mezard <pmezard@gmail.com> [Mon, 24 Jan 2011 23:25:46 +0100] rev 13295
record: do not include files into changes count
This turns the prompt sequence from something like:
$ examine changes to foo?
$ record change 1/4 to foo?
$ record change 2/4 to foo?
$ examine changes to bar?
$ record change 4/4 to bar?
into:
$ examine changes to foo?
$ record change 1/3 to foo?
$ record change 2/3 to foo?
$ examine change to bar?
$ record change 3/3 to bar?
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 15:21:56 +0100] rev 13294
record: simplify header methods with util.any
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 15:21:37 +0100] rev 13293
record: refactor the prompt loop
The previous loop was iterating over a mixed header/hunk stream. It may have
been more generic in the sense every item in the stream could trigger a prompt
but it required more work to skip items properly. It can be rewritten in a more
intuitive way by looping on files then looping on hunks.
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 15:21:34 +0100] rev 13292
test-record: test peculiar changes numbering
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 13:01:17 +0100] rev 13291
record: turn prompt() into a pure function
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 12:44:05 +0100] rev 13290
record: turn consumefile() into a pure function
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 12:30:15 +0100] rev 13289
hghave: remove unused hotshot check
Patrick Mezard <pmezard@gmail.com> [Sat, 22 Jan 2011 16:29:10 +0100] rev 13288
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sat, 22 Jan 2011 16:15:40 +0100] rev 13287
subrepo: compare svn subrepo state to last committed revision
A subversion project revisions are a subset of the repository revisions, you
can ask subversion to update a working directory from one revision to another
without changing anything. Unfortunately, Mercurial will think the
subrepository has changed and will commit it again. To avoid useless commits,
we compare the subrepository state to its actual "parent" revision. To ensure
ascending compatibility with existing subrepositories which might reference
fake revisions, we also keep comparing with the subrepo working directory
revision.
NOTE: not sure if this should go in stable or not.
Steve Borho <steve@borho.org> [Sat, 22 Jan 2011 09:13:04 -0600] rev 13286
merge with stable
Steve Borho <steve@borho.org> [Fri, 21 Jan 2011 14:42:15 -0600] rev 13285
win32: win32console.GetStdHandle() can return None
When the Mercurial Python libraries are used within a Windows application with
no console, there is no stderr file handle.
Matt Mackall <mpm@selenic.com> [Fri, 21 Jan 2011 16:26:01 -0600] rev 13284
revlog: remove stray test in rev()
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 20 Jan 2011 20:35:54 +0100] rev 13283
merge with main
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13282
opener: use util.unlink (issue2524)
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13281
lock: use util.unlink (issue2537)
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13280
reintroduces util.unlink, for POSIX and Windows.
windows: factor it out of rename
posix: add alias 'unlink' for os.unlink
Note that this new unlink function now has different semantics than the
unlink() we had before changeset 6bf39d88c857 ("rename util.unlink to
unlinkpath").
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13279
opener: check exception for ENOENT
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13278
windows.rename: check OSError for EEXIST
For example, if src has been opened with Python's open(), os.rename will
raise EACCES. Continuing in that case is pointless.
Matt Mackall <mpm@selenic.com> [Tue, 18 Jan 2011 15:55:49 -0600] rev 13277
perf: restore lazyindex hack
This hack (and the module it lives in) exist so that performance can
be compared across different hg versions.
Matt Mackall <mpm@selenic.com> [Tue, 18 Jan 2011 15:55:48 -0600] rev 13276
revlog: pass rev to _checkhash
Matt Mackall <mpm@selenic.com> [Tue, 18 Jan 2011 15:55:46 -0600] rev 13275
revlog: incrementally build node cache with linear searches
This avoids needing to prime the cache for operations like verify
which visit most or all of the index.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 07 Jan 2011 10:48:30 +0100] rev 13274
bundlerepo: use less intrusive util.posixfile to open bundle
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Jan 2011 23:54:01 +0100] rev 13273
osutil: treat open modes 'w' and 'a' as 'w+' and 'a+' in posixfile
to work around http://support.microsoft.com/kb/899149.
Also, Microsoft's documentation of the CreateFile Windows API says (quote):
When an application creates a file across a network, it is better to use
GENERIC_READ | GENERIC_WRITE for dwDesiredAccess than to use
GENERIC_WRITE alone. The resulting code is faster, because the
redirector can use the cache manager and send fewer SMBs with more data.
This combination also avoids an issue where writing to a file across a
network can occasionally return ERROR_ACCESS_DENIED.
jfh <jason@jasonfharris.com> [Tue, 04 Jan 2011 06:29:08 +0100] rev 13272
move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
The generation of cache files like tags.cache and branchheads.cache is not an
actual reflection of things changing in the whole of the .hg directory (like eg
a commit or a rebase or something) but instead these cache files are just part
of bookkeeping. As such its convienant to allow various clients to ignore file
events to do with these cache files which would otherwise cause a double
refresh. Eg one refresh might occur after a commit, but the act of refreshing
after the commit would cause Mercurial to generate a new branchheads.cache which
would then cause a second refresh, for clients.
However if these cache files are moved into a directory like eg .hg/cache/ then
GUI clients on OSX (and possibly other platforms) can happily ignore file events
in this cache directory.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 16 Jan 2011 17:26:34 +0100] rev 13271
addchangegroup: document the current locking semantics
Christian Ebert <blacktrash@gmx.net> [Sun, 16 Jan 2011 15:45:26 +0100] rev 13270
keyword: update documentation for kwshrink
* remove obsolete reference to potential problems with merge and import
* emphasize that running kwshrink before configuration changes which
affect active/expanded keywords is mandatory
StevenGBrown [Sun, 16 Jan 2011 19:12:54 +0800] rev 13269
tests: remove duplication of the CGI environment variables
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 16 Jan 2011 12:25:46 +0100] rev 13268
revlog: explicit test and explicit variable names
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 16 Jan 2011 12:24:48 +0100] rev 13267
revlog: if the nodemap is set, use the fast version of revlog.rev()
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 15 Jan 2011 15:06:53 +0100] rev 13266
revlog/parseindex: construct the nodemap if it is empty
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 15 Jan 2011 13:02:19 +0100] rev 13265
revlog: always add the magic nullid/nullrev entry in parseindex
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 15 Jan 2011 15:04:58 +0100] rev 13264
revlog/parseindex: no need to pass the file around
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 15 Jan 2011 12:44:28 +0100] rev 13263
parsers.c: fix comment
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 15 Jan 2011 12:28:10 +0100] rev 13262
perf: there is no lazy index anymore
Matt Mackall <mpm@selenic.com> [Wed, 12 Jan 2011 13:54:39 -0600] rev 13261
pure: update index parsing
Matt Mackall <mpm@selenic.com> [Wed, 12 Jan 2011 11:34:42 -0600] rev 13260
perf: fix ordering of invalidate in perfindex
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 21:52:03 -0600] rev 13259
revlog: do revlog node->rev mapping by scanning
Now that the nodemap is lazily created, we use linear scanning back
from tip for typical node to rev mapping. Given that nodemap creation
is O(n log n) and revisions searched for are usually very close to
tip, this is often a significant performance win for a small number of
searches.
When we do end up building a nodemap for bulk lookups, the scanning
function is replaced with a hash lookup.
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:12:32 -0600] rev 13258
revlog: introduce a cache for partial lookups
Partial lookups are always O(n), and often we look up the same
one multiple times.
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:09:06 -0600] rev 13257
tags: avoid a pointless usage of revlog.nodemap
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:06:07 -0600] rev 13256
mq: avoid using revlog.nodemap unnecessarily
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:01:14 -0600] rev 13255
perf: make perfindex results useful on hg with lazyparser
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:01:04 -0600] rev 13254
revlog: only build the nodemap on demand
Matt Mackall <mpm@selenic.com> [Tue, 04 Jan 2011 14:12:52 -0600] rev 13253
revlog: remove lazy index
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 14:58:17 -0600] rev 13252
merge with i18n
Martin Geisler <mg@aragost.com> [Tue, 04 Jan 2011 12:16:32 +0100] rev 13251
i18n-da: synchronized with f3058dd05281
Mads Kiilerich <mads@kiilerich.com> [Tue, 11 Jan 2011 02:48:58 +0100] rev 13250
merge with stable
Yuya Nishihara <yuya@tcha.org> [Sun, 09 Jan 2011 00:35:36 +0900] rev 13249
url: check subjectAltName when verifying ssl certificate
Now it verifies certificate in the same manner as py3k implementation:
http://svn.python.org/view/python/branches/py3k/Lib/ssl.py?view=markup#match_hostname
Yuya Nishihara <yuya@tcha.org> [Sat, 08 Jan 2011 21:52:25 +0900] rev 13248
url: fix UnicodeDecodeError on certificate verification error
SSLSocket.getpeercert() returns tuple containing unicode for 'subject'.
Since Mercurial does't support IDN at all, it just returns error for non-ascii
certname.
Steve Borho <steve@borho.org> [Sat, 08 Jan 2011 22:15:19 -0600] rev 13247
merge with stable
Pascal Quantin <pascal.quantin@gmail.com> [Sat, 08 Jan 2011 11:18:38 +0100] rev 13246
win32: add cacert.pem file to Inno Setup installer
Adrian Buehlmann <adrian@cadifra.com> [Fri, 07 Jan 2011 19:15:21 +0100] rev 13245
test-mq-subrepo.t: skip test if svn not installed
Patrick Mezard <pmezard@gmail.com> [Fri, 07 Jan 2011 20:50:42 +0100] rev 13244
mail: fix regression when parsing unset smtp.tls option
Patrick Mezard <pmezard@gmail.com> [Fri, 07 Jan 2011 20:50:41 +0100] rev 13243
bash_completion: support record command
Kevin Bullock <kbullock@ringworld.org> [Tue, 04 Jan 2011 11:33:47 -0600] rev 13242
subrepo: fix svnsubrepo.dirty() checking of ignoreupdate (issue2499)
The ignoreupdate flag to subrepo.dirty(), introduced in be7e8e9bc5e5, is
correctly checked with this change.
Patrick Mezard <pmezard@gmail.com> [Fri, 07 Jan 2011 17:44:23 +0100] rev 13241
test-mq-subrepo.t: correctly forward stdin to test functions
- stdin was not forwarded in testrm1 and testrm2
- Forwarding content with EOL using command substitution (`foo`) does not work
correctly, the lines are joined together which breaks the prompt readline.
- EOFError is raised in ui.prompt() if the input is too short on Linux while
OSX treats it as an empty line.
Matt Mackall <mpm@selenic.com> [Thu, 06 Jan 2011 17:04:47 -0600] rev 13240
filelog: move metadata parsing to a helper function
Matt Mackall <mpm@selenic.com> [Thu, 06 Jan 2011 17:04:41 -0600] rev 13239
revlog: break hash checking into subfunction
Matt Mackall <mpm@selenic.com> [Thu, 06 Jan 2011 17:04:33 -0600] rev 13238
ui: add configpath helper
John Coomes <john.coomes@oracle.com> [Wed, 29 Dec 2010 18:29:15 -0800] rev 13237
tests: check visibility of pending changesets
Verify that pending changesets are seen by pretxn* hooks but not by other
processes that access the destination repo while the hooks are running.
timeless <timeless@gmail.com> [Sun, 02 Jan 2011 18:51:59 +0200] rev 13236
progress: handle days, weeks and years
using hg clone svn://anonsvn.kde.org/home/kde/trunk kde ... with progress
yields 3008/1210830 1314h56m, which is unusable.
Add code to switch to days at 30 hours, to weeks at 15 days, and to years
at 55 weeks. A day has 24 hours, a week has 7 days, and a year has 52 weeks.
Months are intentionally omitted because they do not have a fixed length. The
Use of 52 weeks is a known and understandable estimate for a year.
It might make sense to spell our year to alert people when progress is
impractical, but...
Adrian Buehlmann <adrian@cadifra.com> [Sun, 02 Jan 2011 19:34:41 +0100] rev 13235
rename util.unlink to unlinkpath
Martin Geisler <mg@aragost.com> [Wed, 05 Jan 2011 15:56:03 +0100] rev 13234
merge with stable
Oleg Stepanov <oleg.stepanov@jetbrains.com> [Tue, 04 Jan 2011 03:53:11 -0800] rev 13233
subrepo: do not report known files inside repositories as unknown
Martin Geisler <mg@aragost.com> [Wed, 05 Jan 2011 10:57:52 +0100] rev 13232
hgrc.5: mention that web.cacerts are run through util.expandpath
Eduard-Cristian Stefan <alexandrul.ct@gmail.com> [Sun, 02 Jan 2011 15:30:12 +0200] rev 13231
url: expand path for web.cacerts
Martin Geisler <mg@aragost.com> [Wed, 05 Jan 2011 10:47:35 +0100] rev 13230
commands: clarify which aliases "hg help -v" show (issue2572)
Steve Borho <steve@borho.org> [Fri, 31 Dec 2010 17:09:38 -0600] rev 13229
mq: record more data in patchheader class (no behavior changes)
* parse branch and nodeid header lines
* remember the line number where diffs started
Combined, these make mq.patchheader() very useful for parsing and
preserving a patch header through edits. TortoiseHg will use the
nodeid and parent to display these header datums in the graph when
patches are unapplied, and uses diffstartline to parse patch files
using record.parsepatch().
Matt Mackall <mpm@selenic.com> [Sat, 01 Jan 2011 18:42:04 -0600] rev 13228
merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Jan 2011 18:24:18 -0600] rev 13227
Added signature for changeset e3bf16703e26
Matt Mackall <mpm@selenic.com> [Sat, 01 Jan 2011 18:24:10 -0600] rev 13226
Added tag 1.7.3 for changeset e3bf16703e26
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Dec 2010 21:59:00 +0900] rev 13225
util: fix ellipsis() not to break multi-byte sequence (issue2564)
It tries to convert localstr to unicode before truncating.
Because we cannot assume that the given text is encoded in local encoding,
it falls back to raw string in case of unicode error.
Jacek Sowiński <mruwek.gentoo@vcf.pl> [Fri, 31 Dec 2010 15:14:51 +0100] rev 13224
strip: typo bugfix related to '--nobackup -> --no-backup' rename (issue2377)
'--no-backup' in cmdline means *'no_backup'* in code'
Matt Mackall <mpm@selenic.com> [Sat, 01 Jan 2011 18:15:17 -0600] rev 13223
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 28 Dec 2010 18:02:50 -0200] rev 13222
i18n-pt_BR: synchronized with aa72ff5abf5f
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 28 Dec 2010 17:58:14 -0200] rev 13221
merge with i18n stable
Jens Bäckman <jens.backman@gmail.com> [Tue, 21 Dec 2010 09:26:59 +0100] rev 13220
i18n-sv: synchronized with d4393968318f
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 20 Dec 2010 19:57:12 -0200] rev 13219
i18n/pt_BR.po: synchronized with 2fa2e6444645
Steve Borho <steve@borho.org> [Thu, 23 Dec 2010 15:12:24 -0600] rev 13218
match: support reading pattern lists from files
Steve Borho <steve@borho.org> [Thu, 30 Dec 2010 23:36:50 -0600] rev 13217
merge with stable
Steve Borho <steve@borho.org> [Wed, 29 Dec 2010 18:27:56 -0600] rev 13216
wix: add an ssl certificate file to the WiX installers
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 15:31:25 -0600] rev 13215
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 15:23:16 -0600] rev 13214
hgweb: abort if config file isn't found
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 14:19:44 -0600] rev 13213
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 14:19:31 -0600] rev 13212
date: fix matching of underspecified date ranges
(backport of 91bc001a592f to stable)
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 14:04:47 -0600] rev 13211
date: fix matching of underspecified date ranges
In a date like 10:30, there are two underspecified ends: the specific
end (seconds) and the broad end (day, month, year). When matching
"10:30", we need to allow the specific end to go from 0 to 59 seconds,
while the broad end is assumed to be today's date.
Similar handling applies for a date range like "Mar 1": year is fixed
to today, any time matches.
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 11:18:27 -0600] rev 13210
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 26 Dec 2010 12:08:20 +0100] rev 13209
test-static-http.t: increase test coverage on filenames
Tracked files starting with a period in the name begin with '~2e' in the
store for the dotencode repository format, which is encoded as '%7E2e' in
URLs when accessing the repo over static-http.
The spaces in filenames are encoded with %20 in URLs.
See also issue 2566.
Adrian Buehlmann <adrian@cadifra.com> [Sun, 26 Dec 2010 11:59:07 +0100] rev 13208
test-static-http.t: get kill actually working
- signal handlers take two arguments, not one
- add missing import sys
Before this patch, the
$ kill $!
at the end of the test just caused a hidden traceback, sys.exit(0) was not
executed.
The swallowed traceback was:
Traceback (most recent call last):
File "dumb.py", line 10, in <module>
run()
File "dumb.py", line 7, in run
httpd.serve_forever()
File "/usr/lib/python2.6/SocketServer.py", line 224, in serve_forever
r, w, e = select.select([self], [], [], poll_interval)
TypeError: <lambda>() takes exactly 1 argument (2 given)
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 24 Dec 2010 15:22:00 +0100] rev 13207
hooks: sort any dictionaries set in the environment
The actual order of dictionary items is implementation-defined in
Python, and differs between CPython and PyPy. With this change,
test-hooks.t passes with PyPy.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 27 Dec 2010 01:12:31 +0100] rev 13206
windows.rename: eliminate temp name race (issue2571)
On Windows, os.rename reliably raises OSError with errno.EEXIST if the
destination already exists (even on shares served by Samba).
Windows does *not* silently overwrite the destination of a rename.
So there is no need to first call os.path.exists on the chosen temp path.
Trusting os.path.exists is actually harmful, since using it enables the
following racy sequence of actions:
1) os.path.exists(temp) returns False
2) some evil other process creates a file with name temp
3) os.rename(dst, temp) now fails because temp has been taken
Not using os.path.exists and directly trying os.rename(dst, temp)
eliminates this race.
Matt Mackall <mpm@selenic.com> [Tue, 28 Dec 2010 13:31:30 -0600] rev 13205
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Mon, 13 Dec 2010 22:38:06 +0100] rev 13204
checknlink: use two testfiles (issue2543)
Preventing file loss repository corruption (e.g. vanished changelog.i) when
Mercurial pushes to repositories on Windows shares served by Samba.
This is a workaround for Samba bug 7863, which is present in current latest
stable Samba 3.5.6 and various prior versions down to 3.0.26a (the oldest one
I tested).
Of course this should be fixed in Samba, but there probably aren't that many
other applications who use hardlinks that extensively and keep files open like
Mercurial, so the pressure to fix this on Samba is probably not that high. And
even if the Samba project should be able to fix their bug within a month or
two, it will take quite some time until users upgrade their Samba installs.
John Peberdy <john@peberdy.ca> [Sun, 19 Dec 2010 21:49:54 -0500] rev 13203
help: correct documentation for branches keyword
Yuya Nishihara <yuya@tcha.org> [Fri, 24 Dec 2010 01:17:18 +0900] rev 13202
notify: use util.ellipsis() to truncate long subject
Zhigang Wang <zhigang.x.wang@oracle.com> [Mon, 20 Dec 2010 16:56:54 +0800] rev 13201
smtp: fix for server doesn't support starttls extension
Currently we only support enabling TLS by using SMTP STARTTLS extension. But
not all the servers support it.
With this patch, user can choose which way to enable TLS:
* Default:
tls = none
port = 25
* To use STARTTLS:
tls = starttls
port = 465
* To use SMTP over SSL:
tls = smtps
port = 465
To keep backward compatibility, when tls = true, we use STARTTLS to enable TLS.
Signed-off-by: Zhigang Wang <w1z2g3@gmail.com>
David Soria Parra <dsp@php.net> [Thu, 02 Dec 2010 03:43:06 +0100] rev 13200
avoid .split() in for loops and use tuples instead
split can be more readable for longer lists like the list in
dirstate.invalidate. As dirstate.invalidate is used in wlock() and therefoe
used heavily, I think it's worth avoiding a split there too.
Oli Thissen <oli@tonick.net> [Mon, 06 Dec 2010 16:56:06 +0100] rev 13199
hgweb: added revision date to annotate line data
The only revision information yielded by the annotate view was the revision
number itself. The patch allows the use of per-line revision dates in the
corresponding templates.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 21 Dec 2010 19:44:28 +0900] rev 13198
patchbomb: save introductory message in .hg/last-email.txt
Jim Hague <jim.hague@acm.org> [Fri, 17 Dec 2010 12:05:45 +0000] rev 13197
opener: forbid paths ending with directory separator (issue2507)
If Linux is asked to open a filename with a trailing directory separator,
e.g. "foo/", the open fails with EISDIR. On AIX, the open succeeds, opening
file "foo". This causes test-mq-qnew to fail on AIX.
Fix by adding 'ends with directory separator' to the conditions checked
by the path auditor. Change test to expect auditor fail message.
Kevin Bullock <kbullock@ringworld.org> [Tue, 21 Dec 2010 15:27:58 -0600] rev 13196
record: clean up command table
The --force option to qnew has become a no-op, so qrecord doesn't need
to use it. This allows record's command table to be simplified; in the
process of doing so, this patch also cleans up the cmdtable visually.
Kevin Bullock <kbullock@ringworld.org> [Tue, 21 Dec 2010 15:23:48 -0600] rev 13195
record: clean up comments and docstrings
Rewrap comments and docstrings to a width of 72 chars and copy-edit.
Patrick Mezard <pmezard@gmail.com> [Tue, 28 Dec 2010 14:53:08 +0100] rev 13194
test-doctest: test url.py again, removed by 7cc4263e07a9
Mads Kiilerich <mads@kiilerich.com> [Mon, 27 Dec 2010 17:54:45 +0100] rev 13193
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 27 Dec 2010 17:49:58 +0100] rev 13192
https: use web.cacerts configuration from local repo to validate remote repo
Mads Kiilerich <mads@kiilerich.com> [Sun, 26 Dec 2010 00:43:49 +0100] rev 13191
extensions: warn about invalid extensions when listing disabled commands
Invalid extensions in hgext/ could in some cases cause a crash when searching
for unknown commands in disabled extensions.
With this change we issue a warning if extracting commands from the extensions
fails. Traceback is available on request.
Reported on https://bugzilla.redhat.com/show_bug.cgi?id=663183 with forest.py.
Steve Borho <steve@borho.org> [Wed, 22 Dec 2010 13:25:00 -0600] rev 13190
convert: subversion should use util.quotecommand to wrap args to popen2
All other callers of util.popen2 and util.popen3 do this, as well as direct
callers of subprocess.Popen.
Steve Borho <steve@borho.org> [Thu, 23 Dec 2010 13:23:20 -0600] rev 13189
merge with stable
Steve Borho <steve@borho.org> [Wed, 22 Dec 2010 13:25:00 -0600] rev 13188
util: concentrate quoting knowledge to windows.py quotecommand()
This fixes all callers of util.quotecommand() and place special knowledge
of the bugfix in 2.7.1 in a single platform specific place.
Matt Mackall <mpm@selenic.com> [Wed, 22 Dec 2010 13:16:03 -0600] rev 13187
templater: clarify engine caching
Matt Mackall <mpm@selenic.com> [Wed, 22 Dec 2010 13:16:00 -0600] rev 13186
merge with crew
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 21 Dec 2010 19:47:36 +0900] rev 13185
tests: clean up test-rollback.t
The last comment is on the last file line and is useless, seems
like it was introduced in 8fdc11fec6ae during unification.
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 15:27:15 -0600] rev 13184
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 15:26:36 -0600] rev 13183
url: fix trailing whitespace
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13182
subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13181
subrepo: fix subrelpath for git subrepos
This patch conforms gitsubrepo code to the variable naming scheme of the other
subrepo implementations. All user-facing path references should be relative
to the root repository.
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13180
subrepo: fix git archive parsing of directories and symfiles
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13179
subrepo: support ignoreupdate in gitsubrepo's dirty()
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:19 -0500] rev 13178
subrepo: backout 519ac79d680b
Unfortunately git 1.6 does not support the upstream parameter in for-each-ref.
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:12:18 -0600] rev 13177
url: fix check-code whitespace complaint
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:09:00 -0600] rev 13176
templater: use the parser.py parser to extend the templater syntax
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:09:00 -0600] rev 13175
templater: give slightly nicer error for unknown map entries
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 22:14:43 -0600] rev 13174
mq: update .hgsubstate if subrepos are clean (issue2499)
This patch prevents MQ from creating an inconsistent subrepo state. If
the .hgsub file has been changed, and none of the subrepos have
uncommitted changes, creating or updating a patch (using qnew, qrefresh,
or qrecord) will update .hgsubstate accordingly.
If any subrepos _do_ have uncommitted changes, qnew/qrefresh/qrecord
will abort.
Thanks to pmezard for proposing this solution.
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 22:14:43 -0600] rev 13173
backout f08df4d38442
Erik Zielke <ez@aragost.com> [Fri, 17 Dec 2010 13:38:15 +0100] rev 13172
subrepo: backout f02d7a562a21
backing out f02d7a562a21 because it introduced a bug in
.hgsubstate handling.
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:08:56 -0600] rev 13171
merge with i18n
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:08:50 -0600] rev 13170
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 17 Dec 2010 10:40:26 +0100] rev 13169
fncachestore: copy dh directory before the manifest
Before this patch, the copy order on clone was:
requires
00changelog.i
store\data
store\00manifest.d
store\00manifest.i
store\00changelog.d
store\00changelog.i
store\dh
store\fncache
Which provides a theoretical non-zero probability of a race during clone where
a very early reader might see a repository with missing revlog files if it sees
00changelog.i before all files inside dh have been copied.
The dh directory is similar to the data directory -- just for files with long
names (which are hashed). The manifest refers to files in data *and* dh, so dh
should be copied before the manifest.
This patch improves the copy order to:
requires
00changelog.i
store\data
store\dh
store\fncache
store\00manifest.d
store\00manifest.i
store\00changelog.d
store\00changelog.i
I'm putting fncache to before the manifest while I'm at it, since fncache
provides a mechanism to enumerate all repository files without visiting the
manifest revisions. fncache depends only on data and dh.
Note that data must be copied first, since copying data triggers the creation
of the repository write lock in the destination repo (see hg.clone).
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:05:50 -0600] rev 13168
merge with i18n
Martin Geisler <mg@aragost.com> [Fri, 10 Dec 2010 12:51:37 +0100] rev 13167
i18n: merge with stable
Martin Geisler <mg@aragost.com> [Fri, 10 Dec 2010 12:48:57 +0100] rev 13166
i18n-da: synchronize with 5dac0d04b838
Arne Babenhauserheide <arne@draketo.de> [Sat, 04 Dec 2010 19:28:15 +0100] rev 13165
i18n-de: translated strings for the purge extension
Mads Kiilerich <mads@kiilerich.com> [Sat, 18 Dec 2010 22:06:11 +0100] rev 13164
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 18 Dec 2010 21:58:52 +0100] rev 13163
https: warn when server certificate isn't verified
Mercurial will verify HTTPS server certificates if web.cacerts is configured,
but it will by default silently not verify any certificates.
We now warn the user that when the certificate isn't verified she won't get the
security she might expect from https:
warning: localhost certificate not verified (check web.cacerts config setting)
Self-signed certificates can be accepted silently by configuring web.cacerts to
point to a suitable certificate file.
Greg Ward <greg-hg@gerg.ca> [Mon, 13 Dec 2010 11:46:31 -0500] rev 13162
merge: document some internal return values.
Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:37 -0600] rev 13161
check-code: catch os.path.relpath
Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:36 -0600] rev 13160
check-code: catch "except as"
Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:27 -0600] rev 13159
tests: eliminate fast-forward merge in test-tag
Mads Kiilerich <mads@kiilerich.com> [Tue, 07 Dec 2010 03:29:21 +0100] rev 13158
merge: fast-forward merge with descendant
issue2538 gives a case where a changeset is merged with its child (which is on
another branch), and to my surprise the result is a real merge with two
parents, not just a "fast forward" "merge" with only the child as parent.
That is essentially the same as issue619.
Is the existing behaviour as intended and correct?
Or is the following fix correct?
Some extra "created new head" pops up with this fix, but it seems to me like
they could be considered correct. The old branch head has been superseeded by
changes on the other branch, and when the changes on the other branch is merged
back to the branch it will introduce a new head not directly related to the
previous branch head.
(I guess the intention with existing behaviour could be to ensure that the
changesets on the branch are directly connected and that no new heads pops up
on merges.)
Steve Borho <steve@borho.org> [Wed, 08 Dec 2010 22:14:18 -0600] rev 13157
record: teach parsepatch() about non-git style headers
These changes are not useful to record itself, since it is hard coded
to always generate git style diffs. But it makes parsepatch() more
generally useful for parsing normal patch files.
Eric Eisner <ede@mit.edu> [Mon, 13 Dec 2010 10:30:15 -0500] rev 13156
template: add showbranch template for {branch}
Like showbranches, but always yields exactly one branch. Replaces the less
correct {branches|nonempty}.
Erik Zielke <ez@aragost.com> [Mon, 29 Nov 2010 09:37:23 +0100] rev 13155
subrepo: avoids empty commit when .hgsubstate is dirty (issue2403)
This patch avoids empty commit when .hgsubstate is dirty. Empty commit
was caused by .hgsubstate being updated back to the state of the
working copy parent when committing, if a user had changed it manually
and not made any changes in subrepositories.
The subrepository state from the working copies parent is compared
with the state calculated as a result of trying to commit the
subrepositories. If the two states are the same, then return None
otherwise the commit is just done.
The line: "committing subrepository x" will be written if there is
nothing committed, but .hgsubstate is dirty for x subrepository.
Augie Fackler <durin42@gmail.com> [Thu, 16 Dec 2010 07:45:22 -0600] rev 13154
progress: don't compute estimate without a total
Without this, computing an estimate crashes. Test included.
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:58:13 -0500] rev 13153
subrepo: use low-level git-diff-index for dirty()
Despite its name, git-diff-index compares a revision to the files in the
working directory. This seems way less sketchy and more future proof than
parsing human-readable git-status.
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:56:43 -0500] rev 13152
subrepo: defer determination of git's current branch
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:56:43 -0500] rev 13151
subrepo: incorporate tracking branches into gitbranchmap
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:53:40 -0500] rev 13150
subrepo: use low-level git-for-each-ref command in branchmap
This command's output doesn't change across versions, and it also
disambiguates cases where there are slashes in local branch names.
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:55:14 -0600] rev 13149
progress using tests: disable time estimates to avoid flakiness
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:22:54 -0600] rev 13148
progress: include time estimate as part of the default progress format
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:22:06 -0600] rev 13147
progress: only show time estimate when progress format contains 'estimate'
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:20:36 -0600] rev 13146
progress: fix adding format elements after the progress bar
Prior to this change, format elements after the progress bar would
show up in the wrong order.
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 11:20:32 -0600] rev 13145
test-progress: test completion estimates and progress bar delay
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 16:34:10 +0100] rev 13144
subrepo: add progress bar support to archive
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 16:17:05 +0100] rev 13143
archive: add support for progress extension
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 16:35:09 +0100] rev 13142
progress: test setting progress.width
This also makes the tests readable in a 80-character terminal which is
why I made the change to both tests.
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 16:29:46 +0100] rev 13141
tests: add filtercr.py helper for progress tests
The two tests that used filtercr.py already used a slightly different
version, which explains why test-convert-svn-move.t changed after
switching to using $TESTDIR/filtercr.py.
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 09:52:20 +0100] rev 13140
test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 09:35:32 +0100] rev 13139
progress: explain format strings to translators
Mads Kiilerich <mads@kiilerich.com> [Wed, 15 Dec 2010 10:50:19 +0100] rev 13138
subrepo: re-backout 2245fcd0e160, remove test
7397a53219c9 re-removed the bad fix but not the test.
Matt Mackall <mpm@selenic.com> [Tue, 14 Dec 2010 18:10:51 -0600] rev 13137
subrepo: re-backout 2245fcd0e160
This bug got introduced into default simultaneously with its backout,
so future merges didn't eradicate it.
Matt Mackall <mpm@selenic.com> [Tue, 14 Dec 2010 17:10:01 -0600] rev 13136
merge with stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 06 Dec 2010 22:04:10 -0600] rev 13135
tag: abort if not at a branch head (issue2552)
Since it's usually only desirable to make tag commits on top of branch
heads, abort if the working dir parent is not a branch head. -f/--force
may be passed to commit at a non-head anyway.
Does not abort if working dir parent is a named branch head but not a
topological head.
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 08:02:54 +0100] rev 13134
tag: fix uncommitted merge check and error message (issue2542)
This patch corrects the check for tagging on an uncommitted merge. We
should never commit a new tag changeset on an uncommitted merge, whether
or not --rev is specified. It also changes the error message from:
abort: cannot partially commit a merge (do not specify files or patterns)
to the much more accurate (and terse):
abort: uncommitted merge
Local tags are ok.
Kevin Bullock <kbullock@ringworld.org> [Mon, 13 Dec 2010 21:20:30 -0600] rev 13133
tag: don't check .hgtags status if --local passed
Local tags don't create a commit, so we don't need to check the status
of .hgtags.
Augie Fackler <durin42@gmail.com> [Thu, 09 Dec 2010 17:33:40 -0600] rev 13132
progress: refactor for readability and show XXs instead of 0mXXs.
timeless <timeless@gmail.com> [Tue, 26 Oct 2010 14:41:58 +0300] rev 13131
progress: Add estimated time remaining for long tasks
Output looks roughly like this:
updating [======================> ] 1547/4842 0m13s
output will either show h:m or m:s
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 16:56:12 -0600] rev 13130
progress: react more reasonably to nested progress topics
Previously, we'd reset the entire progress bar state when a topic was
completed, even if it wasn't the outermost progress topic. Now we
print the state of the next progress topic on the stack if one is left
rather than reset the progress bar.
Steve Borho <steve@borho.org> [Mon, 13 Dec 2010 12:19:26 -0600] rev 13129
Merge with stable
Steve Borho <steve@borho.org> [Mon, 13 Dec 2010 11:51:01 -0600] rev 13128
util: work around behavior change in Python 2.7.1
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:53:17 +0100] rev 13127
merge with stable
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:52:52 +0100] rev 13126
merge default heads in crew and main
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:52:21 +0100] rev 13125
merge stable heads in crew and main
Erik Zielke <ez@aragost.com> [Mon, 22 Nov 2010 14:36:57 +0100] rev 13124
eol: improve help on whether EOLs are changed in working copy or repository
Improved help to make it more clear for users which changes are only
changes in the working copy and which changes that will go into the
repository (on the following commit). Futhermore a note on when the
rules will be applied to the working directory.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 13 Dec 2010 16:41:39 +0900] rev 13123
churn: ignore trailing and leading spaces (issue2546)
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 Dec 2010 23:05:48 +0100] rev 13122
merge with stable
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 07 Dec 2010 16:08:16 +0100] rev 13121
make_file: always return a fresh file handle that can be closed
Currently, cmdutil.make_file() will return a freshly made file handle,
except when given a pattern of '-'. If callers would want to close the
handle, they would have to make sure that it's neither sys.stdin or
sys.stdout. Instead, returning a duplicate of either of the two
ensures that make_file() lives up to its name and creates a new
file handle regardless of the input.
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:20:11 -0600] rev 13120
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:18:02 -0600] rev 13119
hook: fix import path handling for repo=None
Alexander Solovyov <alexander@solovyov.net> [Tue, 07 Dec 2010 15:27:04 +0100] rev 13118
hook: assume relative path to hook is given from repo root
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:08:17 -0600] rev 13117
subrepo: backed out changeset 2245fcd0e160
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 13:30:37 -0600] rev 13116
bundle progress: offer best-guess deterministic progress information
This uses the same strategy as progress for pulls, estimating manifests
based on changeset count and estimating file count by files list in
each changeset.
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 13:31:06 -0600] rev 13115
httpsendfile: record progress information during read()
This allows us to provide deterministic progress information during
transfer of bundle data over HTTP. This is required because we
currently buffer the bundle data to local disk prior to transfer since
wsgiref lacks chunked transfer-coding support.
Alexander Solovyov <alexander@solovyov.net> [Tue, 07 Dec 2010 15:50:28 +0100] rev 13114
templatekw.showdiffstat: use ctx.diff() instead of calling patch
Adrian Buehlmann <adrian@cadifra.com> [Fri, 10 Dec 2010 16:10:14 +0100] rev 13113
localrepo: remove unneeded os.unlink call in wwrite
The opener already unlinks the filename before 'w'riting, for both
the symlink and the normal file case. It also now resets the flags
for normal files on 'w'rite, which makes this os.unlink call completely
redundant.
For Windows, removing this extra unlink call helps to avoid tripping
issue2524 (os.unlink followed by a write).
Adrian Buehlmann <adrian@cadifra.com> [Fri, 10 Dec 2010 15:14:05 +0100] rev 13112
opener: always reset flags on 'w'rite
only the patcher needs to preserve flags on write
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13111
subrepo: silence git output when ui.quiet is set
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13110
subrepo: show git command with --debug
Also removing the clutter of --no-pager, since none of these commands use
the pager.
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13109
subrepo: speed up git push logic
In many common cases where the subrepo is up to date with the remote repo,
hg push will only need to run one git-branch command to see that nothing
needs to be pushed.
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13108
subrepo: use subprocess.Popen without the shell
As well as simplifying the code, this makes subprocess calls about 25% faster.
Tested on a couple linux boxes.
python -mtimeit -s'import subprocess' 'subprocess.Popen(
"git version", shell=True, stdout=subprocess.PIPE).wait()'
python -mtimeit -s'import subprocess' 'subprocess.Popen(
["git","version"], stdout=subprocess.PIPE).wait()'
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13107
subrepo: treat git error code 1 as success
At least status, commit, merge-base, and diff all return 1 when not failing.
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13106
subrepo: gitsubrepo should inherit from abstractsubrepo
Mads Kiilerich <mads@kiilerich.com> [Fri, 10 Dec 2010 01:30:16 +0100] rev 13105
subrepo: initialize subrepo relative default paths relative to their root
Matt Mackall <mpm@selenic.com> [Wed, 08 Dec 2010 13:12:12 -0600] rev 13104
merge with stable
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 20:03:04 +1100] rev 13103
bookmarks: create undo.bookmarks using repo.opener instead of util.copyfile
This more closely matches how the other undo files are created, and we
don't care about settings permissions or times on the file, which can
fail if the user running hg doesn't own the file.
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 19:47:53 +1100] rev 13102
archival: don't set gzip filename header when there's no filename
This mainly affects hgweb, which can generate tar.gz archives without
filenames. Without this change, the header would be set to ".gz",
which can confuse Safari into extracting the file and renaming it to
"gz" when "Open 'safe' files after downloading" is enabled.
file(1) before:
hg-crew-5e51254ad4d4.tar.gz: gzip compressed data, was ".gz", last modified: Thu Dec 2 11:46:20 2010, max compression
after:
hg-crew-5e51254ad4d4.tar.gz: gzip compressed data, last modified: Thu Dec 2 11:46:20 2010, max compression
Matt Mackall <mpm@selenic.com> [Wed, 08 Dec 2010 11:18:26 -0600] rev 13101
build: don't delete precious version information on 'make clean'
setup.py rebuilds version information if it's locally available,
regardless if file already exists.
Patrick Mezard <pmezard@gmail.com> [Fri, 03 Dec 2010 11:40:30 +0900] rev 13100
patch: write .rej files without rewriting EOLs
Do not pass reject file content to patchfile.writelines() to:
- Avoid line endings transformations
- Avoid polluting overriding implementations with unrelated data. They should
override write_rej() to deal or ignore reject files properly.
Bug report, analysis and original patch and test by
Shun-ichi GOTO <shunichi.goto@gmail.com>
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 20:03:05 +1100] rev 13099
record: move copystat() hack out of util.copyfile() and into record
b2410ed2cbe9 updated copyfile to also copy over atimes and
mtimes. That behavior is specifically to trick editors into thinking
files that hg record has modified haven't changed. We don't really
care about preserving times in the general case.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 07 Dec 2010 16:03:42 +0100] rev 13098
util: make atomicfiles closable
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13097
subrepo: drop arguments unsupported by old git
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13096
subrepo: work around old git's remote naming scheme
Older git versions use 'origin/master'
Current git uses 'remotes/origin/master'
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13095
subrepo: use environment variable instead of git commit's --date
Older git versions do not have a --date flag.
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13094
subrepo: parse git status's human-readable output
Older git versions do not have a machine-readable output, but the default
format has not changed over time.
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13093
subrepo: use subprocess's cwd instead of git's --work-tree
Some older git commands (e.g. git merge) do not properly recognize the
--work-tree argument, so abstract that away from git.
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13092
test-subrepo-git.t: make gitroot pushable earlier
Older git versions get confused when the git repo becomes bare.
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13091
test-subrepo-git.t: silence git output
Older git versions have different ideas of what output is considered quiet,
so the tests can be more version-blind.
Matt Mackall <mpm@selenic.com> [Mon, 06 Dec 2010 16:59:43 -0600] rev 13090
bdiff: Fix bogus NULL return
Matt Mackall <mpm@selenic.com> [Mon, 06 Dec 2010 16:42:48 -0600] rev 13089
bdiff: dynamically allocate hunks
Make the hunk list a singly-linked list rather than a large array.
Matt Mackall <mpm@selenic.com> [Mon, 06 Dec 2010 16:03:00 -0600] rev 13088
merge with stable
Eric Eisner <ede@mit.edu> [Sun, 28 Nov 2010 17:19:23 -0500] rev 13087
subrepo: lazily update git's local tracking branches
This continues the strategy of separation between hg pull and hg update in
git subrepos by only dealing with git's branches on an update. This behavior
tries to cover the bare essentials of the semantics of git pull in the subrepo
when the parent repo does hg pull and hg update.
Eric Eisner <ede@mit.edu> [Sun, 28 Nov 2010 15:21:23 -0500] rev 13086
subrepo: return both mapping directions from gitbranchmap
Eric Eisner <ede@mit.edu> [Sun, 28 Nov 2010 15:03:48 -0500] rev 13085
subrepo: strip gitcommand output
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 21:46:08 +0100] rev 13084
sshrepo: don't use readline() on the stderr pipe
For some reason, the stat/readline dance suppressed lines following
the first in PyPy 1.4.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 21:46:08 +0100] rev 13083
test-demandimport.py: PyPy support
The stringification of sys.stderr is different in PyPy:
$ pypy -c 'import sys; print sys.stderr'
<open file '<fdopen>', mode 'w' at 0x00a42080>
$ python -c 'import sys; print sys.stderr'
<open file '<stderr>', mode 'w' at 0x10025a270>
The test will now ignore the exact value between the angle brackets.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 21:46:08 +0100] rev 13082
demandimport: change default for level from None to -1
The Python default for this function is -1, indicating both relative
and absolute imports should be used.[1] Previously, we relied on the
Python VM not passing level when such semantics were
requisted. This is not the case for PyPy, however, where a level of -1
is always passed to __import__.
[1] <http://docs.python.org/library/functions.html#__import__>
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 21:46:08 +0100] rev 13081
export: flush the file pointer between patches
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 19:20:16 +0100] rev 13080
test-clone-failure.t: fix unification oversight
Prior to unification, the test contained an 'echo $?' line. This line
was removed during unification, but the 'echo 255' line that faked it
when FIFO support is absent was not.
Christian Ebert <blacktrash@gmx.net> [Sat, 04 Dec 2010 14:44:05 +0100] rev 13079
keyword: make kwfiles show deleted files configured for expansion
Christian Ebert <blacktrash@gmx.net> [Sat, 04 Dec 2010 14:22:12 +0100] rev 13078
keyword: colorize hg kwfiles output
Thomas Arendsen Hein <thomas@jtah.de> [Fri, 03 Dec 2010 12:22:56 +0100] rev 13077
coding style: fix yield used as a function
Thomas Arendsen Hein <thomas@jtah.de> [Fri, 03 Dec 2010 12:04:31 +0100] rev 13076
check-code: single check for Python keywords used as a function
This replaces the specific checks for del/and/or/not/except and additionally
checks other Python keywords.
Thomas Arendsen Hein <thomas@jtah.de> [Fri, 03 Dec 2010 11:30:45 +0100] rev 13075
coding style: fix gratuitous whitespace after Python keywords
Thomas Arendsen Hein <thomas@jtah.de> [Fri, 03 Dec 2010 11:23:38 +0100] rev 13074
check-code: check for gratuitous whitespace after Python keywords
Wagner Bruna <wbruna@yahoo.com> [Thu, 02 Dec 2010 01:28:38 -0200] rev 13073
i18n-pt_BR: synchronized with 9696954415db
Matt Mackall <mpm@selenic.com> [Wed, 01 Dec 2010 18:47:40 -0600] rev 13072
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 01 Dec 2010 18:46:20 -0600] rev 13071
Added signature for changeset 6aff4f144ad3
Matt Mackall <mpm@selenic.com> [Wed, 01 Dec 2010 18:46:15 -0600] rev 13070
Added tag 1.7.2 for changeset 6aff4f144ad3
Christian Ebert <blacktrash@gmx.net> [Wed, 01 Dec 2010 10:51:49 +0100] rev 13069
keyword: copy: when copied source is a symlink, follow it
1) hg cp symlink copy -> copy is a symlink.
2) cp symlink copy; hg cp -A symlink copy -> copy is a regular file.
In the second case we have to follow the symlink to its target
to find out whether we have to unexpand keywords in the copy.
Add test covering the case where the copied link's target is ignored
by keyword but has content which would match the regex for expanded
keywords to check whether we indeed leave the destination alone.
Adrian Buehlmann <adrian@cadifra.com> [Wed, 01 Dec 2010 21:15:31 +0100] rev 13068
makedirs: abort if parent == name (issue2531)
catches unknown drive letters on Windows
Shun-ichi GOTO <shunichi.goto@gmail.com> [Fri, 19 Nov 2010 18:07:15 +0900] rev 13067
win32mbcs: use extsetup() to wrap functions only once.
Using reposetup() may cause multiple-wrap issue in some situation
like "hg serve".
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 30 Nov 2010 12:45:25 -0200] rev 13066
hgwebdir: fix incorrect index generation for invalid paths (issue2023)
edd07be943dd moved the subdirectory match inside the repository match
loop. A virtual path existing/path/invalid/path would then match
existing/path, and generate a wrong index page.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 26 Nov 2010 18:45:35 +0100] rev 13065
serve: fix doc typo
Kevin Bullock <kbullock@ringworld.org> [Thu, 25 Nov 2010 21:50:41 -0600] rev 13064
mq: fix failing qrefresh test
Additions to test-mq-qrefresh.t in f08df4d38442 (mq: ignore subrepos
(issue2499)) were originally based on a version prior to d0e21c5fde41
(subrepo: handle missing subrepo spec file as removed). This fixes a
test failure that resulted from the former being applied after the
latter, noticed by abuehl.
Adrian Buehlmann <adrian@cadifra.com> [Wed, 24 Nov 2010 19:31:43 +0100] rev 13063
makedate: abort on negative timestamps (issue2513)
catches weird clock settings
Adrian Buehlmann <adrian@cadifra.com> [Wed, 24 Nov 2010 19:31:43 +0100] rev 13062
parsedate: abort on negative dates (issue2513)
catches "hg commit -d '-7654321 3600'" (example)
Matt Mackall <mpm@selenic.com> [Wed, 01 Dec 2010 17:50:49 -0600] rev 13061
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 23 Nov 2010 13:22:01 -0200] rev 13060
i18n-pt_BR: synchronized with f08df4d38442
Martin Geisler <mg@lazybytes.net> [Wed, 01 Dec 2010 11:04:50 +0100] rev 13059
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Wed, 01 Dec 2010 04:21:47 +0100] rev 13058
test-clone.t: add basic cases for destination ''
The case
$ hg clone a ''
already aborted before 2649be11ab0b, whereas
$ hg clone --pull a ''
tripped the fixed issue2528.
Both basic cases are expected to fail with an abort.
Martin Geisler <mg@lazybytes.net> [Wed, 01 Dec 2010 10:52:31 +0100] rev 13057
hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net> [Wed, 01 Dec 2010 10:21:40 +0100] rev 13056
hgrc.5: describe what the [auth] section is for
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 01 Dec 2010 11:02:12 +0900] rev 13055
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 01 Dec 2010 09:46:11 +0900] rev 13054
runrst: add RSTARGS Makefile variable to allow customization
In particular, we can ask users to run
make RSTARGS='--traceback' doc
when we need debugging information
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 30 Nov 2010 17:48:12 +0900] rev 13053
util: do not recurse in makedirs if name is '' (issue2528)
Patrick Mezard <pmezard@gmail.com> [Mon, 29 Nov 2010 20:13:11 +0100] rev 13052
convert/svn: fix changed files list upon directory replacements
When branch2/dir was replacing branch1/dir, we only marked branch2/dir files a
changed. Add branch1/dir files as they may not exist in branch2.
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 10:13:55 +0100] rev 13051
encoding: fix typo in variable name
The typo had no real effect, except for an unnecessary UTF-8 encoding.
Matt Mackall <mpm@selenic.com> [Sun, 28 Nov 2010 18:21:47 -0600] rev 13050
pushkey: use UTF-8
Matt Mackall <mpm@selenic.com> [Wed, 24 Nov 2010 16:10:37 -0600] rev 13049
wireproto: use proper UTF-8 handling for key lookup
Lookups happen in the local encoding space, but the wire protocol
should be using UTF-8 for interoperability.
Matt Mackall <mpm@selenic.com> [Wed, 24 Nov 2010 16:04:33 -0600] rev 13048
bookmarks: use UTF-8 storage
This uses tolocal/fromlocal to translate bookmark metadata to UTF-8
for storage. Existing bookmarks in ASCII, UTF-8 or Latin1 will
continue to work, others may need to set HGENCODINGFALLBACK to
transition.
Matt Mackall <mpm@selenic.com> [Wed, 24 Nov 2010 15:56:32 -0600] rev 13047
branch: operate on branch names in local string space where possible
Previously, branch names were ideally manipulated as UTF-8 strings,
because they were stored as UTF-8 in the dirstate and the changelog
and could not be safely converted to the local encoding and back.
However, only about 80% of branch name code was actually using the
right encoding conventions. This patch uses the localstr addition to
allow working on branch names as local strings, which simplifies
handling so that the previously incorrect code becomes correct.
Matt Mackall <mpm@selenic.com> [Wed, 24 Nov 2010 15:38:52 -0600] rev 13046
encoding: add localstr class to track UTF-8 version of transcoded strings
This allows UTF-8 strings to losslessly round-trip through Mercurial
Steve Borho <steve@borho.org> [Fri, 26 Nov 2010 20:08:03 -0600] rev 13045
Merge with stable
Steve Borho <steve@borho.org> [Fri, 26 Nov 2010 20:05:16 -0600] rev 13044
wix: allow x86 MSI packages to be installed on x64 systems
Steve Borho <steve@borho.org> [Fri, 26 Nov 2010 18:04:10 -0600] rev 13043
Merge with stable
Steve Borho <steve@borho.org> [Fri, 26 Nov 2010 17:40:13 -0600] rev 13042
wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org> [Fri, 26 Nov 2010 16:18:19 -0600] rev 13041
wix: switch Mercurial Windows installer to use py2exe --bundle 3
--bundle 3 leaves all of the compiled C extensions and other DLLs outside of
the library.zip, so we no longer add the installer folder to the system PATH.
Instead, we now ship a small bin/hg.cmd and it is placed in the PATH.
Switching to py2exe --bundle 3 is necessary because the higher bundle options
are not supported on x64.
Steve Borho <steve@borho.org> [Wed, 24 Nov 2010 13:43:40 -0600] rev 13040
Merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Tue, 23 Nov 2010 13:11:40 +0100] rev 13039
util.datestr: do not crash on revisions with negative timestamp (issue2513)
Python's time.gmtime(lt) fails on Windows, producing a traceback with
ValueError: (22, 'Invalid argument')
if lt < -43200.
We get a local time boundary value of -43200 if we take "the epoch"
Thu Jan 01 00:00:00 1970 = time.gmtime(0)
from timezone 'UTC+0' into timezone 'UTC-12'. All other timezones will have
larger local time values for that point in time.
Aborting with a traceback on 'hg log' for revisions with a timestamp value
< -43200 is clearly not acceptable.
Returning "invalid timestamp" or similar as string representation is not an
option either, since that may crash other tools which parse the output of
'hg log'.
Instead, we teach util.datestr() to return the epoch in timezone UTC+0 on
*all platforms*, represented by the string
Thu Jan 01 00:00:00 1970 +0000
if the timestamp's unix time value is negative.
(based on a patch originally proposed by Benjamin Pollack)
Adrian Buehlmann <adrian@cadifra.com> [Tue, 23 Nov 2010 22:53:47 +0100] rev 13038
checknlink: return False if .hgtmp file preexists (issue2517)
If os_link fails on Windows, errno is always errno.EINVAL,
so we can't really say if the testlink could not be created
because (a) the FS doesn't support hardlinks or (b) there
is a leaked .hgtmp file lying around from a previous crashed
run.
So let's err on the safe side, keep the code simple and assume
we can't detect hardlinks in both cases.
Martin Geisler <mg@aragost.com> [Wed, 24 Nov 2010 13:25:12 +0100] rev 13037
localrepo: move string formatting out of gettext call
Matt Mackall <mpm@selenic.com> [Mon, 22 Nov 2010 13:11:46 -0600] rev 13036
merge with stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 16 Nov 2010 13:06:07 -0600] rev 13035
mq: ignore subrepos (issue2499)
If MQ allows modifying .hgsub or .hgsubstate in a patch, it can easily
lead to an inconsistent subrepo state. This patch prevents qrefresh from
adding any modifications to .hgsub or .hgsubstate to a patch. The user
is warned that these files are not included in the patch.
The tests test both the slightly irrational and the pathological cases.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 22 Nov 2010 17:32:51 +0100] rev 13034
tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Should make running the testsuite a bit faster.
Also, test-hardlinks.t and test-hardlinks-safety.t now have enough
infrastructure in common.
Steve Losh <steve@stevelosh.com> [Wed, 17 Nov 2010 21:18:44 -0500] rev 13033
mq: add an '-e/--exact' option to qpush
This patch adds an '--exact/-e' option to qpush that will try to push the
patches in the correct location in the DAG. Specifying this option does the
following:
* If --move is specified, abort. It makes no sense to move a patch to the front
of the queue and try to apply it to its parent, because its parent is one of
the patches we just moved it in front of!
* If patches are already applied, abort. We don't want patch changesets
scattered throughout the DAG.
* If local changes are present, abort unless --force is used, as usual.
* Find the first patch we're going to push (if we're pushing multiple patches
with a target or --all).
* If that patch doesn't have a parent, abort, obviously.
* If the parent doesn't exist in the repo, abort. Something is wrong.
* Update to the parent, then continue pushing the patches as normal.
Matt Mackall <mpm@selenic.com> [Mon, 22 Nov 2010 12:43:31 -0600] rev 13032
dirstate: warn on invalid parents rather than aborting
This allows more graceful recovery from some mangled dirstates
Martin Geisler <mg@aragost.com> [Mon, 22 Nov 2010 18:15:58 +0100] rev 13031
code style: prefer 'is' and 'is not' tests with singletons
Martin Geisler <mg@aragost.com> [Mon, 22 Nov 2010 17:57:11 +0100] rev 13030
polib: remove unnecessary comparisons with True
Submitted to upstream repository as changeset f11e0b1b37b0.
Eric Eisner <ede@mit.edu> [Sun, 21 Nov 2010 22:00:51 -0500] rev 13029
subrepo: lazier git push logic
Avoids calls to git push when the revision is already known to be
in the remote repository. Now, when using a read-only git subrepo,
git will never need to talk to its upstream repository.
Martin Geisler <mg@aragost.com> [Mon, 22 Nov 2010 17:39:46 +0100] rev 13028
merge with stable
Eric Eisner <ede@mit.edu> [Thu, 18 Nov 2010 19:20:21 -0500] rev 13027
subrepo: archive git subrepos
Adrian Buehlmann <adrian@cadifra.com> [Sun, 21 Nov 2010 11:52:27 +0100] rev 13026
check-code: catch Python 'is' comparing number or string literals
The Python 'is' operator compares object identity, so it should
definitely not be applied to string or number literals, which Python
implementations are free to represent with a temporary object.
This should catch the following kinds of bogus expressions (examples):
x is 'foo' x is not 'foo'
x is "bar" x is not "bar"
x is 42 x is not 42
x is -36 x is not -36
As originally proposed by Martin Geisler, amended with catching
negative numbers.
Christian Ebert <blacktrash@gmx.net> [Mon, 22 Nov 2010 16:05:31 +0100] rev 13025
keyword: s/config/configuration/ in help
Patrick Mezard <pmezard@gmail.com> [Sun, 21 Nov 2010 13:16:59 +0100] rev 13024
Merge with stable
timeless <timeless@gmail.com> [Sun, 21 Nov 2010 05:07:06 -0600] rev 13023
record: quote command in use hg commit message
timeless <timeless@gmail.com> [Sat, 20 Nov 2010 20:41:48 +0200] rev 13022
revert: improve merge advice and favor its error over all
Henrik Stuart <hg@hstuart.dk> [Sat, 20 Nov 2010 09:51:56 +0100] rev 13021
rebase: support --detach when null is common ancestor
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 18 Nov 2010 19:52:58 -0200] rev 13020
templater: fix variable name
'format' was renamed to 'parsed' in 0d50586a9d31
Adrian Buehlmann <adrian@cadifra.com> [Wed, 17 Nov 2010 16:54:30 +0100] rev 13019
test-hardlinks: add testcase for repo copied with 'cp -al'
This patch adds a case to test-hardlinks.t which demonstrates that
hardlinks in the working directory are broken up (using 'hg update').
Motivation for this patch:
'hg help clone' shows copying repositories *and* the working directory
using 'cp -al', creating hardlinks in the *working directory* too (not
just in the store).
Note that we can't use 'cp -al' since for example MacOS X doesn't
support these options on cp. I'm thus using the same trick as in
test-hardlinks-safety.t for creating hardlinks in the working dir.
Patrick Mezard <pmezard@gmail.com> [Thu, 18 Nov 2010 23:15:13 +0100] rev 13018
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Thu, 18 Nov 2010 23:05:10 +0100] rev 13017
subrepo: handle missing subrepo spec file as removed
Otherwise, all commands involving a dirstate walk will abort when trying to
readone of them. Deleting .hgsub basically breaks a repository.
Patrick Mezard <pmezard@gmail.com> [Wed, 17 Nov 2010 21:30:13 +0100] rev 13016
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Wed, 17 Nov 2010 21:25:23 +0100] rev 13015
subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com> [Wed, 17 Nov 2010 21:24:36 +0100] rev 13014
subrepo: use subprocess directly to avoid python 2.6 bug
Using svn subrepos on MacOSX with native python 2.6.1 results in a lot of
unexpected output caused by:
http://bugs.python.org/issue5099
subprocess.Popen.__del__ causes AttributeError (os module == None)
Avoiding dangling Popen instance solves the issue.
Patrick Mezard <pmezard@gmail.com> [Wed, 17 Nov 2010 21:00:47 +0100] rev 13013
subrepo: fix removing read-only svn files on Windows
Martin Geisler <mg@aragost.com> [Wed, 17 Nov 2010 09:37:57 +0100] rev 13012
check-code: catch 'ls filename --option' case as per 6bdae8ea0b48
Erik Zielke <ez@aragost.com> [Tue, 02 Nov 2010 17:44:19 +0100] rev 13011
minirst: improved support for option lists.
This enables minirst to parse and print option lists which have both
long and short options. Before, we could only parse option lists with
long options.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 16 Nov 2010 13:29:35 +0100] rev 13010
test-subrepo-git.t: portability fix.
Specifying arguments after file names for 'ls' is a GNU extension.
Erik Zielke <ez@aragost.com> [Tue, 16 Nov 2010 13:29:08 +0100] rev 13009
minirst: modified minirst to also recognize empty comments.
The modifies minirst to also handle empty comments. An empty comment
is a block with a single line containing two dots.
Martin Geisler <mg@aragost.com> [Wed, 17 Nov 2010 09:17:55 +0100] rev 13008
merge with stable
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 16 Nov 2010 21:35:58 +0100] rev 13007
posix: remove is-comparison between integers
Comparing integers by identity relies on a CPython implementation
detail of caching integers between -5 and 256.[1]
[1] <http://docs.python.org/c-api/int.html#PyInt_FromLong>
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 16 Nov 2010 21:35:58 +0100] rev 13006
httprepo: remove is-comparison with string literal
An identity check between a variable and a string literal was added to
the pushkey implementation in 6bd9778ae749. While CPython will
normally intern strings and thus make the test safe, value identity is
what should be used here.
Martin Geisler <mg@aragost.com> [Wed, 17 Nov 2010 09:06:38 +0100] rev 13005
mq: fix comment to reflect change in efbee27415ab
Kevin Bullock <kbullock@ringworld.org> [Tue, 16 Nov 2010 13:06:04 -0600] rev 13004
mq: clean up unused variable in qrefresh
Removes the unused variable `aa2` that holds the list of deleted files
returned from repo.status().
Martin Geisler <mg@aragost.com> [Tue, 16 Nov 2010 11:10:50 +0100] rev 13003
minirst: better interaction between comments and margins
You can now split a list with a comment:
* foo
.. separator
* bar
and the two list items will no longer be run together, that is the
output is
* foo
* bar
instead of
* foo
* bar
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 16 Nov 2010 10:33:19 +0900] rev 13002
run-tests: fix --debug for .t tests
When --debug is given to the test runner, run() returns (retcode, None).
Do not try to use None output as a string, and return directly, similarly
as other testers.
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 17:05:54 -0600] rev 13001
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 17:04:55 -0600] rev 13000
commit: search both parents for missing copy revision (issue2484)
raise a proper abort if we can't find an ancestor
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 17:00:43 -0600] rev 12999
context: walk both parents for workingctx.ancestors()
Adrian Buehlmann <adrian@cadifra.com> [Thu, 11 Nov 2010 15:51:20 +0100] rev 12998
discovery: list new remote heads in prepush() on --debug
With this patch applied, Mercurial will list the hashes of new remote heads
if push --debug aborts because of new remote heads (option -f/--force not set).
Example:
$ hg push --debug repo1
using http://example.org/repo1
http auth: user johndoe, password not set
sending between command
pushing to http://example.org/repo1
sending capabilities command
capabilities: changegroupsubset stream=1 lookup pushkey unbundle=HG10GZ,HG10BZ,HG10UN branchmap
sending heads command
searching for changes
common changesets up to 609edbc7853f
sending branchmap command
new remote heads on branch 'default' <- new output line
new remote head 5862c07f53a2 <- new output line
abort: push creates new remote heads on branch 'default'!
(did you forget to merge? use push -f to force)
Compare to without --debug (not changed by this patch, including it here
for reference purposes only):
$ hg push repo1
pushing to http://example.org/repo1
searching for changes
abort: push creates new remote heads on branch 'default'!
(did you forget to merge? use push -f to force)
Motivation for this change:
'hg outgoing' may list a whole lot of benign changesets plus an odd changeset
that will trigger the "new remote heads" abort. It can be hard to spot that
single unwanted changeset (it may be an old forgotten experiment, lingering
in the local repo).
"hg log -r 'heads(outgoing())'" might be useful, but that also lists a head
that may be benign on push.
Inside prepush(), we already know which heads are causing troubles on 'hg push'.
Why not make that info available (at least on --debug)?
This would also be helpful for doing remote support, as the supporter can ask
the user to paste the output of 'hg push --debug' on error and then ask further
questions about the heads listed.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 11 Nov 2010 15:42:27 +0100] rev 12997
discovery: remove erroneous comment in prepush()
New named branches *can* be created without -f/--force by specifying
--new-branch
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:31:40 -0500] rev 12996
subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:31:29 -0500] rev 12995
subrepo: update and merge works with any git branch
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:22:33 -0500] rev 12994
subrepo: allow git subrepos to push and merge
(master branch only)
gitsubrepo based on patch from David Soria Parra:
http://bitbucket.org/segv/davids-poor-git-subrepo-attempt/
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:20:13 -0500] rev 12993
subrepo: cloning and updating of git subrepos
gitsubrepo based on patch from David Soria Parra:
http://bitbucket.org/segv/davids-poor-git-subrepo-attempt/
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:15:26 -0500] rev 12992
subrepo: support for adding a git subrepo
gitsubrepo based on patch from David Soria Parra:
http://bitbucket.org/segv/davids-poor-git-subrepo-attempt/
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:57:49 -0600] rev 12991
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:57:40 -0600] rev 12990
merge with i18n
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:55:54 -0600] rev 12989
Added signature for changeset 4438875ec01b
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:55:48 -0600] rev 12988
Added tag 1.7.1 for changeset 4438875ec01b
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:55:36 -0600] rev 12987
merge with stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 14 Nov 2010 23:32:04 -0200] rev 12986
merge with i18n stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 14 Nov 2010 23:28:44 -0200] rev 12985
i18n-pt_BR: synchronized with 27e4146d9241
Wagner Bruna <wbruna@yahoo.com> [Sun, 14 Nov 2010 23:31:50 -0200] rev 12984
merge with i18n
Martin Geisler <mg@aragost.com> [Fri, 05 Nov 2010 16:10:38 +0100] rev 12983
i18n-da: translate small error messages
Martin Geisler <mg@aragost.com> [Mon, 01 Nov 2010 11:05:14 +0100] rev 12982
i18n-da: synchronize with 15ca4bfecfe3
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:57:40 +0100] rev 12981
merge with stable
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:57:12 +0100] rev 12980
eol: mention the hook in the module docstring
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:46:51 +0100] rev 12979
eol: fix win32text encode/decode filter names
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:20:37 +0100] rev 12978
test-win32text: use $TESTTMP in output
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:16:50 +0100] rev 12977
test-win32text: use (esc) lines instead of Python script
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:12:09 +0100] rev 12976
merge with stable
Colin Caughie <c.caughie@indigovision.com> [Wed, 10 Nov 2010 20:26:56 +0000] rev 12975
eol: added filter aliases for backwards compatibility with win32text
This makes it possible to switch most win32text configurations (i.e. those
that use cleverencode and cleverdecode) to hgeol simply by disabling one and
enabling the other. Any rules found in repo-specific .hgeol files will be
appended to the configuration in .hgrc.
Colin Caughie <c.caughie@indigovision.com> [Sat, 13 Nov 2010 15:02:02 +0100] rev 12974
eol: exclude .hgtags file from eol translation (issue2493)
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 13 Nov 2010 11:58:51 +0900] rev 12973
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 11 Nov 2010 02:10:37 +0900] rev 12972
log: fix log -rREV FILE when REV isnt the last filerev (issue2492)
Regression from 99cafcae25d9. That previous commit is not supposed
to affect log calls without --follow, so we step out of this
codepath if follow is not True, and it's enough to fix the
regression.
When --follow is given, we fix the issue by taking into account
changesets that have a rev > maxrev to build the filegraph: even if
those files are not included in the final result, it's still needed
to walk correctly the graph from the end of the filelog to minrev, to
track accurately renames.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 11 Nov 2010 02:05:02 +0900] rev 12971
cmdutil: move range check outside of filerevgen
Simple refactor, no logic change.
Matt Mackall <mpm@selenic.com> [Fri, 12 Nov 2010 01:22:46 -0600] rev 12970
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 12 Nov 2010 01:21:45 -0600] rev 12969
pushkey: force HTTP POST on push and add tests (issue2489)
Martin Geisler <mg@lazybytes.net> [Thu, 11 Nov 2010 07:23:38 +0100] rev 12968
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Wed, 10 Nov 2010 17:28:24 +0100] rev 12967
tests: add test-hardlinks.t
partially testing util.opener.__call__
Yuya Nishihara <yuya@tcha.org> [Thu, 11 Nov 2010 01:12:51 +0900] rev 12966
win32: remove try-catch block of GetModuleFileNameEx (issue2480)
According to the API document, GetModuleFileName is the preferred way to
retrieve the filename of the current process. So we shouldn't try
GetModuleFileName'Ex' first.
Previously system_rcpath_win32() happened to return unicode paths due to
GetModuleFileNameEx (issue2480). This problem is fixed as GetModuleFileName
never return unicode.
Richard Hopkins [Tue, 09 Nov 2010 20:25:56 +0000] rev 12965
gpg, commands: fixed util.abort to util.Abort typos
gpg: Fixed util.abort typo after entering wrong password.
commands: Fixed util.abort typo in debugindex.
Martin Geisler <mg@lazybytes.net> [Thu, 11 Nov 2010 00:08:09 +0100] rev 12964
check-code: using and/or/not as a function is bad style
Martin Geisler <mg@aragost.com> [Wed, 10 Nov 2010 15:44:19 +0100] rev 12963
merge with stable
Klaus Koch <kuk42@gmx.net> [Sun, 07 Nov 2010 20:18:57 +0100] rev 12962
bundlerepository: get rid of temporary bundle files (issue2478)
This bug was introduced in 40935b59518b and 6277a9469dff.
Martin Geisler <mg@aragost.com> [Wed, 10 Nov 2010 15:38:00 +0100] rev 12961
bundlerepository: test self.tempfile field, not tempfile module
This error was introduced in 680fe77ab5b8.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 10 Nov 2010 13:48:23 +0100] rev 12960
test-mq-qnew: handle Mac OS X error strings.
On Mac OS X, opening a file called '42/' results in ENOENT and not
EISDIR if the directory doesn't exist.
timeless <timeless@gmail.com> [Wed, 10 Nov 2010 04:53:11 -0600] rev 12959
help: urls help should include see also for paths
Martin Geisler <mg@aragost.com> [Wed, 10 Nov 2010 14:46:13 +0100] rev 12958
minirst: link to HelpStyleGuide in docstring
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 09 Nov 2010 13:43:35 +0900] rev 12957
util: clarify purpose of MBTextWrapper class
It's easy to get confused and scared of an Unicode monster when
skimming through this code: document that this is really just
about column-counting.
Matt Mackall <mpm@selenic.com> [Mon, 08 Nov 2010 17:29:23 -0600] rev 12956
merge with stable
Erik Zielke <ez@aragost.com> [Mon, 08 Nov 2010 10:56:47 +0100] rev 12955
run-test: fixed wrong parenthesis
Fixed wrong placement of end parenthesis, from b911cb80c671
Matt Mackall <mpm@selenic.com> [Mon, 08 Nov 2010 17:16:29 -0600] rev 12954
merge with crew
Matt Mackall <mpm@selenic.com> [Mon, 08 Nov 2010 17:16:17 -0600] rev 12953
merge with crew
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 09 Nov 2010 01:33:48 +0900] rev 12952
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 08 Nov 2010 22:45:56 +0900] rev 12951
graphmod: safer code when a changeset has two identical parents
While this situation should never under normal use, some real
life repos sometimes contain such changesets (older hg versions,
broken rebases, etc...)
hgweb was displaying an "Internal error" in this case, and graphlog
displayed a redundant branch all the way to null: it does not cost us
much to just ignore this extra parent when constructing the DAG.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 07 Nov 2010 18:23:48 +0900] rev 12950
revlog: fix descendants() if nullrev is in revs
We were not returning the correct result if nullrev was in revs, as we
are checking parent(currentrev) != nullrev before yielding currentrev
test-convert-hg-startrev was wrong: if we start converting from rev -1 and
onwards, all the descendants of -1 (full repo) should be converted.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 07 Nov 2010 18:16:07 +0900] rev 12949
revlog: if start is nullrev, end is always a descendant
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 07 Nov 2010 22:03:28 +0900] rev 12948
mq: use sets instead of lists for speed
The code eventually converts data through sets to ensure unicity:
do it earlier to allow faster __contains__ lookups and avoid
`del l[l.index(x)]` kind of code.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 07 Nov 2010 18:59:27 +0900] rev 12947
context: add __repr__ methods to workingfilectx and workingctx
Matt Mackall <mpm@selenic.com> [Sun, 07 Nov 2010 19:42:42 -0600] rev 12946
merge with crew
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:55:32 +0100] rev 12945
test-import: workaround for missing newline is no longer needed
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:44:46 +0100] rev 12944
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:41:42 +0100] rev 12943
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:41:41 +0100] rev 12942
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:35:41 +0100] rev 12941
tests: use (esc) markup for string-escape
This makes test output less ambiguous.
Failing test output will be escaped and marked up if necessary. A Python
string-escape compatible encoding is used, but not everything is encoded -
especially not \n and \t and '.
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:35:40 +0100] rev 12940
tests: (no-eol) markup for command output without trailing LF
Output chunks without a trailing LF will now work but get (no-eol) appended.
This change mostly moves code around so we can handle that an output line
starts with data from previous command, followed by salt and the next command.
Matt Mackall <mpm@selenic.com> [Sun, 07 Nov 2010 16:01:57 -0600] rev 12939
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 07 Nov 2010 18:21:29 +0100] rev 12938
opener: check hardlink count reporting (issue1866)
The Linux CIFS kernel driver (even in 2.6.36) suffers from a hardlink
count blindness bug (lstat() returning 1 in st_nlink when it is expected
to return >1), which causes repository corruption if Mercurial running
on Linux pushes or commits to a hardlinked repository stored on a Windows
share, if that share is mounted using the CIFS driver.
This patch works around issue1866 and improves the workaround done in
50523b4407f6 to fix issue761, by teaching the opener to lazily execute a
runtime check (new function checknlink) to see if the hardlink count
reported by nlinks() can be trusted.
Since nlinks() is also known to return varying count values (1 or >1)
depending on whether the file is open or not and depending on what client
and server software combination is being used for accessing and serving
the Windows share, we deliberately open the file before calling nlinks() in
order to have a stable precondition. Trying to depend on the precondition
"file closed" would be fragile, as the file could have been opened very
easily somewhere else in the program.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 04 Nov 2010 09:04:37 +0100] rev 12937
util: refactor opener
- Don't call atomictempfile or nlinks() if the path is malformed
(no basename). Let posixfile() raise IOError directly.
- atomictempfile already breaks up hardlinks, no need to poke
at the file with nlinks() if atomictemp.
- No need to copy the file contents to break hardlinks for 'w'rite
modes (w, wb, w+, w+b). Unlinking and recreating the file is faster.
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Nov 2010 18:15:17 +0100] rev 12936
revset: remove unnecessary debug statement
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Nov 2010 18:14:42 +0100] rev 12935
revset: fix p1, p2 and parents in dirstate case (a5f7f1e9340e)
- Handle 'subset' argument
- Stop returning the null rev from p1 and parents, as in the non-dirstate case
- Order parents as in the non-dirstate case (ascending revs)
Mads Kiilerich <mads@kiilerich.com> [Sat, 06 Nov 2010 00:31:44 +0100] rev 12934
tests: handle .t files without trailing LF
9a2de8dae27b made this simple test-test.t succeed silently:
$ printf ' $ true' > test-test.t
but did not give a usable .err in this case:
$ printf ' $ false' > test-test.t
The missing LF will now be fixed in the test output and it will thus give a
test failure and a solution in the .err file.
Matt Mackall <mpm@selenic.com> [Fri, 05 Nov 2010 15:38:23 -0500] rev 12933
merge with stable
Steve Losh <steve@stevelosh.com> [Fri, 05 Nov 2010 15:54:32 -0400] rev 12932
alias: fall back to normal error handling for ambigious commands (fixes issue2475)
Martin Geisler <mg@aragost.com> [Fri, 05 Nov 2010 15:35:39 +0100] rev 12931
merge with stable
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> [Fri, 05 Nov 2010 15:13:22 +0100] rev 12930
subrepo: test & fix svn subrepo removal
Kevin Bullock <kbullock@ringworld.org> [Thu, 04 Nov 2010 17:09:00 -0500] rev 12929
revsets: let parents() return parents of working dir
This patch makes the 'set' argument to revset function parents() optional.
Like p1() and p2(), if no argument is given, returns the parent(s) of the
working directory.
Morally equivalent to 'p1()+p2()', as expected.
Kevin Bullock <kbullock@ringworld.org> [Thu, 04 Nov 2010 16:59:03 -0500] rev 12928
revsets: let p1() and p2() return parents of working dir
This patch makes the 'set' argument to revset functions p1() and p2()
optional. If no argument is given, p1() and p2() return the first or second
parent of the working directory.
If the working directory is not an in-progress merge (no 2nd parent), p2()
returns the empty set. For a checkout of the null changeset, both p1() and
p2() return the empty set.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 04 Nov 2010 09:04:37 +0100] rev 12927
util: refactor opener
- Don't call atomictempfile or nlinks() if the path is malformed
(no basename). Let posixfile() raise IOError directly.
- atomictempfile already breaks up hardlinks, no need to poke
at the file with nlinks() if atomictemp.
- No need to copy the file contents to break hardlinks for 'w'rite
modes (w, wb, w+, w+b). Unlinking and recreating the file is faster.
Christian Ebert <blacktrash@gmx.net> [Thu, 04 Nov 2010 22:56:38 +0000] rev 12926
keyword: turn regexes and escaped keywords into a propertycache
Matt Mackall <mpm@selenic.com> [Thu, 04 Nov 2010 16:21:28 -0500] rev 12925
commands: add revset support to most commands
Martin Geisler <mg@aragost.com> [Thu, 04 Nov 2010 18:19:10 +0100] rev 12924
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com> [Thu, 04 Nov 2010 18:11:10 +0100] rev 12923
convert: split docstring lists for easier translation
Erik Zielke <ez@aragost.com> [Thu, 04 Nov 2010 14:14:47 +0100] rev 12922
convert: use field list instead of option list in help
Use field list instead of option list in convert help, because the
option list format used, with defaults and type of argument is not
supported by docutils.
Martin Geisler <mg@aragost.com> [Thu, 04 Nov 2010 17:52:40 +0100] rev 12921
doc/Makefile: docs now also depend on extensions
After 0d09991f91ee the hg(1) manpage contains a section with help
extracted from the extensions, so we should depend on them too.
Christian Ebert <blacktrash@gmx.net> [Wed, 03 Nov 2010 14:37:41 +0100] rev 12920
keyword: function to look up changectx for expansion
Similarly rename variable in kwtemplater.overwrite().
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> [Tue, 02 Nov 2010 11:25:52 +0100] rev 12919
localrepo: make heads use the keyword args of the sorted builtin
Steve Borho <steve@borho.org> [Thu, 04 Nov 2010 11:33:57 -0500] rev 12918
import: add another line feed to message join string
Changeset descriptions are not guaranteed to have a trailing carriage
return.
Patrick Mezard <pmezard@gmail.com> [Wed, 03 Nov 2010 22:34:16 +0100] rev 12917
tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com> [Wed, 03 Nov 2010 21:11:07 +0100] rev 12916
patch: remove unused applydiff() sourcefile argument
Patrick Mezard <pmezard@gmail.com> [Wed, 03 Nov 2010 21:11:05 +0100] rev 12915
patch: remove unused gitworkdone variable from iterhunks()
Patrick Mezard <pmezard@gmail.com> [Wed, 03 Nov 2010 21:10:59 +0100] rev 12914
test-import: use printf instead of echo
Steve Borho <steve@borho.org> [Thu, 21 Oct 2010 16:04:34 -0500] rev 12913
import: --no-commit should update .hg/last-message.txt
The patch parser goes through all of that trouble extracting the
commit message from the patch file. It seems such a waste not to
use it.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 02 Nov 2010 09:47:47 +0100] rev 12912
merge with stable after 1.7 release
Matt Mackall <mpm@selenic.com> [Mon, 01 Nov 2010 17:40:17 -0500] rev 12911
Added signature for changeset 333421b9e0f9
Matt Mackall <mpm@selenic.com> [Mon, 01 Nov 2010 17:40:14 -0500] rev 12910
Added tag 1.7 for changeset 333421b9e0f9
Matt Mackall <mpm@selenic.com> [Mon, 01 Nov 2010 14:45:27 -0500] rev 12909
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 01 Nov 2010 16:04:15 -0200] rev 12908
i18n-pt_BR: synchronized with b19b4c1df066
Matt Mackall <mpm@selenic.com> [Mon, 01 Nov 2010 14:18:42 -0500] rev 12907
dirstate: skip optimization on case-folding FS (issue2440)
Mads Kiilerich <mads@kiilerich.com> [Mon, 01 Nov 2010 01:56:12 +0100] rev 12906
url: fix https client authentication through proxy
There is no tests for this, but the parameter order was obviously wrong.
Matt Mackall <mpm@selenic.com> [Mon, 01 Nov 2010 12:45:45 -0500] rev 12905
merge with i18n
Jens Bäckman <jens.backman@gmail.com> [Mon, 01 Nov 2010 13:42:40 +0100] rev 12904
i18n-sv: synchronize with 13fb555677fe
Chia-Huan Wu <willie.tw@gmail.com> [Sun, 31 Oct 2010 22:29:21 +0100] rev 12903
i18n-zh_TW: synchronize with 15ca4bfecfe3
Yuya Nishihara <yuya@tcha.org> [Mon, 01 Nov 2010 01:31:09 +0900] rev 12902
i18n-ja: strip extra spaces next to punctuation mark at line ending
Wagner Bruna <wbruna@yahoo.com> [Sat, 30 Oct 2010 12:51:15 -0200] rev 12901
i18n-pt_BR: synchronized with 15ca4bfecfe3
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 12:13:52 -0500] rev 12900
commit: handle missing newline on last commit comment
Patrick Mezard <pmezard@gmail.com> [Mon, 01 Nov 2010 17:26:08 +0100] rev 12899
localrepo: do not modify ctx.remove() list in-place
Martin Geisler <mg@aragost.com> [Mon, 01 Nov 2010 16:22:41 +0100] rev 12898
test-rename: test with absolute paths
Martin Geisler <mg@aragost.com> [Mon, 01 Nov 2010 16:19:06 +0100] rev 12897
test-rename: fix \" -> " in comments
Steve Borho <steve@borho.org> [Sat, 30 Oct 2010 16:58:15 -0500] rev 12896
rebase: improve resolve failure message
Martin Geisler <mg@aragost.com> [Mon, 01 Nov 2010 10:24:07 +0100] rev 12895
run-tests: use regex when searching for $HGPORT in test output
This prevents spurious errors when a changeset hash happens to match
the port number. Before, this invocation gave a test failure:
$ ./run-tests.py test-log.t --port 24427
ERROR: /home/mg/src/mercurial-crew/tests/test-log.t output changed
--- /home/mg/src/mercurial-crew/tests/test-log.t
+++ /home/mg/src/mercurial-crew/tests/test-log.t.err
@@ -626,12 +626,12 @@
$ hg log -b default
changeset: 2:c3a4f03cc9a7
- parent: 0:24427303d56f
+ parent: 0:$HGPORT303d56f
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: commit on default
...
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 11:32:04 -0500] rev 12894
demandimport: back out 50a4e55aa278 (issue2467)
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 02:47:35 -0500] rev 12893
debugindex: add --format flag to allow debugging parentdelta
-f 1 shows extra data from revlogv1 (aka revlogng) including flags and size
(based on a patch by Pradeepkumar Gayam <in3xes@gmail.com>)
Kevin Bullock <kbullock@ringworld.org> [Fri, 29 Oct 2010 00:57:34 -0500] rev 12892
pager: make example of setting pager less silly
Mike Sperber <sperber@deinprogramm.de> [Sat, 30 Oct 2010 02:47:34 -0500] rev 12891
convert: Work around p4 instability (issue2465)
The p4 command-line client sometimes fails upon doing "p4 describe"
when trying to produce a patch. (I'm guessing it's a bug in p4.)
However, "hg convert" doesn't even make use of the patch, and it can
be elided by adding "-s" to the p4 command line here.
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 02:47:34 -0500] rev 12890
revlog: choose best delta for parentdelta (issue2466)
When parentdelta is enabled, we choose the delta that has the minimum
distance to its base. Otherwise, base may be sufficiently far away to
require a full version, resulting in greatly reduced compression.
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 02:47:34 -0500] rev 12889
revlog: precalculate p1 and p2 revisions
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 02:47:34 -0500] rev 12888
revlog: extract delta building to a subfunction
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 02:47:34 -0500] rev 12887
revlog: simplify cachedelta handling
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 02:47:34 -0500] rev 12886
revlog: fix buildtext local scope
buildtext stores its result in _addrevision scope to avoid repeated builds
cachedelta is already visible
Matt Mackall <mpm@selenic.com> [Sat, 30 Oct 2010 02:47:24 -0500] rev 12885
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 29 Oct 2010 00:19:39 +0900] rev 12884
i18n-ja: synchronized with 6f6f6a9c2a41
Wagner Bruna <wbruna@yahoo.com> [Thu, 28 Oct 2010 09:52:05 -0200] rev 12883
i18n-pt_BR: synchronized with db2ff771204d
Reviewed formatting fixes from eda77c3e246a.
Martin Geisler <mg@aragost.com> [Thu, 28 Oct 2010 10:02:28 +0200] rev 12882
i18n-da: translate help for bookmarks extension
Martin Geisler <mg@lazybytes.net> [Thu, 28 Oct 2010 09:48:01 +0200] rev 12881
i18n, bookmarks: add comments for translators
Martin Geisler <mg@aragost.com> [Thu, 28 Oct 2010 09:43:56 +0200] rev 12880
i18n-da: synchronize with e1855dee28c1
Martin Geisler <mg@aragost.com> [Fri, 29 Oct 2010 14:06:06 +0200] rev 12879
qnew: distinguish between existing file and directory (issue2464)
Martin Geisler <mg@aragost.com> [Fri, 29 Oct 2010 15:25:21 +0200] rev 12878
qnew: give better feedback when doing 'hg qnew foo/' (issue2464)
Martin Geisler <mg@aragost.com> [Fri, 29 Oct 2010 12:50:08 +0200] rev 12877
opener: do not create "foo" directory when writing to "foo/"
The directories were not cleaned up when the subsequent open failed
and this would confuse things like qnew.
Martin Geisler <mg@aragost.com> [Fri, 29 Oct 2010 14:47:45 +0200] rev 12876
pager: backout 05077896ffe2 (issue2441)
Patrick Mezard <pmezard@gmail.com> [Thu, 28 Oct 2010 22:04:33 +0200] rev 12875
mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com> [Thu, 28 Oct 2010 21:25:53 +0200] rev 12874
patch: fix copies when patching over uncommitted changed (issue2459)
Matt Mackall <mpm@selenic.com> [Wed, 27 Oct 2010 16:54:46 -0500] rev 12873
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 26 Oct 2010 21:31:35 -0200] rev 12872
i18n-pt_BR: synchronized with 830be2c57626
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 26 Oct 2010 19:12:45 -0200] rev 12871
i18n-pt_BR: msgmerge with 830be2c57626
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 26 Oct 2010 18:47:45 -0200] rev 12870
merge with i18n
Martin Geisler <mg@lazybytes.net> [Tue, 26 Oct 2010 10:54:32 +0200] rev 12869
i18n-da: remove extra newline in translation
Martin Geisler <mg@lazybytes.net> [Tue, 26 Oct 2010 00:21:57 +0200] rev 12868
i18n-da: synchronize with 6137c5bba4d0
Matt Mackall <mpm@selenic.com> [Wed, 27 Oct 2010 15:35:23 -0500] rev 12867
minirst: use colwidth to match title lengths (issue2455)
Matt Mackall <mpm@selenic.com> [Wed, 27 Oct 2010 15:35:21 -0500] rev 12866
encoding: default ambiguous character to narrow
The current implementation of colwidth was treating 'A'mbiguous
characters as wide, which was incorrect in a non-East Asian context.
As per http://unicode.org/reports/tr11/#Recommendations, we should
instead default to 'narrow' if we don't know better. As character
width is dependent on the particular font used and we have no idea
what fonts are in use, this recommendation applies.
This introduces HGENCODINGAMBIGUOUS to get the old behavior back.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 26 Oct 2010 12:18:39 +0200] rev 12865
*: kill all unnecessary shebangs.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 26 Oct 2010 12:18:37 +0200] rev 12864
*: add executable bit to a few files that were missing it.
Gilles Moris <gilles.moris@free.fr> [Wed, 20 Oct 2010 15:32:35 +0200] rev 12863
log: do case insensitive search for --user option
timeless <timeless@gmail.com> [Tue, 26 Oct 2010 14:41:58 +0300] rev 12862
url: show realm/user when asking for username/password
timeless <timeless@gmail.com> [Tue, 26 Oct 2010 14:41:58 +0300] rev 12861
rebase: abort message should appear even with --quiet
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 27 Oct 2010 12:13:49 -0200] rev 12860
help: correct tip about deleting a subrepository
The extra detail is not necessary, and wrong for Mercurial
subrepositories, so remove it (suggested by Patrick Mézard).
Wagner Bruna <wbruna@yahoo.com> [Wed, 27 Oct 2010 12:12:51 -0200] rev 12859
revset: fix missing dot in docstring
Wagner Bruna <wbruna@yahoo.com> [Wed, 27 Oct 2010 12:03:08 -0200] rev 12858
help: fix typo in merge-tools topic
Martin Geisler <mg@lazybytes.net> [Wed, 27 Oct 2010 12:05:37 +0200] rev 12857
README: add small introduction
Martin Geisler <mg@lazybytes.net> [Wed, 27 Oct 2010 12:04:58 +0200] rev 12856
README: remove trailing blank line
Wagner Bruna <wbruna@yahoo.com> [Tue, 26 Oct 2010 23:51:01 -0200] rev 12855
i18n: translate revset predicate docstrings
Wagner Bruna <wbruna@yahoo.com> [Tue, 26 Oct 2010 23:07:14 -0200] rev 12854
i18n: extract docstrings from revset module
Mads Kiilerich <mads@kiilerich.com> [Wed, 27 Oct 2010 03:21:36 +0200] rev 12853
test-win32text.t: stabilize test output
The test sometimes failed because f4.bat wasn't dirty. I'm not sure whether it
should or shouldn't be dirty, but the extension is broken and deprecated and we
just want to see the deprecation warning, so now we just avoid showing the
dirtyness.
Mads Kiilerich <mads@kiilerich.com> [Wed, 27 Oct 2010 00:28:40 +0200] rev 12852
subrepo: propagate non-default pull/push path to relative subrepos (issue1852)
timeless <timeless@gmail.com> [Tue, 26 Oct 2010 14:41:58 +0300] rev 12851
bookmarks: improve English for diffbookmarks
Martin Geisler <mg@lazybytes.net> [Tue, 26 Oct 2010 18:01:35 +0200] rev 12850
mq: expand 'repo' -> 'repository' in error message
Martin Geisler <mg@lazybytes.net> [Tue, 26 Oct 2010 17:59:21 +0200] rev 12849
mq: mark strings that should not be translated
timeless <timeless@gmail.com> [Tue, 26 Oct 2010 14:41:58 +0300] rev 12848
qrestore: trying to improve the English
Kevin Bullock <kbullock@ringworld.org> [Wed, 20 Oct 2010 17:38:21 -0500] rev 12847
pull: silence spurious 'requesting all changes' message
When issuing `hg pull -r REV` in a repo with no common ancestor with the
remote repo, the message 'requesting all changes' is printed, even though only
the changese that are ancestors of REV are actually requested. This can be
confusing for users (see
http://www.selenic.com/pipermail/mercurial/2010-October/035508.html).
This silences the message if (and only if) the '-r' option was passed.
Pradeepkumar Gayam <in3xes@gmail.com> [Tue, 26 Oct 2010 02:38:14 +0530] rev 12846
templates: fix inconsistency in 'help' link
Yuya Nishihara <yuya@tcha.org> [Mon, 25 Oct 2010 01:11:52 +0900] rev 12845
test-patchbomb: add test for progress support (1ed2dc9d4368)
Christian Ebert <blacktrash@gmx.net> [Sun, 24 Oct 2010 15:11:41 +0100] rev 12844
keyword: fix regressions introduced in d87f3ff904ba
- dirstate of overwritten files must be forced to normal
with kwexpand/kwshrink, not commit.
- recorded files must be weeded before overwriting.
- add test cases.
Martin Geisler <mg@lazybytes.net> [Mon, 25 Oct 2010 23:55:43 +0200] rev 12843
tests: test/silence win32text deprecation warning
Martin Geisler <mg@lazybytes.net> [Mon, 25 Oct 2010 23:46:26 +0200] rev 12842
lsprof: remove #!-line from non-executable script
It triggered an rpmlint error, reported by Neal Becker.
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 20:10:18 +0200] rev 12841
doc/Makefile: do not include hg.1.gendoc.txt in MANIFEST
It is an intermediate file used to produce the hg.1 and .hg.1.html
files and is not useful for people who download the tarball. It will
be regenerated automatically by the Makefile if users want to rebuild
the documentation.
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 20:02:46 +0200] rev 12840
doc/Makefile: cleanup clean target
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 18:33:57 +0200] rev 12839
patchbomb: fix stray backslash in docstring
While both '\ ' and '\\ ' parse the same in Python, the difference
trips up hggettext so that it cannot find the docstring in the source
file and thus cannot write the right line number to i18n/hg.pot.
While the line number is not essential, it can be used to lookup the
original message.
Steve Borho <steve@borho.org> [Mon, 25 Oct 2010 14:34:49 -0500] rev 12838
help: improve wording of internal:merge and internal:fail
Steve Borho <steve@borho.org> [Mon, 25 Oct 2010 11:29:32 -0500] rev 12837
win32text: give deprecation warning
Users need to migrate to the EOL extension for various reasons.
Instructions for disabling the warning will be added to the
extension's wiki page.
Matt Mackall <mpm@selenic.com> [Mon, 25 Oct 2010 13:07:27 -0500] rev 12836
merge with i18n
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 16:27:27 +0200] rev 12835
i18n-da: synchronize with b814f67d41c0
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 16:24:07 +0200] rev 12834
i18n: merge with main
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 15:04:05 +0200] rev 12833
i18n-da: synchronized with 3d6ba8c2b1b8
Jens Bäckman <jens.backman@gmail.com> [Thu, 21 Oct 2010 16:57:17 +0200] rev 12832
synchronized with 3d6ba8c2b1b8
Matt Mackall <mpm@selenic.com> [Mon, 25 Oct 2010 13:06:37 -0500] rev 12831
traceback: point to BugTracker on the wiki
Steve Borho <steve@borho.org> [Mon, 25 Oct 2010 10:07:54 -0500] rev 12830
wix: add subrepos help text
Matt Mackall <mpm@selenic.com> [Sun, 24 Oct 2010 16:02:10 -0500] rev 12829
version: replace email address with url to reduce private mail
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Oct 2010 19:28:44 +0200] rev 12828
Add subrepos help topic
Edited by:
Martin Geisler <mg@lazybytes.net>
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Oct 2010 18:39:02 +0200] rev 12827
hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Oct 2010 18:37:59 +0200] rev 12826
merge-tools.txt: 6 comes after 5
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Oct 2010 12:56:38 +0200] rev 12825
Test applying context diffs
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Oct 2010 12:55:29 +0200] rev 12824
merge-tools.txt: fix typos, simplify, renumber from 1.
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Oct 2010 12:52:37 +0200] rev 12823
hggettext: handle i18nfunctions declaration for docstrings translations
Patrick Mezard <pmezard@gmail.com> [Sat, 23 Oct 2010 19:22:42 +0200] rev 12822
Fix and unify transplant and bookmarks revsets doc registration
Patrick Mezard <pmezard@gmail.com> [Sat, 23 Oct 2010 19:21:51 +0200] rev 12821
revsets: generate predicate help dynamically
Patrick Mezard <pmezard@gmail.com> [Sat, 23 Oct 2010 19:21:49 +0200] rev 12820
help: add topic rewriting hooks
They are useful when updating help topics dynamically from extensions.
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 17:30:08 +0200] rev 12819
minirst: ignore comments
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 17:45:49 +0200] rev 12818
help: add "revset" alias for "revsets" help topic
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 16:54:45 +0200] rev 12817
Makefile: var for documentation files
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 16:53:25 +0200] rev 12816
Makefile: remove underscore in var name
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 14:59:19 +0200] rev 12815
revset: add translator comments to i18n strings
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 00:18:10 +0200] rev 12814
gendoc: do not strip 'hg ' from synopsis
This was an old left-over from when the synopsis line was used as a
header. We now have the command name by itself as the header and the
synopsis as a literal block immediately after..
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 00:11:39 +0200] rev 12813
gendoc: support multi-line synopses
Martin Geisler <mg@lazybytes.net> [Sat, 23 Oct 2010 00:01:09 +0200] rev 12812
gendoc: re-add indentation to global option table
The indentation was lost in bdc1cf692447.
Patrick Mezard <pmezard@gmail.com> [Fri, 22 Oct 2010 22:58:17 +0200] rev 12811
test-transplant: test transplanted() revset
Steve Borho <steve@borho.org> [Fri, 22 Oct 2010 11:58:43 -0500] rev 12810
backout: add --tool argument for specifying merge tool
Mads Kiilerich <mads@kiilerich.com> [Fri, 22 Oct 2010 17:08:15 +0200] rev 12809
help: improve merge-tools topic, describe --tool and clarify details
This doesn't make it simpler, but it makes it more correct.
With help from erikz, mg and abuehl.
Mads Kiilerich <mads@kiilerich.com> [Fri, 22 Oct 2010 17:05:51 +0200] rev 12808
help: use Windows cmd compatible quoting in revset help
Martin Geisler <mg@lazybytes.net> [Fri, 22 Oct 2010 16:34:38 +0200] rev 12807
color: give hint to translators about untranslated keywords
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 21 Oct 2010 11:45:02 -0200] rev 12806
i18n: extract comments marked for translator hints
Comments marked with "i18n:", like:
# i18n: do not translate the field names
msg = _("Valid entries for the format field are topic, bar, number.")
will become available for translators in the .po files:
#. i18n: do not translate the field names
msgid "Valid entries for the format field are topic, bar, number."
msgstr ""
L. David Baron <dbaron@dbaron.org> [Thu, 21 Oct 2010 09:58:22 -0700] rev 12805
setup/hg: handle hg being a symlink when appending relative libdir to sys.path
Resolve symbolic links in the path to hg so that an hg that works when
invoked directly will also work when invoked via a symlink to it.
Martin Geisler <mg@lazybytes.net> [Thu, 21 Oct 2010 21:34:30 +0200] rev 12804
merge-tools: fixed typos
Spotted by Patrick Mézard.
Martin Geisler <mg@lazybytes.net> [Thu, 21 Oct 2010 21:26:32 +0200] rev 12803
commands: mark tip:0 as literal text
If left unquoted, this is seen as a link to '0' using protocol 'tip'
because of some over-eager link-finding magic in Docutils.
Georg Brandl <georg@python.org> [Thu, 21 Oct 2010 17:02:08 +0200] rev 12802
eol: add missing word in module docstring
Steve Borho <steve@borho.org> [Thu, 21 Oct 2010 10:13:03 -0500] rev 12801
demandimport: backout fe31f834a9ff
Using a keyword argument here breaks zipimporter for at least some
versions of Python2.6 on Windows.
Martin Geisler <mg@lazybytes.net> [Thu, 21 Oct 2010 11:23:26 +0200] rev 12800
dispatch: backout 0c605364373c
The parenthesis may need translation too: Laurens Holst pointed out
that Japanese uses full-width parentheses: () (U+FF08 U+FF09).
Martin Geisler <mg@lazybytes.net> [Thu, 21 Oct 2010 10:54:37 +0200] rev 12799
subrepo: svnsubrepo._wcrev should return str after 3d6ba8c2b1b8
Matt Mackall <mpm@selenic.com> [Thu, 21 Oct 2010 03:28:51 -0500] rev 12798
subrepo: fix status check on SVN subrepos (issue2445)
Mads Kiilerich <mads@kiilerich.com> [Thu, 21 Oct 2010 03:18:52 +0200] rev 12797
hgweb: let HTTPS serve use more compatible and less secure encryption
PROTOCOL_SSLv3 on the server side doesn't work everywhere. Sometimes the client
reports "EOF occurred in violation of protocol" (for example on Mac and Solaris).
The more compatible PROTOCOL_SSLv23 is now used instead. It works but is less
"secure" for some OpenSSL versions as it can fall back to weak encryption.
Azhagu Selvan SP <tamizhgeek@gmail.com> [Wed, 20 Oct 2010 18:15:47 +0530] rev 12796
mercurial.el: fix hg-outgoing path when 'default-push' is not defined
hg-outgoing path is set as 'default-push' which prevents it from working in
repos which only have 'default' defined.
Fix provided by Kyujin Shim at
http://alexott.net/en/writings/emacs-vcs/EmacsMercurial.html
Matt Mackall <mpm@selenic.com> [Wed, 20 Oct 2010 17:06:42 -0500] rev 12795
merge default into stable for 1.7 freeze
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 20 Oct 2010 23:48:33 +0200] rev 12794
merge with stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 20 Oct 2010 23:39:48 +0200] rev 12793
patchbomb: hide passwords potentially embedded in urls
Steve Borho <steve@borho.org> [Wed, 20 Oct 2010 16:45:08 -0500] rev 12792
wix: add vim syntax file for Mercurial unit tests
Steve Borho <steve@borho.org> [Wed, 20 Oct 2010 16:41:17 -0500] rev 12791
wix: add new help page templates
Steve Borho <steve@borho.org> [Wed, 20 Oct 2010 16:27:24 -0500] rev 12790
wix: add new merge-tools.txt help text
Steve Borho <steve@borho.org> [Wed, 20 Oct 2010 15:36:42 -0500] rev 12789
Merge with mpm
Steve Borho <steve@borho.org> [Tue, 19 Oct 2010 22:33:52 -0500] rev 12788
merge: implement --tool arguments using new ui.forcemerge configurable
ui.forcemerge is set before calling into merge or resolve commands, then unset
to prevent ui pollution for further operations.
ui.forcemerge takes precedence over HGMERGE, but mimics HGMERGE behavior if the
given --tool is not found by the merge-tools machinery. This makes it possible
to do: hg resolve --tool="python mymerge.py" FILE
With this approach, HGMERGE and ui.merge are not harmed by --tool
Matt Mackall <mpm@selenic.com> [Wed, 20 Oct 2010 15:09:38 -0500] rev 12787
tests: fix up changed output
Wagner Bruna <wbruna@yahoo.com> [Fri, 15 Oct 2010 03:30:38 -0300] rev 12786
revset: disable subset optimization for parents() and children() (issue2437)
For the boolean operators, the subset optimization works by calculating
the cheaper argument first, and passing the subset to the second
argument to restrict the revision domain. This works well for filtering
predicates.
But parents() don't work like a filter: it may return revisions outside the
specified set. So, combining it with boolean operators may easily yield
incorrect results. For instance, for the following revision graph:
0 -- 1
the expression '0 and parents(1)' should evaluate as follows:
0 and parents(1) ->
0 and 0 ->
0
But since [0] is passed to parents() as a subset, we get instead:
0 and parents(1 and 0) ->
0 and parents([]) ->
0 and [] ->
[]
This also affects children(), p1() and p2(), for the same reasons.
Predicates that call these (like heads()) are also affected.
We work around this issue by ignoring the subset when propagating
the call inside those predicates.
Matt Mackall <mpm@selenic.com> [Wed, 20 Oct 2010 14:57:36 -0500] rev 12785
check-code: warning and fixes for whitespace in unified tests
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Oct 2010 20:19:34 +0200] rev 12784
hgweb: use Pythons ssl module for HTTPS serve when using Python 2.6 or later
pyOpenSSL apparently doesn't work for Python 2.7 and isn't very actively
maintained.
The built-in ssl module seems like a long-term winner, so we now use that with
Python 2.6 and higher.
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Oct 2010 20:19:32 +0200] rev 12783
hgweb: refactor all pyOpenSSL references into one class
Erik Zielke <ez@aragost.com> [Wed, 20 Oct 2010 17:47:46 +0200] rev 12782
gendoc: added styling for extension TOC
Uses CSS3 columns for the list of extensions, so it is not just a long
list of extension names.
Erik Zielke <ez@aragost.com> [Wed, 20 Oct 2010 17:45:09 +0200] rev 12781
gendoc: automatically create help for default extensions.
Adds a section in the hg.1 manpage and corresponding hg.1.html
file. Each extension is listed with its module docstring, followed by
the commands defined by that extendsion.
Creates help for extensions by extracting doc strings from the extension modules
and its commands.
Erik Zielke <ez@aragost.com> [Tue, 19 Oct 2010 13:50:03 +0200] rev 12780
gendoc: dedent documentation from docstrings
When getting docstrings from the source they are indented to look good
in the code. This indentation interferes with how the text is parsed
by rst. Therefore this indentation is removed.
Erik Zielke <ez@aragost.com> [Tue, 19 Oct 2010 13:43:40 +0200] rev 12779
extensions.load: return module
Makes extensions.load return the module that
it has loaded.
This is done so that callers can get information on this module, which
e.g. can be used for generating docs.
Erik Zielke <ez@aragost.com> [Tue, 19 Oct 2010 13:39:34 +0200] rev 12778
help: different section separators
Changes the characters used as section separators, so different ones
are used for module docstring and command docstring.
This is done because the section from the docstring will be at
different levels in the restructured text output, therefore
different symbols have to be used.
Martin Geisler <mg@lazybytes.net> [Wed, 20 Oct 2010 18:08:37 +0200] rev 12777
gendoc: add subsection for each command
Martin Geisler <mg@lazybytes.net> [Wed, 20 Oct 2010 18:07:50 +0200] rev 12776
gendoc: move section commands to module scope
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 20 Oct 2010 12:29:55 -0200] rev 12775
mq: mark string for i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 20 Oct 2010 12:29:41 -0200] rev 12774
cmdutil: mark string for i18n
timeless <timeless@gmail.com> [Thu, 14 Oct 2010 10:56:39 +0300] rev 12773
test-ssh: handle very slow ssh transfer rate
Kevin Bullock <kbullock@ringworld.org> [Tue, 19 Oct 2010 12:40:09 -0500] rev 12772
bookmarks: add paragraph on pushing and pulling to help
Text adapted from http://mercurial.selenic.com/wiki/BookmarksExtension
Erik Zielke <ez@aragost.com> [Wed, 20 Oct 2010 16:54:34 +0200] rev 12771
help: help topic for merge tools
I have made a help topic for merge tools. The text in the topic is
based on the http://mercurial.selenic.com/wiki/MergeProgram page from
the wiki, along with some extra information on the internal merge tools.
Martin Geisler <mg@lazybytes.net> [Wed, 20 Oct 2010 10:13:04 +0200] rev 12770
check-code: find trailing whitespace
timeless <timeless@gmail.com> [Wed, 20 Oct 2010 10:07:38 +0200] rev 12769
convert: kill trailing whitespace
timeless <timeless@gmail.com> [Wed, 20 Oct 2010 10:02:54 +0200] rev 12768
convert: fix typo in comment
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 18 Oct 2010 18:31:38 -0200] rev 12767
strip: support revision sets
Augie Fackler <durin42@gmail.com> [Sat, 16 Oct 2010 18:09:47 -0500] rev 12766
interhg: use uisetup() instead of module-load side effects
This fixes an infinite recursion bug caused by visiting a bad subpage
of the help handler repeatedly, which caused the wrapper for the
templater's escape filter to get installed twice and resulted in
infinite recursion.
Steve Borho <steve@borho.org> [Mon, 18 Oct 2010 23:20:14 -0500] rev 12765
merge: when --tool is specified, disable HGMERGE by setting to empty string
HGMERGE has different semantics than ui.merge. HGMERGE should hold the name
on an executable in your path, or an absolute tool path. As such, it's not
safe to simply copy the user's specified --tool value into HGMERGE. Instead,
we disable HGMERGE by setting it to an empty string.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 18 Oct 2010 14:10:36 +0900] rev 12764
ui: only fix config if the relevant section has changed
In particular, when extensions add hooks, or add non-ui and non-paths
configuration items during their setups, we really have no reason
to re-"fix" the config dictionaries.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 19 Oct 2010 23:15:31 +0900] rev 12763
test-tags: use printf instead of echo '...\n'
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 17 Oct 2010 22:24:26 +0200] rev 12762
discovery: findincoming() is no longer used
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 17 Oct 2010 19:25:35 +0200] rev 12761
discovery: use set instead of dict
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 17 Oct 2010 16:16:12 +0200] rev 12760
discovery: remove unused "base" argument from find.*incoming()
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 09 Oct 2010 17:16:39 -0500] rev 12759
discovery: do not use the implicit updating of the "base" arg
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 19 Oct 2010 20:20:10 +0900] rev 12758
tags: do not fail if tags.cache is corrupted (issue2444)
This file is not critical for hg, so we can safely
swallow the ValueError
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 10 Oct 2010 09:50:25 -0500] rev 12757
merge: make 'diverging renames' diagnostic a more helpful note.
See the Hg Book on why we actually want to detect this case:
http://hgbook.red-bean.com/read/mercurial-in-daily-use.html#id364290
Before:
$ hg up deadbeef
warning: detected divergent renames of X to:
...
After:
$ hg up deadbeef
note: possible conflict - X was renamed multiple times to:
...
No functionality change.
Erik Zielke <ez@aragost.com> [Mon, 18 Oct 2010 14:37:52 +0200] rev 12756
gendoc: refactor get_cmd
Refactors the get_cmd to take the table as argument, instad
of just referencing the global table, thereby enabling reuse
for extension command tables.
Erik Zielke <ez@aragost.com> [Mon, 18 Oct 2010 14:37:50 +0200] rev 12755
mq: switched to `` around * * *
So it can be parsed by rst.
Adrian Buehlmann <adrian@cadifra.com> [Sun, 17 Oct 2010 00:45:34 +0200] rev 12754
Revert: capitalization doc fix
Mads Kiilerich <mads@kiilerich.com> [Tue, 19 Oct 2010 03:56:20 +0200] rev 12753
subrepo: abort instead of pushing/pulling to the repo itself
_abssource will now abort (or return None) in the rare cases where no push/pull
path can be found.
Mads Kiilerich <mads@kiilerich.com> [Tue, 19 Oct 2010 03:55:28 +0200] rev 12752
subrepo: rename relpath to subrelpath and introduce reporelpath
Mads Kiilerich <mads@kiilerich.com> [Tue, 19 Oct 2010 03:55:06 +0200] rev 12751
mdiff: carriage return (\r) is also ignorable whitespace
Steve Borho <steve@borho.org> [Fri, 15 Oct 2010 23:00:45 -0500] rev 12750
merge: add --tool argument to merge and resolve
These arguments are shorthand for --config ui.merge, but they also
override HGMERGE if it is found in the user's environment.
timeless <timeless@gmail.com> [Sun, 17 Oct 2010 14:00:01 +0300] rev 12749
patchbomb: move command option help from the extension (patchbomb) to the command (email)
Steve Losh <steve@stevelosh.com> [Sun, 17 Oct 2010 13:24:37 -0400] rev 12748
alias: fail gracefully when invalid global options are given (issue2442)
This patch modifies the check for shell aliases to prevent crashing when an invalid
global option is given.
When an invalid global option is given the check will simply return and let the
normal error handling for this case happen.
Paul Molodowitch <pm@stanfordalumni.org> [Thu, 07 Oct 2010 13:44:17 -0700] rev 12747
bookmarks: better fix for issue2016 (lookup infinite recursion)
741290486877 partially reverted by Patrick Mézard <pmezard@gmail.com>
timeless <timeless@gmail.com> [Mon, 02 Aug 2010 07:15:47 +0300] rev 12746
merge/progress: marking strings for localization
timeless <timeless@gmail.com> [Mon, 02 Aug 2010 07:15:47 +0300] rev 12745
verify/progress: using gerund to indicate action and adding units
timeless <timeless@gmail.com> [Tue, 20 Jul 2010 20:53:48 +0200] rev 12744
progress: dropping superfluous space from units
Adrian Buehlmann <adrian@cadifra.com> [Sat, 16 Oct 2010 18:09:01 +0200] rev 12743
check-code: add 'no tab indent' check for unified tests
and fix the offending tests accordingly
Mads Kiilerich <mads@kiilerich.com> [Sun, 17 Oct 2010 04:14:06 +0200] rev 12742
url: validity (notBefore/notAfter) is checked by OpenSSL (issue2407)
Removing the check from our code makes https with cacerts check work with
Python < 2.6.
Mads Kiilerich <mads@kiilerich.com> [Sun, 17 Oct 2010 04:13:50 +0200] rev 12741
test-https: test web.cacerts functionality
Mads Kiilerich <mads@kiilerich.com> [Sun, 17 Oct 2010 04:13:35 +0200] rev 12740
serve: fix https mode and add test
The https mode failed in super because BaseRequestHandler is an old-style
class.
This introduces the first test of https client/server functionality - and
"hghave ssl". The test is currently only run on Python 2.6.
Augie Fackler <durin42@gmail.com> [Sat, 16 Oct 2010 17:29:04 -0500] rev 12739
hgweb: don't send a body or illegal headers during 304 response
Without this fix, mod_wsgi and spawning get in a wedged state after
sending a 304 response. Not sending a body fixed that problem. The
header change was discovered by using wsgiref.validate.validator to
check for other errors.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 16 Oct 2010 22:40:46 +0200] rev 12738
merge with stable
Augie Fackler <durin42@gmail.com> [Tue, 12 Oct 2010 11:02:45 -0500] rev 12737
test-url: skip test when ssl module is unavailable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 16 Oct 2010 18:50:53 +0200] rev 12736
revset: use 'requires' instead of 'wants' in error message
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 15 Oct 2010 05:21:51 +0200] rev 12735
outgoing: unify common graphlog.outgoing and hg.outgoing code
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 14 Oct 2010 22:41:43 +0200] rev 12734
bundlerepo: unify common code into a new getremotechanges
The pattern where we fetch incoming remote changes and return
them as a local bundlerepo seems common. It's nicer to have this
code unified.
Augie Fackler <durin42@gmail.com> [Tue, 12 Oct 2010 23:33:43 -0500] rev 12733
revset id(): fix error text to say "id wants..." instead of "rev wants..."
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Oct 2010 22:53:17 +0200] rev 12732
keyword: only use expensive fctx.cmp when needed
Restrict expensive cmp to cases when:
- comparing against working directory
and
- encode filters active
or
- path is configured for keyword expansion
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Oct 2010 22:47:50 +0200] rev 12731
context: narrow down filter special case in filectx.cmp()
cmp via filelog when encode filters are present, but only when
actually comparing to the working directory.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 14 Oct 2010 21:36:00 +0200] rev 12730
incoming: unify code for incoming and graphlog.incoming
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 14 Oct 2010 21:37:00 +0200] rev 12729
incoming: rename variable
Groundwork so that incoming and graphlog.incoming code look the same and get
easier to unify.
Mads Kiilerich <mads@kiilerich.com> [Thu, 14 Oct 2010 01:28:29 +0200] rev 12728
import: only the first hg patch marker should be processed (issue2417)
Proper use of the hgpatch state variable had been lost in the final edits of
d7452292f9d3 - now it works more like intended.
Gilles Moris <gilles.moris@free.fr> [Fri, 10 Sep 2010 10:28:18 +0200] rev 12727
backout: provide linear backout as a default (without --merge option)
This changes backouts changeset to retain linear history, .e. it is committed
as a child of the working directory parent, not the reverted changeset
parent.
The default behavior was previously to just commit a reverted change as a
child of the backed out changeset - thus creating a new head. Most of
the time, you would use the --merge option, as it does not make sense to
keep this dangling head as is.
The previous behavior could be obtained by using 'hg update --clean .' after a
'hg backout --merge'.
The --merge option itself is not affected by this change. There is also
still an autocommit of the backout if a merge is not needed, i.e. in case
the backout is the parent of the working directory.
Previously we had (pwd = parent of the working directory):
pwd older
backout auto merge
backout --merge auto commit
With the new linear approach:
pwd older
backout auto commit
backout --merge auto commit
auto: commit done by the backout command
merge: backout also already committed but explicit merge and commit needed
commit: user need to commit the update/merge
Augie Fackler <durin42@gmail.com> [Mon, 11 Oct 2010 10:07:42 -0500] rev 12726
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com> [Tue, 12 Oct 2010 11:02:45 -0500] rev 12725
test-url: skip test when ssl module is unavailable
Augie Fackler <durin42@gmail.com> [Tue, 12 Oct 2010 11:02:05 -0500] rev 12724
test-url: remove trailing whitespace
Christian Ebert <blacktrash@gmx.net> [Tue, 12 Oct 2010 12:49:23 +0100] rev 12723
keyword: code cleanup
- move preselection of expansion candidates for rollback
and record into helper function
- same overwrite order in rollback and record:
1. modified, 2. added
- self.wlock() inside kwrepo class instead of repo.wlock()
Yuya Nishihara <yuya@tcha.org> [Sat, 02 Oct 2010 22:59:29 +0900] rev 12722
tests: asciify output of test-encoding-align.t
Yuya Nishihara <yuya@tcha.org> [Sat, 02 Oct 2010 22:57:25 +0900] rev 12721
tests: accept \-escaped test output
It changes tsttest to accept expected outputs in python-style \-escapes.
It aims to avoid trouble with outputs for non-ascii, color and progress
tests.
Matt Mackall <mpm@selenic.com> [Tue, 12 Oct 2010 16:26:03 -0500] rev 12720
merge with crew
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Tue, 12 Oct 2010 08:30:15 -0500] rev 12719
parentdelta: compress.py extension is no longer necessary
Using `hg --config format.parentdelta=True clone --pull src dst` is equivalent.
Matt Mackall <mpm@selenic.com> [Tue, 12 Oct 2010 16:25:38 -0500] rev 12718
merge with stable
Brodie Rao <brodie@bitheap.org> [Fri, 01 Oct 2010 10:15:04 -0500] rev 12717
convert/darcs: support changelogs with bytes 0x7F-0xFF (issue2411)
This is a followup to 4481f8a93c7a, which only fixed the conversion of
patches with UTF-8 metadata.
This patch allows a changelog to have any bytes with values
0x7F-0xFF. It parses the XML changelog as Latin-1 and uses
converter_source.recode() to decode the data as UTF-8/Latin-1.
Caveats:
- Since the convert extension doesn't provide any way to specify the
source encoding, users are still limited to UTF-8 and Latin-1.
- etree will still complain if the changelog has bytes with values
0x00-0x19. XML only allows printable characters.
Augie Fackler <durin42@gmail.com> [Mon, 11 Oct 2010 09:44:19 -0500] rev 12716
revset: add id() and rev() to allow explicitly referring to changes by hash or rev
Augie Fackler <durin42@gmail.com> [Sun, 10 Oct 2010 12:41:36 -0500] rev 12715
revset: rename tagged() to tag() and allow it to take an optional tag name
Augie Fackler <durin42@gmail.com> [Sun, 10 Oct 2010 12:40:25 -0500] rev 12714
bookmarks: add revset for referencing bookmarks
Augie Fackler <durin42@gmail.com> [Sun, 10 Oct 2010 12:03:28 -0500] rev 12713
hgweb help: fix double help links
Adrian Buehlmann <adrian@cadifra.com> [Mon, 11 Oct 2010 11:17:48 +0200] rev 12712
tests: add testcase for --config format.dotencode=false
Matt Mackall <mpm@selenic.com> [Mon, 11 Oct 2010 14:39:13 -0500] rev 12711
fetch: fix and document exit codes (issue2356)
Adrian Buehlmann <adrian@cadifra.com> [Sun, 10 Oct 2010 23:32:09 +0200] rev 12710
doc: add [format] dotencode description
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 27 Jul 2010 23:07:30 +0900] rev 12709
filectx: use ctx.size comparisons to speed up ctx.cmp
Comparing sizes is cheaper than comparing file contents, as it does not
involve reading the file on disk or from the filelog.
It is however not always possible: some extensions, or encode filters,
change data when extracting it to the working directory.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 10 Oct 2010 18:58:45 +0200] rev 12708
localrepo: use propertycaches to access encode/decode filters
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 10 Oct 2010 19:10:16 +0200] rev 12707
localrepo: load filter patterns outside of _filter
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 10 Oct 2010 19:07:58 +0200] rev 12706
localrepo: have _loadfilter return the loaded filter patterns
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 11 Oct 2010 13:26:29 -0500] rev 12705
merge with mpm
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 11 Oct 2010 12:47:11 -0500] rev 12704
wireproto/http: drain the incoming bundle in case of errors
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 11 Oct 2010 12:45:36 -0500] rev 12703
wireproto: introduce pusherr() to deal with "unsynced changes" error
The behaviour between http and ssh still differ:
- the "unsynced changes" is seen as a remote output in the http cases
- but it is correctly seen as a push error for ssh
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 11 Oct 2010 12:44:33 -0500] rev 12702
wireproto: redirect the output earlier
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 11 Oct 2010 12:44:11 -0500] rev 12701
wireproto: return in finally was messing with the return inside the block
Dirkjan Ochtman <dirkjan@ochtman.nl> [Mon, 11 Oct 2010 13:51:10 +0200] rev 12700
tests: use a glob for all of the host, might not be localhost
Dirkjan Ochtman <dirkjan@ochtman.nl> [Mon, 11 Oct 2010 13:49:53 +0200] rev 12699
commands: add move alias for the rename command
svn provides move, and it's also a standard tool on Windows.
Matt Mackall <mpm@selenic.com> [Sun, 10 Oct 2010 18:02:52 -0500] rev 12698
util: make wrap() require a width argument
This keeps hgweb's help engine from poking at file descriptors that
don't exist.
Brodie Rao <brodie@bitheap.org> [Sat, 09 Oct 2010 16:55:33 -0500] rev 12697
showconfig: don't accept multiple sections and one config item
Showconfig now behaves as documented and only accepts one section.name argument
or a number of section names.
Matt Mackall <mpm@selenic.com> [Sun, 10 Oct 2010 17:35:28 -0500] rev 12696
hgweb: another fix for the help termwidth bug
Brodie Rao <brodie@bitheap.org> [Sun, 10 Oct 2010 12:21:49 -0500] rev 12695
pager: don't run pager if nothing is written to stdout/stderr
This decides when to run the pager based on the first call to
ui.write() and ui.write_err(). This has the side effect of not the
output of subprocesses that write output before hg does.
Brodie Rao <brodie@bitheap.org> [Sun, 10 Oct 2010 12:21:48 -0500] rev 12694
pager: add global --pager=<auto/boolean> option
Brodie Rao <brodie@bitheap.org> [Sun, 10 Oct 2010 12:21:36 -0500] rev 12693
color: add global option in extsetup() instead of globally
This prevents side effects from occurring when importing the color
extension.
Matt Mackall <mpm@selenic.com> [Sun, 10 Oct 2010 11:05:06 -0500] rev 12692
hgweb: more ui fiddling
Augie Fackler <durin42@gmail.com> [Sun, 10 Oct 2010 10:42:44 -0500] rev 12691
hgweb: fix hgweb_mod as well as hgwebdir_mod
Augie Fackler <durin42@gmail.com> [Sun, 10 Oct 2010 10:07:17 -0500] rev 12690
hgwebdir_mod: use fake termwidth to avoid mod_wsgi's wrath
Augie Fackler <durin42@gmail.com> [Sun, 10 Oct 2010 10:06:36 -0500] rev 12689
termwidth: move to ui.ui from util
Kevin Bullock <kbullock@ringworld.org> [Thu, 07 Oct 2010 23:34:21 -0500] rev 12688
help: improve description of update --check
Adrian Buehlmann <adrian@cadifra.com> [Sat, 09 Oct 2010 21:54:50 +0200] rev 12687
store: encode first period or space in filenames (issue1713)
- Mac OS X has problems with filenames starting with '._'
(e.g. '.FOO' -> '._f_o_o' is now encoded as '~2e_f_o_o')
- Explorer of Windows Vista and Windows 7 strip leading spaces of
path elements of filenames when copying trees
Above problems are avoided by encoding the first space (as '~20') or
period (as '~2e') of all path elements.
This introduces a new entry 'dotencode' in .hg/requires, that is,
a new repository filename layout (inside .hg/store).
Newly created repositories require 'dotencode' by default. Specifying
[format]
dotencode = False
in a config file will use the old format instead.
Prior Mercurial versions will abort with the message
abort: requirement 'dotencode' not supported!
when trying to access a local repository that requires 'dotencode'.
New 'dotencode' repositories can be converted to the previous
repository format with
hg --config format.dotencode=0 clone --pull repoA repoB
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 14 Sep 2010 23:00:39 +0200] rev 12686
demandimport: fix an obscure corner-case.
Python's __import__() function has 'level' as the fourth argument, not the
third. The code path in question probably never worked.
(This was seen trying to run Mercurial in PyPy. Fixing this made it
die somewhere else...)
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Oct 2010 00:38:57 +0100] rev 12685
keyword: enforce subn method via boolean switch
There are only 2 patterns to choose, and so far only 1 case
where kwtemplater.re_kw.subn is applied on data read from
the working directory: when recording added files.
With this change the code reflects more closely the boolean
character of the switch and underlines the special case.
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Oct 2010 00:30:09 +0100] rev 12684
keyword: fix weeding of expansion candidates when recording
Rearrange tests to check this, i.e. that there are changes
in other files, not only the recorded one.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 10 Oct 2010 09:48:37 -0500] rev 12683
copies: don't detect copies as "divergent renames"
(For the purposes of this patch copy is defined as a rename where the
source continues to exist.)
Augie Fackler <durin42@gmail.com> [Sat, 09 Oct 2010 11:02:11 -0500] rev 12682
strip: add --keep flag to avoid modifying wc during strip
Fixes issue1564.
Brodie Rao <brodie@bitheap.org> [Sat, 09 Oct 2010 17:02:28 -0500] rev 12681
update: use higher level wording for "crosses branches" error
When using "hg update" to update to a revision on another branch, if
the user has uncommitted changes in the working directory, hg aborts
with the following message:
abort: crosses branches (use 'hg merge' to merge or use 'hg update
-C' to discard changes)
If the user isn't trying to update to tip and they follow the command
examples verbatim, they would end up updating to the wrong revision.
This patch removes the command examples in favor of just telling the
user to either merge or use --clean:
abort: crosses branches (merge branches or use --clean to discard
changes)
hg also aborts if the user tries to use "hg update" to get to tip
(without specifying a revision) and tip is on another branch:
abort: crosses branches (use 'hg merge' or use 'hg update -c')
This message is changed in the same fashion:
abort: crosses branches (merge branches or use --check to force
update)