--- a/.hgsigs Tue Aug 26 04:58:41 2014 -0700
+++ b/.hgsigs Thu Sep 04 09:59:23 2014 -0400
@@ -92,3 +92,4 @@
2d8cd3d0e83c7336c0cb45a9f88638363f993848 0 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
--- a/.hgtags Tue Aug 26 04:58:41 2014 -0700
+++ b/.hgtags Thu Sep 04 09:59:23 2014 -0400
@@ -105,3 +105,4 @@
2d8cd3d0e83c7336c0cb45a9f88638363f993848 3.0.2
6c36dc6cd61a0e1b563f1d51e55bdf4dacf12162 3.1-rc
3178e49892020336491cdc6945885c4de26ffa8b 3.1
+5dc91146f35369949ea56b40172308158b59063a 3.1.1
--- a/i18n/ja.po Tue Aug 26 04:58:41 2014 -0700
+++ b/i18n/ja.po Thu Sep 04 09:59:23 2014 -0400
@@ -149,8 +149,8 @@
msgstr ""
"Project-Id-Version: Mercurial\n"
"Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2014-08-01 17:00+0900\n"
-"PO-Revision-Date: 2014-08-01 17:24+0900\n"
+"POT-Creation-Date: 2014-08-30 21:28+0900\n"
+"PO-Revision-Date: 2014-08-31 20:40+0900\n"
"Last-Translator: Japanese translation team <mercurial-ja@googlegroups.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
@@ -9923,6 +9923,13 @@
msgid "not a Mercurial patch"
msgstr "Mercurial 向けのパッチではありません"
+msgid ""
+"warning: import the patch as a normal revision\n"
+"(use --exact to import the patch as a merge)\n"
+msgstr ""
+"警告: パッチを通常リビジョンとして取り込みます\n"
+"(マージ実施パッチを取り込む場合は --exact を指定してください)\n"
+
msgid "patch is damaged or loses information"
msgstr "パッチには破損または情報の欠落があります"
@@ -12068,6 +12075,10 @@
msgid " With no arguments, displays the list of obsolescence markers."
msgstr " 引数指定が無い場合、 廃止マーカを一覧表示します。"
+#, python-format
+msgid "bad obsmarker input: %s"
+msgstr "不正な obsmarker 指定: %s"
+
msgid "complete an entire path"
msgstr "パス全体を補完"
@@ -12680,6 +12691,10 @@
msgstr "リビジョン %s を無視 (%s に移植済み)\n"
#, python-format
+msgid "skipping already grafted revision %s (%s also has unknown origin %s)\n"
+msgstr "移植済みリビジョン %s を無視 (%s も未知のリビジョン %s 由来)\n"
+
+#, python-format
msgid "skipping already grafted revision %s (%s also has origin %d)\n"
msgstr "移植済みリビジョン %s を無視 (%s も同じリビジョン %d 由来)\n"
@@ -15207,6 +15222,9 @@
msgid "and %s others"
msgstr "その他 %s 個"
+msgid "remote has heads that are not known locally\n"
+msgstr "連携先には新規ヘッドが存在します\n"
+
#, python-format
msgid "remote has heads that are not known locally: %s\n"
msgstr "連携先には新規ヘッドが存在します: %s\n"
@@ -15697,7 +15715,7 @@
" File that is modified according to status."
msgstr ""
"``modified()``\n"
-" 変更ステータスを持つファイル (※ 訳注: 未コミット時点でのみ判定可能)"
+" 変更ステータスを持つファイル (※ 訳注: 第1親との比較)"
#. i18n: "modified" is a keyword
msgid "modified takes no arguments"
@@ -15708,7 +15726,7 @@
" File that is added according to status."
msgstr ""
"``added()``\n"
-" 追加ステータスを持つファイル (※ 訳注: 未コミット時点でのみ判定可能)"
+" 追加ステータスを持つファイル (※ 訳注: 第1親との比較)"
#. i18n: "added" is a keyword
msgid "added takes no arguments"
@@ -15719,7 +15737,7 @@
" File that is removed according to status."
msgstr ""
"``removed()``\n"
-" 登録除外ステータスを持つファイル (※ 訳注: 未コミット時点でのみ判定可能)"
+" 登録除外ステータスを持つファイル (※ 訳注: 第1親との比較)"
#. i18n: "removed" is a keyword
msgid "removed takes no arguments"
@@ -15730,7 +15748,7 @@
" File that is deleted according to status."
msgstr ""
"``deleted()``\n"
-" 不在ステータスを持つファイル (※ 訳注: 未コミット時点でのみ判定可能)"
+" 不在ステータスを持つファイル (※ 訳注: 作業領域でのみ有効)"
#. i18n: "deleted" is a keyword
msgid "deleted takes no arguments"
@@ -15744,7 +15762,7 @@
"``unknown()``\n"
" 未知ステータスを持つファイル。\n"
" 本述語が指定された時のみ、\n"
-" 未知ファイルが Mercurial の取り扱い対象になります。"
+" 作業領域中の未知ファイルが Mercurial の取り扱い対象になります。"
#. i18n: "unknown" is a keyword
msgid "unknown takes no arguments"
@@ -15758,7 +15776,7 @@
"``ignored()``\n"
" 無視ステータスを持つファイル。\n"
" 本述語が指定された時のみ、\n"
-" 無視対象ファイルが Mercurial の取り扱い対象になります。"
+" 作業領域中の無視対象ファイルが Mercurial の取り扱い対象になります。"
#. i18n: "ignored" is a keyword
msgid "ignored takes no arguments"
@@ -15769,7 +15787,7 @@
" File that is clean according to status."
msgstr ""
"``clean()``\n"
-" 変更無しステータスを持つファイル (※ 訳注: 未コミット時点でのみ判定可能)"
+" 変更無しステータスを持つファイル (※ 訳注: 第1親との比較)"
#. i18n: "clean" is a keyword
msgid "clean takes no arguments"
@@ -23181,6 +23199,9 @@
msgid "- label(label, expr)"
msgstr "- label(label, expr)"
+msgid "- pad(text, width[, fillchar, right])"
+msgstr "- pad(text, width[, fillchar, right])"
+
msgid "- revset(query[, formatargs])"
msgstr "- revset(query[, formatargs])"
@@ -24071,6 +24092,10 @@
"parsing obsolete marker: metadata is too short, %d bytes expected, got %d"
msgstr "廃止情報解析: メタデータの想定サイズ %d に対して %d しかありません"
+#, python-format
+msgid "in-marker cycle with %s"
+msgstr ""
+
msgid "bad obsolescence marker detected: invalid successors nullid"
msgstr "不正な廃止情報を検出: 後継としての null 指定は不正です"
--- a/i18n/pt_BR.po Tue Aug 26 04:58:41 2014 -0700
+++ b/i18n/pt_BR.po Thu Sep 04 09:59:23 2014 -0400
@@ -10052,6 +10052,13 @@
msgid "not a Mercurial patch"
msgstr "não é um patch do Mercurial"
+msgid ""
+"warning: import the patch as a normal revision\n"
+"(use --exact to import the patch as a merge)\n"
+msgstr ""
+"aviso: importando o patch como revisão normal\n"
+"(use --exact para importar o patch como uma mesclagem)\n"
+
msgid "patch is damaged or loses information"
msgstr "o patch está danificado ou perde informação"
@@ -11090,14 +11097,14 @@
msgid ""
" Creating or updating to a bookmark causes it to be marked as 'active'.\n"
-" Active bookmarks are indicated with a '*'.\n"
-" When a commit is made, an active bookmark will advance to the new commit.\n"
+" The active bookmark is indicated with a '*'.\n"
+" When a commit is made, the active bookmark will advance to the new commit.\n"
" A plain :hg:`update` will also advance an active bookmark, if possible.\n"
" Updating away from a bookmark will cause it to be deactivated."
msgstr ""
" Criar ou atualizar para um marcador faz com que ele seja 'ativado'.\n"
-" Marcadores ativos são indicados com um '*'.\n"
-" Quando é feita uma consolidação, um marcador ativo avançará para\n"
+" O marcador ativo é indicado com um '*'.\n"
+" Quando é feita uma consolidação, o marcador ativo avançará para\n"
" a nova revisão.\n"
" Um :hg:`update` sem opções também avançará um marcador ativo,\n"
" se possível.\n"
@@ -12261,6 +12268,10 @@
msgid " With no arguments, displays the list of obsolescence markers."
msgstr " Sem parâmetros, mostra a lista de marcações de obsolescência."
+#, python-format
+msgid "bad obsmarker input: %s"
+msgstr "entrada obsmarker ruim: %s"
+
msgid "complete an entire path"
msgstr "completa um caminho completo"
@@ -12898,6 +12909,11 @@
msgstr "omitindo revisão %s (já enxertada em %s)\n"
#, python-format
+msgid "skipping already grafted revision %s (%s also has unknown origin %s)\n"
+msgstr ""
+"omitindo revisão %s já enxertada (%s também tem origem desconhecida %s)\n"
+
+#, python-format
msgid "skipping already grafted revision %s (%s also has origin %d)\n"
msgstr "omitindo revisão %s já enxertada (%s também tem como origem %d)\n"
@@ -15515,6 +15531,9 @@
msgid "and %s others"
msgstr "e %s outras"
+msgid "remote has heads that are not known locally\n"
+msgstr "o repositório remoto possui cabeças que não são conhecidas localmente\n"
+
#, python-format
msgid "remote has heads that are not known locally: %s\n"
msgstr ""
@@ -23693,6 +23712,9 @@
msgid "- label(label, expr)"
msgstr "- label(label, expr)"
+msgid "- pad(text, width[, fillchar, right])"
+msgstr "- pad(texto, largura[, preenchimento, direita])"
+
msgid "- revset(query[, formatargs])"
msgstr "- revset(consulta[, formato])"
@@ -24603,6 +24625,10 @@
"decodificando marcações de obsolescência: metadados são curtos demais, %d "
"bytes esperados, %d obtidos"
+#, python-format
+msgid "in-marker cycle with %s"
+msgstr "ciclo nos marcadores com %s"
+
msgid "bad obsolescence marker detected: invalid successors nullid"
msgstr ""
"marcação de obsolescência inválida detectada: sucessores nullid inválidos"
--- a/mercurial/commands.py Tue Aug 26 04:58:41 2014 -0700
+++ b/mercurial/commands.py Thu Sep 04 09:59:23 2014 -0400
@@ -1498,7 +1498,7 @@
See :hg:`help config` for more information about config files.
- Returns 0 on success.
+ Returns 0 on success, 1 if NAME does not exist.
"""
@@ -1551,6 +1551,7 @@
items = [v for v in values if '.' in v]
if len(items) > 1 or items and sections:
raise util.Abort(_('only one config item permitted'))
+ matched = False
for section, name, value in ui.walkconfig(untrusted=untrusted):
value = str(value).replace('\n', '\\n')
sectname = section + '.' + name
@@ -1560,14 +1561,20 @@
ui.debug('%s: ' %
ui.configsource(section, name, untrusted))
ui.write('%s=%s\n' % (sectname, value))
+ matched = True
elif v == sectname:
ui.debug('%s: ' %
ui.configsource(section, name, untrusted))
ui.write(value, '\n')
+ matched = True
else:
ui.debug('%s: ' %
ui.configsource(section, name, untrusted))
ui.write('%s=%s\n' % (sectname, value))
+ matched = True
+ if matched:
+ return 0
+ return 1
@command('copy|cp',
[('A', 'after', None, _('record a copy that has already occurred')),
--- a/mercurial/help.py Tue Aug 26 04:58:41 2014 -0700
+++ b/mercurial/help.py Thu Sep 04 09:59:23 2014 -0400
@@ -87,9 +87,10 @@
'extensioncommands': [],
}
for names, header, doc in helptable:
+ # Old extensions may use a str as doc.
if (sum(map(lowercontains, names))
or lowercontains(header)
- or lowercontains(doc())):
+ or (callable(doc) and lowercontains(doc()))):
results['topics'].append((names[0], header))
import commands # avoid cycle
for cmd, entry in commands.table.iteritems():
--- a/mercurial/repoview.py Tue Aug 26 04:58:41 2014 -0700
+++ b/mercurial/repoview.py Thu Sep 04 09:59:23 2014 -0400
@@ -287,7 +287,7 @@
# without change in the cachekey.
oldfilter = cl.filteredrevs
try:
- cl.filterrevs = () # disable filtering for tip
+ cl.filteredrevs = () # disable filtering for tip
curkey = (len(cl), cl.tip(), hash(oldfilter))
finally:
cl.filteredrevs = oldfilter
--- a/tests/test-config.t Tue Aug 26 04:58:41 2014 -0700
+++ b/tests/test-config.t Thu Sep 04 09:59:23 2014 -0400
@@ -83,3 +83,8 @@
$ hg showconfig unsettest
unsettest.set-after-unset=should be set (.hg/hgrc)
+
+Test exit code when no config matches
+
+ $ hg config Section.idontexist
+ [1]
--- a/tests/test-lfconvert.t Tue Aug 26 04:58:41 2014 -0700
+++ b/tests/test-lfconvert.t Thu Sep 04 09:59:23 2014 -0400
@@ -326,6 +326,7 @@
verified existence of 6 revisions of 4 largefiles
[1]
$ hg -R largefiles-repo-hg showconfig paths
+ [1]
Avoid a traceback if a largefile isn't available (issue3519)