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