Matt Mackall <mpm@selenic.com> [Fri, 13 Jan 2012 11:29:40 -0600] rev 15868
merge with i18n
Andrei Polushin <polushin@gmail.com> [Thu, 12 Jan 2012 17:50:48 +0700] rev 15867
i18n-ru: editorial for 'abort' and 'pipe'
Andrei Polushin <polushin@gmail.com> [Thu, 12 Jan 2012 02:12:00 +0700] rev 15866
i18n-ru: editorial for 'diff'
* * *
i18n-ru: editorial for 'diff'
Andrei Polushin <polushin@gmail.com> [Thu, 12 Jan 2012 02:02:11 +0700] rev 15865
i18n-ru: editorial for 'guard'
Andrei Polushin <polushin@gmail.com> [Wed, 11 Jan 2012 04:32:48 +0700] rev 15864
i18n-ru: vocabulary edited, minor corrections in translations.
Andrei Polushin <polushin@gmail.com> [Wed, 11 Jan 2012 04:12:11 +0700] rev 15863
i18n-ru: using correct abbreviated units for megabytes.
See http://ru.wikipedia.org/wiki/МБ
Olav Reinert <seroton10@gmail.com> [Wed, 11 Jan 2012 18:14:55 +0100] rev 15862
help: fix column alignment in "hg help" output
The output of "hg help" is changed to ensure that the column containing
descriptions of commands, extensions, and other topics is correctly alignmened.
Olav Reinert <seroton10@gmail.com> [Wed, 11 Jan 2012 18:08:25 +0100] rev 15861
minirst: simplify and standardize field list formatting
The default width of field lists is changed from 12 to 14 to align minirst with
the rst2html tool. Shrinking the width of the left column to fit the content is
removed, to keep formatting simple and uniform.
Na'Tosha Bard <natosha@unity3d.com> [Wed, 11 Jan 2012 16:53:51 +0100] rev 15860
largefiles: correctly download new largefiles when merging
There is a bug in the merge process where, if a new largefile is introduced
in a merge and the user does not have that largefile in his repo's local store
nor in his system cache, the working copy will retain the old largefile. Upon
the commit of the merge, the standin is re-written to contain the hash of the
old largefile, and the lfdirstate retains a "Modified" status for the file.
The end result is that the largefile can show up in the merge commit as
"Modified", but the standin has no diff. This is wrong in two ways:
1) Such a "wedged" history with a nonsense change in a commit should not be
possible
2) It effectively reverts a largefile to an old version when doing a merge
This is caused by the fact that the updatelfiles() command always checks the
current largefile's hash against the hash stored in the current node's standin.
This is correct behavior in every case except for a merge. When merging, we
must assume that the standin in the working copy contains the correct hash,
because the original hg.merge() has already updated it for us.
This patch fixes the issue by patching the repo object to carry a "_ismerging"
attribute, that the updatelfiles() command checks for. When this attribute is
found, it checks against the working copy's standin, rather than the standin
in the current node.
Markus Zapke-Gründemann <info@keimlink.de> [Wed, 11 Jan 2012 15:38:31 +0100] rev 15859
tests: add htmlcov option
Matt Mackall <mpm@selenic.com> [Thu, 12 Jan 2012 14:39:02 -0600] rev 15858
run-tests: use a list comprehension instead of map
Markus Zapke-Gründemann <info@keimlink.de> [Wed, 11 Jan 2012 15:37:25 +0100] rev 15857
tests: fix omit path list
All directories need a trailing asterisk. Otherwise the files are not excluded
from coverage.
Martin Geisler <mg@aragost.com> [Fri, 13 Jan 2012 14:52:47 +0100] rev 15856
commands: partial backout of
fbb68b382040
Martin Geisler <mg@aragost.com> [Fri, 13 Jan 2012 11:53:51 +0100] rev 15855
phase: add metavar to -r help text
Martin Geisler <mg@aragost.com> [Fri, 13 Jan 2012 11:50:06 +0100] rev 15854
phase: the REV argument can be repeated
Martin Geisler <mg@aragost.com> [Fri, 13 Jan 2012 11:38:49 +0100] rev 15853
commands: no need to rename merge and phases on import
Martin Geisler <mg@aragost.com> [Fri, 13 Jan 2012 11:34:09 +0100] rev 15852
phase: there is actually no -C option
Martin Geisler <mg@aragost.com> [Fri, 13 Jan 2012 11:29:47 +0100] rev 15851
phase: use standard syntax for command line flags
We don't mark them as literal text and we mention the short option the
first time we talk about a given flag.
Martin Geisler <mg@aragost.com> [Fri, 13 Jan 2012 11:26:24 +0100] rev 15850
phase: fix RST markup (use ``...`` for literal text)
Martin Geisler <mg@aragost.com> [Fri, 13 Jan 2012 11:23:45 +0100] rev 15849
phase: lowercase option help, rephrase slightly
Yuya Nishihara <yuya@tcha.org> [Thu, 12 Jan 2012 00:49:45 +0900] rev 15848
filectx: fix cmp() of file starting with '\1\n'
If file data starts with '\1\n', it will be escaped in the revlog to
create an empty metadata block, thus adding four bytes to the size in
the revlog size index. There's no way to detect that this has happened
in filelog.size() faster than decompressing each revision [1].
For filectx.cmp(), we have the size of the file in the working directory
available. If it differs by exactly four bytes, it may be this case, so
do a full comparison.
[1]: http://markmail.org/message/5akdbmmqx7vq2fsg
Matt Mackall <mpm@selenic.com> [Wed, 11 Jan 2012 09:27:53 -0600] rev 15847
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 11 Jan 2012 09:27:37 -0600] rev 15846
merge with i18n
Matt Mackall <mpm@selenic.com> [Wed, 11 Jan 2012 09:26:47 -0600] rev 15845
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 10 Jan 2012 15:56:33 -0200] rev 15844
i18n-pt_BR: synchronized with
e6c44dbe902f
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 10 Jan 2012 15:48:16 -0200] rev 15843
merge with i18n
Andrei Polushin <polushin@gmail.com> [Mon, 09 Jan 2012 02:32:01 +0700] rev 15842
i18n-ru: spellcheck
Andrei Polushin <polushin@gmail.com> [Mon, 09 Jan 2012 01:12:54 +0700] rev 15841
i18n-ru: editorial for vocabulary words.
Edited for: backup, bundle, repository, checkout
Andrei Polushin <polushin@gmail.com> [Sun, 08 Jan 2012 19:16:22 +0700] rev 15840
i18n-ru: editorial for hg help hgignore
Steven Brown <StevenGBrown@gmail.com> [Wed, 11 Jan 2012 22:18:20 +0800] rev 15839
tests: make {date|age} template output independent of the current date
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 11 Jan 2012 00:27:46 +0100] rev 15838
phases: make outgoing object and discovery aware of exclusion
The outgoing object gains an "excluded" members holding all changesets which
were excluded because there where secret.
The core discovery code now remove secret changeset from discovery by default.
This means that any command relying on discovery will exclude secret changeset.
Most notable one are outgoing and bundle. (But bundle with and explicit
``--base`` still allow to bundle outgoing changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 09 Jan 2012 03:47:16 +0100] rev 15837
discovery: introduce outgoing object for result of findcommonoutgoing
Simplifies client logic in multiple places since it encapsulates the
computation of the common and, more importantly, the missing node lists.
This also allows an upcomping patch to communicate precomputed versions of
these lists to clients.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 09 Jan 2012 04:16:00 +0100] rev 15836
commands: make bundle use heads computed by findoutgoing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 09 Jan 2012 04:15:31 +0100] rev 15835
revlog: improve docstring for findcommonmissing
Martin Geisler <mg@aragost.com> [Wed, 11 Jan 2012 15:51:02 +0100] rev 15834
commands: bump copyright year
Matt Mackall <mpm@selenic.com> [Tue, 10 Jan 2012 16:36:36 -0600] rev 15833
phase: mark messages for i18n
Matt Mackall <mpm@selenic.com> [Tue, 10 Jan 2012 16:36:33 -0600] rev 15832
phase: fix up help string
Matt Mackall <mpm@selenic.com> [Tue, 10 Jan 2012 16:36:32 -0600] rev 15831
phase: drop reference to working directory phase
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 10 Jan 2012 19:45:35 +0100] rev 15830
phases: add a phases command to display and manipulate phases
Ion Savin <ion.savin@tora.com> [Tue, 10 Jan 2012 10:18:19 +0200] rev 15829
annotate: append newline after non newline-terminated file listings
The last line of a non newline-terminated file would mix with the first line of
the next file in multiple-file listings before this patch.
Possible compatibility issue: no longer possible to tell from the annotate
output if the file is terminated by new line or not.
Matt Mackall <mpm@selenic.com> [Tue, 10 Jan 2012 13:48:42 -0600] rev 15828
subrepo: avoid syncing bookmarks twice on clone (
issue3191)
Clone internally handles bookmark synchronization.
(Fix spotted by Eric Blood)
Steven Brown <StevenGBrown@gmail.com> [Tue, 10 Jan 2012 22:35:25 +0800] rev 15827
revlog: clarify strip docstring "readd" -> "re-add"
I misread it as "read".
Martin Geisler <mg@aragost.com> [Tue, 10 Jan 2012 15:23:49 +0100] rev 15826
merge with stable
Martin Geisler <mg@aragost.com> [Tue, 10 Jan 2012 15:20:16 +0100] rev 15825
filesets: use example with quotes for encoding predicate
A user on IRC was confused that "encoding(ASCII)" works and
"encoding(UTF-8)" fails with "parse error: encoding requires an
encoding name".
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 07 Jan 2012 17:03:33 +0100] rev 15824
phases: use graph and phase name in exchange test
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 Jan 2012 11:20:49 +0100] rev 15823
phases: ``{phase}`` template keyword display the phase name
``{phaseidx}`` is providing the phase index as integer. This integer
representation is useful when people need to use the fact that phase are
ordered.
Test keep using the number version for readability purpose.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 29 Dec 2011 04:40:09 +0100] rev 15822
phases: add a phasestr method on context
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 04 Jan 2012 01:02:16 +0100] rev 15821
phases: add list of string to access phase name
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 04 Jan 2012 01:12:31 +0100] rev 15820
phases: fix phase synchronization on push
The bugs seemed to show up when element not in future common changeset should
hold new hold phase data.
The whole phase push machinery was rewritten in the process.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 Jan 2012 10:04:20 +0100] rev 15819
phases: implements simple revset symbol
This changeset adds ``public()``, ``draft()`` and ``secret`` symbol for
revset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 Jan 2012 09:51:35 +0100] rev 15818
phases: store phase values in constant instead of using raw integer
Phases constant are named after the phase name. Usage of integer have been
replaced by proper constant.
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:56:05 +0100] rev 15817
sslutil: abort properly if no certificate received for https connection
According to the documentation SSLSocket.getpeercert() can return None.
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:25 +0100] rev 15816
sslutil: work around validator crash getting certificate on failed sockets
The previous workaround for correct handling of wrapping of failing connections
might be enough to prevent this from happening, but the check here makes this
function more robust.
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:24 +0100] rev 15815
sslutil: reorder validator code to make it more readable
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:24 +0100] rev 15814
sslutil: show fingerprint when cacerts validation fails
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:23 +0100] rev 15813
sslutil: handle setups without .getpeercert() early in the validator
This simplifies the code and makes the flow more obvious and reduces the
indentation level.
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:15 +0100] rev 15812
sslutil: verify that wrap_socket really wrapped the socket
This works around that ssl.wrap_socket silently skips ssl negotiation on
sockets that was connected but since then has been reset by the peer but not
yet closed at the Python level. That leaves the socket in a state where
.getpeercert() fails with an AttributeError on None. See
http://bugs.python.org/
issue13721 .
A call to .cipher() is now used to verify that the wrapping really did succeed.
Otherwise it aborts with "ssl connection failed".
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:46:27 +0100] rev 15811
largefiles: remove pasted code
Refactor and remove pasted code from lfcommands.py
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:09:01 +0100] rev 15810
largefiles: add tests for uncovered codepaths (
issue3092)
Add tests for lfconvert codepaths where:
* largefiles have been both renamed and relinked
* .hgtags has invalid content
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:06:34 +0100] rev 15809
largefiles: add error checking to tags conversion (
issue3092)
Check for errors when parsing .hgtags during lfconvert,
and skip lines that don't parse or refer to invalid changesets.
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:03:39 +0100] rev 15808
largefiles: don't reference uninitialized variable (
issue3092)
Matt Mackall <mpm@selenic.com> [Mon, 09 Jan 2012 20:17:37 -0600] rev 15807
merge with i18n
Alexander Sauta <demosito@gmail.com> [Sun, 08 Jan 2012 13:54:36 +0400] rev 15806
i18n-ru: synchronized with
e251250ac20b
Andrei Polushin <polushin@gmail.com> [Sun, 08 Jan 2012 03:48:09 +0700] rev 15805
i18n-ru: revsets predicates translated
Alexander Sauta <demosito@gmail.com> [Fri, 06 Jan 2012 00:16:14 +0400] rev 15804
i18-ru: debug commands translated
Alexander Sauta <demosito@gmail.com> [Thu, 05 Jan 2012 02:04:30 +0400] rev 15803
i18n-ru: user prompt related strings translated
Alexander Sauta <demosito@gmail.com> [Thu, 05 Jan 2012 01:00:43 +0400] rev 15802
i18n-ru: tanslated record-zeroconf
Matt Mackall <mpm@selenic.com> [Mon, 09 Jan 2012 20:16:57 -0600] rev 15801
merge with stable
Steven Brown <StevenGBrown@gmail.com> [Sun, 08 Jan 2012 23:09:35 +0800] rev 15800
rebase: reinstate old-style rev spec support for the source and base (
issue3181)
As of
b12362ab13e7 (first released as part of Mercurial 2.0), the rebase command
accepted ONLY revsets for the source and base arguments and no longer accepted
old-style revision specifications. As a result, some revision names were no
longer recognised, e.g.
hg rebase --base br-anch
abort: unknown revision 'br'!
These arguments are now interpreted first as old-style revision specifications,
then as revsets when no matching revision is found. This restores backwards
compatibility with releases prior to 2.0.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 Jan 2012 07:37:59 +0100] rev 15799
dirstate: propagate IOError other than ENOENT when reading branch
Olav Reinert <seroton10@gmail.com> [Fri, 06 Jan 2012 15:05:51 +0100] rev 15798
mq: Document that qdel requires exact patch identifiers
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 08 Jan 2012 15:23:26 +0100] rev 15797
canonpath: allow canonicalization of non-existant paths
Such as a copy destination; see the added test.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 08 Jan 2012 14:33:10 +0100] rev 15796
largefiles: factor out a copyalltostore() function
Levi Bard <levi@unity3d.com> [Sat, 07 Jan 2012 19:11:31 +0100] rev 15795
largefiles: add precommit hook to check for inappropriate locking
This tests for inappropriate locking (
issue3182) by running hg status
as a precommit hook.
Levi Bard <levi@unity3d.com> [Sat, 07 Jan 2012 19:05:59 +0100] rev 15794
largefiles: fix inappropriate locking (
issue3182)
Don't lock/write on operations that should be readonly (status).
Always lock when writing the lfdirstate (rollback).
Don't write lfdirstate until after committing; state isn't actually changed
until the commit is complete.
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 18:43:34 +0100] rev 15793
largefiles: correctly handle dirstate status when rebasing
When rebasing, we need to trust that the standins are always correct. The
rebase operation updates the standins according to the changeset it is
rebasing. We need to make the largefiles in the working copy match. If we
don't make them match, then they get accidentally reverted, either during
the rebase or during the next commit after the rebase.
This worked previously only becuase we were relying on the behavior that
largefiles with a changed standin, but unchanged contents, never showed up in
the list of modified largefiles. Unfortunately, pre-commit hooks can get
an incorrect status this way, and it also results in extra execution of code.
The solution is to simply trust the standins when we are about to commit a
rebased changeset, and politely ask updatelfiles() to pull the new contents
down. In this case, updatelfiles() will also mark any files it has pulled
down as dirty in the lfdirstate so that pre-commit hooks will get correct
status output.
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 12:42:54 +0100] rev 15792
largefiles: implement addremove (
issue3064)
Implementing addremove correctly in largefiles is tricky, becuase the original
addremove function does not call into any of the add or remove function we've
already overridden in the extension. So the trick is to implement addremove
without duplicating any code.
This patch implements addremove by pulling out the interesting parts of
override_add() and override_remove() into generic utility functions, and
using those to handle the largefiles in addremove. Then a matcher is
installed that will ignore all largefiles, and the original addremove
function is called to take care of the regular files in addremove.
A small bit of monkey patching is used to make sure that remove_largefiles()
notifies the user when a file is removed by addremove and also makes sure
the removal of largefiles doesn't interfer with the original addremove's
operation of removing the standin.
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 18:15:54 +0100] rev 15791
Use explicit integer division
Found by running the test suite with the -3 flag to show places where
we have int / int division that can be replaced with int // int.
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 17:57:25 +0100] rev 15790
cvsps: pull function definition out of loop
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 11:23:21 +0100] rev 15789
largefiles: Fix parser warning: redefinition of unused 'node' from line 14
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 14:50:20 +0100] rev 15788
merge with stable
Na'Tosha Bard <natosha@unity3d.com> [Sun, 08 Jan 2012 12:35:47 +0100] rev 15787
largefiles: fix output of hg summary (
issue3060)
Na'Tosha Bard <natosha@unity3d.com> [Sun, 08 Jan 2012 11:19:51 +0100] rev 15786
largefiles: fix confusion upon removal of added largefile (
issue3176)
This patch makes "hg remove" work the same way on largefiles as it does on
regular Mercurial files. If you try to remove an added largefile, the removal
fails and you are instead prompted to use "hg forget" to undo the add.
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 23:37:19 +0100] rev 15785
largefiles: remove invalid comment (
issue3065)
This comment is invalid. The hg.update() function will abort in the case of
any genuine error, so there is nothing to check. If we have gotten to this
point in execution, nothing critical has gone wrong, and if any standins
have been updated, we must pull new largefiles.
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 15:35:15 +0100] rev 15784
largefiles: clean up and shorten test output by using the same log format everywhere
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 07 Jan 2012 15:27:34 +0100] rev 15783
largefiles: remove a chunk of commented out code
Martin Geisler <mg@aragost.com> [Fri, 06 Jan 2012 16:27:13 +0100] rev 15782
Remove FSF mailing address from GPL headers
The GPLv3 FAQ suggests to upgrade by
[...] replace all your existing v2 license notices (usually at the
top of each file) with the new recommended text available on the GNU
licenses howto. It's more future-proof because it no longer includes
the FSF's postal mailing address.
This removes the postal address, but leaves the version number at 2+.
Martin Geisler <mg@aragost.com> [Fri, 06 Jan 2012 16:16:58 +0100] rev 15781
dispatch: lowercase abort message
Martin Geisler <mg@lazybytes.net> [Fri, 06 Jan 2012 11:43:17 +0100] rev 15780
merge with stable
Martin Geisler <mg@lazybytes.net> [Fri, 06 Jan 2012 11:15:32 +0100] rev 15779
commands: add link to addremove in commit help text
Kevin Gessner <kevin@fogcreek.com> [Thu, 05 Jan 2012 07:26:22 -0800] rev 15778
largefiles: display remote errors from putlfile (
issue3123) (
issue3149)
Matt Mackall <mpm@selenic.com> [Thu, 05 Jan 2012 20:35:10 -0600] rev 15777
cmdutil: simplify duplicatecopies
Matt Mackall <mpm@selenic.com> [Thu, 05 Jan 2012 14:14:12 -0600] rev 15776
hgcia: fix diffstat support
Matt Mackall <mpm@selenic.com> [Wed, 04 Jan 2012 17:55:30 -0600] rev 15775
copies: rewrite copy detection for non-merge users
The existing copy detection API was designed with merge in mind and
was ill-suited for doing status/diff. The new pathcopies
implementation gives more accurate, easier to use results for
comparing two revisions, and is much simpler to understand.
Test notes:
- test-mv-cp-st.t results finds more renames in the reverse direction now
- test-mq-merge.t was always wrong and duplicated a copy in diff that
was already present in one of the parent revisions
Matt Mackall <mpm@selenic.com> [Wed, 04 Jan 2012 15:48:02 -0600] rev 15774
copies: split the copies api for "normal" and merge cases (API)
Matt Mackall <mpm@selenic.com> [Tue, 03 Jan 2012 17:13:03 -0600] rev 15773
merge with stable
Augie Fackler <durin42@gmail.com> [Mon, 02 Jan 2012 19:30:28 -0600] rev 15772
progress: Use the same GPL boilerplate as most hg files
Augie Fackler <durin42@gmail.com> [Mon, 02 Jan 2012 19:30:21 -0600] rev 15771
color: Use the same GPL boilerplate as most hg files
Matt Mackall <mpm@selenic.com> [Tue, 03 Jan 2012 17:09:26 -0600] rev 15770
tests: patch up silly new year's bug
Mads Kiilerich <mads@kiilerich.com> [Mon, 26 Dec 2011 15:01:06 +0100] rev 15769
encoding: use hint markup for "please check your locale settings"
This will also make test-encoding.t pass on windows. The test would hit some
other code path that already used hint markup.
Mads Kiilerich <mads@kiilerich.com> [Mon, 26 Dec 2011 15:30:43 +0100] rev 15768
tests: make simple single quotes work with dummyssh on windows
Mercurial assumes that the shell on remote servers over ssh servers uses unix
quoting rules. Tests using dummyssh are however also run on windows where cmd
doesn't parse single quotes like on unix.
This hack replaces the single quotes with double quotes on windows - that is
enough to make test-ssh.t pass after
d8fa35c28335.
Mads Kiilerich <mads@kiilerich.com> [Mon, 26 Dec 2011 16:54:43 +0100] rev 15767
tests: ensure platform independent revision hashes in test-notify.t
Makes the test pass again on windows after
ca572e94d8e7.
Mads Kiilerich <mads@kiilerich.com> [Mon, 26 Dec 2011 16:57:14 +0100] rev 15766
tests: ignore slash direction in paths in test-notify-changegroup.t
Fixes testing on windows after
2a7fa7c641d8.
Matt Mackall <mpm@selenic.com> [Tue, 03 Jan 2012 15:48:58 -0600] rev 15765
grep: make multiline mode the default (BC)
This is a much more logical way to deal with ^ and $.
Old ^ and $ behavior are available with \A and \Z.
Steve Borho <steve@borho.org> [Mon, 02 Jan 2012 20:52:16 -0600] rev 15764
wix: add map-commandline.bisect
Matt Mackall <mpm@selenic.com> [Sun, 01 Jan 2012 14:06:24 -0600] rev 15763
merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Jan 2012 13:46:50 -0600] rev 15762
Added signature for changeset
634404392449
Matt Mackall <mpm@selenic.com> [Sun, 01 Jan 2012 13:46:46 -0600] rev 15761
Added tag 2.0.2 for changeset
634404392449
Matt Mackall <mpm@selenic.com> [Sun, 01 Jan 2012 14:05:03 -0600] rev 15760
merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Jan 2012 13:37:44 -0600] rev 15759
merge with i18n
Matt Mackall <mpm@selenic.com> [Sun, 01 Jan 2012 13:37:30 -0600] rev 15758
merge with i18n
Alexander Sauta <demosito@gmail.com> [Sun, 01 Jan 2012 19:45:06 +0400] rev 15757
i18n-ru: translated commands output up to the end
Alexander Sauta <demosito@gmail.com> [Sat, 31 Dec 2011 21:54:14 +0300] rev 15756
i18n-ru: added missing strings in Mercurial help
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 31 Dec 2011 15:23:05 +0900] rev 15755
i18n-ja: synchronized with
be3173353094
Alexander Sauta <demosito@gmail.com> [Fri, 30 Dec 2011 23:18:19 +0300] rev 15754
i18n-ru: translated missing commands output up to line 13868
Alexander Sauta <demosito@gmail.com> [Mon, 26 Dec 2011 22:05:48 +0300] rev 15753
i18n-ru: synchronized with
9cf1620e1e75, translated patchbomb
Wagner Bruna <wbruna@yahoo.com> [Fri, 30 Dec 2011 00:54:36 -0200] rev 15752
i18n-pt_BR: synchronized with
5a20115e7397
Matt Mackall <mpm@selenic.com> [Fri, 30 Dec 2011 17:04:36 -0600] rev 15751
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Dec 2011 15:47:58 -0600] rev 15750
convert: improve exception reporting for SVN logstream
- catch all exceptions
- pickle a stringified version of the exception
- use a normal abort
Hopefully this will result in less mysterious convert exceptions
Matt Mackall <mpm@selenic.com> [Fri, 30 Dec 2011 15:07:05 -0600] rev 15749
fetch: fix unneeded commit when no merge attempted (
issue2847)
Matt Mackall <mpm@selenic.com> [Fri, 30 Dec 2011 14:31:59 -0600] rev 15748
fetch: patch cornercase in children calculation (
issue2773)
Matt Mackall <mpm@selenic.com> [Thu, 29 Dec 2011 14:45:18 -0600] rev 15747
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 29 Dec 2011 14:44:30 -0600] rev 15746
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 29 Dec 2011 16:10:53 +0900] rev 15745
i18n-ja: synchronized with
32a6e00e4cfe
Matt Mackall <mpm@selenic.com> [Thu, 29 Dec 2011 14:02:18 -0600] rev 15744
rollback: clarify --force text (
issue3175)
Michal Sznajder <michalsznajder@gmail.com> [Wed, 28 Dec 2011 00:01:48 +0100] rev 15743
largefiles: clarify help when options are ignored until first add is done
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 27 Dec 2011 00:11:22 +0100] rev 15742
phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 26 Dec 2011 13:48:31 +0100] rev 15741
phases: on copy clone, do not copy phases data if repote is publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 26 Dec 2011 13:47:37 +0100] rev 15740
phases: copy phases data on local clone
Michal Sznajder <michalsznajder@gmail.com> [Tue, 27 Dec 2011 23:56:20 +0100] rev 15739
largefiles: tiny code clean up
lfutil.islfilesrepo is a preffered way for testing if repo is largefiles enabled
Laurens Holst <laurens.hg@grauw.nl> [Wed, 21 Dec 2011 18:20:15 +0100] rev 15738
context: add isbinary function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 27 Dec 2011 21:12:09 +0100] rev 15737
rebase: add a "D" short option for detach
Detach is usually what I want when I use --source or (in particular) --rev.
Having a shorter option make it less an hassle to use it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 27 Dec 2011 20:45:46 +0100] rev 15736
rebase: allow --detach when --rev is used
--rev is only a more specific --source and there is no reason to refuse to use
detach with it.
Matt Mackall <mpm@selenic.com> [Mon, 26 Dec 2011 18:08:20 -0600] rev 15735
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 26 Dec 2011 18:07:49 -0600] rev 15734
merge with i18n
Alexander Sauta <demosito@gmail.com> [Sun, 25 Dec 2011 19:49:14 +0300] rev 15733
i18n-ru: translated notify, pager
Alexander Sauta <demosito@gmail.com> [Mon, 19 Dec 2011 22:40:59 +0300] rev 15732
i18n-ru: translated inotify, interhg; skipped strings added
Alexander Sauta <demosito@gmail.com> [Sun, 18 Dec 2011 22:54:43 +0300] rev 15731
i18n-ru: translated convert messages
Alexander Sauta <demosito@gmail.com> [Sun, 18 Dec 2011 01:05:52 +0300] rev 15730
i18n-ru: translated bugzilla
Alexander Sauta <demosito@gmail.com> [Sat, 17 Dec 2011 20:21:52 +0300] rev 15729
i18n-ru: synchronized with
d976b1ef6760
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 19:16:36 +0900] rev 15728
icasefs: add test for case preservation on case insensitive filesystem
"hg qpush" causes unexpected behavior, if case preservation on case
insensitive filesystem is not enough.
this patch adds the test using mixed-case filenames to reproduce this
problem on any case insensitive filesystems.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 25 Dec 2011 20:35:16 +0900] rev 15727
i18n: use "encoding.lower()" to normalize string in hgweb search query
some problematic encoding (e.g.: cp932) uses ASCII alphabet characters
in byte sequence of multi byte characters.
"str.lower()" on such byte sequence may treat distinct characters as
same one, and cause unexpected log matching.
this patch uses "encoding.lower()" instead of "str.lower()" to
normalize strings for compare.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 25 Dec 2011 20:35:16 +0900] rev 15726
i18n: use "encoding.lower()" to normalize specified string for revset
some problematic encoding (e.g.: cp932) uses ASCII alphabet characters
in byte sequence of multi byte characters.
"str.lower()" on such byte sequence may treat distinct characters as
same one, and cause unexpected log matching.
this patch uses "encoding.lower()" instead of "str.lower()" to
normalize strings for compare.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 25 Dec 2011 20:35:16 +0900] rev 15725
i18n: use "encoding.lower()" to normalize specified keywords for log searching
some problematic encoding (e.g.: cp932) uses ASCII alphabet characters
in byte sequence of multi byte characters.
"str.lower()" on such byte sequence may treat distinct characters as
same one, and cause unexpected log matching.
this patch uses "encoding.lower()" instead of "str.lower()" to
normalize strings for compare.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 25 Dec 2011 20:32:48 +0900] rev 15724
win32mbcs: allow win32mbcs extension to be enabled on cygwin platform
this patch allows win32mbcs extension to be enabled on cygwin platform
for problematic character encodings.
on recent cygwin platform, even though
"os.path.supports_unicode_filenames" is False, "os.listdir()" and
other path manipulation functions can return the result correctly
decoded in unicode for invocations with unicode arguments, if locale
is configured properly.
existing code to check "os.path.supports_unicode_filenames" is kept to
prevent win32mbcs from being enabled on unexpected platform.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 19:05:35 +0900] rev 15723
windows: use normalized path as path to subrepo
path to subrepo is used to identify or check location of subrepo.
it should be normalized (in "/" delimiter form), because it is also
used with narrowmatcher which uses only normalized path even on
Windows environment.
this patch applies "util.pconvert()" on path to subrepo (called
"subpath") to normalize it.
for this patch, referers of below were checked.
- subrepo.state()
- subrepo.itersubrepos()
- subrepo.subrepo()
- context.sub()
- context.substate()
typical usecase is:
for subpath in ctx.substate:
sub = ctx.sub(subpath)
... ctx.substate[subpath] ....
in this case, normalization has no side effect, because keys given
from substate are used as key itself.
other cases shown below also seem to require subpath to be normalized.
- path components are joined by "/", in "commands.forget()":
for subpath in ctx.substate:
subforget[subpath + '/' + fsub] = (fsub, sub)
- normalized "file" is used to check below condition, in
"commands.revert()", "localrepository.commit()", and
"localrepository._checknested()"
file in ctx.substate
- substate.keys() is passed to dirstate.walk()/status() which use
only normalized pathes
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 19:05:25 +0900] rev 15722
windows: use normalized path to check repository nesting
current "localrepository._checknested()" uses specified path itself to
compare against subrepo pathes.
it is invoked from "hgsubrepo.subrepo()" or pathauditor (as callback),
and both use "os.sep" as separator.
this causes unexpected nesting check result, if subrepo configuration
uses "/" as path separator for sub repo path.
this path uses "/" to join path components (or apply "util.pconvert()"
on path) to normalize.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 19:01:07 +0900] rev 15721
windows: force specified path to be audited in localpath form
pathauditor is invoked not only for localpath form using "os.sep" as
separator, but also for normalized form using "/": for example, hg
internal path like "store/data" under ".hg", or ones normalized by
match object
this causes insufficient repository nesting check, because current
pathauditor implementation divides specified path into components by
"os.sep", and this causes to treat multiple path components joined by
"/" as single one on Windows environment.
this patch applies "util.localpath()" on specified path to force it to
be divided into components correctly.
in fact, root for pathauditor also uses multiple path separator on
Windows. but this does not affect audit itself, so "util.localpath()"
is not applied on it.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 00:52:06 +0900] rev 15720
icasefs: rewrite comment to explain situtation precisely
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 00:51:14 +0900] rev 15719
icasefs: follow standard cache look up pattern
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 00:50:56 +0900] rev 15718
icasefs: disuse length check against un-normcase()-ed filenames
this patch disuses length check against un-normcase()-ed filenames
gotten by "os.listdir()", because there is no assurance that
filesystem stores filenames normalized except in letter case, even
though some case insensitive filesystems (in some environment, for
some language setting) store them in such manner.
Matt Mackall <mpm@selenic.com> [Thu, 22 Dec 2011 15:56:27 -0600] rev 15717
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 22 Dec 2011 15:56:17 -0600] rev 15716
merge with i18n
Fabian Kreutz <fabian.kreutz@qvantel.com> [Wed, 21 Dec 2011 11:48:18 +0200] rev 15715
i18n-de: Translations and fixes until line 6000; more annotations
Fabian Kreutz <fabian.kreutz@qvantel.com> [Mon, 19 Dec 2011 14:11:37 +0200] rev 15714
i18n-de: New translations, mostly largefiles extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 22 Dec 2011 00:42:25 +0100] rev 15713
phases: do not exchange secret changesets
Any secret changesets will be excluded from pull and push. Phase data are
properly synchronized on pull and push if a changeset is seen as secret locally
but is non-secret remote side.
This patch does not handle the case of a changeset secret on remote but known
locally.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 22 Dec 2011 00:40:46 +0100] rev 15712
phases: test the new-commit option and proper inheritence of phase
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:21:08 +0900] rev 15711
cygwin: add cygwin specific normcase logic
in cygwin environment, mount point part of path is treated as case
sensitive, even though underlying NTFS is case insensitive.
this patch preserves mount point part of specified path, only if it is
absolute one.
there is no easy way to get list of current mount points from python
program, other than to execute "mount" external command, because
cygwin does not store current mount points into Unix/Linux like
/etc/XXXtab file.
so, this patch introduces cygwinmountpoints variable to list mount
points to be preserved case.
this allows some other extensions to customize mount point
configuration.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15710
icasefs: avoid path-absoluteness/existance check in util.fspath() for efficiency
'dirstate._normalize()', the only caller of 'util.fspath()', has
already confirmed exsistance of specified file as relative to root.
so, this patch omits path-absoluteness/existance check from
'util.fspath()'.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15709
icasefs: retry directory scan once for already invalidated cache
some hg operation (e.g.: qpush) create new files after first
dirstate.walk()-ing, and it invalidates _fspathcache for fspath().
then, fspath() will fail to look up specified name in _fspathcache.
this causes case preservation breaking, because parts of already
normcase()-ed path are used as result at that time.
in this case, file creation and writing out should be done before
fspath() invocation, so the second invocation of os.listdir() has not
so much impact on runtime performance.
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 29 Sep 2011 17:20:04 +0200] rev 15708
push: propagate --new-branch and --ssh options when pushing subrepos
Up until now the all the push command options were ignored when pushing
subrepos. In particular, the fact that the --new-branch command was not passed
down to subrepos made it not possible to push a repo when any of its
subrepos had a new branch, even if you used the --new-branch option of the push
command.
In addition the error message was confusing since it showed the following hint:
"--new-branch hint: use 'hg push --new-branch' to create new remote branches".
However using the --new_branch flag did not fix the problem, as it was ignored
when pushing subrepos.
This patch passes the --new-branch and --ssh flags to every subrepo that is
pushed.
Issues/Limitations:
- All subrepo types get these flags, but only the mercurial subrepos use them.
- It is no longer possible to _not_ pass down these flags to subrepos when
pushing:
* An alternative would be to introduce a --subrepos flag that should be
used to pass down these flags to the subrepos.
* If we did this, it could make sense to make the --force flag respect this
new --subrepos flag as well for consistency's sake.
- Matt suggested that the ssh related flags could also be passed down to
subrepos during pull and clone. However it seems that it would be the "update"
command that would need to get those, since subrepos are only pulled on update.
In any case I'd prefer to leave that for a later patch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 21 Dec 2011 23:56:15 +0100] rev 15707
phases: implement ``phase()`` and ``hidden()`` method for workingctx
Working ctx don't have revision number and need a dedicated implementation.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 20 Dec 2011 01:31:25 +0100] rev 15706
Add a phases.new-commit option to control minimal phase of new commit
this option is both intended for human and internal code usage.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 20 Dec 2011 01:34:12 +0100] rev 15705
phases: update doc to mention secret phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 21 Dec 2011 23:47:18 +0100] rev 15704
phases: prevent mq to qimport immutable change.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 19 Dec 2011 23:31:38 +0100] rev 15703
phases: add a mutable boolean property on context
Laurens Holst <laurens.hg@grauw.nl> [Tue, 20 Dec 2011 20:36:40 +0100] rev 15702
ignore: add files present in the hackable-hg windows distribution
Kevin Bullock <kbullock@ringworld.org> [Tue, 20 Dec 2011 14:11:14 -0600] rev 15701
graft: use consistent language in help
Removes the word 'aborted' from the 3rd paragraph in favor of
'interrupted', the same word used in the description of the
-c/--continue switch. The word 'interrupted' is also consistent with
the help for rebase.
Matt Mackall <mpm@selenic.com> [Wed, 21 Dec 2011 14:36:08 -0600] rev 15700
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 20 Dec 2011 11:43:38 -0600] rev 15699
largefiles: copy files in binary mode (
issue3164)
Alistair Bell <alistair.bell@netronome.com> [Thu, 15 Dec 2011 16:41:03 -0500] rev 15698
diff: when diffing a revision with a deleted subrepo, maintain the node context (
issue3153)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 19 Dec 2011 11:37:44 +0100] rev 15697
phases: add a function to compute visible heads
This function will be used to hide secret changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 18 Dec 2011 23:16:46 +0100] rev 15696
phases: Add a third phase for secret changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 19 Dec 2011 11:29:39 +0100] rev 15695
phases: fix advanceboundary behavior when targetphase !=0
Changeset was properly removed from upper phase but was not explicitly added to
target phase. If advanced changesets had not pwasnt in target phase they was
considered public (0-phase).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 18 Dec 2011 23:15:12 +0100] rev 15694
phases: add a bit more test for local phase movement.
Matt Mackall <mpm@selenic.com> [Mon, 19 Dec 2011 14:04:33 -0600] rev 15693
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 19 Dec 2011 14:04:26 -0600] rev 15692
merge with i18n
Matt Mackall <mpm@selenic.com> [Mon, 19 Dec 2011 14:04:09 -0600] rev 15691
merge with i18n
Martin Schröder <martinschroeder@vcp-sh.de> [Mon, 19 Dec 2011 13:02:30 +0100] rev 15690
i18n-de: several new translations
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 16 Dec 2011 10:47:17 -0200] rev 15689
merge with i18n stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 16 Dec 2011 10:43:18 -0200] rev 15688
i18n-pt_BR: synchronized with
dc5d1394ecd1
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 16 Dec 2011 10:44:08 -0200] rev 15687
merge with i18n
Alexander Sauta <demosito@gmail.com> [Fri, 16 Dec 2011 10:13:46 +0300] rev 15686
i18n-ru: translated purge, progress, rebase
Andrei Polushin <polushin@gmail.com> [Wed, 14 Dec 2011 02:27:55 +0700] rev 15685
i18n-ru: editing for 'push' and 'pull'
Andrei Polushin <polushin@gmail.com> [Wed, 14 Dec 2011 01:56:57 +0700] rev 15684
i18n-ru: editing for 'commit'
Andrei Polushin <polushin@gmail.com> [Wed, 14 Dec 2011 00:48:54 +0700] rev 15683
i18n-ru: editing for 'directory'
Andrei Polushin <polushin@gmail.com> [Wed, 14 Dec 2011 00:43:31 +0700] rev 15682
i18n-ru: editing for 'remote'
Andrei Polushin <polushin@gmail.com> [Tue, 13 Dec 2011 22:55:43 +0700] rev 15681
i18n-ru: editing for 'repository'
Andrei Polushin <polushin@gmail.com> [Tue, 13 Dec 2011 01:51:08 +0700] rev 15680
i18n-ru: editing for 'store' (largefiles concept)
Andrei Polushin <polushin@gmail.com> [Tue, 13 Dec 2011 01:40:30 +0700] rev 15679
i18n-ru: editing for 'branch'
Andrei Polushin <polushin@gmail.com> [Tue, 13 Dec 2011 01:11:46 +0700] rev 15678
i18n-ru: spellcheck
Alexander Sauta <demosito@gmail.com> [Mon, 12 Dec 2011 00:03:26 +0300] rev 15677
i18n-ru: glossary synchronized with wiki, still requires fixing
Alexander Sauta <demosito@gmail.com> [Sun, 11 Dec 2011 23:28:57 +0300] rev 15676
i18n-ru: mq translated
Alexander Sauta <demosito@gmail.com> [Thu, 08 Dec 2011 20:12:56 +0300] rev 15675
i18n-ru: largefiles strings fixed
Matt Mackall <mpm@selenic.com> [Fri, 16 Dec 2011 19:05:59 -0600] rev 15674
merge with stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:21:27 +0900] rev 15673
merge: check filename case collision between changesets for branch merging
this patch makes branch merging abort when merged changesets have same
file in different case on case insensitive filesystem.
this patch does not prevent linear update which merges between target
and working contexts, because 'branchmerge' is False in such case.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:41 +0900] rev 15672
i18n: use encoding.lower/upper for encoding aware case folding
this patch uses encoding.lower/upper for case folding, because ones of
str can not fold case of non ascii characters correctly.
to avoid cyclic dependency and to encapsulate logic of normcase in
each platforms, this patch introduces encodinglower/encodingupper in
both posix/windows specific files.
this patch does not change implementation of normcase() in posix.py,
because we do not know the encoding of filenames on POSIX.
some "normcase()" are excluded from function wrap list in
hgext/win32mbcs.py, because they become encoding aware by this patch.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15671
windows: use upper() instead of lower() or os.path.normcase()
this patch uses upper() instead of lower() or os.path.normcase() for
case folding on Windows(NTFS), because lower-ing causes problems for
some languages on it.
see below for detail about problem of lower-ing:
https://blogs.msdn.com/b/michkap/archive/2005/01/16/353873.aspx
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15670
icasefs: avoid normcase()-ing in util.fspath() for efficiency
'dirstate._normalize()', the only caller of 'util.fspath()', has
already normcase()-ed path before invocation of it.
normcase()-ed root can be cached on dirstate side, too.
so, this patch changes 'util.fspath()' API specification to avoid
normcase()-ing in it.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15669
icasefs: use util.normcase() instead of lower() or os.path.normcase in fspath
this also avoids lower()-ing on each path components by reuse the path
normcase()-ed at beginning of function.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15668
dirstate: prevent useless util.fspath() invocation for '.'
at first of dirstate.walk() on case insensitive filesystem,
normalization of '.' causes util.fspath() invocation, but '.' is not
cached in it.
this invocation is not only useless, but also harmful: initial "hg
tag" causes creation of ".hgtags" file after dirstate.walk(), and
looking up ".hgtags" in cache will fail, because directory contents of
root is already cached at util.fspath() invocation for '.'.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15667
icasefs: consider as case sensitive if there is no counterevidence, for safety
for safety, this patch prevents case-less name from misleading into
case insensitivity, even though such names should not be used.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15666
pathauditor: switch normcase logic according to case sensitivity of filesystem
this patch applies 'util.normcase()' to audit path only on case
insensitive filesystem.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15665
pathauditor: preserve case in abort messages
this patch uses both plain and normcase()-ed pathes to preserve letter
case of path in abort messages.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15664
pathauditor: use normcase()-ed path for audit result cache
in current pathauditor implementation, un-normcase()-ed path is
stored into and compared with audit result cache.
this is not efficiency on case insensitive filesystem.
Martin Geisler <mg@aragost.com> [Fri, 09 Dec 2011 17:35:00 +0100] rev 15663
largefiles: handle merges between normal files and largefiles (
issue3084)
The largefiles extension prevents users from adding a normal file
named 'foo' if there is already a largefile with the same name.
However, there was a loop-hole: when merging, it was possible to bring
in a normal file named 'foo' while also having a '.hglf/foo' file.
This patch fixes this by extending the manifest merge to deal with
these kinds of conflicts. If there is a normal file 'foo' in the
working copy, and the other parent brings in a '.hglf/foo' file, then
the user will be prompted to keep the normal file or the largefile.
Likewise for the symmetric case where a normal file is brought in via
the second parent. The prompt looks like this:
$ hg merge
foo has been turned into a largefile
use (l)argefile or keep as (n)ormal file?
After the merge, either the '.hglf/foo' file or the 'foo' file will
have been deleted. This would cause status to return output like:
$ hg status
M foo
R foo
To fix this, the lfiles_repo.status method is changed so that a
removed normal file isn't shown if there is largefile with the same
name, and vice versa for largefiles.
David Soria Parra <dsp@php.net> [Wed, 14 Dec 2011 15:41:08 +0100] rev 15662
progress: check for ui.quiet and ui.debugflag before we write
ui.quiet and ui.debugflag are not initialized during uisetup and
reposetup. progressui is always initialized, therefore we have to check
during write() if ui.quiet is set or not.
Matt Mackall <mpm@selenic.com> [Fri, 16 Dec 2011 18:23:15 -0600] rev 15661
changelog: handle decoding of NULs in extra more carefully (
issue3156)
Escaped NULs adjacent to [0-7] could be decoded as octal. This hits
about 0.24% of changesets with transplant, which stores binary nodes.
Matt Mackall <mpm@selenic.com> [Thu, 15 Dec 2011 16:50:21 -0600] rev 15660
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 15 Dec 2011 23:08:09 +0100] rev 15659
phases: change publish behavior to only alter behavior when server.
Older publish=True was:
1) Content of Publishing server are seen as public by client.
2) Any changegroup *added* to a publish=True server is public.
New definition are:
1) Content of Publishing server are seen as public by client.
2) Any changegroup *pushed* to a publish=True server is public.
See mercurial/phase.py documentation for exact final behavior
Kevin Gessner <kevin@fogcreek.com> [Thu, 15 Dec 2011 13:19:43 -0500] rev 15658
largefiles: don't require a user cache (
issue3088) (
issue3155)
If the user cache path isn't specified in .hgrc, and it can't be constructed
from the environment, don't try to use that cache.
Matt Mackall <mpm@selenic.com> [Thu, 15 Dec 2011 15:27:11 -0600] rev 15657
util: don't mess with builtins to emulate buffer()
Matt Mackall <mpm@selenic.com> [Thu, 15 Dec 2011 14:59:22 -0600] rev 15656
util: clean up function ordering
Matt Mackall <mpm@selenic.com> [Thu, 15 Dec 2011 14:37:36 -0600] rev 15655
merge with stable
Nikolaus Schueler <nikolaus.schueler@lantiq.com> [Thu, 15 Dec 2011 13:57:54 +0100] rev 15654
notify: change behavior of "changegroup" hook
Change the behavior so that the sender (the "From" header in the notification
mail) in case of the "changegroup" hook is the user that did the first commit
in the changegroup. The option is configurable, if you set "notify.fromauthor"
to "True" in your config, the new behavior is activated. If you do not set the
option, the behavior is as before. The commit adds to an existing test to show
various aspects of the changed behavior.
Na'Tosha Bard <natosha@unity3d.com> [Thu, 15 Dec 2011 16:23:26 +0100] rev 15653
largefiles: optimize status when files are specified (
issue3144)
This fixes a performance issue with 'hg status' when files are specified
on the command-line. Previously, a large amount of largefiles code was
executed, even if files were specified on the command-line and those files
were not largefiles. This patch fixes the problem by first checking if
non-largefiles were specified on the command-line and, just letting the
normal status function handle the case if they were.
On a brand new machine, the execution time for 'hg status filename' on
a repository with largefiles was:
real 0m0.636s
user 0m0.512s
sys 0m0.120s
versus the following (the same repository, with largefiles disabled):
real 0m0.215s
user 0m0.180s
sys 0m0.032s
After this patch, the performance of 'hg status filename' on the same
repository, with largefiles enabled is:
real 0m0.228s
user 0m0.189s
sys 0m0.036s
This performance boost is also true when patterns (rather than specific
files) are specified on the command-line.
In the case where patterns are specified in addition to a file list, we
just defer to the normal codepath in order to not spend extra time
expanding the patterns to just risk having to expand them again later.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 12 Dec 2011 15:16:58 +0100] rev 15652
wireproto: handle other server output in pushkey
Remote side may add useful information alongside failure return code. For
example "ssl is required". This patch mirror what is done for the unbundle
command.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Dec 2011 11:45:01 +0100] rev 15651
phases: exchange phase boundaries on push
For now phase sync is tried even if push fails with some know pathological
case. The exact behavior is to be discussed and implemented later.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Dec 2011 11:28:42 +0100] rev 15650
phases: exchange phase boundaries on pull
Add an extra argument to addchangegroup to all phase code to execute before the
lock is released.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 15 Dec 2011 02:18:24 +0100] rev 15649
phases: add a function to compute heads from root
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Dec 2011 11:24:26 +0100] rev 15648
phases: add basic pushkey support
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Oct 2011 14:30:43 +0200] rev 15647
phases: update exchange test to include node hash.
This will be easier for exchange test.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Dec 2011 11:57:33 +0100] rev 15646
phases: add a phases.publish option
What is a "publishing repository"?
==================================
Setting a repository as "publishing" alter its behavior **when used as a
server**: all changesets are **seen** as public changesets by clients.
So, pushing to a "publishing" repository is the most common way to make
changesets public: pushed changesets are seen as public on the remote side and
marked as such on local side.
Note: the "publishing" property have no effects for local operations.
Old repository are publishing
=============================
Phase is the first step of a series of features aiming at handling mutable
history within mercurial. Old client do not support such feature and are unable
to hold phase data. The safest solution is to consider as public any changeset
going through an old client.
Moreover, most hosting solution will not support phase from the beginning.
Having old clients seen as public repositories will not change their usage:
public repositories where you push *immutable* public changesets *shared* with
others.
Why is "publishing" the default?
================================
We discussed above that any changeset from a non-phase aware repository should
be seen as public. This means that in the following scenario, X is pulled as
public::
~/A$ old-hg init
~/A$ echo 'babar' > jungle
~/A$ old-hg commit -mA 'X'
~/A$ cd ../B
~/B$ new-hg pull ../A # let's pretend A is served by old-hg
~/B$ new-hg log -r tip
summary: X
phase: public
We want to keep this behavior while creating/serving the A repository with
``new-hg``. Although committing with any ``new-hg`` creates a draft changeset.
To stay backward compatible, the pull must see the new commit as public.
Non-publishing server will advertise them as draft. Having publishing repository
the default is thus necessary to ensure this backward compatibility.
This default value can also be expressed with the following sentence: "By
default, without any configuration, everything you exchange with the outside is
immutable.". This behaviour seems sane.
Why allow draft changeset in publishing repository
=====================================================
Note: The publish option is aimed at controlling the behavior of *server*.
Changeset in any state on a publishing server will **always*** be seen as public
by other client. "Passive" repository which are only used as server for pull and
push operation are not "affected" by this section.
As in the choice for default, the main reason to allow draft changeset in
publishing server is backward compatibility. With an old client, the following
scenario is valid::
~/A$ old-hg init
~/A$ echo 'babar' > jungle
~/A$ old-hg commit -mA 'X'
~/A$ old-hg qimport -r . # or any other mutable operation on X
If the default is publishing and new commits in such repository are "public" The
following operation will be denied as X will be an **immutable** public
changeset. However as other clients see X as public, any pull//push (or event
pull//pull) will mark X as public in repo A.
Allowing enforcement of public changeset only repository through config is
probably something to do. This could be done with another "strict" option or a
third value config for phase related option (mode=public, publishing(default),
mutable)
Augie Fackler <durin42@gmail.com> [Mon, 12 Dec 2011 11:54:22 -0600] rev 15645
zsh completion: add support for qfinish
Matt Mackall <mpm@selenic.com> [Thu, 15 Dec 2011 14:24:38 -0600] rev 15644
merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 15 Dec 2011 14:24:29 -0600] rev 15643
merge with i18n
Fabian Kreutz <fabian.kreutz@qvantel.com> [Sat, 10 Dec 2011 20:48:33 +0200] rev 15642
i18n-de: Error reported by Mathias Goldau and commit msg shortened
Fabian Kreutz <fabian.kreutz@qvantel.com> [Sat, 10 Dec 2011 20:22:33 +0200] rev 15641
i18n-de: mostly update fuzzies
More helptexts have been changed into on id per paragraph. New keywords
added. hg example calls changed to :hg:`..` syntax (where changed in EN).
Alexander Sauta <demosito@gmail.com> [Thu, 08 Dec 2011 00:05:24 +0300] rev 15640
i18n-ru: eol, fetch, color, LargeFiles, gpg, keywords translated
Alexander Sauta <demosito@gmail.com> [Fri, 18 Nov 2011 21:19:05 +0300] rev 15639
i18n-ru: glossary added, acl translation fixed
Andrey Somov <py4fun@gmail.com> [Thu, 10 Nov 2011 22:05:02 +0100] rev 15638
i18n-ru: update translation
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 12 Dec 2011 17:10:19 +0900] rev 15637
icasefs: use util.normcase() instead of str.lower() or os.path.normpath()
Martin Geisler <mg@lazybytes.net> [Thu, 15 Dec 2011 16:26:33 +0100] rev 15636
merge with stable
Martin Geisler <mg@lazybytes.net> [Thu, 15 Dec 2011 16:18:10 +0100] rev 15635
test-subrepo: test for Issue3153
Renato Cunha <renato@renatocunha.com> [Wed, 14 Dec 2011 12:28:00 -0200] rev 15634
diff: don't crash when diffing a revision with a deleted subrepo (
issue3153)
When a user requested a diff between a revision (r1) that contained a subrepo
and another (r2) that did not, mercurial would crash if r1 was specified before
r2 but would execute the diff otherwise. This fixes this behavior by skipping
the missing subrepo in the diff.
Martin Geisler <mg@lazybytes.net> [Thu, 15 Dec 2011 11:13:38 +0100] rev 15633
status: add missing ":" to help text
Martin Geisler <mg@lazybytes.net> [Sat, 10 Dec 2011 18:40:05 +0100] rev 15632
dispatch: remove extra newline
The return statement belongs to the lines above.
Ion Savin <comp_@gmx.net> [Fri, 09 Dec 2011 14:14:30 +0200] rev 15631
annotate: show full changeset hash when invoked with --debug and -c
Martin Geisler <mg@aragost.com> [Fri, 09 Dec 2011 17:58:12 +0100] rev 15630
merge with stable
Martin Geisler <mg@aragost.com> [Fri, 09 Dec 2011 17:34:58 +0100] rev 15629
largefiles: fix 'hg status' abort after merge
If a largefile is introduced on the branch that is merged into the
working copy, then 'hg status' would abort with an error like:
$ hg status
abort: .hglf/foo@
33fdd332ec64: not found in manifest!
The problem was that the largefiles status code only looked in the
first parent for the largefile. Largefiles are now always reported as
modified if they don't exist in the first parent -- this matches the
behavior of localrepo.status for normal files.
Martin Geisler <mg@aragost.com> [Fri, 09 Dec 2011 17:34:57 +0100] rev 15628
largefiles: use lfutil functions
Using regular expressions to cut off a (fixed) string prefix is overly
complicated and wasteful.
Martin Geisler <mg@aragost.com> [Fri, 09 Dec 2011 17:34:56 +0100] rev 15627
largefiles: fix indentation
Martin Geisler <mg@aragost.com> [Wed, 07 Dec 2011 16:25:51 +0100] rev 15626
largefiles: remove pre-1.7 compatibility code
Mercurial 1.7 added the --subrepos flag to status and archive and the
largefiles code was still compatible with the old method signatures.
Martin Geisler <mg@aragost.com> [Fri, 09 Dec 2011 17:34:53 +0100] rev 15625
merge: make debug output easier to read
I always found it hard to figure out what the debug code meant without
the separators.
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 09 Dec 2011 15:50:33 +0100] rev 15624
sshrepo: add more safe characters (
issue2983)
Extended the list of safe characters introduced in
86fc364ca5f8 to include
everything from pipes._safechars, which is only available on Unix platforms.
Place "-" at the end of the range to avoid backslash-escape.
New characters: @%+=:,
Matt Mackall <mpm@selenic.com> [Thu, 08 Dec 2011 16:01:44 -0600] rev 15623
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Thu, 08 Dec 2011 16:39:00 +0100] rev 15622
sshrepo: don't quote obviously safe strings (
issue2983)
This restores compatibility with hg-over-ssh servers that don't parse
commandlines as sh does but works ok in the most common cases.
Kevin Bullock <kbullock@ringworld.org> [Wed, 16 Nov 2011 15:29:57 -0600] rev 15621
bookmarks: update and updatecurrentbookmark return status
This makes bookmarks.update() and bookmarks.updatecurrentbookmark() return
True or False to indicate whether the bookmark was updated or not. This allows
callers to e.g. abort if the update failed.
Kevin Bullock <kbullock@ringworld.org> [Wed, 07 Dec 2011 11:23:13 -0600] rev 15620
bookmarks: clarify help for use of merge and update
Kevin Bullock <kbullock@ringworld.org> [Wed, 07 Dec 2011 11:23:01 -0600] rev 15619
merge: make 'nothing to merge' aborts consistent
Makes the 'nothing to merge' abort messages in commands.py consistent with
those in merge.py. Also makes commands.merge() and merge.update() use hints.
The tests show the changes.
Kevin Bullock <kbullock@ringworld.org> [Wed, 07 Dec 2011 11:22:57 -0600] rev 15618
merge: remove excess creation of changectx
Na'Tosha Bard <natosha@unity3d.com> [Wed, 07 Dec 2011 12:56:44 +0100] rev 15617
largefiles: optimize performance of status on largefiles repos (
issue3136)
Olav Reinert <seroton10@gmail.com> [Tue, 06 Dec 2011 15:50:28 +0100] rev 15616
Describe all files related to the standard commands.
Matt Mackall <mpm@selenic.com> [Thu, 08 Dec 2011 14:32:44 -0600] rev 15615
branch: warn on branching
Matt Mackall <mpm@selenic.com> [Wed, 07 Dec 2011 16:19:39 -0600] rev 15614
bookmarks: mark divergent bookmarks with book@pathalias when source in [paths]
Matt Mackall <mpm@selenic.com> [Tue, 06 Dec 2011 14:17:33 -0600] rev 15613
bookmarks: shadow divergent bookmarks of foo with foo@n
Christian Ebert <blacktrash@gmx.net> [Tue, 06 Dec 2011 13:21:45 +0100] rev 15612
help: properly underline annotate config heading
Matt Mackall <mpm@selenic.com> [Mon, 05 Dec 2011 17:48:40 -0600] rev 15611
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 05 Dec 2011 17:09:11 -0600] rev 15610
branch: move note about permanence to the top, add 'global'
Patrick Mezard <pmezard@gmail.com> [Sun, 04 Dec 2011 18:22:25 +0100] rev 15609
util: fix url.__str__() for windows file URLs
Before:
>>> str(url('file:///c:/tmp/foo/bar'))
'file:c%3C/tmp/foo/bar'
After:
>>> str(url('file:///c:/tmp/foo/bar'))
'file:///c%3C/tmp/foo/bar'
The previous behaviour had no effect on mercurial itself (clone command for
instance) because we fortunately called .localpath() on the parsed URL.
hgsubversion was not so lucky and cloning a local subversion repository on
Windows no longer worked on the default branch (it works on stable because
de7e2fba4326 defeats the hasdriveletter() test in url class).
I do not know if the %3C is correct or not but svn accepts file:// URLs
containing it. Mads fixed it in
de7e2fba4326, so we can always backport should
the need arise.
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 02 Dec 2011 21:38:57 -0200] rev 15608
convert: tolerate trailing spaces on map files
A convert run with a branchmap made with
echo default namedbranch > branchmap
on Windows fails silently and surprisingly; it actually
adds a space after 'namedbranch', so it ends up mapping
"default namedbranch" to "".
This also affects splicemaps, since the same parser is used
for both.
Patrick Mezard <pmezard@gmail.com> [Fri, 02 Dec 2011 16:50:48 +0100] rev 15607
test-svn-subrepo: fix reference output for svn 1.7
I modified check-code.py "$?" detection because I thought my use was legit, we
cannot test exit status of pipelines commands except for the last one without
this. So it now tolerates "[$?" which is unlikely to be added by mistake.
Tested on:
- OSX + svn 1.7.1
- Linux + svn 1.6.12
Patrick Mezard <pmezard@gmail.com> [Fri, 02 Dec 2011 18:36:32 +0100] rev 15606
convert: simplify getargmax() with propertycache
Patrick Mezard <pmezard@gmail.com> [Fri, 02 Dec 2011 17:38:07 +0100] rev 15605
convert/svn: update svn working copy only when necessary
I have not tried to produce the bug but here is idea:
f85c0034a062 stopped
passing the modified files list to commit. This makes commit more fragile since
we better not touch unrelated files by mistake. But putcommit() still applies
file changes before exiting upon ignored revisions. So in theory, we could
apply changes from a skipped branch then commit them as part of another
revision.
This patch makes the sink apply the changes after possibly skipping the
revision. The real fix would be to use svn commit --targets option to pass the
file names in an argument file. Unfortunately, it seems to be bugged in svn
1.7.1:
http://svn.haxx.se/dev/archive-2011-11/0211.shtml
Greg Ward <greg-hg@gerg.ca> [Thu, 01 Dec 2011 17:39:30 -0500] rev 15604
rollback: always call destroyed() (regression from 1.9)
The contract for repo.destroyed() is that it is called whenever
changesets are destroyed, either by strip or by rollback. That
contract was inadvertently broken in
7c26ce9edbd2, when we made a
chunk of code conditional on destroying one of the working dir's
parents. Oops: it doesn't matter *which* changesets are destroyed or
what their relationship is to the working dir, we should call
repo.destroyed() whenever we destroy changesets.
Matt Mackall <mpm@selenic.com> [Thu, 01 Dec 2011 15:57:10 -0600] rev 15603
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Dec 2011 15:55:37 -0600] rev 15602
Added signature for changeset
195dbd1cef0c
Matt Mackall <mpm@selenic.com> [Thu, 01 Dec 2011 15:55:34 -0600] rev 15601
Added tag 2.0.1 for changeset
195dbd1cef0c
Matt Mackall <mpm@selenic.com> [Thu, 01 Dec 2011 15:51:36 -0600] rev 15600
alias: shortcut command matching show shadowing works properly (
issue3104)
An alias for 'log' was stored in the same command table as
'^log|history'. If the hash function happens to give the latter first,
the alias is effectively ignored when matching 'log'.
Patrick Mezard <pmezard@gmail.com> [Thu, 01 Dec 2011 20:42:24 +0100] rev 15599
convert/svn: fix URL quoting issue with svn 1.7
As of svn 1.7, many svn calls expect "canonical" paths. In theory, we should
call svn.core.*canonicalize() on all paths before passing them to the API.
Instead, we assume the base url is canonical and copy the behaviour of svn URL
encoding function so we can extend it safely with new components.
Na'Tosha Bard <natosha@unity3d.com> [Wed, 30 Nov 2011 15:11:00 +0100] rev 15598
largefiles: fix rename (
issue3093)
Sune Foldager <cryo@cyanite.org> [Thu, 01 Dec 2011 14:17:17 +0100] rev 15597
bundlerepo: don't write branch cache to disk
Calling branchmap() or similar on a bundlerepo would write the bundle-augmented
branch cache to disk, requiring a subsequent expensive rebuild when the repo
is used without the bundle.
Matt Mackall <mpm@selenic.com> [Thu, 01 Dec 2011 01:42:03 -0600] rev 15596
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 30 Nov 2011 22:43:24 -0600] rev 15595
revset: balance %l or-expressions (
issue3129)
Matt Mackall <mpm@selenic.com> [Wed, 30 Nov 2011 17:17:06 -0600] rev 15594
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 30 Nov 2011 17:16:43 -0600] rev 15593
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 29 Nov 2011 12:40:26 -0200] rev 15592
i18n-pt_BR: synchronized with
10a4fab20ed9
Matt Mackall <mpm@selenic.com> [Wed, 30 Nov 2011 17:15:39 -0600] rev 15591
merge with stable
Arne Babenhauserheide <bab@draketo.de> [Fri, 04 Nov 2011 10:18:40 +0100] rev 15590
clone: get all bookmarks before updating
Matt Mackall <mpm@selenic.com> [Wed, 30 Nov 2011 16:53:44 -0600] rev 15589
lock: change name of release chain
Matt Mackall <mpm@selenic.com> [Wed, 30 Nov 2011 16:20:07 -0600] rev 15588
localrepo: remove asserts in _afterlock
Matt Mackall <mpm@selenic.com> [Wed, 30 Nov 2011 15:36:55 -0600] rev 15587
localrepo: rename _postrelease to _afterlock
Matt Mackall <mpm@selenic.com> [Wed, 30 Nov 2011 15:33:44 -0600] rev 15586
addchangegroup: ony queue hooks when we have changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 28 Nov 2011 01:32:13 +0100] rev 15585
addchangegroup: remove the lock argument on the addchangegroup methods
This argument is no longer require. post lock release code is now handled with
dedicated post release callback code in lock itself.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 28 Nov 2011 01:18:15 +0100] rev 15584
addchangegroup: use a postrelease callback to call changegroup hook
This is will allow addchangegroup to drop lock related code.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 28 Nov 2011 15:05:26 +0100] rev 15583
lock: add mechanism to register post release callback
Benoit Allard <benoit@aeteurope.nl> [Tue, 29 Nov 2011 19:51:35 +0100] rev 15582
diff: '\ No newline at end of file' is also not part of the header
Diff containing '\ No newline at end of file' were colorized incorrectly.
Mads Kiilerich <mads@kiilerich.com> [Sat, 26 Nov 2011 00:10:31 +0100] rev 15581
ssh: quote remote paths (
issue2983)
Mads Kiilerich <mads@kiilerich.com> [Sat, 26 Nov 2011 00:10:12 +0100] rev 15580
id: add command line options for handling ssh and https urls
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 24 Nov 2011 17:54:50 +0900] rev 15579
largefiles: use "ui.configlist()" to get largefiles.patterns configuration
current lfconvert implementation uses combination of "ui.config()" and
"str.split(' ')" to get largefiles.patterns configuration.
but it can not handle multiline configuration in hgrc files correctly.
lfconvert should use "ui.configlist()" instead of it, as same as
override_add does.
Patrick Mezard <pmezard@gmail.com> [Thu, 24 Nov 2011 11:38:16 +0100] rev 15578
status: support revsets with --change
Mads Kiilerich <mads@kiilerich.com> [Fri, 25 Nov 2011 02:11:12 +0100] rev 15577
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 25 Nov 2011 02:09:48 +0100] rev 15576
largefiles: avoid use of uinitialized variable in case of errors
Mads Kiilerich <mads@kiilerich.com> [Fri, 25 Nov 2011 02:09:45 +0100] rev 15575
tests: remove unstable debugstate output in test-largefiles.t
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:22:45 +0100] rev 15574
largefiles: simplify lfutil.writehash
This was unnecessarily verbose: there is no need to unlink the file
when we open it for write anyway, and there is no need to check if the
file exists after we created it.
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:22:44 +0100] rev 15573
merge with stable
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:13:18 +0100] rev 15572
largefiles: copy files into .hg/largefiles atomically
Copying from the user cache into .hg/largefiles could fail halfway
though with a partially written file.
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:12:13 +0100] rev 15571
largefiles: write .hg/largefiles/ files atomically
Before, it was possible to create a
.hg/largefiles/hash
file with truncated content, i.e., content where
SHA-1(content) != hash
This breaks the fundamental invariant in largefiles that the file
content for files in .hg/largefiles hash to the filename.
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:11:43 +0100] rev 15570
largefiles: add comment about non-atomic working directory
When updating the working copy with a normal 'hg update', we also
don't use atomic writes.
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 15569
tests: use an alias to make msys 'pwd' return paths with forward slashes
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 15568
tests: skip cvs tests with msys on windows
They will fail with weird 'ssh' errors.
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 15567
tests: introduce 'hghave msys' to skip tests that would fail because of msys
Matt Mackall <mpm@selenic.com> [Wed, 23 Nov 2011 16:35:17 -0600] rev 15566
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 23 Nov 2011 16:25:44 -0600] rev 15565
convert: handle trailing slashes in filemap better (
issue3124)
Matt Mackall <mpm@selenic.com> [Wed, 23 Nov 2011 14:24:56 -0800] rev 15564
tests: remove test-casecollision-i18n.t
The result of this test is quite suspect. Remove it for now as it now
correctly breaks on HFS+.
Matt Mackall <mpm@selenic.com> [Wed, 23 Nov 2011 14:22:37 -0800] rev 15563
posix: fix HFS+ percent-encoding folding
We use 'ignore' rather than 'replace' so we don't have to deal with
u+FFFD in UTF-8 round-trip.
Mads Kiilerich <mads@kiilerich.com> [Wed, 23 Nov 2011 02:44:11 +0100] rev 15562
mail: use quoted-printable for mime encoding to avoid too long lines (
issue3075)
Quoted-printable was already used for the more critical patch mails, so it
should be fine for everything else as well.
Mads Kiilerich <mads@kiilerich.com> [Wed, 23 Nov 2011 02:36:33 +0100] rev 15561
notify: add option for writing to mbox
This makes it possible to test how the mails that are sent _really_ look like.
Mads Kiilerich <mads@kiilerich.com> [Wed, 23 Nov 2011 02:11:24 +0100] rev 15560
mail: mbox handling as a part of mail handling, refactored from patchbomb
Mads Kiilerich <mads@kiilerich.com> [Wed, 23 Nov 2011 02:09:38 +0100] rev 15559
patchbomb: minor refactoring of mbox functionality, preparing for move
This allows reuse of the mbox functionality but causes minor changes in the
patchbomb console output when writing to a mbox.
Mads Kiilerich <mads@kiilerich.com> [Wed, 23 Nov 2011 03:14:24 +0100] rev 15558
tests: run check-code with warnings and maintain a whitelist
check-code has fine warning checks, but they are a bit noisy and nobody used
them.
Now the warnings will be run in the test suite, where a list of accepted
warnings will be maintained.
Those who introduce or touch a line with a warning will now have to update the
whitelist ... or fix the warning.
Mads Kiilerich <mads@kiilerich.com> [Wed, 23 Nov 2011 02:50:58 +0100] rev 15557
tests: convert test-check-code-hg.py to .t
Christian Ebert <blacktrash@gmx.net> [Wed, 23 Nov 2011 01:20:32 +0000] rev 15556
test-keyword: use inline doctest syntax
Matt Mackall <mpm@selenic.com> [Tue, 22 Nov 2011 17:34:22 -0600] rev 15555
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Nov 2011 19:56:26 +0100] rev 15554
tests: test-largefiles.t should not try to escape from $TESTTMP
Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Nov 2011 19:52:23 +0100] rev 15553
largefiles: file storage should be relative to repo, not relative to cwd
Revealed by the test in
1fd126cd2d91.
Augie Fackler <durin42@gmail.com> [Tue, 22 Nov 2011 12:06:42 -0600] rev 15552
clone: don't save user's password in .hg/hgrc (Issue3122)
Matt Mackall <mpm@selenic.com> [Tue, 22 Nov 2011 17:26:32 -0600] rev 15551
posix: add extended support for OS X path folding
OS X does the following transformation on paths for comparisons:
a) 8-bit strings are decoded as UTF-8 to UTF-16
b) undecodable bytes are percent-escaped
c) accented characters are converted to NFD decomposed form, approximately
d) characters are converted to _lowercase_ using internal tables
Both (c) and (d) are done using internal tables that vary from release
to release and match Unicode specs to greater or lesser extent. We
approximate these functions using Python's internal Unicode data.
With this change, Mercurial will (in almost all cases) match OS X
folding and not report unknown file aliases for files in UTF-8 or
other encodings.
Matt Mackall <mpm@selenic.com> [Tue, 22 Nov 2011 17:26:31 -0600] rev 15550
dirstate: use util.normcase to build foldmap
Martin Geisler <mg@lazybytes.net> [Tue, 22 Nov 2011 18:16:59 +0100] rev 15549
merge with stable
Martin Geisler <mg@lazybytes.net> [Tue, 22 Nov 2011 17:51:43 +0100] rev 15548
largefiles: fix 'hg clone . ../foo' OSError abort
Operating on a non-existant file can cause both IOError and OSError,
depending on the function used: open raises IOError, os.lstat raises
OSError.
The largefiles code called dirstate.normal, which in turn calls
os.lstat, so OSError is the right exception to catch here.
Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Nov 2011 01:37:26 +0100] rev 15547
tests: test-patchbomb.t cleanup
Let commit messages and file names describe the facts without making incorrect
guess of the actual handling of it.
Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Nov 2011 01:37:26 +0100] rev 15546
tests: show actual output in test-patchbomb.t
Drop fixheader and decode base64 encoded content and show non-ascii content.
Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Nov 2011 01:37:26 +0100] rev 15545
tests: test findexe() access check fixed in
58f96703a9ab
Mads Kiilerich <mads@kiilerich.com> [Tue, 22 Nov 2011 01:37:26 +0100] rev 15544
check-code: fix return code initialization
Don't crash when nothing is tested, but return failure when other files than
the last one fails.
Matt Mackall <mpm@selenic.com> [Mon, 21 Nov 2011 13:11:17 -0600] rev 15543
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 00:39:32 +0100] rev 15542
tests: make test-commandserver.py independent of line ending and slash direction
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 00:39:32 +0100] rev 15541
tests: make test-commandserver.py output readable
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 00:39:32 +0100] rev 15540
tests: 'hghave unix-permissions' for test-import.t
'hg import' of a patch with mode changes requires unix permissions support in
the file system.
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 00:39:32 +0100] rev 15539
tests: skip color test on platforms without tic
Mads Kiilerich <mads@kiilerich.com> [Sun, 20 Nov 2011 23:09:32 +0100] rev 15538
update: don't clobber untracked files with wrong casing
Matt Mackall <mpm@selenic.com> [Sun, 20 Nov 2011 16:07:07 -0600] rev 15537
merge with i18n
Matt Mackall <mpm@selenic.com> [Sun, 20 Nov 2011 16:06:51 -0600] rev 15536
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 18 Nov 2011 10:21:56 -0200] rev 15535
i18n-pt_BR: synchronized with
00276525e2b7
Matt Mackall <mpm@selenic.com> [Sun, 20 Nov 2011 16:06:18 -0600] rev 15534
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 18 Nov 2011 01:32:28 +0100] rev 15533
help: Backed out changeset
e99facd2cd2a, description of file urls
This help entry didn't try to describe the 'localhost' notation. It described a
non-standard host-less notation where 'local' just was the first part of a
sample relative path. It describe "urls" with relative and absolute paths like:
file://file.txt
file:///tmp/file.txt
file://c:/tmp/file.txt
Matt Mackall <mpm@selenic.com> [Sun, 20 Nov 2011 15:29:55 -0600] rev 15532
revset: follow(nosuchfile) should give an empty set (
issue3114)
Eric Roshan Eisner <ede@alum.mit.edu> [Fri, 11 Nov 2011 11:11:11 +1111] rev 15531
subrepo: fix git status false positive (
issue3109)
It turns out there's a separate command to force git to look at file contents
if the stat has changed.
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 14:23:03 +0100] rev 15530
mdiff: replace wscleanup() regexps with C loops
On my system it reduces:
hg annotate -w mercurial/commands.py
from 36s to less than 8s, to be compared with 6.3s when run without whitespace
options.
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 14:16:47 +0100] rev 15529
mdiff: split lines in allblocks() only when necessary
These are only required to handle the --ignore-blank-lines case
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 12:04:31 +0100] rev 15528
annotate: support diff whitespace filtering flags (
issue3030)
splitblock() was added to handle blocks returned by bdiff.blocks() which differ
only by blank lines but are not made only of blank lines. I do not know exactly
how it could happen but mdiff.blocks() threshold behaviour makes me think it
can if those blocks are made of very popular lines mixed with popular blank
lines. If it is proven to be wrong, the function can be dropped.
The first implementation made annotate share diff configuration entries. But it
looks like users will user -w/b for annotate but not for diff, on both the
command line and hgweb. Since the latter cannot use command line entries, we
introduce a new [annotate] section duplicating the diff whitespace options.
Pascal Quantin <pascal.quantin@gmail.com> [Sun, 20 Nov 2011 19:14:36 +0100] rev 15527
setup: fix py2exe generation broken by
c3a6ec304055 (
issue3116)
Py2exe is patching default distutils Distribution class. This patch ensures
that the right one is taken when calling hgdist class.
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 12:01:04 +0100] rev 15526
mdiff: make diffblocks() return all blocks, matching and changed
Annotate uses matching blocks not changed ones.
Patrick Mezard <pmezard@gmail.com> [Fri, 18 Nov 2011 11:53:38 +0100] rev 15525
mdiff: extract blocks whitespace normalization in diffblocks()
We want to reuse it in annotate for whitespace normalization.
Matt Mackall <mpm@selenic.com> [Thu, 17 Nov 2011 23:02:18 -0600] rev 15524
merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 17 Nov 2011 23:01:58 -0600] rev 15523
setup: backout
8504699d1aa6
Change wasn't compatible with Python 2.x
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 15522
tests: don't use stdout redirection for test data
Stdout redirection is not binary safe everywhere - for example not on windows
with msys.
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 15521
tests: hide 'No such file or directory' messages
Windows will use a different and localized message.
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 15520
tests: add missing '(glob)'s to match '\' in paths in test output on windows
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 15519
tests: add 'hghave system-sh' to skip tests on windows
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 15518
tests: launch hghave with python interpreter without relying on hash-bang
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 15517
tests: use the specified shell for running old fashioned sh tests
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 15516
tests: add missing 'hghave unix-permissions'
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 15515
tests: remove hacks for testing if file or directory exists
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:06 +0100] rev 15514
tests: don't leave temporary directories without write permission behind
Matt Mackall <mpm@selenic.com> [Thu, 17 Nov 2011 16:53:17 -0600] rev 15513
merge with stable
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [Wed, 16 Nov 2011 08:34:36 +0100] rev 15512
hook: flush stdout before redirecting to stderr
When hook output redirection is enabled (e.g. when cloning over ssh), hook
output on stdout is redirected to stderr, to prevent the repository data on
stdout from being corrupted.
In certain cases, the redirection could cause part of the repository data to
end up on stderr as well. In case of a clone, this causes:
"abort: consistency error in delta!"
This was seen with a clone over ssh, an outgoing hook present (any
non-python type, e.g. 'pwd'), on certain repositories only,
probably depending on the distribution of the sent data)
This patch updates the hook redirection code to flush stdout before
redirecting, removing the problem.
Patrick Mezard <pmezard@gmail.com> [Wed, 16 Nov 2011 12:53:10 +0100] rev 15511
import: fix parent selection when importing merges
With "wp1" and "wp2" the current working directory parents, "p1" and "p2" the
patch parents and "parents" the resulting commit parents, the current behaviour
is:
--bypass --exact p2 parents
0 0 0 [wp1, wp2]
0 0 1 [wp1, wp2]/buggy
0 1 0 [p1]
0 1 1 [p1, p2]
1 0 0 [wp1, wp2]
1 0 1 [p1, p2]
1 1 0 [p1]
1 1 1 [p1, p2]
The original behaviour before
f53dc0787424 was:
--bypass --exact p2 parents
0 0 0 [wp1, wp2]
0 0 1 if p1 == wp1 then [p1, p2] otherwise [wp1, wp2]
0 1 0 [p1]
0 1 1 [p1, p2]
This patch restores the previous behaviour when --bypass is not set, and align
--bypass behaviour when --exact is not set with merge diffs.
Patrick Mezard <pmezard@gmail.com> [Mon, 14 Nov 2011 18:16:01 +0100] rev 15510
patch: simplify hunk extents parsing
Do not capture unwanted groups in regexps
Patrick Mezard <pmezard@gmail.com> [Sun, 13 Nov 2011 21:37:14 +0100] rev 15509
diff: --ignore-blank-lines was too enthusiastic
It was ignoring changes from:
ab
to:
a
b
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Sat, 12 Nov 2011 14:00:25 +0100] rev 15508
graft: disallow grafting grafted csets in specific situations (
issue3091)
In particular, we do not allow:
- grafting an already grafted cset onto its original branch
- grafting already grafted csets with the same origin onto each other
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Sat, 12 Nov 2011 11:23:52 +0100] rev 15507
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Sat, 12 Nov 2011 13:15:40 +0100] rev 15506
graft: preserve original source in subsequent grafts
Dmitry Panov <dop@itoolabs.com> [Sun, 13 Nov 2011 00:29:26 +0000] rev 15505
makedate: wrong timezone offset if DST rules changed this year (
issue2511)
Python's time module sets timezone and altzone based on UTC offsets of
two dates: first and middle day of the current year. This approach
doesn't work on a year when DST rules change.
For example Russia abandoned winter time this year, so the correct UTC
offset should be +4 now, but time.timezone returns 3 hours difference
because that's what it was on 01.01.2011.
Related python issue: http://bugs.python.org/
issue1647654
Marc-Antoine Ruel <maruel@google.com> [Thu, 17 Nov 2011 15:44:37 -0600] rev 15504
posix: fix findexe() to check for file type and access
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Nov 2011 02:44:55 +0100] rev 15503
forget: use forward slashes for internal paths
forget into a subrepo failed on windows because pathes were joined with \.
Mads Kiilerich <mads@kiilerich.com> [Fri, 11 Nov 2011 01:25:47 +0100] rev 15502
check-code: add --nolineno option for hiding line numbers
This makes the output more stable when it is used as a whitelist.
Matt Mackall <mpm@selenic.com> [Wed, 16 Nov 2011 18:04:19 -0600] rev 15501
merge: give a special message for internal:merge failure (
issue3105)
Simon Heimberg <simohe@besonet.ch> [Sat, 12 Nov 2011 02:08:01 +0100] rev 15500
setup: raise when executing with python3 without c2to3 argument
Marc-Antoine Ruel <maruel@google.com> [Wed, 16 Nov 2011 17:55:32 -0600] rev 15499
posix: fix findexe() to check for file type and access
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Nov 2011 02:16:30 +0100] rev 15498
subrepo: use correct paths for subrepos with ..-relative paths on windows
posixpath normpath of c:\foo\bar/../baz is baz, so now we pconvert first.
Mads Kiilerich <mads@kiilerich.com> [Fri, 11 Nov 2011 01:07:10 +0100] rev 15497
add missing localization markup
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 00:10:56 +0100] rev 15496
url: handle file://localhost/c:/foo "correctly"
The path was parsed correctly, but localpath prepended an extra '/' (as in
'/c:/foo') because it assumed it was an absolute unix path.
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 00:10:52 +0100] rev 15495
help: it is 'file://localhost/', not 'file://local/'
The documentation has apparently always been wrong.
Simon Heimberg <simohe@besonet.ch> [Sun, 21 Aug 2011 15:23:43 +0200] rev 15494
setup: support executing with python3 including 2to3
Merge the code from contrib/setup3.py in setup.
The argument for executing is marked as experimental.
Reason: The file in contrib was outdated (packages, cmdclass, ...)
Simon Heimberg <simohe@besonet.ch> [Tue, 01 Nov 2011 20:13:53 +0100] rev 15493
setup: hgbuildmo inherits from Command
hgbuildmo does not need anything provided by the build class.
Simon Heimberg <simohe@besonet.ch> [Sat, 12 Nov 2011 02:07:55 +0100] rev 15492
setup: make script executable with python3
Replace the incompatible print statement. Writing a warning to stderr is a good
idea anyway.
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Aug 2011 08:55:01 -0500] rev 15491
bookmark: remove excess creation of changectx's
Kevin Bullock <kbullock@ringworld.org> [Wed, 17 Aug 2011 08:49:40 -0500] rev 15490
bookmark: same order for options and code
Matt Mackall <mpm@selenic.com> [Tue, 15 Nov 2011 14:33:06 -0600] rev 15489
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 15 Nov 2011 14:25:11 -0600] rev 15488
dirstate: fix case-folding identity for traditional Unix
We used to use os.path.normcase which was a no-op, which was unhelpful
for cases like VFAT on Linux.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 15 Nov 2011 17:16:17 +0100] rev 15487
convert/bzr: fix test of divergent nested renames for bzr 1.x
54c0517c0fe8 introduced a new block in test-convert-bzr-directories.t
which produces a slightly different output with older bzr versions.
Tested with bzr 1.5 on Debian lenny.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 11 Nov 2011 00:22:02 +0100] rev 15486
phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 11 Nov 2011 00:21:17 +0100] rev 15485
phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 11 Nov 2011 00:19:00 +0100] rev 15484
phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 11 Nov 2011 00:15:22 +0100] rev 15483
phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 11 Nov 2011 00:16:53 +0100] rev 15482
phases: add retractboundary function to move boundary backward
The advanceboundary documentation is updated to highlight the difference.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 10 Nov 2011 01:09:15 +0100] rev 15481
phases: rename moveboundary into advance boundary
This rename prepare the creation of retract boundaru that move boundary backward
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 10 Nov 2011 01:08:08 +0100] rev 15480
phases: remove underbar into target_phase argument
Matt Mackall <mpm@selenic.com> [Thu, 10 Nov 2011 17:06:30 -0600] rev 15479
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 10 Nov 2011 17:06:12 -0600] rev 15478
tests: fix trailing whitespace
Matt Mackall <mpm@selenic.com> [Thu, 10 Nov 2011 15:55:26 -0600] rev 15477
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 10 Nov 2011 15:40:34 -0600] rev 15476
mq: add a warning about uncommitted changes for qfinish
Matt Mackall <mpm@selenic.com> [Thu, 10 Nov 2011 15:08:51 -0600] rev 15475
hgweb: add hint about finding library path with debuginstall
David M. Carr <david@carrclan.us> [Wed, 09 Nov 2011 19:46:51 -0500] rev 15474
forget: support forgetting explicit paths in subrepos
Change the behavior of the forget command such that explicit paths in
subrepos are handled by forgetting the file in the subrepo. This eliminates the
previous behavior where if you called "hg forget" for an explicit path in a
subrepo, it would state that the file is already untracked.
David M. Carr <david@carrclan.us> [Wed, 09 Nov 2011 19:46:49 -0500] rev 15473
tests: add test for behavior of forget for explicit path in subrepo
Adds a section to test-subrepo.t that demonstrates the current behavior
when you pass the full path to a file in a subrepo to hg forget.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 11 Nov 2011 02:33:01 +0900] rev 15472
largefiles: treat status of cache missed largefiles as "missing" correctly
"hg status" may treat cache missed largefiles as "removed" incorrectly.
assumptions for problem case:
- there is no cache for largefile "L"
- at first, update working directory to the revision in which "L" is
not yet added,
- then, update working directory to the revision in which "L" is
already added
and now, "hg status" treats "L" as "removed".
current implementation does not allocate entry for cache missed
largefile in ".hg/largefiles/dirstate", but files without
".hg/largefiles/dirstate" entry are treated as "removed" by largefiles
extension.
"hg revert" can not recover from this situation, but "rm -rf
.hg/largefiles", because it causes dirstate rebuilding.
this patch invokes normallookup() for cache missed largefiles to
allocate entry in ".hg/largefiles/dirstate", so "hg status" can treat
it as "missing" correctly.
Matt Mackall <mpm@selenic.com> [Thu, 10 Nov 2011 11:00:27 -0600] rev 15471
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 10 Nov 2011 11:00:02 -0600] rev 15470
merge with i18n
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Tue, 08 Nov 2011 17:09:48 +0100] rev 15469
rebase: ensure target is not taken as external (
issue3085)
This could happen in specific situations in which 'target'
was selected as external and used for p1 _and_ p2.
Matt Mackall <mpm@selenic.com> [Thu, 10 Nov 2011 10:59:03 -0600] rev 15468
merge with i18n
Martin Geisler <mg@lazybytes.net> [Wed, 09 Nov 2011 19:01:10 +0100] rev 15467
i18n: merge with stable
Martin Geisler <mg@lazybytes.net> [Wed, 09 Nov 2011 18:58:17 +0100] rev 15466
i18n-da: add new strings from Mercurial 2.0
Martin Geisler <mg@lazybytes.net> [Wed, 09 Nov 2011 18:26:54 +0100] rev 15465
i18n-ru: fix translation of --logfile (
issue3095)
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Sun, 06 Nov 2011 23:35:33 +0100] rev 15464
rebase: treat nullmerge as a special case in rebasestate (
issue3046)
When storing/restoring a nullmerge (-2), a 'standard' conversion was made
and an existing changeset was wrongly used.
Nullmerge should instead be treated as a special case.
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Tue, 08 Nov 2011 21:31:39 +0100] rev 15463
graft: mark a string for translation
Nicolas Venegas <nvenegas@atlassian.com> [Wed, 09 Nov 2011 16:55:59 -0800] rev 15462
mdiff/patch: fix bad hunk handling for unified diffs with zero context
Prior to this patch "hg diff -U0", i.e., zero lines of context, would
output hunk headers with a start line one greater than what GNU patch
and git output. Guido van Rossum documents the unified diff format[1]
as having a start line value "one lower than one would expect" for
zero length hunks.
Comparing the behaviour of the three systems prior to this patch in
transforming
c1
c3
to
c1
c2
c3
- GNU "diff -U0" reports the hunk as "@@ -1,0 +2 @@"
- "git diff -U0" reports the hunk as "@@ -1,0 +2 @@"
- "hg diff -U0" reports the hunk as "@@ -2,0 +2,1 @@"
After this patch, "hg diff -U0" reports "@@ -1,0 +2,1 @@".
Since "hg export --config diff.unified=0" outputs zero-context unified
diffs, "hg import" has also been updated to account for start lines
one less than expected for zero length hunk ranges.
[1]: http://www.artima.com/weblogs/viewpost.jsp?thread=164293
Patrick Mezard <pmezard@gmail.com> [Tue, 08 Nov 2011 17:08:58 +0100] rev 15461
convert/bzr: correctly handle divergent nested renames (
issue3089)
With renames like:
a -> b
a/c -> a/c
We were ignoring or duplicating the second one instead of leaving files
unchanged or moving them to their proper destination only.
To avoid this, we process the files in reverse lexicographic order, from most
to least specific change, and ignore files already processed.
v2:
- Add a test
- Change "reverse=1" into "reverse=True"
Simon Heimberg <simohe@besonet.ch> [Tue, 01 Nov 2011 20:13:53 +0100] rev 15460
setup: subclass build command
Simon Heimberg <simohe@besonet.ch> [Tue, 01 Nov 2011 20:13:52 +0100] rev 15459
setup: has_ext_modules always returns false when pure is specified
When pure is specified ext_modules is emptied in hgbuildpy.finalize_options.
Before this happens has_ext_modules returned True.
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 05:57:39 +0200] rev 15458
setup: subclass distribution instead of overwriting original
Matt Mackall <mpm@selenic.com> [Wed, 09 Nov 2011 16:36:54 -0600] rev 15457
check-code: enable camelcase check, fix up problems
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 07 Nov 2011 13:20:22 +0100] rev 15456
phases: handle unknown nodes in boundary
We filter unknown node out of the boundary. No data is lost. A
filtering is explicitly done after strip too
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 07 Nov 2011 12:27:25 +0100] rev 15455
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 07 Nov 2011 14:11:01 +0100] rev 15454
phases: add a moveboundary function to move phases boundaries
Also include logic to detect when to write phases data.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 07 Nov 2011 18:37:58 +0100] rev 15453
phases: improve context.phase()
* force recompute of outdated cache
* handle nullrev case
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 15452
util: don't encode ':' in url paths
':' has no special meaning in paths, so there is no need for encoding it.
Not encoding ':' makes it easier to test on windows.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 15451
run-tests: make $TESTTMP matching case-insensitive on windows
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 15450
run-tests: don't quote command names - that do apparently not work with msys
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 15449
tests: ignore \r on windows
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 15448
run-tests: convert windows paths to unix
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 15447
tests: make (glob) on windows accept \ instead of /
Globbing is usually used for filenames, so on windows it is reasonable and very
convenient that glob patterns accepts '\' or '/' when the pattern specifies
'/'.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:24:53 +0100] rev 15446
tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 15445
tests: use 'hghave system-sh' to guard tests that requires sh in system()
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 15444
tests: use 'hghave no-windows' to avoid testing reserved file names on windows
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 15443
tests: use 'hghave unix-permissions' for tests that really use chmod
chmod of helper scripts is not included.
tests that exercise the x bit in the file system uses 'hghave execbit'.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:54 +0100] rev 15442
tests: use 'hghave execbit' for tests that manipulate x bit in file system
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:54 +0100] rev 15441
tests: use 'hghave symlink' for tests using symlinks
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:54 +0100] rev 15440
windows: use umask 022 in debugstate output
debugstate would always report files as mode 666 or 777 on Windows.
umask is not used on Windows, but faking and using a defalt value of 022
matches what the test suite uses on Unix.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:53 +0100] rev 15439
dispatch: exit with 8-bit exit code
The exit code returned from a program to the shell is unsigned 8-bit, but
Mercurial would sometimes try to exit with negative numbers or None. sys.exit
on Unix will convert that to 8-bit exit codes, but on Windows negative values
showed up as 0.
The exit code is now explicitly converted to unsigned 8-bit.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:53 +0100] rev 15438
tests: don't let time go back before 0 o'clock in bisect3.t
Windows agree that it was
Thu Jan 01 00:00:00 1970 +0000
but it also claims that it was
Thu Dec 31 23:59:59 1969 -0000
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 02:49:00 +0100] rev 15437
diff: always use / in paths in diff
Subrepo diffs would sometimes use backslash on windows.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 02:49:00 +0100] rev 15436
cmdutil: don't use repr on paths in pathauditor - it looks strange on windows
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 02:44:04 +0100] rev 15435
tests: make '(esc)' matching in run-tests.py work as intended
The code for match on (esc) lines didn't work, and it would thus always end up
emitting another suggestion ... which however would match the old one.
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:41 -0600] rev 15434
run-tests: replace inline python handling with more native scheme
Normally changes in tests are reported like this in diffs:
$ cat foo
- a
+ b
Using -i mode lets us update tests when the new results are correct
and/or populate tests with their output.
But with the standard doctest framework, inline Python sections in
tests changes instead result in a big failure report that's unhelpful.
So here, we replace the doctest calls with a simple compile/eval loop.
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:39 -0600] rev 15433
merge with crew
Martin Geisler <mg@aragost.com> [Fri, 04 Nov 2011 10:39:04 +0100] rev 15432
merge with stable
Martin Geisler <mg@aragost.com> [Fri, 04 Nov 2011 10:32:13 +0100] rev 15431
merge with main
Martin Geisler <mg@aragost.com> [Fri, 04 Nov 2011 10:31:38 +0100] rev 15430
merge with main
David M. Carr <david@carrclan.us> [Thu, 03 Nov 2011 23:12:31 -0400] rev 15429
subrepo: improve help for svn subrepo support
Add details on which commands are supported for Subversion subrepos.
David M. Carr <david@carrclan.us> [Thu, 03 Nov 2011 23:12:30 -0400] rev 15428
subrepo: improve help for git subrepo support
Add details on which commands are supported for git subrepos.
David M. Carr <david@carrclan.us> [Thu, 03 Nov 2011 23:11:40 -0400] rev 15427
subrepo: update help for commit to reflect new default behavior
Update the subrepo help to be consistent with the new default behavior,
which is to abort if any subrepo is dirty.
Martin Geisler <mg@aragost.com> [Thu, 03 Nov 2011 14:40:58 +0100] rev 15426
merge with stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 03 Nov 2011 10:52:58 -0200] rev 15425
i18n: disable translations with conflicting prompt keys (
issue3082)
This is just a stopgap until a proper solution is implemented.
Matt Mackall <mpm@selenic.com> [Sun, 06 Nov 2011 14:40:31 -0600] rev 15424
log: hide hidden option until it actually does something
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Nov 2011 00:40:47 +0100] rev 15423
phases: add a very simple test
Note that the expected output is wrong as is should be phase-1. But
the machinery to plant new root is to come in later commit.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 09 Oct 2011 14:25:04 +0200] rev 15422
phases: add a phase template keyword
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 18 Oct 2011 18:25:53 +0200] rev 15421
phases: add a phase method to context
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Nov 2011 00:20:20 +0100] rev 15420
phases: add a cache allowing to know in which phase a changeset is
Matt Mackall <mpm@selenic.com> [Sun, 06 Nov 2011 11:57:24 -0600] rev 15419
phases: handle errors other than ENOENT appropriately
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Nov 2011 00:16:24 +0100] rev 15418
phases: basic I/O logic
Add function to read and write phase roots. Add a _phaseroots filecache on
localrepo class to access the phaseroots data.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 03 Nov 2011 23:49:14 +0100] rev 15417
phases: Minimal first add.
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 15:18:10 -0500] rev 15416
run-tests: minor cleanups
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 15:08:45 -0500] rev 15415
run-tests: pull out line matching function
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:51:04 -0500] rev 15414
run-tests: pull out unified matching funcs
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:48:56 -0500] rev 15413
tests: add some comments to the unified test code
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:30:00 -0500] rev 15412
tests: rewrite inline Python support
Tests with inline Python could turn '>>>' into their underlying python
invocation if the test got updated with -i.
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 12:58:30 -0500] rev 15411
merge with stable
David M. Carr <david@carrclan.us> [Wed, 02 Nov 2011 01:17:11 -0400] rev 15410
add: support adding explicit files in subrepos
Change the behavior of the add command such that explicit paths in
subrepos are always added. This eliminates the previous behavior
where if you called "hg add" for an explicit path in a subrepo
without specifying the -S option, it would be silently ignored.
If you specify patterns, or no arguments at all, the -S option
will still be needed to activate recursion into subrepos.
David M. Carr <david@carrclan.us> [Tue, 01 Nov 2011 23:53:29 -0400] rev 15409
tests: add test for add of explicit path in subrepo
Add test coverage for the existing behavior where adds of explicit paths in
subrepos are silently ignored. This is in preparation for changing the
behavior of the add command to have better support for subrepos.
Hao Lian <hao@fogcreek.com> [Thu, 03 Nov 2011 10:59:32 -0400] rev 15408
largefiles: ensure destination directory exists before findfile links to there
When (1) findfile links a largefile from the user cache to the store
and (2) the store directory doesn't exist yet, findfile errors out. A
simple call to util.makedirs fixes it.
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 11:24:55 -0500] rev 15407
misc: adding missing file close() calls
Spotted by Victor Stinner <victor.stinner@haypocalc.com>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 20 Oct 2011 00:37:34 +0200] rev 15406
bisect: remove superfluous parameter in label()
The argument is not used. This is a left-over of non-published
iterations, and it passed through.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Matt Mackall <mpm@selenic.com> [Wed, 02 Nov 2011 15:06:40 -0500] rev 15405
log: hide some low-utility options
Matt Mackall <mpm@selenic.com> [Wed, 02 Nov 2011 13:51:16 -0500] rev 15404
localrepo: convert various repo.set() users to repo.revs()
Matt Mackall <mpm@selenic.com> [Wed, 02 Nov 2011 13:37:34 -0500] rev 15403
localrepo: add revs helper method
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 16:49:30 -0500] rev 15402
merge with stable, reopen default branch
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 15:37:00 -0500] rev 15401
Added signature for changeset
41453d55b481
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 15:36:56 -0500] rev 15400
Added tag 2.0 for changeset
41453d55b481
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 15:19:37 -0500] rev 15399
dirstate: don't fail when dropping a not-tracked file (
issue3080)
Complex merges with divergent renames can cause a file to be 'moved'
twice, causing dirstate.drop() to be called twice. Rather than try to
ensure there are no unexpected corner cases where this can happen, we
simply ignore drops of files that aren't tracked.
Brodie Rao <brodie@bitheap.org> [Tue, 01 Nov 2011 12:25:54 -0700] rev 15398
tests: fix readline escape characters in heredoctest.py/test-url.py
This fix mirrors the changes made to test-doctest.py in
b856071435f7
and
967adcf5910d.
Without this change, tests running heredoctest.py can fail on certain
versions of OS X when TERM is set to xterm-256color:
$ /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m heredoctest <<EOF
> >>> open('b', 'w').write('this' * 1000)
> EOF
+ \x1b[?1034h (no-eol) (esc)
A similar problem occurs with test-url.py:
$ ./run-tests.py test-url.py
--- .../tests/test-url.py.out
+++ .../tests/test-url.py.err
@@ -0,0 +1 @@
+
ERROR: .../test-url.py output changed
!
Failed test-url.py: output changed
# Ran 1 tests, 0 skipped, 1 failed.
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 12:49:06 -0500] rev 15397
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 31 Oct 2011 11:27:16 -0200] rev 15396
i18n-pt_BR: synchronized with
a53888685a6c
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 31 Oct 2011 11:24:37 -0200] rev 15395
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 31 Oct 2011 20:58:49 +0900] rev 15394
i18n-ja: synchronized with
b357a972d6cd
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 31 Oct 2011 21:06:18 +0900] rev 15393
minirst: use unicode string as intermediate form for replacement
# this change redones part of
521c8e0c93bf, backed out by
0ad0ebe67815
Some character encodings use ASCII characters other than
control/alphabet/digit as a part of multi-bytes characters, so direct
replacing with such characters on strings in local encoding causes
invalid byte sequences.
[mpm: test changed to simple doctest]
Matt Mackall <mpm@selenic.com> [Mon, 31 Oct 2011 15:41:39 -0500] rev 15392
util: add a doctest for empty sha() calls
Hao Lian <hao@fogcreek.com> [Thu, 20 Oct 2011 17:24:59 -0400] rev 15391
largefiles: replace tempfile.NamedTemporaryFile with tempfile.mkstemp
This is consistent with the rest of Mercurial's code, mirroring the
try-finally-unlink structure elsewhere. Furthermore, it fixes the case where
largefiles throws an IOError on Windows when the temporary file is opened a
second time by copytocacheabsolute.
This patch creates the temporary file in the repo's largefiles store rather than
/tmp, which might be a different filesystem.
Matt Mackall <mpm@selenic.com> [Mon, 31 Oct 2011 14:22:11 -0500] rev 15390
util: allow sha1() with no args
Normally this works because we replace util.sha1 with hashlib.sha1
after first use, but if the first user doesn't provide an arg, it
breaks.
Matt Mackall <mpm@selenic.com> [Mon, 31 Oct 2011 14:22:11 -0500] rev 15389
tests: use md5sum.py instead of sha1sum, add check