Matt Mackall <mpm@selenic.com> [Sat, 16 Nov 2013 12:34:05 -0500] rev 20011
merge with i18n
Durham Goode <durham@fb.com> [Fri, 15 Nov 2013 13:20:49 -0800] rev 20010
contrib: add editmerge script for editor conflict prompts
Adds a script that opens the editor to the conflict as part of the merge
process. This way you can fix the merge during the rebase instead of having to
pause the rebase, resolve --mark, rebase --continue.
Only works on unix.
Matt Mackall <mpm@selenic.com> [Thu, 14 Nov 2013 21:37:18 -0600] rev 20009
strip: fix last unprotected mq reference (
issue4097)
Matt Mackall <mpm@selenic.com> [Thu, 14 Nov 2013 18:07:43 -0600] rev 20008
tests: skip tests that require not having root (
issue4089)
This adds a new root hghave to test against. Almost all of these are a
subset of unix-permissions, but that is also used for checking exec
bit handling.
Matt Mackall <mpm@selenic.com> [Thu, 14 Nov 2013 17:17:44 -0600] rev 20007
make: restrict recursion in make clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 00:07:23 +0900] rev 20006
scmutil: skip checks in "casecollisionauditor" if filename is already checked
Before this patch, almost all of check code in
"casecollisionauditor.__call__()" is executed, even if specified
filename is already checked, because "f in self._newfiles" is examined
lastly.
In addition to it, adding "fl" to "self._loweredfiles" and "f" to
"self._newfiles" are also redundant in such case.
This patch checks "f in self._newfiles" first, and returns immediately
to avoid execution of check code for efficiency.
Simon Heimberg <simohe@besonet.ch> [Sat, 09 Nov 2013 10:21:20 +0100] rev 20005
check-code: prepend warning prefix only once, but for each warning
The code adding the prefix is now run once per pattern. It was run once per
file (after the change
3e1e4a8aec1e).
Demonstrate that it is working now by extending the test. Raise two different
warnings, one of them twice.
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 13 Nov 2013 16:46:46 -0200] rev 20004
hgweb, i18n: do not translate search mode description
The search mode description can't be translated by itself, since
it's displayed as part of a template phrase (the "Assuming ..."
/ "Use ... instead" bits). Just drop the translation markers for
now, since the templates themselves currently do not support
translations.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Nov 2013 16:48:24 +0900] rev 20003
tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Nov 2013 16:48:24 +0900] rev 20002
tests: quote environment variable to extract wildcard on MinGW environment
On MinGW environment, the command line below in test script can't
extract wildcard "*" and remove target files correctly.
$ rm $ENVVAR/foo/bar.*
To extract wildcard, environment variable should be quoted by double
quotation like below:
$ rm "$ENVVAR"/foo/bar.*
This patch also omits "-f" of "rm" to know whether files are removed
or not by exit code of it.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Nov 2013 16:48:24 +0900] rev 20001
tests: choose the path separator in PYTHONPATH suitable for platform
Before this patch, test code introduced by
e3a5922e18c3 into
test-extension.t always uses ":" as the path separator in PYTHONPATH.
But ";" should be used on Windows.
This patch chooses the path separator in PYTHONPATH suitable for
platform.
Mads Kiilerich <madski@unity3d.com> [Fri, 08 Nov 2013 12:35:50 +0100] rev 20000
util: warn when adding paths ending with \
Paths ending with \ will fail the verification introduced in
684a977c2ae0 when
checking out on Windows ... and if it didn't fail it would probably not do what
the user expected.
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 09:00:31 +0100] rev 19999
check-code: more replacement characters
for finding '.. note::' (even) more exact by using more characters:
replace '.' with 'p' and ':' with 'q'
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 09:00:31 +0100] rev 19998
check-code: check comment for '.. note::' without two newlines
Because string entries are replaced before matching, we must search for
the transformed pattern. But it seems to be quite unique and does not return
false matches. If it will, they can be listed as 3rd arg in pypats.
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 08:59:55 +0100] rev 19997
documentation: add an extra newline after note directive
Like this no docutils version interprets any line in the following text as
argument of note.
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19996
tests: modify minirst test input to new format
Modifying the test input data shows the effects of the last patches.
In text output nothing has changed.
In html output the title has moved on its own line.
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19995
minirst: do not add a 2nd empty paragraph
This does not add a separating block after a separated note directive.
.. note::
text
is formatted to
Note:
text
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19994
minirst: find admonitions before pruning comments and adding margins
Lines with only a directive are not deleted anymore because they are detected
before comments are deleted by prunecomments().
addmargins() will be adapted later.
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19993
minirst: do not fail on an empty admonition block
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19992
minirst: do not interpret a directive as a literal block
When a directive was on its own line, it was interpreted as a literal block.
Example of problematic input:
.. note::
a note text
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 09:43:36 +0100] rev 19991
Makefile: do update on a temporary copy of a po file
This avoids having a half completed file (with a new timestamp) when msgmerge
has failed.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 04 Nov 2013 10:52:41 -0200] rev 19990
i18n-pt_BR: synchronized with
d24ee6d7d167
Matt Mackall <mpm@selenic.com> [Thu, 07 Nov 2013 15:24:23 -0600] rev 19989
date: allow %z in format (
issue4040)
Matt Mackall <mpm@selenic.com> [Wed, 06 Nov 2013 16:36:07 -0600] rev 19988
merge with stable
Siddharth Agarwal <sid0@fb.com> [Wed, 06 Nov 2013 10:20:18 -0800] rev 19987
merge: move forgets to the beginning of the action list
Forgets need to be in the beginning of the action list, same as removes. This
lets us avoid clashes in the dirstate where a directory is forgotten and a
file with the same name is added, or vice versa.
Durham Goode <durham@fb.com> [Fri, 01 Nov 2013 17:08:06 -0700] rev 19986
rebase: fix working copy location after a --collapse (
issue4080)
Rebasing with --collapse would leave the working copy on the parent of the
collapsed commit, instead of on the collapsed commit. This fixes that. Also
fixes a few tests that already covered this area but had bad data.
This also fixes
issue3716 where bookmarks are not kept across rebases with
--collapse. I updated the test to cover that case as well.
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 12:53:39 -0500] rev 19985
Merge with stable.
Durham Goode <durham@fb.com> [Mon, 04 Nov 2013 19:59:00 -0800] rev 19984
rebase: fix rebase aborts when 'tip-1' is public (
issue4082)
When aborting a rebase where tip-1 is public, rebase would fail to undo the merge
state. This caused unexpected dirstate parents and also caused unshelve to
become unabortable (since it uses rebase under the hood).
The problem was that rebase uses -2 as a marker rev, and when it checked for
immutableness during the abort, -2 got resolved to the second to last entry in
the phase cache.
Adds a test for the fix. Add exception to phase code to prevent this in the
future.
Augie Fackler <raf@durin42.com> [Tue, 05 Nov 2013 13:25:45 -0500] rev 19983
Merge with stable.
Simon Heimberg <simohe@besonet.ch> [Sat, 02 Nov 2013 11:25:04 +0100] rev 19982
check-code: prepend warning prefix for repeated warnings only once
When a warning occured several times in one file, "warning: " was prepended
several times:
examplefile.py:3:
> def a(object):
warning: this looks wrong
examplefile.py:27:
> def x(object):
warning: warning: this looks wrong
Simon Heimberg <simohe@besonet.ch> [Sat, 02 Nov 2013 11:25:33 +0100] rev 19981
check-code: fix an error message
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 05 Nov 2013 10:55:45 +0100] rev 19980
test: do not add .pyc and .orig in test-commit-amend.t (
issue4085)
This makes the test fails with disabled byte-compilation
(PYTHONDONTWRITEBYTECODE="1" environmental variable).
Matt Mackall <mpm@selenic.com> [Fri, 01 Nov 2013 17:04:18 -0500] rev 19979
Added signature for changeset
d825e4025e39
Matt Mackall <mpm@selenic.com> [Fri, 01 Nov 2013 17:04:14 -0500] rev 19978
Added tag 2.8 for changeset
d825e4025e39
Matt Mackall <mpm@selenic.com> [Fri, 01 Nov 2013 17:04:03 -0500] rev 19977
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 01 Nov 2013 11:04:48 -0200] rev 19976
i18n-pt_BR: fix a few missing changes on
95304251c376
Wagner Bruna <wbruna@yahoo.com> [Thu, 31 Oct 2013 00:25:20 -0200] rev 19975
i18n-pt_BR: synchronized with
95304251c376
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 31 Oct 2013 03:05:46 +0900] rev 19974
i18n-ja: synchronized with
1d7a36ff2615
Johan Bjork <jbjoerk@gmail.com> [Sun, 13 Oct 2013 08:38:30 -0400] rev 19973
patch: ensure valid git diffs if source/destination file is missing (
issue4046)
This is arguably a workaround, a better fix may be in the repo to
ensure that it won't list a file 'modified' unless there is a file
context for the previous version.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 27 Oct 2013 00:24:25 +0900] rev 19972
histedit: add description about exit code
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 27 Oct 2013 00:24:25 +0900] rev 19971
rebase: add description about exit code when there are unresolved conflicts
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 02 Nov 2013 04:49:42 +0900] rev 19970
shelve: remove unused variable assignment
Fix test-check-pyflakes.t error after
1d7a36ff2615.
This patch replaces "readshelvedfiles()" invocation by
"shelvedfile().exists()" check and aborting, because it is required
only to ensure that shelved changes corresponded to specified name
exist after invocation.
This patch also remove definition of "readshelvedfiles()" itself,
because it is invoked only from the line removed by this patch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 30 Oct 2013 19:45:14 +0100] rev 19969
rebase: fix selection of base used when rebasing merge (
issue4041)
Prior this changeset, rebasing a merge whose first parent was not in
the rebase lead to wrong and highly conflicting merge. See the in-line
comment for details.
Test have been updated with the data provided by the reported.
Pavlos Touboulidis <pav@pav.gr> [Tue, 29 Oct 2013 21:54:49 +0200] rev 19968
doc: fix internal date sample (
issue4072)
Mads Kiilerich <madski@unity3d.com> [Mon, 28 Oct 2013 22:34:07 +0100] rev 19967
largefiles: use 'remote'/'local' in merge prompts like in other merge prompts
Prompts like
foo has been turned into a largefile
use (l)argefile or keep as (n)ormal file?
was not as clear as the usual prompts that use 'remote' or 'local' to explain
what happened on which side ... especially not when used to the normal prompts.
"as" could also indicate that it would be possible to take the content of the
largefile and somehow put it into the normal file. It could make it more clear
that it was a choice between one side or the other.
For consistency we will now phrase it like:
remote turned local normal file f into a largefile
use (l)argefile or keep (n)ormal file?
Mads Kiilerich <madski@unity3d.com> [Mon, 28 Oct 2013 22:34:05 +0100] rev 19966
largefiles: systematic testing of merges to/from largefiles
427ce5633c1c fixed one problem with update and added a test case for it. The
test coverage was thus insufficient before that.
To make sure we have good test coverage in this area we add systematic testing
of all cases of merges that may or may not change normal files to largefiles or
vice versa.
The tests shows some annoying extra merge prompts in some cases, but these
prompts are hard to avoid and they are now "safe" - they do not leave the
system in a confused inconsistent state.
Mads Kiilerich <madski@unity3d.com> [Wed, 23 Oct 2013 23:42:13 +0800] rev 19965
check-code: fix no-check-code skip message - obfuscation was too obscure
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 29 Oct 2013 01:03:43 +0900] rev 19964
shelve: remove useless and incorrect code paths for file access
This patch removes code paths in "shelvedfile.opener()", because:
- explicit "vfs.mkdir()" invocation is useless
"vfs.__call__()" for modes other than "read" creates parent
directory of target file automatically by "util.ensuredirs()".
- mode checking in "except IOError" code path is useless
ENOENT occurs only for "read" mode, because target file is
created forcibly for other modes.
- there is no explicit "return" statement in the code path for
"except IOError" if "mode[0] in 'wa'"
this is incorrect, because None may be returnd unexpectedly,
even though it seems the EEXIST case in the directory creation
race for ".hg/shelved" and is very rare.
this directory creation race is also treated in
"util.ensuredirs()".
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 29 Oct 2013 01:03:43 +0900] rev 19963
shelve: disallow commit while unshelve is in progress
Before this patch, commit is allowed even while unshelve is in
progress.
In the other hand, "hg unshelve --abort" and "hg unshelve --continue"
check whether parent revisions of the working directory have changed
or not since last "hg unshelve", and abort without clearing state for
unshelve in progress if they have.
This causes that accidental commit makes clearing state for unshelve
difficult in ordinary ways.
This patch disallows commit while unshelve is in progress for
consistency.
Matt Mackall <mpm@selenic.com> [Wed, 30 Oct 2013 16:03:42 -0500] rev 19962
bdiff: avoid a memory error on malloc failure
Durham Goode <durham@fb.com> [Wed, 23 Oct 2013 13:12:48 -0700] rev 19961
shelve: use rebase instead of merge (
issue4068)
Previously, shelve used merge to unshelve things. This meant that if you shelved
changes on one branch, then unshelved on another, all the changes from the first
branch would be present in the second branch, and not just the shelved changes.
The fix is to use rebase to pick the shelve commit off the original branch and
place it on top of the new branch. This means only the shelved changes are
brought across.
This has the side effect of fixing several other issues in shelve:
- you can now unshelve into a file that already has pending changes
- unshelve a mv/cp now has the correct dirstate value (A instead of M)
- you can now unshelve to an ancestor of the shelve
- unshelve now no longer deletes untracked .orig files
Updates tests and adds a new one to cover the issue. The test changes fall into
a few categories:
- I removed some excess output
- The --continue/--abort state is a little different, so the parents and
dirstate needed updating
- Removed some untracked files at certain points that cluttered the output
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 25 Oct 2013 01:14:18 +0900] rev 19960
doc: put text into header of 1st column in table to generate page correctly
>From the table without header text of 1st column, docutils generates
the table with fully empty header row.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 25 Oct 2013 01:14:18 +0900] rev 19959
doc: use double quotation mark to quote arguments in examples for Windows users
On Windows, only double quotation mark can quote command line
arguments.
So, this patch uses double quotation mark to quote command line
arguments in all examples of online help document.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 25 Oct 2013 01:14:18 +0900] rev 19958
doc: end line preceding command line example with double colon
Takumi IINO <trot.thunder@gmail.com> [Thu, 24 Oct 2013 21:37:13 +0900] rev 19957
hgweb: add missing semicolon
Mads Kiilerich <madski@unity3d.com> [Wed, 23 Oct 2013 23:42:13 +0800] rev 19956
rebase: improve error message for more than one external parent
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Oct 2013 12:05:22 +0800] rev 19955
rebase: refactor and rename checkexternal - it is a getter more than a setter
Mads Kiilerich <madski@unity3d.com> [Fri, 25 Oct 2013 02:33:59 +0800] rev 19954
largefiles: don't prompt for normal/largefile changes when doing plain updates
We used to get like:
$ hg up -r 2
foo has been turned into a normal file
keep as (l)argefile or use (n)ormal file? l
getting changed largefiles
0 largefiles updated, 0 removed
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ cat foo
cat: foo: No such file or directory
[1]
- which both asked the wrong question and did the wrong thing.
Instead, skip this conflict resolution when the local conflicting file has been
scheduled for removal and there thus is no conflict.
Mads Kiilerich <madski@unity3d.com> [Fri, 25 Oct 2013 02:25:10 +0800] rev 19953
largefiles: remove extra check for file to get - it _is_ by definition in p2
Mads Kiilerich <madski@unity3d.com> [Fri, 25 Oct 2013 01:24:10 +0800] rev 19952
largefiles: don't process merge actions at all when overwriting
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Oct 2013 01:49:56 +0800] rev 19951
spelling: random spell checker fixes
Mads Kiilerich <madski@unity3d.com> [Thu, 17 Oct 2013 16:13:15 +0800] rev 19950
largefiles: hide passwords in URLs in ui messages
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Oct 2013 01:49:56 +0800] rev 19949
largefiles: don't add extra \n when displaying remote messages in putlfile
Mads Kiilerich <madski@unity3d.com> [Mon, 21 Oct 2013 11:22:54 +0800] rev 19948
largefiles: add missing \n in ui.warn messages
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Oct 2013 01:49:56 +0800] rev 19947
largefiles: fix 'unexpected response' warning newlines
Warnings should always end with \n. The warning message might contain or end
with \n, so better show it with repr encoding.
Pascal Quantin <pascal.quantin@gmail.com> [Mon, 21 Oct 2013 23:40:56 +0200] rev 19946
win32: add shelve extension to mercurial.ini
Javi Merino <cibervicho@gmail.com> [Mon, 21 Oct 2013 22:23:36 +0100] rev 19945
strip: fix spelling: "allows to" -> "allows you to"
Yuya Nishihara <yuya@tcha.org> [Tue, 22 Oct 2013 23:38:58 +0900] rev 19944
cmdutil: fix makefileobj not to clobber default modemap dict
Problem occurs if "hg cat -o" is invoked more than once in the same process.
The output of "hg cat" will be appended because of modemap[fn] = 'ab'.
Takumi IINO <trot.thunder@gmail.com> [Tue, 22 Oct 2013 12:41:05 +0900] rev 19943
shelve: make unshelve work even if it don't run in repository root
revertfiles are relative to the repository root. not paths relative to the cwd.
Matt Mackall <mpm@selenic.com> [Mon, 21 Oct 2013 10:50:58 -0700] rev 19942
tests: move generaldelta test to inline python (
issue4064)
Matt Mackall <mpm@selenic.com> [Mon, 21 Oct 2013 10:26:38 -0700] rev 19941
help: minor tweak to push help
David Soria Parra <dsp@experimentalworks.net> [Sat, 12 Oct 2013 18:51:34 -0700] rev 19940
pager: honour internal aliases
If paging is configured for a command all it's internal defined aliases
will be paged as well. This will make attend=log cause 'hg history'
to run the pager. However custom aliases will not be paged by default.
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:45:04 -0700] rev 19939
Added signature for changeset
1596f2d8f242
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:44:58 -0700] rev 19938
Added tag 2.8-rc for changeset
1596f2d8f242
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:43:11 -0700] rev 19937
merge default into stable for 2.8 freeze
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:07 +0900] rev 19936
discovery: revise hint message introduced by changeset
b00ba31313c3
This patch revises hint message from "for detail about" introduced by
changeset
b00ba31313c3 to "for details about", to unify it with the
hint message introduced by proceeding patch.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:06 +0900] rev 19935
push: add more detailed explanation about "--force" to online help document
This patch adds more detailed explanation about "--force" to online
help document of "hg push" to prevent novice users to execute "push
--force" easily without understanding about problems of multiple
branch heads in the repository.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:06 +0900] rev 19934
push: hide description about "-f" in the hint to prevent from using it easily
"use push -f to force" in the hint at abortion of "hg push" may cause
novice users to execute "push -f" easily without understanding about
problems of multiple branch heads in the repository.
This patch hides description about "-f" in the hint, and leads into
seeing "hg help push" for details about pushing new heads.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19933
demandimport: allow extensions to import own modules by absolute name
Before this patch, python modules of each extensions can't import
another one in own extension by absolute name, because root modules of
each extensions are loaded with "hgext_" prefix.
For example, "import extroot.bar" in "extroot/foo.py" of "extroot"
extension fails, even though "import bar" in it succeeds.
Installing extensions into site-packages of python library path can
avoid this problem, but this solution is not reasonable in some cases:
using binary package of Mercurial on Windows, for example.
This patch retries to import with "hgext_" prefix after ImportError,
if the module in the extension may try to import another one in own
extension.
This patch doesn't change some "_import()"/"_origimport()" invocations
below, because ordinary extensions shouldn't cause such invocations.
- invocation of "_import()" when root module imports sub-module by
absolute path without "fromlist"
for example, "import a.b" in "a.__init__.py".
extensions are loaded with "hgext_" prefix, and this causes
execution of another (= fixed by this patch) code path.
- invocation of "_origimport()" when "level != -1" with "fromlist"
for example, importing after "from __future__ import
absolute_import" (level == 0), or "from . import b" or "from .a
import b" (0 < level),
for portability between python versions and environments,
extensions shouldn't cause "level != -1".
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19932
demandimport: support "absolute_import" for external libraries (
issue4029)
Before this patch, demandimport of Mercurial may fail to load external
libraries using "from __future__ import absolute_import": for example,
importing "foo" in "bar.baz" module will load "bar.foo" if it exists,
even though "absolute_import" is enabled in "bar.baz" module.
So, extensions for Mercurial can't use such external libraries.
This patch saves "level" of import request for on-demand module
loading in the future: default value of level is -1, and level is 0
when "absolute_import" is enabled.
"level" value is passed to built-in import function in
"_demandmod._load()" and it should load target module correctly.
This patch changes only one "_demandmod" construction case other than
cases below:
- construction in "_demandmod._load()"
this code path should be used only in relative sub-module
loading case
- constructions other than patched one in"_demandimport()"
these code paths shouldn't be used in "level != -1" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19931
hghave: add "py3k" feature to check whether test runs with Python 3.x
This patch adds "py3k" feature to check whether test runs with Python
3.x.
This check is needed for portability of test code: for example, in the
default, modules are imported relatively first with python 2.x, but
imported absolutely with Python 3.x.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19930
hghave: add "absimport" feature to check "absolute_import" in __future__
This patch adds "absimport" feature to check whether "absolute_import"
exists in __future__, which means supporting module loading by
absolute name.
This check is needed for portability of test code using
"absolute_import", because Python earlier than 2.5 doesn't support it.
Siddharth Agarwal <sid0@fb.com> [Tue, 01 Oct 2013 17:43:54 -0700] rev 19929
merge: exit early during a no-op update (BC)
hg update . (or equivalents) are effectively no-ops in just about all
circumstances. These sorts of updates can be especially common in a
bookmark-oriented workflow. This saves us a status check and a manifest
decompression, which means that on a repo with over 210,000 files, this brings
hg update . down from 2.5 seconds to 0.15.
There is one change in behavior: a file that was added, not committed, and then
deleted but not removed used to be removed from the dirstate. With this patch
it isn't. This is what causes the change in test-mq-qpush-exact.t. This seems
like it's enough of an edge case to not be worth handling.
The output of test-empty.t changes because those files are not yet created.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 17 Oct 2013 21:45:17 +0900] rev 19928
localrepo: invoke only feature setup functions for enabled extensions
Before this patch, each feature setup functions for localrepository
class should examine whether corresponding extension is enabled or not
by themselves.
This patch invokes only feature setup functions defined in module of
enabled extensions, and it makes implementation of feature setup
functions easier and simpler.
Yuya Nishihara <yuya@tcha.org> [Wed, 02 Oct 2013 21:16:40 +0900] rev 19927
lock: handle race in trylock/testlock on Windows
readlock may raise IOError if the system does not support symlink.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 17:12:59 +0200] rev 19926
rebase: preserve active bookmark when not at head (
issue3813)
Now that the working directory parent is preserved, we can preserve the active
bookmark too.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 16:12:29 +0200] rev 19925
rebase: preserve working directory parent (BC)
Prior to this changeset, rebase always left the working directory as a parent of
the last rebased changeset. The is dubious when, before the rebase, the working
directory was not a parent of the tip most rebased changeset.
With this changeset, we move the working directory back to its original parent.
If the original parent was rebased, we use it's successors.
This is a step toward solving
issue3813 (rebase loses active bookmark if it's
not on a head)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 16:49:54 +0200] rev 19924
tests: prepare rebase test for wc parent preservation
In the way to solving
issue3813 we'll preserve the working directory parent
after the rebase. Multiple rebases test expect the working directory parent to
be tip after rebase. We patches them before the actual change to prevent
confusion.
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:56:52 +0200] rev 19923
tests: test-gendoc.t checks if anything was translated
This would triggered when the variable would be set wrong again.
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:49:45 +0200] rev 19922
tests: really test translations for rst syntax errors (
issue4003)
The variable LC_ALL did not work, use LANGUAGE instead. Before this patch, the
original language C was generated (and tested) in every run.
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:49:32 +0200] rev 19921
i18n: fix wrong rst syntax
Fix syntax errors like wrong indentation and invalid quotation.
All errors preventing to generate valid html documentation (by gendoc.py) are
fixed.
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 17:26:34 -0700] rev 19920
i18n-ru: fix the language team field
Having this at the default value caused some versions of msgfmt to
give fatal errors.
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:32:36 +0200] rev 19919
commands: refactor 'serve', extract the http service class
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:28:44 +0200] rev 19918
largefiles: refactor basestore, extract _gethash method
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:28:39 +0200] rev 19917
largefiles: make the protocol hack for replacing heads with lheads more precise
Before the hack would replace 'heads' with 'lheads' no matter where it occured
in a batch command string.
Instead we will use a regexp to more carefully only match the 'heads' commands.
Brodie Rao <brodie@sf.io> [Mon, 01 Apr 2013 20:01:16 -0700] rev 19916
mq: refactor usage of repo.branchmap().iteritems() with itervalues()
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 14:21:05 -0700] rev 19915
merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 14:20:31 -0700] rev 19914
merge with i18n
Alexander Sauta <demosito@gmail.com> [Thu, 10 Oct 2013 13:38:13 +0100] rev 19913
i18n-ru: synchronized with
1aaefba2a3a9
Vladimir Zakharov <zakharov.vv@gmail.com> [Tue, 27 Aug 2013 16:03:16 +0400] rev 19912
i18n-ru: fix misprints
Augie Fackler <raf@durin42.com> [Wed, 16 Oct 2013 10:36:58 -0400] rev 19911
shelve: some docstring cleanups
Siddharth Agarwal <sid0@fb.com> [Mon, 14 Oct 2013 00:25:29 -0400] rev 19910
dirstate.status: return explicit unknown files even when not asked
dirstate.walk will return unknown files that were explicitly requested, even
if listunknown is false. There's no point in dropping these files on the
floor in dirstate.status.
This has no effect on any current callers, because all of them assume the
unknown list is empty and ignore it. Future callers may find it useful,
though.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 18:29:56 +0200] rev 19909
shelve: add minimal documentation to all functions
There is a lot of functions in this extension. We had a small documentation help
people getting started.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 17:46:47 +0200] rev 19908
shelve: use the class constant in the clear method
This class attribut is used everywhere else. Not using it in clear will get us
in trouble sooner or later.
Alexander Plavin <alexander@plav.in> [Sat, 12 Oct 2013 11:29:28 +0400] rev 19907
hgweb: fix unstoppable loading of graph when no more results
When a user reaches the end of repo history with graph view, it (unsuccessfully)
tried to load more entries. This patch disables further loading attempts.
Alexander Plavin <alexander@plav.in> [Wed, 24 Jul 2013 03:20:26 +0400] rev 19906
hgweb: remove now unnecessary explicit header() and footer()
They became unnecessary after allowing custom-named entries in templates.
Alexander Plavin <alexander@plav.in> [Fri, 16 Aug 2013 21:41:19 +0400] rev 19905
hgweb: replace 'shortlog' with 'changelog' in raw changelog template
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 18:59:12 +0200] rev 19904
shelve: drop pickle usage
Pickle was used to the `shelvedstate` file. However the content of the file is
very simple and we can handle serialisation ourself. Not using pickle is a net
win.
Note incrementing the format version as no releases have been done so far.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:05 +0900] rev 19903
store: use "vfs.exists()" instead of "os.path.exists()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:05 +0900] rev 19902
context: use "vfs.lstat()" to examine target path instead of "os.path.*"
This patch gets stat object of target path by "vfs.lstat()", and
examines stat object to know the type of it. This follows the way in
"workingctx.add()".
This should be cheaper than original implementation invoking
"lexists()", "isfile()" and "islink()".
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19901
context: use "vfs.lstat()" instead of "os.lstat()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19900
context: use "vfs.lstat()" instead of "os.lstat()"
This patch also changes paths added to "rejected" list from full path
(referred by "p") to relative one (referred by "f"), when type of
target path is neither file nor symlink.
This change should be reasonable, because the path added to "rejected"
list is relative one, when "OSError" is raised at "lstat()".
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19899
changelog: use "vfs.fstat()" instead of "util.fstat()"
Just invoking "os.fstat()" with "file.fileno()" doesn't require non
ANSI file API, because filename is not used for invocation of
"os.fstat()".
But "util.fstat()" should invoke "os.stat()" with "fp.name", if file
object doesn't have "fileno()" method for portability, and "fp.name"
may cause invocation of non ANSI file API.
So, this patch makes the constructor of appender class invoke
"util.fstat()" via vfs, to encapsulate filename handling.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19898
changelog: use "vfs.rename()" instead of "util.rename()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19897
vfs: add "open()" for newly added code paths which open files via vfs
This patch replaces "open()" by own "__call__()" defined in derived
classes at the first invocation, for efficiency of succeeding
invocations.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19896
bookmarks: use "vfs.utime()" instead of "os.utime()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19895
bookmarks: use "vfs.unlink()" instead of "util.unlink()"
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19894
cmdutil: use None as default value for "function pointer" instead of False
Less type confusion.
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19893
graft: make skip messages more helpful
This makes it possible for the user to understand and accept or work around
what is happening.
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19892
convert: update source shamap when using filemap, just as when not using filemap
The reverse mapping was introduced in
2147a734dcf9 to make roundtrip
conversions possible ... but it did not work when using filemap.
Roundtrips with filemaps will of course only work flawlessly if inverse
mappings are used.
Especially, if a lossy convert mapping is used in one direction, then only
linear lines of development can be converted in the other direction. With this
constraint convert will do the right thing by assuming that excluded files
haven't been changed.)
A test case with general coverage of hg-hg roundtrips with filemap is added.
(There a cases where adding records of converted revisions to the shamap in the
source repository doesn't work - especially when converting the same repo to
several other repos and back. It would arguably be better if convert only
updated the shamaps in the target repo but read shamaps from both the source
and and target repo ... but that is a different story. Making the stuff we have
work consistently is step forward no matter what.)