Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 15:30:25 -0600] rev 15960
Added tag 2.1-rc for changeset db33555eafea
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 15:25:39 -0600] rev 15959
bookmarks: correct correction of -i
Idan Kamara <idankk86@gmail.com> [Fri, 20 Jan 2012 23:05:14 +0200] rev 15958
commands: drop exclamation mark in abort message
Kevin Bullock <kbullock@ringworld.org> [Thu, 19 Jan 2012 16:10:26 -0600] rev 15957
update: note ways to avoid moving bookmark
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 20 Jan 2012 21:21:13 +0100] rev 15956
push: prevent moving phases outside of the pushed subset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:41:18 +0100] rev 15955
discovery: ensure that missingheads are always heads of everything we tried
This only alter the third block executed when:
* repo have secret changeset
* onlyheads is not None
In other case findcommonoutgoing already had this behavior
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:23:53 +0100] rev 15954
phase: extracts heads computation logics from analyzeremotephases
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:18:09 +0100] rev 15953
phase: fix warning text from invalid remote phase
add missing end of line and substitution.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 18:45:29 +0100] rev 15952
mq-safety: don't apply safety on non-outgoing changeset
When mq changeset are secret, they don't appear in outgoing and won't be
pushed. So it's not necessary to abort the push.
The checkpush call is protected by lock to prevent race on phase.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 20 Jan 2012 00:27:11 +0100] rev 15951
phases: properly register excluded changeset when revision are specified
There was no other drawback than a bad UI message for now.
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 14:19:13 -0600] rev 15950
bookmarks: make -i summary simpler and more accurate
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 14:18:51 -0600] rev 15949
revset: allow slashes in symbols
suggested by Ryan Kelly
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:19:32 -0200] rev 15948
phases: do not mark debug message for translation
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:10:01 -0200] rev 15947
templatekw: fix phase keywords
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 12:57:13 -0200] rev 15946
phases: fix typo in warning message
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 12:04:45 -0200] rev 15945
rebase: drop uppercase in abort message
Na'Tosha Bard <natosha@unity3d.com> [Fri, 02 Dec 2011 18:20:32 +0100] rev 15944
largefiles: add --normal option to hg add (issue3061)
Na'Tosha Bard <natosha@unity3d.com> [Fri, 20 Jan 2012 11:56:12 +0100] rev 15943
largefiles: fix caching largefiles from an aliased repo (issue3212)
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:56:27 +0100] rev 15942
run-tests: expand user in --with-hg
This makes it possible to run:
$ ./run-tests.py --with-hg=~/hg-bin/hg
Mads Kiilerich <mads@kiilerich.com> [Fri, 20 Jan 2012 01:24:16 +0100] rev 15941
tests: let run-tests.py default to use 'sh' in $PATH instead of '/bin/sh'
This makes it easier to run tests on systems that have a usable sh in the
search path but not in the standard location.
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:55:50 +0100] rev 15940
tests: add 'set -x' to the .t sh scripts in run-tests.py debug mode
This makes -d output much more readable when debugging the test framework or
very strange test failures.
Kevin Bullock <kbullock@ringworld.org> [Thu, 19 Jan 2012 16:05:01 -0600] rev 15939
bookmarks: clarify help for -i/--inactive
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:19:39 -0200] rev 15938
revset: fix typo in message
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:34:32 -0600] rev 15937
merge default into stable for 2.1 code freeze
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:31:05 -0600] rev 15936
revset: add remote() predicate to lookup remote revisions
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:07:48 -0600] rev 15935
bookmarks: automatically advance bookmark on naked update (BC) (issue2894)
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 11:35:06 -0600] rev 15934
qimport: back out 2eec74d7ce95
This patch presumed mq csets must always be secret, which isn't yet
established.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 16:09:43 +0100] rev 15933
phases: only synchronize on common changeset when push fails
If push failed we should not expect the pushed changeset to exist on remote.
The common set before the push is used for phase related operation instead of
common + missing.
Note:
* We still pull phase data even if push fails
* We still try to push data even if push fails (same than bookmark)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 15:50:55 +0100] rev 15932
discovery: diet discovery.prepush from non-discovery code
The ``discovery.prepush`` function was doing multiple things not related to
discovery. This changeset move some code into the ``localrepo.push`` method. The
old ``discovery.prepush`` function jobs is now restricted to checking for
multple head creation. It was then renamed ``discovery.checkheads``.
This new ``discovery.checkheads`` function may receive several other changes in
the future but we are a bit too much near the freeze for a wider refactoring.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 11:30:37 +0100] rev 15931
qfinish: set all qfinished patch as draft, not only qbase
Fix a silly bug.
Patrick Mezard <pmezard@gmail.com> [Thu, 19 Jan 2012 10:07:13 +0100] rev 15930
largefiles: test and simplify empty directory removal in remove
Mads Kiilerich <mads@kiilerich.com> [Thu, 19 Jan 2012 02:14:06 +0100] rev 15929
tag: invalidate tag cache immediately after adding new tag (issue3210)
New tags were written to .hgtags / .hglocaltags without updating or
invalidating the localrepo cache.
Before afd459933d5f a lock was acquired soon after the new tags had been
written, and that invalidated the cache so the new tags for example could be
seen in pretxncommit hooks. With afd459933d5f the lock had already been
acquired at this point and the missing cache invalidation was exposed.
The tag caches will now explicitly and immediately be invalidated when new tags
are added.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:18:38 +0100] rev 15928
mq: ensure mq changesets are set to secret when no phase data are found
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 02:26:00 +0100] rev 15927
mq: qimporting revision set them to secret
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 16:53:49 +0100] rev 15926
mq: have mq create secret changeset only
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 20:00:48 -0600] rev 15925
wireproto: refuse to lookup secret csets
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 19:16:01 -0600] rev 15924
qclone: ignore local qbase if secret
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 18:14:55 -0600] rev 15923
rebase: only advance phase on successful commit
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:23:54 +0100] rev 15922
phases: mechanism to allow extension to alter initial computation of phase
This commit add a whennodata list where extension can register a callback to be
called if no phase related data are found in the repository.
The goal is to ensure the existing extension that move phase data in 2.1 can
compute consistent phase boundary for existing repo.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:11:27 +0100] rev 15921
qclone: add a few comment and blank line
This help readability.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:06:59 +0100] rev 15920
mq: turn changeset draft on qfinish (except if qparent is secret)
As mq automatically sets changesets as secret, it should make them draft when he
is done with it. We do not move them automatically to draft when we detect that
something else have also set them as secret through their parents.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 16:52:26 +0100] rev 15919
config: have a way to backup and restore value in config
This is introduce to allow temporary overwriting of a config value while being
able to reinstall the old value once done. The main advantage over using
``config`` and ``setconfig`` is that backup and restore will properly restore
the lack of any config. Restoring the fact that there was no value is important
to allow config user to keep using meaniful default value.
A more naive approach will result in the following scenario::
Before:
config(section, item, my_default) --> my_default
temporal overwrite
old = config(section, item)
…
setconfig(section, item, old)
After
config(section, item, my_default) --> None
The first user of this feature should be mq to overwriting minimal phase of
future commit.
Alain Leufroy <alain.leufroy@logilab.fr> [Tue, 17 Jan 2012 11:08:23 +0100] rev 15918
graft: add test to check the phase of new changesets
Graft actually do not keep the phase of the source
changesets: no need to change the graft code and add
test to check this behaviour.
Alain Leufroy <alain.leufroyATgmailMYDOTcom> [Tue, 17 Jan 2012 09:12:14 +0100] rev 15917
rebase: fix phases movement
Rebase now try to keep the phases of source changesets.
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 11:33:14 +0100] rev 15916
largefiles: cache new largefiles for new heads when pulling
When the user pulls from a remote repository that is not his default repo, it
is quite likely that he will pull a new head. This means that if he tries to
merge or rebase with the other head, he will run into a problem becuase
largefiles has no way of tracking where the remote repository for this other
head is, so it cannot download the largefiles from this other remote repository.
It will attempt to download them from its default remote repository, which will
not yet contain the largefiles.
This patch solves this problem by caching any new largefiles for all heads
directly into the system cache at the time of the pull, so they are available
later.
This behavior is actually more in line with Mercurial's distributed nature,
because pulling already implies we have a connection to the remote server, but
merging or rebasing does not.
Patrick Mezard <pmezard@gmail.com> [Wed, 18 Jan 2012 14:33:19 +0100] rev 15915
largefiles: remove unused lfutil.readhash()
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 14:19:43 +0100] rev 15914
largefiles: check if largefile could be found when archiving (issue3193)
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 13:41:03 +0100] rev 15913
largefiles: refactor lfutil.findfiles to be more logical
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:59 -0500] rev 15912
forget: fix subrepo recursion for explicit path handling
When support for handling explicit paths in subrepos was added to the forget
command (95174c381525), subrepo recursion wasn't taken into account. This
change fixes that by pulling the majority of the logic of commands.forget into
cmdutil.forget, which can then be called from both there and subrepo.forget.
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:58 -0500] rev 15911
add: fix subrepo recursion for explicit path handling
When support for handling explicit paths in subrepos was added to the add
command (9e99d2bbb1b1), subrepo recursion wasn't taken into account. This
change adds an explicitonly argument to cmdutil.add to allow controlling which
levels of recursion should include only explicit paths versus all matched
paths.
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:54 -0500] rev 15910
tests: add subrepo recursion tests for add/forget with explicit paths
When support for handling add/forget of explicit paths within subrepos was
added (9e99d2bbb1b1/95174c381525), nested subrepos weren't handled properly.
This change adds test coverage to expose the broken behavior, which will be
fixed in later patches.
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 15:07:15 -0600] rev 15909
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 14:56:52 -0600] rev 15908
bookmarks: backout locking change in 12dea4d998ec
Repo lock only applies to data in .hg/store/
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 20:23:23 +0100] rev 15907
changeset_printer: display changeset phase on debug level
Backward compatibility make it hard to display it on higher level
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 20:43:41 +0100] rev 15906
phase: report phase movement
When used in "set" mode, the phase command now display the number of changeset
who changed phase.
Na'Tosha Bard <natosha@unity3d.com> [Mon, 16 Jan 2012 19:45:35 +0100] rev 15905
largefiles: correctly handle newly added largefile on other side of merge
Mads Kiilerich <mads@kiilerich.com> [Tue, 17 Jan 2012 02:55:55 +0100] rev 15904
rebase: write series file without removed mq patches
Rebase will remove empty changesets and will also completely remove the mq
patch file for rebased empty patches.
Starting with b28004513977 (1.9) it would preserve guards by writing the old
series file back. That would however also reintroduce removed patch files in
the series file and the inconsistency would make qpop + qpush fail.
This patch backs out most of b28004513977 and makes sure guards are preserved
without reintroducing removed patches.
Matt Mackall <mpm@selenic.com> [Tue, 17 Jan 2012 17:48:59 -0600] rev 15903
revset: roots needs to be computed on full set
Sune Foldager <cryo@cyanite.org> [Wed, 18 Jan 2012 16:46:15 +0100] rev 15902
phases: use nodemap to check for missing nodes
Henrik Stuart <henrik.stuart@edlund.dk> [Wed, 18 Jan 2012 14:50:17 +0100] rev 15901
repair: move phases code after invalidation code
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jan 2012 11:29:32 +0100] rev 15900
largefiles: remove empty directories upon update (issue3202)
Matt Mackall <mpm@selenic.com> [Mon, 16 Jan 2012 01:21:30 -0600] rev 15899
revset: optimize roots and children
Matt Mackall <mpm@selenic.com> [Mon, 16 Jan 2012 01:21:22 -0600] rev 15898
revset: optimize building large lists in formatrevspec
The large or-expressions we used to build required a substantial
amount of subset filtering in orset() which was inefficient. Instead we build a
single string which we process in one go with a special internal predicate.
Mads Kiilerich <mads@kiilerich.com> [Thu, 08 Dec 2011 16:28:18 +0100] rev 15897
hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
The Mercurial ssh protocol is defined as if it was ssh-ing to a shell account on
an ordinary ssh server, and where hg was available in $PATH and it executed
the command "hg -R REPOPATH serve --stdio".
The Mercurial ssh client can in most cases just pass REPOPATH to the shell, but
if it contains unsafe characters the client will have to quote it so the shell
will pass the right -R value to hg. Correct quoting of repopaths was introduced
in d8fa35c28335 and tweaked in 86fc364ca5f8.
hg-ssh doesn't create the command via a shell and used a simple parser instead.
It worked fine for simple paths without any quoting, but if any kind of quoting
was used it failed to parse the command like the shell would do it.
This makes hg-ssh behave more like a normal shell with hg in the path would do.
Matt Zuba <matt.zuba@goodwillaz.org> [Sun, 15 Jan 2012 13:50:12 -0700] rev 15896
hooks: prioritize run order of hooks
As of Mercurial 1.3, hooks are sorted in the order they are read into
Mercurial. There are many instances when someone may want the hooks
sorted in a specific order; this patch allows prioritizing hooks, while
maintaining the existing enumeration for hooks without a priority.
Matt Mackall <mpm@selenic.com> [Sun, 15 Jan 2012 18:00:01 -0600] rev 15895
merge with stable
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Wed, 11 Jan 2012 15:53:42 -0500] rev 15894
merge: report all files in _checkunknown
When doing hg up, if there is a file conflict with untracked files,
currently only the first such conflict is reported. With this patch,
all of them are listed.
With this patch error message is now reported as
a: untracked file differs
b: untracked file differs
abort: untracked files in working directory conflict with files in
requested revision
instead of
abort: untracked file in working directory differs from file in
requested revision: 'a'
This is a follow up to an old attempt to do this here:
http://selenic.com/pipermail/mercurial-devel/2011-August/033625.html
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 22:16:01 +0100] rev 15893
discovery: fix prepush documentation
The prepush documentation claim that when we refuse to push, the second element
of the returng tuple is an "outgoing" integer. value should be 0 when no
outgoing changeset and 1 otherwise. In pratice if there are no outgoing
changeset, "outgoing" value is alway 1 and util.Abort is raised on other error.
the stable branch also include this error so it wasn't introduced by a recent
refactoring.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 02:04:16 +0100] rev 15892
phases: simplify phase exchange and movement over pushkey
The code now only exchange draft root and only care about movement related to
public//draft boundary.
There is multiple reason to simplify this code:
* Secret are never discovered anymore
* We decided to not support more the three existing phase
Removing phase index from pushkey (if ever decided) will be made in another commit.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 01:42:47 +0100] rev 15891
phases: move phase according what was pushed not only what was added added
This fix the lack phase movement when a locally secret changeset without added
children was pushed to the repository. In such case, this changeset would be
present in the bundle source, but not in the ``added`` variable.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 01:29:03 +0100] rev 15890
revlog: make addgroup returns a list of node contained in the added source
This list will contains any node see in the source, not only the added one.
This is intended to allow phase to be move according what was pushed by client
not only what was added.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 12 Jan 2012 01:25:57 +0100] rev 15889
phases: make secret changeset undiscoverable in all case
This apply the redefined stronger semantic of secret.
Secret changeset can still leak in various way. Those leak will need to be fixed individualy
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 11 Jan 2012 17:26:27 +0100] rev 15888
phases: exclude secret when doing a local clone
This is achieved by denying copy clone when any secret changeset exist.
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 02:30:43 +0100] rev 15887
bookmarks: primarily use repo lock, not wlock
Bookmarks are repository data, not working directory data. Only the current
bookmark is working directory data.
Some lock shuffling is required to avoid lockout between the initial mock lock
and locking of the localrepo instance that is created after copying.
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 02:29:38 +0100] rev 15886
localrepo: update branchcache in a more reliable way
test-mq-cache.t did apparently look at stale cache content.
Testing with different locking mechanism happened to update the cache more
frequently and thus caused a test failure.
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 01:19:08 +0100] rev 15885
tests: make qnew in test-mq-caches.t stable
The unstable hashes did for other reasons not show up in the test output.
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 01:19:08 +0100] rev 15884
localrepo: remove spurious updatebranchcache return value
- it was left over from the refactoring in d01e28657429.
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:29:56 +0100] rev 15883
mq: only save dirty files once when savedirty is called multiple times
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:29:56 +0100] rev 15882
mq: remove early wlock release in qnew
It seems like something that missed the refactoring in 97b734fb9c6f.
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:29:55 +0100] rev 15881
mq: use .invalidate to cancel dirty mq state when cancelling transaction
Before the code optimistically relied on savedirty not being called a cancelled
transaction. If it was called it could save incorrect data.
Instead we now start using the invalidate method introduced in b169ba60eebe.
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:29:55 +0100] rev 15880
mq: make qsave implementation more explicit
It wasn't obvious from the code how qsave mocked around with .hg/patches and
.hg/patches.? and what was going on.
This makes it more explicit so it will survive future refactorings.
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:28:36 +0100] rev 15879
mq: consistently use boolean values for dirty flags
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:28:12 +0100] rev 15878
mq: minor cleanup
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 01:19:07 +0100] rev 15877
tag: lock before tagging
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 01:19:07 +0100] rev 15876
tests: lock before creating transaction in test-filelog
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 01:19:07 +0100] rev 15875
debugbuilddag: lock repo before starting transaction
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 01:19:07 +0100] rev 15874
rebase: take locks in the right order
repo.lock was taken before repo.wlock - that could in principle cause a deadlock.
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 01:56:05 +0100] rev 15873
tests: keep track of all check-code.py warnings
Christian Ebert <blacktrash@gmx.net> [Sun, 15 Jan 2012 13:39:09 +0100] rev 15872
filectx: typo in comment
Christian Ebert <blacktrash@gmx.net> [Sun, 15 Jan 2012 13:37:33 +0100] rev 15871
keyword: update filectx.cmp monkeypatch to handle '\1\n' at start of file
Analogous to 012b285cf643.
Jim Hague <jim.hague@acm.org> [Wed, 11 Jan 2012 16:54:29 +0000] rev 15870
bugzilla: make XMLRPC interface support http and https access
Inadvertently support is currently only for https. For some reason I
thought xmlrpclib.SafeTransport did http and https, but it is https only.
So create http and https XMLRPC transports that retain cookies. Decide which
to use by inspecting the Bugzilla URL.
Matt Mackall <mpm@selenic.com> [Fri, 13 Jan 2012 11:29:53 -0600] rev 15869
merge with stable
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