--- a/i18n/ja.po Sat Feb 27 21:29:42 2016 -0800
+++ b/i18n/ja.po Mon Feb 29 17:52:17 2016 -0600
@@ -162,8 +162,8 @@
msgstr ""
"Project-Id-Version: Mercurial\n"
"Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2016-02-01 22:30+0900\n"
-"PO-Revision-Date: 2016-02-01 22:50+0900\n"
+"POT-Creation-Date: 2016-02-29 21:02+0900\n"
+"PO-Revision-Date: 2016-02-29 22:32+0900\n"
"Last-Translator: Japanese translation team <mercurial-ja@googlegroups.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
@@ -1493,15 +1493,13 @@
" replace os.environ completely"
msgstr ""
-#, fuzzy
msgid ""
"'SIGHUP' signal\n"
" reload configuration files\n"
-msgstr " (非推奨: 設定ファイル経由で指定してください)"
-
-#, fuzzy
+msgstr ""
+
msgid "invalid response"
-msgstr "引数が不正です"
+msgstr ""
#, python-format
msgid "abort: %s\n"
@@ -5042,12 +5040,12 @@
msgid ""
"By default each edited revision needs to be present in histedit commands.\n"
"To remove revision you need to use ``drop`` operation. You can configure\n"
-"the drop to be implicit for missing commits by adding:"
+"the drop to be implicit for missing commits by adding::"
msgstr ""
"全ての改変対象リビジョンに対して、 改変指示の記述が必要になります。\n"
"特定のリビジョンを破棄する場合は ``drop`` 操作を指定してください。\n"
"以下の記述を追加することで、 改変指示のないリビジョンに対して、\n"
-"``drop`` 操作を実施させることができます:"
+"``drop`` 操作を実施させることができます::"
msgid ""
" [histedit]\n"
@@ -5186,11 +5184,11 @@
msgid ""
" This command lets you edit a linear series of changesets (up to\n"
" and including the working directory, which should be clean).\n"
-" You can::"
+" You can:"
msgstr ""
" 本コマンドは、 作業領域の親と、 その直系の祖先の履歴改変を行います\n"
" (作業領域中の変更は、 事前にコミット/破棄してください)。\n"
-" 利用可能な改変操作機能は以下の通りです::"
+" 利用可能な改変操作機能は以下の通りです:"
msgid " - `pick` to [re]order a changeset"
msgstr " - `pick` でリビジョンを採用"
@@ -5210,18 +5208,18 @@
msgid " - `edit` to edit this changeset"
msgstr " - `edit` で変更内容を再編集"
-msgid " There are a number of ways to select the root changset::"
-msgstr " 改変対象リビジョンの指定には、 以下の様な方法があります::"
+msgid " There are a number of ways to select the root changeset:"
+msgstr " 改変対象リビジョンの指定には、 以下の様な方法があります:"
msgid " - Specify ANCESTOR directly"
msgstr " - 引数で改変対象の祖先 (ANCESTOR) を直接指定"
msgid ""
" - Use --outgoing -- it will be the first linear changeset not\n"
-" included in destination. (See :hg:\"help default-push\")"
+" included in destination. (See :hg:`help config.default-push`)"
msgstr ""
" - ``--outgoing`` 指定時は、 連携先への反映候補リビジョンのうち、\n"
-" 作業領域の親の直系の祖先を改変 (:hg:`help default-push` 参照)"
+" 作業領域の親の直系の祖先を改変 (:hg:`help config.default-push` 参照)"
msgid ""
" - Otherwise, the value from the \"histedit.defaultrev\" config option\n"
@@ -5264,9 +5262,11 @@
" - A number of changes have been made.\n"
" Revision 3 is no longer needed."
msgstr ""
+" - 複数のリビジョンがコミット済みの状態。\n"
+" リビジョン 3 が不要になったケース。"
msgid " Start history editing from revision 3::"
-msgstr ""
+msgstr " リビジョン 3 以降の履歴の編集を開始してください::"
msgid " hg histedit -r 3"
msgstr " hg histedit -r 3"
@@ -5275,6 +5275,8 @@
" An editor opens, containing the list of revisions,\n"
" with specific actions specified::"
msgstr ""
+" 以下のようなリビジョンと改変操作の一覧と共に、\n"
+" エディタが起動されます::"
msgid ""
" pick 5339bf82f0ca 3 Zworgle the foobar\n"
@@ -5289,12 +5291,15 @@
" Additional information about the possible actions\n"
" to take appears below the list of revisions."
msgstr ""
+" リビジョン一覧に続けて、 指定可能な改変操作一覧も表示されます。"
msgid ""
" To remove revision 3 from the history,\n"
" its action (at the beginning of the relevant line)\n"
" is changed to 'drop'::"
msgstr ""
+" 履歴からリビジョン 3 を取り除くには、 \n"
+" リビジョン 3 の対応行の冒頭の改変操作を 'drop' に変更します::"
msgid ""
" drop 5339bf82f0ca 3 Zworgle the foobar\n"
@@ -5309,9 +5314,11 @@
" - A number of changes have been made.\n"
" Revision 2 and 4 need to be swapped."
msgstr ""
+" - 複数のリビジョンがコミット済みの状態。\n"
+" リビジョン 2 と 4 の順序を入れ替えたいケース。"
msgid " Start history editing from revision 2::"
-msgstr ""
+msgstr " リビジョン 2 以降の履歴の編集を開始してください::"
msgid " hg histedit -r 2"
msgstr " hg histedit -r 2"
@@ -5329,6 +5336,8 @@
" To swap revision 2 and 4, its lines are swapped\n"
" in the editor::"
msgstr ""
+" エディタ上での対応行の入れ替えで、 リビジョン 2 と 4 の、\n"
+" 順序を入れ替えできます::"
msgid ""
" pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
@@ -5436,7 +5445,7 @@
msgstr "改変対象以外への操作 %s \"%s\" が検出されました"
msgid "only use listed changesets"
-msgstr ""
+msgstr "予め列挙されたリビジョンへの操作のみを指定してください"
#, python-format
msgid "%s \"%s\" changeset was not an edited list candidate"
@@ -8011,11 +8020,8 @@
msgid "mq: (empty queue)\n"
msgstr "mq: (キューは空です)\n"
-#, fuzzy
msgid "Changesets managed by MQ."
-msgstr ""
-"``mq()``\n"
-" MQ 管理下にあるリビジョン"
+msgstr "MQ 管理下にあるリビジョン。"
msgid "mq takes no arguments"
msgstr "mq には引数が指定できません"
@@ -9116,30 +9122,31 @@
" (移動先リビジョン自身は改変されませんが、 移動先の子孫として、\n"
" 新規リビジョンが追加されます)"
-msgid " Here are the ways to select changesets::"
-msgstr " 移動対象リビジョンの指定には、 以下の様な方法があります::"
+msgid " Here are the ways to select changesets:"
+msgstr " 移動対象リビジョンの指定には、 以下の様な方法があります:"
msgid " 1. Explicitly select them using ``--rev``."
msgstr " 1. ``--rev`` は、 移動対象の直接指定"
msgid ""
" 2. Use ``--source`` to select a root changeset and include all of its\n"
-" descendants."
+" descendants."
msgstr " 2. ``--source`` は、 指定リビジョン、 およびその子孫の移動"
msgid ""
" 3. Use ``--base`` to select a changeset; rebase will find ancestors\n"
-" and their descendants which are not also ancestors of the destination."
+" and their descendants which are not also ancestors of the "
+"destination."
msgstr ""
" 3. ``--base`` は、 移動「先」と指定リビジョンとの共通祖先、\n"
-" およびその子孫の移動 (但し、 移動「先」の祖先は含まず)"
+" およびその子孫の移動 (但し、 移動「先」の祖先は含まず)"
msgid ""
" 4. If you do not specify any of ``--rev``, ``source``, or ``--base``,\n"
-" rebase will use ``--base .`` as above."
+" rebase will use ``--base .`` as above."
msgstr ""
" 4. 上記 ``--rev``, ``source``, ``--base`` の指定がない場合、\n"
-" ``--base .`` 相当の指定で移動を実施"
+" ``--base .`` 相当の指定で移動を実施"
msgid ""
" Rebase will destroy original changesets unless you use ``--keep``.\n"
@@ -10521,11 +10528,8 @@
msgid "outstanding local changes"
msgstr "変更が未コミットです"
-#, fuzzy
msgid "Transplanted changesets in set, or all transplanted changesets."
-msgstr ""
-"``transplanted([set])``\n"
-" set 中の移植先リビジョン、 または全移植先リビジョン。"
+msgstr "transplant による全ての (又は set 中の) 移植先リビジョン。"
msgid ""
":transplanted: String. The node identifier of the transplanted\n"
@@ -12034,6 +12038,9 @@
msgid "cannot use --commit with --no-commit"
msgstr "--commit と --no-commit は併用できません"
+msgid "cannot use --merge with --no-commit"
+msgstr "--merge と --no-commit は併用できません"
+
msgid "please specify just one revision"
msgstr "リビジョン指定は1つだけです"
@@ -18300,6 +18307,10 @@
" バイナリファイルは除外されます。 複数形式が混在するファイルは、\n"
" 複数の形式指定に合致します。"
+#. i18n: "eol" is a keyword
+msgid "eol requires a style name"
+msgstr "eol には改行形式指定が必要です"
+
msgid ""
"``copied()``\n"
" File that is recorded as being copied."
@@ -18715,11 +18726,11 @@
msgid "Global configuration like the username setting is typically put into:"
msgstr "「ユーザ名」のような、 広範囲で有効な設定は、 以下で記述します:"
-msgid " ``%USERPROFILE%\\mercurial.ini``"
-msgstr " ``%USERPROFILE%\\mercurial.ini``"
-
-msgid " ``$HOME/.hgrc``"
-msgstr " ``$HOME/.hgrc``"
+msgid " - ``%USERPROFILE%\\mercurial.ini`` (on Windows)"
+msgstr " - ``%USERPROFILE%\\mercurial.ini`` (on Windows)"
+
+msgid " - ``$HOME/.hgrc`` (on Unix, Plan9)"
+msgstr " - ``$HOME/.hgrc`` (on Unix, Plan9)"
msgid ""
"The names of these files depend on the system on which Mercurial is\n"
@@ -19183,8 +19194,8 @@
"``hg echo foo`` 実行は、 端末に ``foo`` を表示します。\n"
"より実践的な例としては::"
-msgid " purge = !$HG status --no-status --unknown -0 | xargs -0 rm"
-msgstr " purge = !$HG status --no-status --unknown -0 | xargs -0 rm"
+msgid " purge = !$HG status --no-status --unknown -0 re: | xargs -0 rm"
+msgstr " purge = !$HG status --no-status --unknown -0 re: | xargs -0 rm"
msgid ""
"which will make ``hg purge`` delete all unknown files in the\n"
@@ -19306,12 +19317,12 @@
"``<名前>`` は引数群を1つの認証情報エントリに束ねる働きをします。 例えば::"
msgid ""
-" foo.prefix = hg.intevation.org/mercurial\n"
+" foo.prefix = hg.intevation.de/mercurial\n"
" foo.username = foo\n"
" foo.password = bar\n"
" foo.schemes = http https"
msgstr ""
-" foo.prefix = hg.intevation.org/mercurial\n"
+" foo.prefix = hg.intevation.de/mercurial\n"
" foo.username = foo\n"
" foo.password = bar\n"
" foo.schemes = http https"
@@ -20676,12 +20687,16 @@
msgid ""
" [hostfingerprints]\n"
-" hg.intevation.org = fa:1f:d9:48:f1:e7:74:30:38:8d:d8:58:b6:94:"
-"b8:58:28:7d:8b:d0"
+" hg.intevation.de = fc:e2:8d:d9:51:cd:cb:c1:4d:18:6b:b7:44:8d:49:72:57:e6:"
+"cd:33\n"
+" hg.intevation.org = fc:e2:8d:d9:51:cd:cb:c1:4d:18:6b:b7:44:8d:49:72:57:"
+"e6:cd:33"
msgstr ""
" [hostfingerprints]\n"
-" hg.intevation.org = fa:1f:d9:48:f1:e7:74:30:38:8d:d8:58:b6:94:"
-"b8:58:28:7d:8b:d0"
+" hg.intevation.de = fc:e2:8d:d9:51:cd:cb:c1:4d:18:6b:b7:44:8d:49:72:57:e6:"
+"cd:33\n"
+" hg.intevation.org = fc:e2:8d:d9:51:cd:cb:c1:4d:18:6b:b7:44:8d:49:72:57:"
+"e6:cd:33"
msgid "This feature is only supported when using Python 2.6 or later."
msgstr "本機能は、 Python 2.6 以降でのみ使用可能です。"
@@ -22909,7 +22924,7 @@
" Whether to enable closing file handles on background threads during "
"certain\n"
" operations. Some platforms aren't very efficient at closing file\n"
-" handles that have been written or appened to. By performing file "
+" handles that have been written or appended to. By performing file "
"closing\n"
" on background threads, file write rate can increase substantially.\n"
" (default: true on Windows, false elsewhere)"
@@ -26955,21 +26970,22 @@
msgid ".. functionsmarker"
msgstr ".. functionsmarker"
-msgid "Also, for any expression that returns a list, there is a list operator:"
-msgstr "また、 列挙形式を返す expr に対しては、 以下の様な記述が可能です:"
-
-msgid "- expr % \"{template}\""
-msgstr "- expr % \"{template}\""
-
-msgid ""
-"As seen in the above example, \"{template}\" is interpreted as a template.\n"
-"To prevent it from being interpreted, you can use an escape character "
-"\"\\{\"\n"
-"or a raw string prefix, \"r'...'\"."
-msgstr ""
-"上記例で見られるように、 \"{template}\" はテンプレートとして解釈されます。\n"
-"テンプレートとしての解釈を抑止する場合は、 \"\\{\" で開始するか、\n"
-"文字列指定の冒頭に ``r`` を付けて下さい (例: \"r'...'\")"
+msgid ""
+"Also, for any expression that returns a list, there is a list operator::"
+msgstr "また、 列挙形式を返す expr に対しては、 以下の様な記述が可能です::"
+
+msgid " expr % \"{template}\""
+msgstr " expr % \"{template}\""
+
+msgid ""
+"As seen in the above example, ``{template}`` is interpreted as a template.\n"
+"To prevent it from being interpreted, you can use an escape character ``"
+"\\{``\n"
+"or a raw string prefix, ``r'...'``."
+msgstr ""
+"上記例で見られるように、 ``{template}`` はテンプレートとして解釈されます。\n"
+"テンプレートとしての解釈を抑止する場合は、 ``\\{`` で開始するか、\n"
+"文字列指定の冒頭に ``r`` を付けて下さい (例: ``r'...'``)"
msgid "Some sample command line templates:"
msgstr "コマンドラインでのテンプレート指定例:"
--- a/mercurial/bundlerepo.py Sat Feb 27 21:29:42 2016 -0800
+++ b/mercurial/bundlerepo.py Mon Feb 29 17:52:17 2016 -0600
@@ -325,7 +325,8 @@
self.bundle.seek(self.manstart)
# consume the header if it exists
self.bundle.manifestheader()
- m = bundlemanifest(self.svfs, self.bundle, self.changelog.rev)
+ linkmapper = self.unfiltered().changelog.rev
+ m = bundlemanifest(self.svfs, self.bundle, linkmapper)
# XXX: hack to work with changegroup3, but we still don't handle
# tree manifests correctly
if self.bundle.version == "03":
--- a/mercurial/cmdutil.py Sat Feb 27 21:29:42 2016 -0800
+++ b/mercurial/cmdutil.py Mon Feb 29 17:52:17 2016 -0600
@@ -2143,9 +2143,15 @@
# Revset matches can reorder revisions. "A or B" typically returns
# returns the revision matching A then the revision matching B. Sort
# again to fix that.
+ fixopts = ['branch', 'only_branch', 'keyword', 'user']
+ oldrevs = revs
revs = matcher(repo, revs)
if not opts.get('rev'):
revs.sort(reverse=True)
+ elif len(pats) > 1 or any(len(opts.get(op, [])) > 1 for op in fixopts):
+ # XXX "A or B" is known to change the order; fix it by filtering
+ # matched set again (issue5100)
+ revs = oldrevs & revs
if limit is not None:
limitedrevs = []
for idx, r in enumerate(revs):
--- a/mercurial/demandimport.py Sat Feb 27 21:29:42 2016 -0800
+++ b/mercurial/demandimport.py Mon Feb 29 17:52:17 2016 -0600
@@ -235,6 +235,8 @@
ignore = [
'__future__',
'_hashlib',
+ # ImportError during pkg_resources/__init__.py:fixup_namespace_package
+ '_imp',
'_xmlplus',
'fcntl',
'win32com.gen_py',
--- a/mercurial/unionrepo.py Sat Feb 27 21:29:42 2016 -0800
+++ b/mercurial/unionrepo.py Mon Feb 29 17:52:17 2016 -0600
@@ -211,14 +211,14 @@
@localrepo.unfilteredpropertycache
def manifest(self):
return unionmanifest(self.svfs, self.repo2.svfs,
- self._clrev)
+ self.unfiltered()._clrev)
def url(self):
return self._url
def file(self, f):
return unionfilelog(self.svfs, f, self.repo2.svfs,
- self._clrev, self)
+ self.unfiltered()._clrev, self)
def close(self):
self.repo2.close()
--- a/tests/test-log.t Sat Feb 27 21:29:42 2016 -0800
+++ b/tests/test-log.t Mon Feb 29 17:52:17 2016 -0600
@@ -920,6 +920,116 @@
$ cd ..
+Test that log should respect the order of -rREV even if multiple OR conditions
+are specified (issue5100):
+
+ $ hg init revorder
+ $ cd revorder
+
+ $ hg branch -q b0
+ $ echo 0 >> f0
+ $ hg ci -qAm k0 -u u0
+ $ hg branch -q b1
+ $ echo 1 >> f1
+ $ hg ci -qAm k1 -u u1
+ $ hg branch -q b2
+ $ echo 2 >> f2
+ $ hg ci -qAm k2 -u u2
+
+ $ hg update -q b2
+ $ echo 3 >> f2
+ $ hg ci -qAm k2 -u u2
+ $ hg update -q b1
+ $ echo 4 >> f1
+ $ hg ci -qAm k1 -u u1
+ $ hg update -q b0
+ $ echo 5 >> f0
+ $ hg ci -qAm k0 -u u0
+
+ summary of revisions:
+
+ $ hg log -G -T '{rev} {branch} {author} {desc} {files}\n'
+ @ 5 b0 u0 k0 f0
+ |
+ | o 4 b1 u1 k1 f1
+ | |
+ | | o 3 b2 u2 k2 f2
+ | | |
+ | | o 2 b2 u2 k2 f2
+ | |/
+ | o 1 b1 u1 k1 f1
+ |/
+ o 0 b0 u0 k0 f0
+
+
+ log -b BRANCH in ascending order:
+
+ $ hg log -r0:tip -T '{rev} {branch}\n' -b b0 -b b1
+ 0 b0
+ 1 b1
+ 4 b1
+ 5 b0
+ $ hg log -r0:tip -T '{rev} {branch}\n' -b b1 -b b0
+ 0 b0
+ 1 b1
+ 4 b1
+ 5 b0
+
+ log --only-branch BRANCH in descending order:
+
+ $ hg log -rtip:0 -T '{rev} {branch}\n' --only-branch b1 --only-branch b2
+ 4 b1
+ 3 b2
+ 2 b2
+ 1 b1
+ $ hg log -rtip:0 -T '{rev} {branch}\n' --only-branch b2 --only-branch b1
+ 4 b1
+ 3 b2
+ 2 b2
+ 1 b1
+
+ log -u USER in ascending order, against compound set:
+
+ $ hg log -r'::head()' -T '{rev} {author}\n' -u u0 -u u2
+ 0 u0
+ 2 u2
+ 3 u2
+ 5 u0
+ $ hg log -r'::head()' -T '{rev} {author}\n' -u u2 -u u0
+ 0 u0
+ 2 u2
+ 3 u2
+ 5 u0
+
+ log -k TEXT in descending order, against compound set:
+
+ $ hg log -r'5 + reverse(::3)' -T '{rev} {desc}\n' -k k0 -k k1 -k k2
+ 5 k0
+ 3 k2
+ 2 k2
+ 1 k1
+ 0 k0
+ $ hg log -r'5 + reverse(::3)' -T '{rev} {desc}\n' -k k2 -k k1 -k k0
+ 5 k0
+ 3 k2
+ 2 k2
+ 1 k1
+ 0 k0
+
+ log FILE in ascending order, against dagrange:
+
+ $ hg log -r1:: -T '{rev} {files}\n' f1 f2
+ 1 f1
+ 2 f2
+ 3 f2
+ 4 f1
+ $ hg log -r1:: -T '{rev} {files}\n' f2 f1
+ 1 f1
+ 2 f2
+ 3 f2
+ 4 f1
+
+ $ cd ..
User