diff --git a/.hgsigs b/.hgsigs index 62bb20e586..d854821069 100644 --- a/.hgsigs +++ b/.hgsigs @@ -92,3 +92,4 @@ b96cb15ec9e04d8ac5ee08b34fcbbe4200588965 0 iQIVAwUAUxJPlyBXgaxoKi1yAQLIRA//Qh9qz 2d8cd3d0e83c7336c0cb45a9f88638363f993848 0 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 diff --git a/i18n/ja.po b/i18n/ja.po index 714746ef70..a578f4b410 100644 --- a/i18n/ja.po +++ b/i18n/ja.po @@ -149,8 +149,8 @@ msgid "" msgstr "" "Project-Id-Version: Mercurial\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Japanese\n" "Language: ja\n" @@ -9923,6 +9923,13 @@ msgstr "作業領域への適用" 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 @@ msgstr "任意の廃止状態の設定" 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 "パス全体を補完" @@ -12679,6 +12690,10 @@ msgstr "祖先リビジョン %s を無視\n" msgid "skipping revision %s (already grafted to %s)\n" 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 @@ msgstr "連携先への新規ブランチ作成は 'hg push --new-branch'" 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 @@ msgid "" " 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 @@ msgid "" " 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 @@ msgid "" " 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 @@ msgid "" " File that is deleted according to status." msgstr "" "``deleted()``\n" -" 不在ステータスを持つファイル (※ 訳注: 未コミット時点でのみ判定可能)" +" 不在ステータスを持つファイル (※ 訳注: 作業領域でのみ有効)" #. i18n: "deleted" is a keyword msgid "deleted takes no arguments" @@ -15744,7 +15762,7 @@ msgstr "" "``unknown()``\n" " 未知ステータスを持つファイル。\n" " 本述語が指定された時のみ、\n" -" 未知ファイルが Mercurial の取り扱い対象になります。" +" 作業領域中の未知ファイルが Mercurial の取り扱い対象になります。" #. i18n: "unknown" is a keyword msgid "unknown takes no arguments" @@ -15758,7 +15776,7 @@ msgstr "" "``ignored()``\n" " 無視ステータスを持つファイル。\n" " 本述語が指定された時のみ、\n" -" 無視対象ファイルが Mercurial の取り扱い対象になります。" +" 作業領域中の無視対象ファイルが Mercurial の取り扱い対象になります。" #. i18n: "ignored" is a keyword msgid "ignored takes no arguments" @@ -15769,7 +15787,7 @@ msgid "" " 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 @@ msgstr "- join(list, sep)" 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 @@ msgid "" "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 指定は不正です" diff --git a/i18n/pt_BR.po b/i18n/pt_BR.po index 07620f97ac..babb0c679f 100644 --- a/i18n/pt_BR.po +++ b/i18n/pt_BR.po @@ -10052,6 +10052,13 @@ msgstr "aplicado no diretório de trabalho" 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 @@ msgstr "" 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 @@ msgstr "cria uma marcação de obsolescência arbitrária" 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" @@ -12897,6 +12908,11 @@ msgstr "omitindo revisão ancestral %s\n" msgid "skipping revision %s (already grafted to %s)\n" 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 @@ msgstr "use 'hg push --new-branch' para criar novos ramos remotos" 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 @@ msgstr "- join(lista, separador)" 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 @@ msgstr "" "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" diff --git a/mercurial/commands.py b/mercurial/commands.py index 650828da4c..a6bda4ccda 100644 --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1498,7 +1498,7 @@ def config(ui, repo, *values, **opts): 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 @@ def config(ui, repo, *values, **opts): 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 @@ def config(ui, repo, *values, **opts): 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')), diff --git a/mercurial/help.py b/mercurial/help.py index 23017ddc78..375cc3896a 100644 --- a/mercurial/help.py +++ b/mercurial/help.py @@ -87,9 +87,10 @@ def topicmatch(kw): '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(): diff --git a/mercurial/repoview.py b/mercurial/repoview.py index 54dee0622f..71eb1fe7bf 100644 --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -287,7 +287,7 @@ class repoview(object): # 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 diff --git a/tests/test-config.t b/tests/test-config.t index 08855afaeb..759b275979 100644 --- a/tests/test-config.t +++ b/tests/test-config.t @@ -83,3 +83,8 @@ Test "%unset" $ hg showconfig unsettest unsettest.set-after-unset=should be set (.hg/hgrc) + +Test exit code when no config matches + + $ hg config Section.idontexist + [1] diff --git a/tests/test-lfconvert.t b/tests/test-lfconvert.t index 7afcc55263..1353edbeda 100644 --- a/tests/test-lfconvert.t +++ b/tests/test-lfconvert.t @@ -326,6 +326,7 @@ process. 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)