Adrian Buehlmann <adrian@cadifra.com> [Tue, 02 Aug 2011 12:29:48 +0200] rev 15010
util: factor new function copymode out of mktempcopy
Adrian Buehlmann <adrian@cadifra.com> [Tue, 02 Aug 2011 11:32:39 +0200] rev 15009
revert: introduce short option -C for --no-backup
Corresponds to -C of the update command.
It's much more convenient to use:
$ hg revert -aC
than having to type
$ hg revert -a --no-backup
I think the 'no-backup' case is a frequent use case.
Introducing short option -C here fits with the muscle memory we have from
'hg update -C', which is described there as "discard uncommitted changes
(no backup)".
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 18:10:05 -0500] rev 15008
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 18:09:20 -0500] rev 15007
Added signature for changeset 4a43e23b8c55
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 18:09:00 -0500] rev 15006
Added tag 1.9.1 for changeset 4a43e23b8c55
Patrick Mezard <pmezard@gmail.com> [Mon, 01 Aug 2011 23:58:50 +0200] rev 15005
hgweb: do not ignore [auth] if url has a username (issue2822)
The [auth] section was ignored when handling URLs like:
http://user@example.com/foo
Instead, we look in [auth] for an entry matching the URL and supplied user
name. Entries without username can match URL with a username. Prefix length
ties are resolved in favor of entries matching the username. With:
foo.prefix = http://example.org
foo.username = user
foo.password = password
bar.prefix = http://example.org/bar
and the input URL:
http://user@example.org/bar
the 'bar' entry will be selected because of prefix length, therefore prompting
for a password. This behaviour ensure that entries selection is consistent when
looking for credentials or for certificates, and that certificates can be
picked even if their entries do no define usernames while the URL does.
Additionally, entries without a username matched against a username are
returned as if they did have requested username set to avoid prompting again
for a username if the password is not set.
v2: reparse the URL in readauthforuri() to handle HTTP and HTTPS similarly.
v3: allow unset usernames to match URL usernames to pick certificates. Resolve
prefix length ties in favor of entries with usernames.
Matt Mackall <mpm@selenic.com> [Sun, 31 Jul 2011 01:46:52 +0200] rev 15004
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Before: hgweb made it possible to download file content with a content type
detected from the file extension. It would serve .html files as text/html and
could thus cause XSS vulnerabilities if the web site had any kind of session
authorization and the repository content wasn't fully trusted.
Now: all files default to "application/binary", which all important
browsers will refuse to treat as text/html. See the table here:
https://code.google.com/p/browsersec/wiki/Part2#Survey_of_content_sniffing_behaviors
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 14:53:10 -0500] rev 15003
hgweb: extract the path logic from updatereqenv and add doctests
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 14:52:11 -0500] rev 15002
merge with stable
wujek [Mon, 01 Aug 2011 09:48:10 +0200] rev 15001
hgweb: handle 'baseurl' configurations with leading slash (issue2934)
Idan Kamara <idankk86@gmail.com> [Mon, 01 Aug 2011 19:53:00 +0300] rev 15000
ui: call write() so the prompt string goes through subclassed implementation
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 10:54:34 -0500] rev 14999
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 10:54:10 -0500] rev 14998
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 31 Jul 2011 23:42:40 +0900] rev 14997
i18n-ja: synchronized with 4fdab926e111
Jens Bäckman <jens.backman@gmail.com> [Sat, 30 Jul 2011 09:42:07 +0200] rev 14996
i18n-sv: synchronized with 192e02680d09
py4fun [Sun, 31 Jul 2011 22:12:13 +0200] rev 14995
parsers: remove redundant 'n' variable in parsers.parse_index2() (issue2935)
Vasily Titskiy <qehgt0@gmail.com> [Thu, 28 Jul 2011 13:28:32 -0400] rev 14994
subrepo: handle adding svn subrepo with a svn:external file in it (issue2931)
Idan Kamara <idankk86@gmail.com> [Sat, 30 Jul 2011 23:41:10 +0300] rev 14993
hook: be prepared for __stdout/err__ not having fileno()
it may have been replaced, see https://bitbucket.org/tortoisehg/thg/issue/937
Idan Kamara <idankk86@gmail.com> [Sat, 30 Jul 2011 21:04:14 +0300] rev 14992
dispatch: make sure global options on the command line take precedence
So if a user has verbose=True somewhere in his .hgrc files, giving -q
on the command line will override that.
This basically reverts 1b8c70c9f47c.
Augie Fackler <durin42@gmail.com> [Wed, 27 Jul 2011 18:35:35 -0500] rev 14991
http2: send an extra header to signal a non-broken client
Some proxies strip the expect header because they forward requests in
a non-compliant way or as a way to defend against bogus clients.
Augie Fackler <durin42@gmail.com> [Fri, 29 Jul 2011 12:46:45 -0500] rev 14990
httpclient: import ca33b88d143c from py-nonblocking-http (issue2932)
Andrei Vermel <avermel@mail.ru> [Fri, 29 Jul 2011 15:36:27 +0400] rev 14989
color.py - clear _terminfo_params in win32 mode
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 31 Jul 2011 21:00:44 +0200] rev 14988
url: store and assume the query part of an url is in escaped form (issue2921)
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 29 Jul 2011 20:26:52 +0200] rev 14987
mq/qqueue: print current queue name
Add an option to qqueue to print only the name of the current queue.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Andrzej Bieniek <andyhelp@gmail.com> [Sat, 30 Jul 2011 11:08:45 +0100] rev 14986
export: add %m to file format string (first line of the commit message)
$ hg commit -m "Initial commit"
$ hg export -o %m.patch tip #It creates Initial_commit.patch file.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 29 Jul 2011 00:39:27 +0200] rev 14985
windows: eliminate win32 wildcard import
Matt Mackall <mpm@selenic.com> [Fri, 29 Jul 2011 17:27:38 -0500] rev 14984
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 29 Jul 2011 17:27:14 -0500] rev 14983
merge with crew
Lee Cantey <lcantey@gmail.com> [Thu, 28 Jul 2011 02:38:01 +0300] rev 14982
test-filecache: change for python 2.4 compatibility
Andrew Pritchard <andrewp@fogcreek.com> [Wed, 27 Jul 2011 18:32:54 -0400] rev 14981
setdiscovery: return anyincoming=False when remote's only head is nullid
This fixes (issue2907) a crash when using 'hg incoming --bundle' with an empty
remote repo and a non-empty local repo.
This also fixes an unreported bug that 'hg summary --remote' erroneously
reports incoming changes when the remote repo is empty and the local is not.
Also, add a test to make sure issue2907 stays fixed
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 28 Jul 2011 14:36:07 +0900] rev 14980
i18n: use UTF-8 string to lower filename for case collision check
Some character sets, cp932 (known as Shift-JIS for Japanese) for
example, use 0x41('A') - 0x5A('Z') and 0x61('a') - 0x7A('z') as second
or later character.
In such character set, case collision checking recognizes different
files as CASEFOLDED same file, if filenames are treated as byte
sequence.
win32mbcs extension is not appropriate to handle this problem, because
this problem can occur on other than Windows platform only if
problematic character set is used.
Callers of util.checkcase() use known ASCII filenames as last
component of path, and string.lower() is not applied to directory part
of path. So, util.checkcase() is kept intact, even though it applies
string.lower() to filenames.
Matt Mackall <mpm@selenic.com> [Thu, 28 Jul 2011 14:20:06 -0500] rev 14979
merge with crew
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 14:59:31 -0500] rev 14978
check-code: disallow use of hasattr()
The hasattr() builtin from Python < 3.2 [1] has slightly surprising
behavior: it catches all exceptions, even KeyboardInterrupt. This
causes it to have several surprising side effects, such as hiding
warnings that occur during attribute load and causing mysterious
failure modes when ^Cing an application. In later versions of Python
2.x [0], exception classes which do not inherit from Exception (such
as SystemExit and KeyboardInterrupt) are not caught, but other types
of exceptions may still silently cause returning False instead of
getting a reasonable exception.
[0] http://bugs.python.org/issue2196
[1] http://docs.python.org/dev/whatsnew/3.2.html
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 21:15:48 -0500] rev 14977
demandimport: use getattr instead of hasattr
We don't use util.safehasattr() here to avoid adding new dependencies
for demandimport. This change may expose previously-silenced
deprecation warnings to appear, as hasattr silently hides warnings
that occur during module import when using demandimport.
Augie Fackler <durin42@gmail.com> [Tue, 01 Mar 2011 23:35:22 -0600] rev 14976
demandimport: blacklist rfc822 and mimetools to prevent spurious warnings
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 20:46:30 -0500] rev 14975
i18n: use getattr instead of hasattr
Using getattr instead of util.safehasattr here to avoid adding another
dependency for i18n.
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:09:18 -0500] rev 14974
win32/hgwebdir_wsgi: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:08:57 -0500] rev 14973
setup.py: use getattr instead of hasdattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:07:52 -0500] rev 14972
setup3k: use getattr instead of hasattr
Note that hasattr is fixed on Python 3, so this is more about being
concise and keeping check-code happy than actual correctness of code.
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:37:18 -0500] rev 14971
tests: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:05:01 -0500] rev 14970
wireproto: use safehasattr or getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:04:44 -0500] rev 14969
windows: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:04:40 -0500] rev 14968
util: use safehasattr or getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:02:42 -0500] rev 14967
templatefilters: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:02:27 -0500] rev 14966
patch: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:02:15 -0500] rev 14965
mail: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:55:51 -0500] rev 14964
url: replace uses of hasattr with safehasattr or getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:53:22 -0500] rev 14963
subrepo: use safehasattr instead of hasattr
Some of these instances could be rewritten as clever getattr(x, y,
default) ladders, but that felt like it impeded readability too much
to be worth the modest efficiency gain.
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:47:43 -0500] rev 14962
statichttprepo: replace hasattr with getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:45:11 -0500] rev 14961
walkrepos: use getattr instead of hasattr for samestat
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:43:55 -0500] rev 14960
revlog: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:41:46 -0500] rev 14959
lsprof: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 20:36:59 -0500] rev 14958
keepalive: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:38:46 -0500] rev 14957
hgweb: move remaining hasattr calls to safehasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:38:10 -0500] rev 14956
wsgicgi: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:37:52 -0500] rev 14955
httprepo: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:36:13 -0500] rev 14954
help command: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:27:08 -0500] rev 14953
hgweb_mod: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:22:18 -0500] rev 14952
hg: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:19:43 -0500] rev 14951
encoding: use getattr isntead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:17:47 -0500] rev 14950
dispatch: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:36:56 -0500] rev 14949
debugignore: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:32:42 -0500] rev 14948
cmdutil: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:09:17 -0500] rev 14947
byterange: replace uses of hasattr with getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:07:09 -0500] rev 14946
bookmarks: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 20:37:12 -0500] rev 14945
hgext: replace uses of hasattr with util.safehasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:30:19 -0500] rev 14944
globally: use safehasattr(x, '__iter__') instead of hasattr(x, '__iter__')
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:24:37 -0500] rev 14943
globally: use safehasattr(x, '__call__') instead of hasattr(x, '__call__')
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 14:59:55 -0500] rev 14942
safehasattr: new function to work around hasattr being broken
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:14:02 -0500] rev 14941
windows: check util.mainfrozen() instead of ad-hoc checks everywhere
Patrick Mezard <pmezard@gmail.com> [Tue, 26 Jul 2011 21:30:12 +0200] rev 14940
notify: rewrite user documentation
The main intent is to turn the reference help into a configuration walkthrough.
It also fix several things:
- Do not suggest to use it for commit notifications, it cannot work
- Fix notify.strip default value
- Mention that subscriptions can be setup in Mercurial configuration files
- Improve notify.strip and notify.domain documentation
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 22:19:28 +0300] rev 14939
cmdserver: repo.invalidate() on every runcommand
This will trigger the filecache and recreate every cached property that was
changed by something other than this cmdserver instance (e.g. by running
'hg commit' at the cmdline).
Angel Ezquerra <angel.ezquerra@gmail.com> [Mon, 25 Jul 2011 08:28:37 +0200] rev 14938
help: add "web/logoimg" setting description
Matt Mackall <mpm@selenic.com> [Mon, 25 Jul 2011 12:58:47 -0500] rev 14937
filecache: fix check-code complaint
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:57 +0300] rev 14936
localrepo: unify tag related info into a tagscache class
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14935
localrepo: make invalidate() walk _filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14934
localrepo: decorate manifest() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14933
localrepo: decorate _bookmarks/current with filecache
nodebookmarks() can be cached as well, leaving for later
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14932
localrepo: decorate changelog() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14931
localrepo: refresh filecache entries after releasing a repo.lock()
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14930
localrepo: decorate dirstate() with filecache
We refresh the stat info when releasing repo.wlock(), right after writing it.
Also, invalidate the dirstate by deleting its attribute. This will force a
stat by the decorator that actually checks if anything changed, rather than
reading it again every time.
Note that prior to this, there was a single dirstate instance created for a
localrepo. It was invalidated by calling dirstate.invalidated(), clearing
its internal attributes.
As a consequence, the following construct is no longer safe:
ds = repo.dirstate # keep a reference to the repo's dirstate
wlock = repo.wlock()
try:
ds.setparents(...)
finally:
wlock.release() # dirstate should be written here
Since it's possible that the dirstate was modified between lines #1 and #2,
therefore changes to the old dirstate won't get written when the lock releases,
because a new instance was created by the decorator.
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14929
localrepo: add a cache with stat info for files under .hg/
Idan Kamara <idankk86@gmail.com> [Sat, 09 Jul 2011 19:06:59 +0300] rev 14928
scmutil: introduce filecache
The idea is being able to associate a file with a property, and watch
that file stat info for modifications when we decide it's important for it to
be up-to-date. Once it changes, we recreate the object.
On filesystems that can't uniquely identify a file, we always recreate.
As a consequence, localrepo.invalidate() will become much less expensive in the
case where nothing changed on-disk.
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:03:02 +0300] rev 14927
posix, windows: introduce cachestat
This class contains a stat result, and possibly other file info to reliably
determine between two points in time whether a file has changed.
Uniquely identifying a file gives us that reliability because we either
atomic rename or append. So one of two will happen: the file 'id' will change,
or the size of the file will change.
posix implements it simply by calling os.stat() and checking if the result
has st_ino.
For now on Windows we always assume the path is uncacheable. This can be
improved on NTFS due to file IDs: http://msdn.microsoft.com/en-us/library/aa363788(v=vs.85).aspx
So we need to find out if a file path is on an NTFS drive, for that we have:
- GetVolumeInformation, which unfortunately only works with a root path (but is available on XP)
- GetVolumeInformationByHandleW, works on a full file path but requires Vista or higher
Adrian Buehlmann <adrian@cadifra.com> [Sat, 23 Jul 2011 12:29:52 +0200] rev 14926
util: eliminate wildcard imports
Matt Mackall <mpm@selenic.com> [Sat, 23 Jul 2011 14:33:35 -0500] rev 14925
templater: use a global funcs table
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:09:14 +0200] rev 14924
ui: config path relative to repo root
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:08:52 +0200] rev 14923
ui: providing no default value to configpath should not raise an Error
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:08:49 +0200] rev 14922
ui: fix error, base can not be a list
Matt Mackall <mpm@selenic.com> [Sat, 23 Jul 2011 11:52:25 -0500] rev 14921
merge with stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 22 Jul 2011 20:31:15 -0300] rev 14920
test-i18n, i18n-pt_BR: updated test message changed in 41c3a71c318d
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 22 Jul 2011 20:27:40 -0300] rev 14919
i18n-pt_BR: synchronized with a934b9249574
Matt Mackall <mpm@selenic.com> [Fri, 22 Jul 2011 17:17:23 -0500] rev 14918
merge with stable
Augie Fackler <durin42@gmail.com> [Thu, 21 Jul 2011 15:56:15 -0500] rev 14917
rebase: remove trailing whitespace found by check-code
Lee Cantey <lcantey@gmail.com> [Fri, 22 Jul 2011 08:03:47 -0700] rev 14916
hooks: use python 2.4 compatible exception handling
Matt Mackall <mpm@selenic.com> [Fri, 22 Jul 2011 17:11:35 -0500] rev 14915
url: handle urls of the form file:///c:/foo/bar/ correctly
David Golub <davidg@fogcreek.com> [Thu, 21 Jul 2011 16:02:34 -0400] rev 14914
dispatch: avoid double backslashes in error message
The use of %r in the format string caused Python to display Windows paths with
double backslashes.
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 21 Jul 2011 15:10:16 +0200] rev 14913
hgweb: add a "web/logoimg" setting to customize the web logo image
This change complements the existing web/logourl setting, and lets the user
customize the logo image that is shown on many of the hg server pages.
If this setting is not set, hglogo.png is used.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Jul 2011 11:05:26 +0200] rev 14912
util: move windows and posix wildcard imports to begin of file
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 10:35:05 +0200] rev 14911
util: move "default" hidewindow to posix.py
There is a hidewindow in win32.py, which we get via windows.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 10:31:56 +0200] rev 14910
util: move "default" lookupreg to posix.py
There is a lookupreg in win32.py, which we get via windows.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 09:55:46 +0200] rev 14909
util: move "default" unlinkpath to posix.py
we have a unlinkpath in windows.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 09:53:15 +0200] rev 14908
util: move "default" makedir to posix.py
makedir is already defined in win32.py, which gets imported into util.py
via windows.py if we are running on Windows
Augie Fackler <durin42@gmail.com> [Thu, 21 Jul 2011 15:52:08 -0500] rev 14907
summary: allow color to highlight active bookmark
Augie Fackler <durin42@gmail.com> [Mon, 18 Jul 2011 07:53:26 -0500] rev 14906
summary: show bookmarks separate from tags and note active mark (issue2892)
Andrew Pritchard <andrewp@fogcreek.com> [Wed, 20 Jul 2011 18:23:06 -0400] rev 14905
localrepo: make requirements attribute of newly-created repos contain a set
This is for internal consistency, as this attribute typically contains a set
Matt Mackall <mpm@selenic.com> [Fri, 22 Jul 2011 16:46:22 -0500] rev 14904
localrepo: fix comment on set
Matt Mackall <mpm@selenic.com> [Thu, 21 Jul 2011 15:39:37 -0500] rev 14903
revert: restore check for uncommitted merge (issue2915) (BC)
This will restore the pre-1.9 behavior.
Matt Mackall <mpm@selenic.com> [Thu, 21 Jul 2011 14:06:55 -0500] rev 14902
localrepo: add set method to iterate over a given revset
This should allow replacing a number of hand-rolled graph algorithms.
Matt Mackall <mpm@selenic.com> [Thu, 21 Jul 2011 14:05:45 -0500] rev 14901
revset: add formatspec convenience query builder
Matt Mackall <mpm@selenic.com> [Thu, 21 Jul 2011 14:04:57 -0500] rev 14900
revset: allow bypassing alias expansion
For internal usage of revset queries, we don't want aliases breaking things.
Matt Mackall <mpm@selenic.com> [Tue, 19 Jul 2011 17:51:45 -0500] rev 14899
merge with stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 19 Jul 2011 13:43:53 -0500] rev 14898
subrepo: don't commit in subrepo if it's clean
If a subrepo has changed relative to the outer repo's substate, but the
subrepo itself is clean, we don't need to commit in the subrepo.
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Mon, 18 Jul 2011 22:58:21 +0200] rev 14897
rebase: block collapse with keepbranches on multiple named branches (issue2112)
Collapse and keepbranches should be blocked when there is more than
one named branch on the branch that's going to be rebased.
Matt Mackall <mpm@selenic.com> [Tue, 19 Jul 2011 14:19:04 -0500] rev 14896
merge with stable
Alexander Krauss <krauss@in.tum.de> [Sun, 17 Jul 2011 00:36:43 +0200] rev 14895
hbisect: do not assume that min(good) is an ancestor of min(bad)
The included test used to report "inconsistent state", which is
incorrect. While this situation cannot occur when the user sticks to
the suggested bisect sequence. However, adding more consistent
good/bad information to the bisect state should be tolerated as well.
Alexander Krauss <krauss@in.tum.de> [Sun, 17 Jul 2011 00:35:31 +0200] rev 14894
hbisect: more consistent variable name
Alexander Krauss <krauss@in.tum.de> [Sat, 16 Jul 2011 12:22:40 +0200] rev 14893
hbisect: confine loop to the relevant interval
In this context we know that ancestors[rev] == None for all rev <= goodrev,
so looping further back is unnecessary (and confusing).
Idan Kamara <idankk86@gmail.com> [Sat, 16 Jul 2011 15:24:28 +0300] rev 14892
win32: assign winstdout to sys.__stdout__ as well (issue2888)
On Windows sys.stdout was being replaced with winstdout, which caused
util.system() to redirect its output (due to 406b6d7bdcb9). That causes
interactive tools (such as vim) to stop working.
Matt Mackall <mpm@selenic.com> [Mon, 18 Jul 2011 14:57:22 -0500] rev 14891
alias: note interaction of shell aliases with early opts in help
Matt Mackall <mpm@selenic.com> [Mon, 18 Jul 2011 14:53:52 -0500] rev 14890
alias: fix up test results
Idan Kamara <idankk86@gmail.com> [Sat, 09 Jul 2011 19:06:59 +0300] rev 14889
hooks: redirect stdout/err/in to the ui descriptors when calling python hooks
We need to make sure that python hooks I/O goes through the ui descriptors so
it doesn't mess the command server protocol.
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 18:03:37 -0500] rev 14888
alias: pass local ui to shell alias
This avoids an additional config read
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 16:06:54 -0500] rev 14887
aliases: drop cwd manipulation
Already done in _dispatch
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 16:06:53 -0500] rev 14886
dispatch: move shell alias handling after early arg handling
--cwd, --repo, and --config obviously should be handled first
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 14:27:16 -0500] rev 14885
merge with stable
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Fri, 15 Jul 2011 20:07:19 +0200] rev 14884
rebase: reset bookmarks (issue2265 and issue2873)
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 12:56:58 -0500] rev 14883
merge with stable
Idan Kamara <idankk86@gmail.com> [Thu, 14 Jul 2011 11:46:15 +0300] rev 14882
cmdserver: take repo.baseui as our ui
The ui passed to server() is really repo.ui, that is it contains its local
configuration as well.
When running commands that use a different repo than the servers cached repo,
we don't want to use that ui as the baseui for the new repo.
Benoit Allard <benoit@aeteurope.nl> [Fri, 15 Jul 2011 10:18:24 +0200] rev 14881
web: Output a correct date in short format (issue2902)
Idan Kamara <idankk86@gmail.com> [Fri, 15 Jul 2011 16:28:09 +0300] rev 14880
test-commandserver: explicitly close opened file
Matt Mackall <mpm@selenic.com> [Thu, 14 Jul 2011 12:39:39 -0500] rev 14879
verify: fix mq misfire
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 19:30:27 -0500] rev 14878
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 19:30:09 -0500] rev 14877
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 05 Jul 2011 17:54:36 -0300] rev 14876
i18n-pt_BR: synchronized with 35f5cfdd0427
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 19:27:56 -0500] rev 14875
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:43:18 -0500] rev 14874
commit: suppress spurious new head message for duplicate commit (issue2893)
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:58:51 -0500] rev 14873
osutil: emulate os.listdir's OSError for long names (issue2898)
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:28:46 -0500] rev 14872
verify: filter messages about missing null manifests (issue2900)
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 19:24:54 -0500] rev 14871
merge with crew
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 17:41:49 -0500] rev 14870
subrepo: use working copy of .hgsub to filter status (issue2901)
Patrick Mezard <pmezard@gmail.com> [Wed, 13 Jul 2011 19:23:33 +0200] rev 14869
notify: remove unused url() method
Patrick Mezard <pmezard@gmail.com> [Wed, 13 Jul 2011 19:23:12 +0200] rev 14868
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com> [Wed, 13 Jul 2011 19:23:08 +0200] rev 14867
run-tests: fix summary when accepting changes interactively
Accepted changes were not counted as success.
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:29:28 -0500] rev 14866
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:28:46 -0500] rev 14865
verify: filter messages about missing null manifests (issue2900)
Idan Kamara <idankk86@gmail.com> [Mon, 11 Jul 2011 17:49:45 +0300] rev 14864
cmdserver: restore old working dir after dispatch when we have --cwd
Idan Kamara <idankk86@gmail.com> [Mon, 11 Jul 2011 17:46:55 +0300] rev 14863
dispatch: don't use request repo if we have --cwd
Nicholas Riley <njriley@illinois.edu> [Tue, 12 Jul 2011 12:06:11 -0400] rev 14862
eol: ignore IOError from deleted files in commitctx
A Mercurial repo signals a file is deleted by raising IOError when the
file's data is requested. This IOError is normally caught by
localrepository.commitctx. With the eol extension enabled and EOL
mappings in place, the eolrepo subclass should ignore IOError because
a deleted file has no line endings to process.
This issue exhibited itself when performing an incremental hg convert
of a revision with deleted files to a repo with an existing .hgeol
file.
Steve Borho <steve@borho.org> [Fri, 08 Jul 2011 20:24:19 -0500] rev 14861
scmutil: add missing import of re
see https://bitbucket.org/tortoisehg/thg/issue/929
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 16:36:34 -0500] rev 14860
dispatch: fix checking of rpath in _getlocal
This avoids an extra config read
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 16:36:22 -0500] rev 14859
ui: rename _is_trusted to _trusted
is and do are pointless, underbar separators are style violations
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 16:27:03 -0500] rev 14858
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 16:22:36 -0500] rev 14857
eol: fix silly test-gendoc breakage by escaping control characters
Martin Geisler <mg@aragost.com> [Thu, 07 Jul 2011 12:13:07 +0200] rev 14856
eol: document new eol.fix-trailing-newline setting
Stepan Koltsov <stepancheg@yandex-team.ru> [Fri, 01 Jul 2011 23:12:52 +0400] rev 14855
eol: fix missing trailing newlines in comitted files
Some text editors (Eclipse, for example) do not add trailing newlines,
so diffs often contain annoying "\ No newline at the end of file".
This patch to eol extension simply adds trailing newline on commit.
Stepan Koltsov <stepancheg@yandex-team.ru> [Fri, 01 Jul 2011 22:53:58 +0400] rev 14854
eol: eol.only-consistent can now be specified in .hgeol
Martin Geisler <mg@aragost.com> [Thu, 07 Jul 2011 10:34:19 +0200] rev 14853
merge with stable
Martin Geisler <mg@aragost.com> [Thu, 07 Jul 2011 10:19:37 +0200] rev 14852
commands: use mergetoolopts when a command supports --tool
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 12:35:03 -0500] rev 14851
revsets: actually catch type error on tip^p1(tip) (issue2884)
The previous commit was empty.
Cédric Krier <ced@b2ck.com> [Sat, 09 Jul 2011 09:44:15 +0200] rev 14850
hgcia: Set default value of strip to -1 (issue2891)
For backward compatibility the root path of the repository is not
displayed unless the user has specified an explicit strip value.
Martin Geisler <mg@aragost.com> [Thu, 07 Jul 2011 10:32:30 +0200] rev 14849
commands: improve help for -y/--noninteractive
Before, the help text said that Mercurial would assume 'yes' for all
prompts, but this is confusing since many prompts don't have any 'yes'
choice. It now more accurately describes what will happen.
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 19:25:56 -0500] rev 14848
bookmarks: simplify warning code
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 19:25:56 -0500] rev 14847
bookmarks: drop superfluous strip
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 05 Jul 2011 10:20:27 +0200] rev 14846
bookmarks: add a warning for non empty malformed line
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 05 Jul 2011 10:13:54 +0200] rev 14845
bookmarks: more robust parsing of bookmarks file
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 19:25:53 -0500] rev 14844
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 13:43:29 -0500] rev 14843
revsets: catch type error on tip^p1(tip) (issue2884)
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 13:37:50 -0500] rev 14842
revsets: do the right thing with x^:y (issue2884)
Given an operator ^ that's either postfix or infix and an operator :
that's either prefix or infix, the parser can't figure out the right
thing to do. So we rewrite the expression to be sensible in the optimizer.
Shun-ichi GOTO <shunichi.goto@gmail.com> [Wed, 06 Jul 2011 18:28:42 +0900] rev 14841
win32mbcs: wrap two more functions to be wrapped.
util.checkwinfilename() and util.checkosfilename() are wrapped.
The former, used by scmutil, is not friendly for Shift_JIS bytes.
The latter is an dynamic alias of checkwinfilename() used by other
modules.
Idan Kamara <idankk86@gmail.com> [Tue, 05 Jul 2011 14:36:33 +0300] rev 14840
commands, merge: call setconfig on the right ui
In practice this doesn't change anything since ui == repo.ui here, but setting
repo.ui explicitly here is clearer since hg.merge will use repo.ui later on.
Idan Kamara <idankk86@gmail.com> [Tue, 05 Jul 2011 14:28:55 +0300] rev 14839
peer: change arg name to convey it can be a repo as well
Augie Fackler <durin42@gmail.com> [Thu, 23 Jun 2011 15:00:45 -0500] rev 14838
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
When combined with the earlier change to make the progress object
truly a singleton, this prevents the progress bar swapping on 'hg
clone --pull' on a local filesystem.
Thanks to timeless for lots of debugging help at the Copenhagen sprint
to isolate the root cause of this and a first draft an idea that would
fix it.
Augie Fackler <durin42@gmail.com> [Thu, 23 Jun 2011 14:55:09 -0500] rev 14837
progress: make progress bar a singleton to avoid double-progress ui bugs
This helps issue2698 a little, but isn't a complete fix, since
generators still can produce some weird progress bar switching.
Augie Fackler <durin42@gmail.com> [Thu, 02 Jun 2011 14:33:01 -0500] rev 14836
progress: remove superfluous parens
Christian Ebert <blacktrash@gmx.net> [Sun, 03 Jul 2011 12:58:03 +0200] rev 14835
keyword: reuse already present working contexts for match
Shortens overlong line as side-effect.
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2011 14:30:53 -0500] rev 14834
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2011 14:30:42 -0500] rev 14833
discovery: quiet note about heads
This was changing output on in/out -v for no good reason.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 04 Jul 2011 19:53:39 -0300] rev 14832
patch: fix parsing patch files containing CRs not followed by LFs
Since 1e64e1e12195 , patch lines containing a CR not followed by a LF
would be incorrectly splitten, causing a failure to apply the patch.
Jim Hague <jim.hague@acm.org> [Tue, 05 Jul 2011 11:53:32 +0100] rev 14831
treediscovery: rename stop() in tests to fix failures on AIX.
It seems ksh, the default shell on AIX, does not permit the creation of a
function called stop(). test-treediscovery.t and test-treediscovery-legacy.t
both fail on AIX with error 'syntax error at line 25 : `(' unexpected'.
Fix by renaming stop() in the scripts to tstop(). For completeness
rename start() to tstart() to match. Both tests then pass on AIX.
Add check for the use of stop() in a shell script to check-code.
Idan Kamara <idankk86@gmail.com> [Mon, 04 Jul 2011 14:36:16 +0300] rev 14830
fileset: fix typo in binary() doc
Arne Babenhauserheide <bab@draketo.de> [Fri, 01 Jul 2011 22:50:36 +0200] rev 14829
help: fileset foo.lst was named files.lst
Matt Mackall <mpm@selenic.com> [Fri, 01 Jul 2011 13:59:09 -0500] rev 14828
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Jul 2011 13:54:27 -0500] rev 14827
Added signature for changeset de9eb6b1da4f
Matt Mackall <mpm@selenic.com> [Fri, 01 Jul 2011 13:54:25 -0500] rev 14826
Added tag 1.9 for changeset de9eb6b1da4f
Mads Kiilerich <mads@kiilerich.com> [Fri, 01 Jul 2011 17:37:09 +0200] rev 14825
util: rename the util.localpath that uses url to urllocalpath (issue2875)
util is never imported by any other name than util, so this is mostly just a
simple search and replace from util.localpath to util.urllocalpath (assuming
other uses of util.localpath already has been renamed).
Mads Kiilerich <mads@kiilerich.com> [Fri, 01 Jul 2011 18:13:48 +0200] rev 14824
tests: restore previous fix for date ambiguity in cvs test
017ab404e588 changed some sleeps after cvs update to sleeps before commit. I
don't know why that should work, but I have a machine where it doesn't work.
Commits regularly fails becuase cvs doesn't notice that a file has been
changed.
Restoring the previous sleep between the update and the edit makes cvs notice
the change.
Matt Mackall <mpm@selenic.com> [Thu, 30 Jun 2011 19:34:09 -0500] rev 14823
merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 30 Jun 2011 16:36:38 +0200] rev 14822
run-test: revert most of 439ed4721a6d, timeout uses fallback for terminate()
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 30 Jun 2011 16:25:05 +0200] rev 14821
run-tests: fallback to SIGTERM if subprocess.Popen does not have terminate()
Eli Carter <eli.carter@tektronix.com> [Thu, 30 Jun 2011 13:22:12 -0500] rev 14820
subrepo: correct revision in svn checkout
A Subversion subrepo checkout uses a url and --revision which does not do the
correct thing when specifying a revision of a branch that has since been
deleted and recreated. The checkout needs to specify the revision as URL@REV
instead.
Steve Borho <steve@borho.org> [Thu, 30 Jun 2011 12:55:19 -0500] rev 14819
wix: catch up with more added files
revsets: 1.7::tip and adds("mercurial/help/**")
1.7::tip and adds("mercurial/templates/**")