Adrian Buehlmann <adrian@cadifra.com> [Tue, 23 Nov 2010 13:11:40 +0100] rev 13039
util.datestr: do not crash on revisions with negative timestamp (
issue2513)
Python's time.gmtime(lt) fails on Windows, producing a traceback with
ValueError: (22, 'Invalid argument')
if lt < -43200.
We get a local time boundary value of -43200 if we take "the epoch"
Thu Jan 01 00:00:00 1970 = time.gmtime(0)
from timezone 'UTC+0' into timezone 'UTC-12'. All other timezones will have
larger local time values for that point in time.
Aborting with a traceback on 'hg log' for revisions with a timestamp value
< -43200 is clearly not acceptable.
Returning "invalid timestamp" or similar as string representation is not an
option either, since that may crash other tools which parse the output of
'hg log'.
Instead, we teach util.datestr() to return the epoch in timezone UTC+0 on
*all platforms*, represented by the string
Thu Jan 01 00:00:00 1970 +0000
if the timestamp's unix time value is negative.
(based on a patch originally proposed by Benjamin Pollack)
Adrian Buehlmann <adrian@cadifra.com> [Tue, 23 Nov 2010 22:53:47 +0100] rev 13038
checknlink: return False if .hgtmp file preexists (
issue2517)
If os_link fails on Windows, errno is always errno.EINVAL,
so we can't really say if the testlink could not be created
because (a) the FS doesn't support hardlinks or (b) there
is a leaked .hgtmp file lying around from a previous crashed
run.
So let's err on the safe side, keep the code simple and assume
we can't detect hardlinks in both cases.
Martin Geisler <mg@aragost.com> [Wed, 24 Nov 2010 13:25:12 +0100] rev 13037
localrepo: move string formatting out of gettext call
Matt Mackall <mpm@selenic.com> [Mon, 22 Nov 2010 13:11:46 -0600] rev 13036
merge with stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 16 Nov 2010 13:06:07 -0600] rev 13035
mq: ignore subrepos (
issue2499)
If MQ allows modifying .hgsub or .hgsubstate in a patch, it can easily
lead to an inconsistent subrepo state. This patch prevents qrefresh from
adding any modifications to .hgsub or .hgsubstate to a patch. The user
is warned that these files are not included in the patch.
The tests test both the slightly irrational and the pathological cases.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 22 Nov 2010 17:32:51 +0100] rev 13034
tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Should make running the testsuite a bit faster.
Also, test-hardlinks.t and test-hardlinks-safety.t now have enough
infrastructure in common.
Steve Losh <steve@stevelosh.com> [Wed, 17 Nov 2010 21:18:44 -0500] rev 13033
mq: add an '-e/--exact' option to qpush
This patch adds an '--exact/-e' option to qpush that will try to push the
patches in the correct location in the DAG. Specifying this option does the
following:
* If --move is specified, abort. It makes no sense to move a patch to the front
of the queue and try to apply it to its parent, because its parent is one of
the patches we just moved it in front of!
* If patches are already applied, abort. We don't want patch changesets
scattered throughout the DAG.
* If local changes are present, abort unless --force is used, as usual.
* Find the first patch we're going to push (if we're pushing multiple patches
with a target or --all).
* If that patch doesn't have a parent, abort, obviously.
* If the parent doesn't exist in the repo, abort. Something is wrong.
* Update to the parent, then continue pushing the patches as normal.
Matt Mackall <mpm@selenic.com> [Mon, 22 Nov 2010 12:43:31 -0600] rev 13032
dirstate: warn on invalid parents rather than aborting
This allows more graceful recovery from some mangled dirstates
Martin Geisler <mg@aragost.com> [Mon, 22 Nov 2010 18:15:58 +0100] rev 13031
code style: prefer 'is' and 'is not' tests with singletons
Martin Geisler <mg@aragost.com> [Mon, 22 Nov 2010 17:57:11 +0100] rev 13030
polib: remove unnecessary comparisons with True
Submitted to upstream repository as changeset
f11e0b1b37b0.
Eric Eisner <ede@mit.edu> [Sun, 21 Nov 2010 22:00:51 -0500] rev 13029
subrepo: lazier git push logic
Avoids calls to git push when the revision is already known to be
in the remote repository. Now, when using a read-only git subrepo,
git will never need to talk to its upstream repository.
Martin Geisler <mg@aragost.com> [Mon, 22 Nov 2010 17:39:46 +0100] rev 13028
merge with stable
Eric Eisner <ede@mit.edu> [Thu, 18 Nov 2010 19:20:21 -0500] rev 13027
subrepo: archive git subrepos
Adrian Buehlmann <adrian@cadifra.com> [Sun, 21 Nov 2010 11:52:27 +0100] rev 13026
check-code: catch Python 'is' comparing number or string literals
The Python 'is' operator compares object identity, so it should
definitely not be applied to string or number literals, which Python
implementations are free to represent with a temporary object.
This should catch the following kinds of bogus expressions (examples):
x is 'foo' x is not 'foo'
x is "bar" x is not "bar"
x is 42 x is not 42
x is -36 x is not -36
As originally proposed by Martin Geisler, amended with catching
negative numbers.
Christian Ebert <blacktrash@gmx.net> [Mon, 22 Nov 2010 16:05:31 +0100] rev 13025
keyword: s/config/configuration/ in help
Patrick Mezard <pmezard@gmail.com> [Sun, 21 Nov 2010 13:16:59 +0100] rev 13024
Merge with stable
timeless <timeless@gmail.com> [Sun, 21 Nov 2010 05:07:06 -0600] rev 13023
record: quote command in use hg commit message
timeless <timeless@gmail.com> [Sat, 20 Nov 2010 20:41:48 +0200] rev 13022
revert: improve merge advice and favor its error over all
Henrik Stuart <hg@hstuart.dk> [Sat, 20 Nov 2010 09:51:56 +0100] rev 13021
rebase: support --detach when null is common ancestor
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 18 Nov 2010 19:52:58 -0200] rev 13020
templater: fix variable name
'format' was renamed to 'parsed' in
0d50586a9d31
Adrian Buehlmann <adrian@cadifra.com> [Wed, 17 Nov 2010 16:54:30 +0100] rev 13019
test-hardlinks: add testcase for repo copied with 'cp -al'
This patch adds a case to test-hardlinks.t which demonstrates that
hardlinks in the working directory are broken up (using 'hg update').
Motivation for this patch:
'hg help clone' shows copying repositories *and* the working directory
using 'cp -al', creating hardlinks in the *working directory* too (not
just in the store).
Note that we can't use 'cp -al' since for example MacOS X doesn't
support these options on cp. I'm thus using the same trick as in
test-hardlinks-safety.t for creating hardlinks in the working dir.
Patrick Mezard <pmezard@gmail.com> [Thu, 18 Nov 2010 23:15:13 +0100] rev 13018
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Thu, 18 Nov 2010 23:05:10 +0100] rev 13017
subrepo: handle missing subrepo spec file as removed
Otherwise, all commands involving a dirstate walk will abort when trying to
readone of them. Deleting .hgsub basically breaks a repository.
Patrick Mezard <pmezard@gmail.com> [Wed, 17 Nov 2010 21:30:13 +0100] rev 13016
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Wed, 17 Nov 2010 21:25:23 +0100] rev 13015
subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com> [Wed, 17 Nov 2010 21:24:36 +0100] rev 13014
subrepo: use subprocess directly to avoid python 2.6 bug
Using svn subrepos on MacOSX with native python 2.6.1 results in a lot of
unexpected output caused by:
http://bugs.python.org/
issue5099
subprocess.Popen.__del__ causes AttributeError (os module == None)
Avoiding dangling Popen instance solves the issue.
Patrick Mezard <pmezard@gmail.com> [Wed, 17 Nov 2010 21:00:47 +0100] rev 13013
subrepo: fix removing read-only svn files on Windows
Martin Geisler <mg@aragost.com> [Wed, 17 Nov 2010 09:37:57 +0100] rev 13012
check-code: catch 'ls filename --option' case as per
6bdae8ea0b48
Erik Zielke <ez@aragost.com> [Tue, 02 Nov 2010 17:44:19 +0100] rev 13011
minirst: improved support for option lists.
This enables minirst to parse and print option lists which have both
long and short options. Before, we could only parse option lists with
long options.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 16 Nov 2010 13:29:35 +0100] rev 13010
test-subrepo-git.t: portability fix.
Specifying arguments after file names for 'ls' is a GNU extension.
Erik Zielke <ez@aragost.com> [Tue, 16 Nov 2010 13:29:08 +0100] rev 13009
minirst: modified minirst to also recognize empty comments.
The modifies minirst to also handle empty comments. An empty comment
is a block with a single line containing two dots.
Martin Geisler <mg@aragost.com> [Wed, 17 Nov 2010 09:17:55 +0100] rev 13008
merge with stable
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 16 Nov 2010 21:35:58 +0100] rev 13007
posix: remove is-comparison between integers
Comparing integers by identity relies on a CPython implementation
detail of caching integers between -5 and 256.[1]
[1] <http://docs.python.org/c-api/int.html#PyInt_FromLong>
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 16 Nov 2010 21:35:58 +0100] rev 13006
httprepo: remove is-comparison with string literal
An identity check between a variable and a string literal was added to
the pushkey implementation in
6bd9778ae749. While CPython will
normally intern strings and thus make the test safe, value identity is
what should be used here.
Martin Geisler <mg@aragost.com> [Wed, 17 Nov 2010 09:06:38 +0100] rev 13005
mq: fix comment to reflect change in
efbee27415ab
Kevin Bullock <kbullock@ringworld.org> [Tue, 16 Nov 2010 13:06:04 -0600] rev 13004
mq: clean up unused variable in qrefresh
Removes the unused variable `aa2` that holds the list of deleted files
returned from repo.status().
Martin Geisler <mg@aragost.com> [Tue, 16 Nov 2010 11:10:50 +0100] rev 13003
minirst: better interaction between comments and margins
You can now split a list with a comment:
* foo
.. separator
* bar
and the two list items will no longer be run together, that is the
output is
* foo
* bar
instead of
* foo
* bar
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 16 Nov 2010 10:33:19 +0900] rev 13002
run-tests: fix --debug for .t tests
When --debug is given to the test runner, run() returns (retcode, None).
Do not try to use None output as a string, and return directly, similarly
as other testers.
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 17:05:54 -0600] rev 13001
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 17:04:55 -0600] rev 13000
commit: search both parents for missing copy revision (
issue2484)
raise a proper abort if we can't find an ancestor
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 17:00:43 -0600] rev 12999
context: walk both parents for workingctx.ancestors()
Adrian Buehlmann <adrian@cadifra.com> [Thu, 11 Nov 2010 15:51:20 +0100] rev 12998
discovery: list new remote heads in prepush() on --debug
With this patch applied, Mercurial will list the hashes of new remote heads
if push --debug aborts because of new remote heads (option -f/--force not set).
Example:
$ hg push --debug repo1
using http://example.org/repo1
http auth: user johndoe, password not set
sending between command
pushing to http://example.org/repo1
sending capabilities command
capabilities: changegroupsubset stream=1 lookup pushkey unbundle=HG10GZ,HG10BZ,HG10UN branchmap
sending heads command
searching for changes
common changesets up to
609edbc7853f
sending branchmap command
new remote heads on branch 'default' <- new output line
new remote head
5862c07f53a2 <- new output line
abort: push creates new remote heads on branch 'default'!
(did you forget to merge? use push -f to force)
Compare to without --debug (not changed by this patch, including it here
for reference purposes only):
$ hg push repo1
pushing to http://example.org/repo1
searching for changes
abort: push creates new remote heads on branch 'default'!
(did you forget to merge? use push -f to force)
Motivation for this change:
'hg outgoing' may list a whole lot of benign changesets plus an odd changeset
that will trigger the "new remote heads" abort. It can be hard to spot that
single unwanted changeset (it may be an old forgotten experiment, lingering
in the local repo).
"hg log -r 'heads(outgoing())'" might be useful, but that also lists a head
that may be benign on push.
Inside prepush(), we already know which heads are causing troubles on 'hg push'.
Why not make that info available (at least on --debug)?
This would also be helpful for doing remote support, as the supporter can ask
the user to paste the output of 'hg push --debug' on error and then ask further
questions about the heads listed.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 11 Nov 2010 15:42:27 +0100] rev 12997
discovery: remove erroneous comment in prepush()
New named branches *can* be created without -f/--force by specifying
--new-branch
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:31:40 -0500] rev 12996
subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:31:29 -0500] rev 12995
subrepo: update and merge works with any git branch
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:22:33 -0500] rev 12994
subrepo: allow git subrepos to push and merge
(master branch only)
gitsubrepo based on patch from David Soria Parra:
http://bitbucket.org/segv/davids-poor-git-subrepo-attempt/
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:20:13 -0500] rev 12993
subrepo: cloning and updating of git subrepos
gitsubrepo based on patch from David Soria Parra:
http://bitbucket.org/segv/davids-poor-git-subrepo-attempt/
Eric Eisner <ede@mit.edu> [Sun, 14 Nov 2010 18:15:26 -0500] rev 12992
subrepo: support for adding a git subrepo
gitsubrepo based on patch from David Soria Parra:
http://bitbucket.org/segv/davids-poor-git-subrepo-attempt/
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:57:49 -0600] rev 12991
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:57:40 -0600] rev 12990
merge with i18n
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:55:54 -0600] rev 12989
Added signature for changeset
4438875ec01b
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:55:48 -0600] rev 12988
Added tag 1.7.1 for changeset
4438875ec01b
Matt Mackall <mpm@selenic.com> [Mon, 15 Nov 2010 10:55:36 -0600] rev 12987
merge with stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 14 Nov 2010 23:32:04 -0200] rev 12986
merge with i18n stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 14 Nov 2010 23:28:44 -0200] rev 12985
i18n-pt_BR: synchronized with
27e4146d9241
Wagner Bruna <wbruna@yahoo.com> [Sun, 14 Nov 2010 23:31:50 -0200] rev 12984
merge with i18n
Martin Geisler <mg@aragost.com> [Fri, 05 Nov 2010 16:10:38 +0100] rev 12983
i18n-da: translate small error messages
Martin Geisler <mg@aragost.com> [Mon, 01 Nov 2010 11:05:14 +0100] rev 12982
i18n-da: synchronize with
15ca4bfecfe3
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:57:40 +0100] rev 12981
merge with stable
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:57:12 +0100] rev 12980
eol: mention the hook in the module docstring
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:46:51 +0100] rev 12979
eol: fix win32text encode/decode filter names
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:20:37 +0100] rev 12978
test-win32text: use $TESTTMP in output
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:16:50 +0100] rev 12977
test-win32text: use (esc) lines instead of Python script
Martin Geisler <mg@lazybytes.net> [Sat, 13 Nov 2010 15:12:09 +0100] rev 12976
merge with stable
Colin Caughie <c.caughie@indigovision.com> [Wed, 10 Nov 2010 20:26:56 +0000] rev 12975
eol: added filter aliases for backwards compatibility with win32text
This makes it possible to switch most win32text configurations (i.e. those
that use cleverencode and cleverdecode) to hgeol simply by disabling one and
enabling the other. Any rules found in repo-specific .hgeol files will be
appended to the configuration in .hgrc.
Colin Caughie <c.caughie@indigovision.com> [Sat, 13 Nov 2010 15:02:02 +0100] rev 12974
eol: exclude .hgtags file from eol translation (
issue2493)
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 13 Nov 2010 11:58:51 +0900] rev 12973
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 11 Nov 2010 02:10:37 +0900] rev 12972
log: fix log -rREV FILE when REV isnt the last filerev (
issue2492)
Regression from
99cafcae25d9. That previous commit is not supposed
to affect log calls without --follow, so we step out of this
codepath if follow is not True, and it's enough to fix the
regression.
When --follow is given, we fix the issue by taking into account
changesets that have a rev > maxrev to build the filegraph: even if
those files are not included in the final result, it's still needed
to walk correctly the graph from the end of the filelog to minrev, to
track accurately renames.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 11 Nov 2010 02:05:02 +0900] rev 12971
cmdutil: move range check outside of filerevgen
Simple refactor, no logic change.
Matt Mackall <mpm@selenic.com> [Fri, 12 Nov 2010 01:22:46 -0600] rev 12970
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 12 Nov 2010 01:21:45 -0600] rev 12969
pushkey: force HTTP POST on push and add tests (
issue2489)
Martin Geisler <mg@lazybytes.net> [Thu, 11 Nov 2010 07:23:38 +0100] rev 12968
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Wed, 10 Nov 2010 17:28:24 +0100] rev 12967
tests: add test-hardlinks.t
partially testing util.opener.__call__
Yuya Nishihara <yuya@tcha.org> [Thu, 11 Nov 2010 01:12:51 +0900] rev 12966
win32: remove try-catch block of GetModuleFileNameEx (
issue2480)
According to the API document, GetModuleFileName is the preferred way to
retrieve the filename of the current process. So we shouldn't try
GetModuleFileName'Ex' first.
Previously system_rcpath_win32() happened to return unicode paths due to
GetModuleFileNameEx (
issue2480). This problem is fixed as GetModuleFileName
never return unicode.
Richard Hopkins [Tue, 09 Nov 2010 20:25:56 +0000] rev 12965
gpg, commands: fixed util.abort to util.Abort typos
gpg: Fixed util.abort typo after entering wrong password.
commands: Fixed util.abort typo in debugindex.
Martin Geisler <mg@lazybytes.net> [Thu, 11 Nov 2010 00:08:09 +0100] rev 12964
check-code: using and/or/not as a function is bad style
Martin Geisler <mg@aragost.com> [Wed, 10 Nov 2010 15:44:19 +0100] rev 12963
merge with stable
Klaus Koch <kuk42@gmx.net> [Sun, 07 Nov 2010 20:18:57 +0100] rev 12962
bundlerepository: get rid of temporary bundle files (
issue2478)
This bug was introduced in
40935b59518b and
6277a9469dff.
Martin Geisler <mg@aragost.com> [Wed, 10 Nov 2010 15:38:00 +0100] rev 12961
bundlerepository: test self.tempfile field, not tempfile module
This error was introduced in
680fe77ab5b8.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 10 Nov 2010 13:48:23 +0100] rev 12960
test-mq-qnew: handle Mac OS X error strings.
On Mac OS X, opening a file called '42/' results in ENOENT and not
EISDIR if the directory doesn't exist.
timeless <timeless@gmail.com> [Wed, 10 Nov 2010 04:53:11 -0600] rev 12959
help: urls help should include see also for paths
Martin Geisler <mg@aragost.com> [Wed, 10 Nov 2010 14:46:13 +0100] rev 12958
minirst: link to HelpStyleGuide in docstring
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 09 Nov 2010 13:43:35 +0900] rev 12957
util: clarify purpose of MBTextWrapper class
It's easy to get confused and scared of an Unicode monster when
skimming through this code: document that this is really just
about column-counting.
Matt Mackall <mpm@selenic.com> [Mon, 08 Nov 2010 17:29:23 -0600] rev 12956
merge with stable
Erik Zielke <ez@aragost.com> [Mon, 08 Nov 2010 10:56:47 +0100] rev 12955
run-test: fixed wrong parenthesis
Fixed wrong placement of end parenthesis, from
b911cb80c671
Matt Mackall <mpm@selenic.com> [Mon, 08 Nov 2010 17:16:29 -0600] rev 12954
merge with crew
Matt Mackall <mpm@selenic.com> [Mon, 08 Nov 2010 17:16:17 -0600] rev 12953
merge with crew
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 09 Nov 2010 01:33:48 +0900] rev 12952
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 08 Nov 2010 22:45:56 +0900] rev 12951
graphmod: safer code when a changeset has two identical parents
While this situation should never under normal use, some real
life repos sometimes contain such changesets (older hg versions,
broken rebases, etc...)
hgweb was displaying an "Internal error" in this case, and graphlog
displayed a redundant branch all the way to null: it does not cost us
much to just ignore this extra parent when constructing the DAG.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 07 Nov 2010 18:23:48 +0900] rev 12950
revlog: fix descendants() if nullrev is in revs
We were not returning the correct result if nullrev was in revs, as we
are checking parent(currentrev) != nullrev before yielding currentrev
test-convert-hg-startrev was wrong: if we start converting from rev -1 and
onwards, all the descendants of -1 (full repo) should be converted.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 07 Nov 2010 18:16:07 +0900] rev 12949
revlog: if start is nullrev, end is always a descendant
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 07 Nov 2010 22:03:28 +0900] rev 12948
mq: use sets instead of lists for speed
The code eventually converts data through sets to ensure unicity:
do it earlier to allow faster __contains__ lookups and avoid
`del l[l.index(x)]` kind of code.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 07 Nov 2010 18:59:27 +0900] rev 12947
context: add __repr__ methods to workingfilectx and workingctx
Matt Mackall <mpm@selenic.com> [Sun, 07 Nov 2010 19:42:42 -0600] rev 12946
merge with crew
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:55:32 +0100] rev 12945
test-import: workaround for missing newline is no longer needed
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:44:46 +0100] rev 12944
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:41:42 +0100] rev 12943
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:41:41 +0100] rev 12942
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:35:41 +0100] rev 12941
tests: use (esc) markup for string-escape
This makes test output less ambiguous.
Failing test output will be escaped and marked up if necessary. A Python
string-escape compatible encoding is used, but not everything is encoded -
especially not \n and \t and '.
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:35:40 +0100] rev 12940
tests: (no-eol) markup for command output without trailing LF
Output chunks without a trailing LF will now work but get (no-eol) appended.
This change mostly moves code around so we can handle that an output line
starts with data from previous command, followed by salt and the next command.
Matt Mackall <mpm@selenic.com> [Sun, 07 Nov 2010 16:01:57 -0600] rev 12939
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 07 Nov 2010 18:21:29 +0100] rev 12938
opener: check hardlink count reporting (
issue1866)
The Linux CIFS kernel driver (even in 2.6.36) suffers from a hardlink
count blindness bug (lstat() returning 1 in st_nlink when it is expected
to return >1), which causes repository corruption if Mercurial running
on Linux pushes or commits to a hardlinked repository stored on a Windows
share, if that share is mounted using the CIFS driver.
This patch works around
issue1866 and improves the workaround done in
50523b4407f6 to fix
issue761, by teaching the opener to lazily execute a
runtime check (new function checknlink) to see if the hardlink count
reported by nlinks() can be trusted.
Since nlinks() is also known to return varying count values (1 or >1)
depending on whether the file is open or not and depending on what client
and server software combination is being used for accessing and serving
the Windows share, we deliberately open the file before calling nlinks() in
order to have a stable precondition. Trying to depend on the precondition
"file closed" would be fragile, as the file could have been opened very
easily somewhere else in the program.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 04 Nov 2010 09:04:37 +0100] rev 12937
util: refactor opener
- Don't call atomictempfile or nlinks() if the path is malformed
(no basename). Let posixfile() raise IOError directly.
- atomictempfile already breaks up hardlinks, no need to poke
at the file with nlinks() if atomictemp.
- No need to copy the file contents to break hardlinks for 'w'rite
modes (w, wb, w+, w+b). Unlinking and recreating the file is faster.
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Nov 2010 18:15:17 +0100] rev 12936
revset: remove unnecessary debug statement
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Nov 2010 18:14:42 +0100] rev 12935
revset: fix p1, p2 and parents in dirstate case (
a5f7f1e9340e)
- Handle 'subset' argument
- Stop returning the null rev from p1 and parents, as in the non-dirstate case
- Order parents as in the non-dirstate case (ascending revs)
Mads Kiilerich <mads@kiilerich.com> [Sat, 06 Nov 2010 00:31:44 +0100] rev 12934
tests: handle .t files without trailing LF
9a2de8dae27b made this simple test-test.t succeed silently:
$ printf ' $ true' > test-test.t
but did not give a usable .err in this case:
$ printf ' $ false' > test-test.t
The missing LF will now be fixed in the test output and it will thus give a
test failure and a solution in the .err file.
Matt Mackall <mpm@selenic.com> [Fri, 05 Nov 2010 15:38:23 -0500] rev 12933
merge with stable
Steve Losh <steve@stevelosh.com> [Fri, 05 Nov 2010 15:54:32 -0400] rev 12932
alias: fall back to normal error handling for ambigious commands (fixes
issue2475)
Martin Geisler <mg@aragost.com> [Fri, 05 Nov 2010 15:35:39 +0100] rev 12931
merge with stable
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> [Fri, 05 Nov 2010 15:13:22 +0100] rev 12930
subrepo: test & fix svn subrepo removal
Kevin Bullock <kbullock@ringworld.org> [Thu, 04 Nov 2010 17:09:00 -0500] rev 12929
revsets: let parents() return parents of working dir
This patch makes the 'set' argument to revset function parents() optional.
Like p1() and p2(), if no argument is given, returns the parent(s) of the
working directory.
Morally equivalent to 'p1()+p2()', as expected.
Kevin Bullock <kbullock@ringworld.org> [Thu, 04 Nov 2010 16:59:03 -0500] rev 12928
revsets: let p1() and p2() return parents of working dir
This patch makes the 'set' argument to revset functions p1() and p2()
optional. If no argument is given, p1() and p2() return the first or second
parent of the working directory.
If the working directory is not an in-progress merge (no 2nd parent), p2()
returns the empty set. For a checkout of the null changeset, both p1() and
p2() return the empty set.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 04 Nov 2010 09:04:37 +0100] rev 12927
util: refactor opener
- Don't call atomictempfile or nlinks() if the path is malformed
(no basename). Let posixfile() raise IOError directly.
- atomictempfile already breaks up hardlinks, no need to poke
at the file with nlinks() if atomictemp.
- No need to copy the file contents to break hardlinks for 'w'rite
modes (w, wb, w+, w+b). Unlinking and recreating the file is faster.
Christian Ebert <blacktrash@gmx.net> [Thu, 04 Nov 2010 22:56:38 +0000] rev 12926
keyword: turn regexes and escaped keywords into a propertycache
Matt Mackall <mpm@selenic.com> [Thu, 04 Nov 2010 16:21:28 -0500] rev 12925
commands: add revset support to most commands
Martin Geisler <mg@aragost.com> [Thu, 04 Nov 2010 18:19:10 +0100] rev 12924
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com> [Thu, 04 Nov 2010 18:11:10 +0100] rev 12923
convert: split docstring lists for easier translation
Erik Zielke <ez@aragost.com> [Thu, 04 Nov 2010 14:14:47 +0100] rev 12922
convert: use field list instead of option list in help
Use field list instead of option list in convert help, because the
option list format used, with defaults and type of argument is not
supported by docutils.
Martin Geisler <mg@aragost.com> [Thu, 04 Nov 2010 17:52:40 +0100] rev 12921
doc/Makefile: docs now also depend on extensions
After
0d09991f91ee the hg(1) manpage contains a section with help
extracted from the extensions, so we should depend on them too.
Christian Ebert <blacktrash@gmx.net> [Wed, 03 Nov 2010 14:37:41 +0100] rev 12920
keyword: function to look up changectx for expansion
Similarly rename variable in kwtemplater.overwrite().