Mercurial > hg
changeset 20156:28fe5abc906f
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 01 Dec 2013 14:10:53 -0600 |
parents | 21dafd8546d1 (current diff) 970394b6bd97 (diff) |
children | 96b2dd77c85d |
files | hgext/largefiles/overrides.py mercurial/commands.py tests/test-largefiles.t |
diffstat | 14 files changed, 454 insertions(+), 245 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/hgk Fri Nov 29 12:36:28 2013 -0800 +++ b/contrib/hgk Sun Dec 01 14:10:53 2013 -0600 @@ -457,12 +457,10 @@ } } - foreach {tag rev} $tags { + foreach {- tag rev id} [regexp -inline -all -line {^(.+\S)\s+(\d+):(\S+)} $tags] { # we use foreach as Tcl8.4 doesn't support lassign - foreach {- id} [split $rev :] { - lappend tagids($tag) $id - lappend idtags($id) $tag - } + lappend tagids($tag) $id + lappend idtags($id) $tag } set status [catch {exec $env(HG) --config ui.report_untrusted=false heads} heads]
--- a/contrib/sample.hgrc Fri Nov 29 12:36:28 2013 -0800 +++ b/contrib/sample.hgrc Sun Dec 01 14:10:53 2013 -0600 @@ -43,20 +43,15 @@ # hgext.gpg = -### graphlog - ASCII graph log -### hg help glog - -# hgext.graphlog = - ### hgk - GUI repository browser ### hg help view # hgext.hgk = -### mq - Mercurial patch queues -### hg help mq +### strip - Remove changesets and their descendents from history +### hg help strip -# hgext.mq = +# hgext.strip = ### notify - Template driven e-mail notifications ### hg help notify
--- a/contrib/win32/mercurial.ini Fri Nov 29 12:36:28 2013 -0800 +++ b/contrib/win32/mercurial.ini Sun Dec 01 14:10:53 2013 -0600 @@ -46,7 +46,6 @@ ;extdiff = ;fetch = ;gpg = -;graphlog = ;hgcia = ;hgk = ;highlight =
--- a/hgext/largefiles/overrides.py Fri Nov 29 12:36:28 2013 -0800 +++ b/hgext/largefiles/overrides.py Sun Dec 01 14:10:53 2013 -0600 @@ -380,7 +380,7 @@ for action in actions: f, m, args, msg = action - splitstandin = lfutil.splitstandin(f) + splitstandin = f and lfutil.splitstandin(f) if (m == "g" and splitstandin is not None and splitstandin in p1 and splitstandin not in removes): # Case 1: normal file in the working copy, largefile in
--- a/hgext/shelve.py Fri Nov 29 12:36:28 2013 -0800 +++ b/hgext/shelve.py Sun Dec 01 14:10:53 2013 -0600 @@ -91,7 +91,6 @@ pendingctx = fp.readline().strip() parents = [bin(h) for h in fp.readline().split()] stripnodes = [bin(h) for h in fp.readline().split()] - unknownfiles = fp.readline()[:-1].split('\0') finally: fp.close() @@ -101,13 +100,11 @@ obj.pendingctx = repo[bin(pendingctx)] obj.parents = parents obj.stripnodes = stripnodes - obj.unknownfiles = unknownfiles return obj @classmethod - def save(cls, repo, name, originalwctx, pendingctx, stripnodes, - unknownfiles): + def save(cls, repo, name, originalwctx, pendingctx, stripnodes): fp = repo.opener(cls._filename, 'wb') fp.write('%i\n' % cls._version) fp.write('%s\n' % name) @@ -115,7 +112,6 @@ fp.write('%s\n' % hex(pendingctx.node())) fp.write('%s\n' % ' '.join([hex(p) for p in repo.dirstate.parents()])) fp.write('%s\n' % ' '.join([hex(n) for n in stripnodes])) - fp.write('%s\n' % '\0'.join(unknownfiles)) fp.close() @classmethod @@ -379,7 +375,7 @@ lock = repo.lock() - mergefiles(ui, repo, state.wctx, state.pendingctx, state.unknownfiles) + mergefiles(ui, repo, state.wctx, state.pendingctx) repair.strip(ui, repo, state.stripnodes, backup='none', topic='shelve') shelvedstate.clear(repo) @@ -387,9 +383,9 @@ finally: lockmod.release(lock, wlock) -def mergefiles(ui, repo, wctx, shelvectx, unknownfiles): +def mergefiles(ui, repo, wctx, shelvectx): """updates to wctx and merges the changes from shelvectx into the - dirstate. drops any files in unknownfiles from the dirstate.""" + dirstate.""" oldquiet = ui.quiet try: ui.quiet = True @@ -397,17 +393,18 @@ files = [] files.extend(shelvectx.files()) files.extend(shelvectx.parents()[0].files()) + + # revert will overwrite unknown files, so move them out of the way + m, a, r, d, u = repo.status(unknown=True)[:5] + for file in u: + if file in files: + util.rename(file, file + ".orig") cmdutil.revert(ui, repo, shelvectx, repo.dirstate.parents(), *pathtofiles(repo, files), **{'no_backup': True}) finally: ui.quiet = oldquiet - # Send untracked files back to being untracked - dirstate = repo.dirstate - for f in unknownfiles: - dirstate.drop(f) - def unshelvecleanup(ui, repo, name, opts): """remove related files after an unshelve""" if not opts['keep']: @@ -446,7 +443,7 @@ # rebase was a no-op, so it produced no child commit shelvectx = state.pendingctx - mergefiles(ui, repo, state.wctx, shelvectx, state.unknownfiles) + mergefiles(ui, repo, state.wctx, shelvectx) state.stripnodes.append(shelvectx.node()) repair.strip(ui, repo, state.stripnodes, backup='none', topic='shelve') @@ -538,8 +535,8 @@ # to the original wctx. # Store pending changes in a commit - m, a, r, d, u = repo.status(unknown=True)[:5] - if m or a or r or d or u: + m, a, r, d = repo.status()[:4] + if m or a or r or d: def commitfunc(ui, repo, message, match, opts): hasmq = util.safehasattr(repo, 'mq') if hasmq: @@ -554,7 +551,6 @@ tempopts = {} tempopts['message'] = "pending changes temporary commit" - tempopts['addremove'] = True oldquiet = ui.quiet try: ui.quiet = True @@ -588,7 +584,7 @@ stripnodes = [repo.changelog.node(rev) for rev in xrange(oldtiprev, len(repo))] - shelvedstate.save(repo, basename, wctx, tmpwctx, stripnodes, u) + shelvedstate.save(repo, basename, wctx, tmpwctx, stripnodes) util.rename(repo.join('rebasestate'), repo.join('unshelverebasestate')) @@ -603,7 +599,7 @@ # rebase was a no-op, so it produced no child commit shelvectx = tmpwctx - mergefiles(ui, repo, wctx, shelvectx, u) + mergefiles(ui, repo, wctx, shelvectx) shelvedstate.clear(repo) # The transaction aborting will strip all the commits for us,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/i18n/check-translation.py Sun Dec 01 14:10:53 2013 -0600 @@ -0,0 +1,148 @@ +#!/usr/bin/env python +# +# check-translation.py - check Mercurial specific translation problems + +import polib +import re + +checkers = [] + +def checker(level, msgidpat): + def decorator(func): + if msgidpat: + match = re.compile(msgidpat).search + else: + match = lambda msgid: True + checkers.append((func, level)) + func.match = match + return func + return decorator + +def match(checker, pe): + """Examine whether POEntry "pe" is target of specified checker or not + """ + if not checker.match(pe.msgid): + return + # examine suppression by translator comment + nochecker = 'no-%s-check' % checker.__name__ + for tc in pe.tcomment.split(): + if nochecker == tc: + return + return True + +#################### + +def fatalchecker(msgidpat=None): + return checker('fatal', msgidpat) + +@fatalchecker(r'\$\$') +def promptchoice(pe): + """Check translation of the string given to "ui.promptchoice()" + + >>> pe = polib.POEntry( + ... msgid ='prompt$$missing &sep$$missing &$$followed by &none', + ... msgstr='prompt missing &sep$$missing amp$$followed by none&') + >>> match(promptchoice, pe) + True + >>> for e in promptchoice(pe): print e + number of choices differs between msgid and msgstr + msgstr has invalid choice missing '&' + msgstr has invalid '&' followed by none + """ + idchoices = [c.rstrip(' ') for c in pe.msgid.split('$$')[1:]] + strchoices = [c.rstrip(' ') for c in pe.msgstr.split('$$')[1:]] + + if len(idchoices) != len(strchoices): + yield "number of choices differs between msgid and msgstr" + + indices = [(c, c.find('&')) for c in strchoices] + if [c for c, i in indices if i == -1]: + yield "msgstr has invalid choice missing '&'" + if [c for c, i in indices if len(c) == i + 1]: + yield "msgstr has invalid '&' followed by none" + +#################### + +def warningchecker(msgidpat=None): + return checker('warning', msgidpat) + +#################### + +def check(pofile, fatal=True, warning=False): + targetlevel = { 'fatal': fatal, 'warning': warning } + targetcheckers = [(checker, level) + for checker, level in checkers + if targetlevel[level]] + if not targetcheckers: + return [] + + detected = [] + for pe in pofile.translated_entries(): + errors = [] + for checker, level in targetcheckers: + if match(checker, pe): + errors.extend((level, checker.__name__, error) + for error in checker(pe)) + if errors: + detected.append((pe, errors)) + return detected + +######################################## + +if __name__ == "__main__": + import sys + import optparse + + optparser = optparse.OptionParser("""%prog [options] pofile ... + +This checks Mercurial specific translation problems in specified +'*.po' files. + +Each detected problems are shown in the format below:: + + filename:linenum:type(checker): problem detail ..... + +"type" is "fatal" or "warning". "checker" is the name of the function +detecting corresponded error. + +Checking by checker "foo" on the specific msgstr can be suppressed by +the "translator comment" like below. Multiple "no-xxxx-check" should +be separated by whitespaces:: + + # no-foo-check + msgid = "....." + msgstr = "....." +""") + optparser.add_option("", "--warning", + help="show also warning level problems", + action="store_true") + optparser.add_option("", "--doctest", + help="run doctest of this tool, instead of check", + action="store_true") + (options, args) = optparser.parse_args() + + if options.doctest: + import doctest + failures, tests = doctest.testmod() + sys.exit(failures and 1 or 0) + + # replace polib._POFileParser to show linenum of problematic msgstr + class ExtPOFileParser(polib._POFileParser): + def process(self, symbol, linenum): + super(ExtPOFileParser, self).process(symbol, linenum) + if symbol == 'MS': # msgstr + self.current_entry.linenum = linenum + polib._POFileParser = ExtPOFileParser + + detected = [] + warning = options.warning + for f in args: + detected.extend((f, pe, errors) + for pe, errors in check(polib.pofile(f), + warning=warning)) + if detected: + for f, pe, errors in detected: + for level, checker, error in errors: + sys.stderr.write('%s:%d:%s(%s): %s\n' + % (f, pe.linenum, level, checker, error)) + sys.exit(1)
--- a/i18n/ja.po Fri Nov 29 12:36:28 2013 -0800 +++ b/i18n/ja.po Sun Dec 01 14:10:53 2013 -0600 @@ -13,6 +13,7 @@ # XXXX exists XXXX が存在します # do not XXXX XXXX できません ※ 「XXXX してはいけない」の意 # XXXX failed XXXX が(or に)失敗 +# failed to XXXX XXXX が(or に)失敗 # error XXXX-ing XXXX が(or に)失敗 # error while XXXX XXXX が(or に)失敗 # cannot XXXX XXXX が(or に)失敗 @@ -124,6 +125,7 @@ # search 探索 # server サーバ # shelved change 退避内容(for 処理視点) or 退避情報(for 管理視点) +# skipping xxxx xxxx を無視 # source url (of subrepo) (サブリポジトリの)参照先 URL # stop 中断(再開可能な場合)/中止(再開不可能な場合) # subrepo サブリポジトリ @@ -137,7 +139,7 @@ # tracked xxxx 構成管理対象の xxxx # tracked, un 未登録 # type, xxxxx xxxx 種別 -# unknown xxxx 未知の xxxx +# unknown xxxx 未知の xxxx (or 構成管理対象外) # user ユーザ # working copy(of xxx) 作業領域(中の xxx) # working directory 作業領域 @@ -147,8 +149,8 @@ msgstr "" "Project-Id-Version: Mercurial\n" "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n" -"POT-Creation-Date: 2013-10-29 20:29+0900\n" -"PO-Revision-Date: 2013-10-31 03:00+0900\n" +"POT-Creation-Date: 2013-11-28 16:18+0900\n" +"PO-Revision-Date: 2013-11-28 20:03+0900\n" "Last-Translator: Japanese translation team <mercurial-ja@googlegroups.com>\n" "Language-Team: Japanese\n" "Language: ja\n" @@ -1249,7 +1251,7 @@ #, python-format msgid "connecting to %s:%s as %s, password %s\n" -msgstr "%s:%s に %s として接続しています (パスワード:%s)\n" +msgstr "%s:%s に %s として接続中 (パスワード:%s)\n" #, python-format msgid "query: %s %s\n" @@ -1290,15 +1292,15 @@ #, python-format msgid "looking up user %s\n" -msgstr "ユーザ %s を検索しています\n" +msgstr "ユーザ %s を検索中\n" #, python-format msgid "cannot find bugzilla user id for %s" -msgstr "%s の buzilla ユーザ ID を見つけることができません" +msgstr "%s の buzilla ユーザ ID が見つかりません" #, python-format msgid "cannot find bugzilla user id for %s or %s" -msgstr "%s か %s の buzilla ユーザ ID を見つけることができません" +msgstr "%s か %s の buzilla ユーザ ID が見つかりません" msgid "Bugzilla/MySQL cannot update bug state\n" msgstr "Bugzilla/MySQL 連携ではバグ状態を更新できません\n" @@ -1464,7 +1466,7 @@ #, python-format msgid "skipping malformed alias: %s\n" -msgstr "不正な形式の別名は無視します: %s\n" +msgstr "不正な形式の別名を無視: %s\n" msgid "count rate for the specified revision or range" msgstr "処理対象とする特定リビジョン/範囲の指定" @@ -2423,7 +2425,7 @@ #, python-format msgid "cannot find required \"%s\" tool" -msgstr "要求されたツール '%s' を見つけることができません" +msgstr "要求されたツール '%s' が見つかりません" #, python-format msgid "splicemap entry %s is not a valid revision identifier" @@ -2439,7 +2441,7 @@ #, python-format msgid "could not open map file %r: %s" -msgstr "変換ファイル %r を開くことができません: %s" +msgstr "変換ファイル %r が開けません: %s" #, python-format msgid "%s: invalid source repository type" @@ -2480,7 +2482,7 @@ #, python-format msgid "splice map revision %s is not being converted, ignoring\n" -msgstr "継ぎ合わせ指定中の %s が変換対象ではないため無視します\n" +msgstr "継ぎ合わせ指定中の %s が変換対象ではないため無視\n" #, python-format msgid "unknown splice map parent: %s" @@ -2511,7 +2513,7 @@ #, python-format msgid "overriding mapping for author %s, was %s, will be %s\n" -msgstr "作成者 %s の %s への変換を、 %s への変換で上書きします\n" +msgstr "作成者 %s の %s への変換を、 %s への変換で上書き中\n" #, python-format msgid "spliced in %s as parents of %s\n" @@ -2556,7 +2558,7 @@ #, python-format msgid "connecting to %s\n" -msgstr "%s へ接続中\n" +msgstr "%s に接続中\n" msgid "CVS pserver authentication failed" msgstr "CVS pserver の認証に失敗" @@ -2592,7 +2594,7 @@ msgstr "CVS ログキャッシュ %s 読み込み中\n" msgid "ignoring old cache\n" -msgstr "古いログキャッシュを無視します\n" +msgstr "古いログキャッシュを無視\n" #, python-format msgid "cache has %d log entries\n" @@ -2728,7 +2730,7 @@ msgstr "%s は GNU Arch 形式ではないと思われます" msgid "cannot find a GNU Arch tool" -msgstr "GNU Arch ツールを見つけることができません" +msgstr "GNU Arch ツールが見つかりません" #, python-format msgid "analyzing tree version %s...\n" @@ -2785,7 +2787,7 @@ #, python-format msgid "ignoring: %s\n" -msgstr "例外を無視します: %s\n" +msgstr "例外を無視: %s\n" #, python-format msgid "%s does not look like a monotone repository" @@ -2881,7 +2883,7 @@ #, python-format msgid "no revision found in module %s" -msgstr "モジュール %s でリビジョンが見つかりません" +msgstr "モジュール %s にはリビジョンがありません" #, python-format msgid "expected %s to be at %r, but not found" @@ -2893,7 +2895,7 @@ #, python-format msgid "ignoring empty branch %s\n" -msgstr "空ブランチ %s を無視します\n" +msgstr "空ブランチ %s を無視\n" #, python-format msgid "found branch %s at %d\n" @@ -3058,12 +3060,13 @@ " [repository]\n" " native = LF" -msgid "" -".. note::\n" +msgid ".. note::" +msgstr ".. note::" + +msgid "" " The rules will first apply when files are touched in the working\n" " copy, e.g. by updating to null and back to tip to touch all files." msgstr "" -".. note::\n" " 変換設定の適用契機は、 作業領域中のファイルに対する最初の更新です。\n" " 例えば、 :hg:`update null` 後の :hg:`update tip` により、\n" " 全てのファイルが更新されます。" @@ -3152,11 +3155,11 @@ #, python-format msgid "ignoring unknown EOL style '%s' from %s\n" -msgstr "未知の改行形式 '%s' (%s 由来) を無視します\n" +msgstr "未知の改行形式 '%s' (%s 由来) を無視\n" #, python-format msgid "warning: ignoring .hgeol file due to parse error at %s: %s\n" -msgstr "警告: 解析エラーにより .hgeol ファイルを無視します (%s 行目: %s)\n" +msgstr "警告: 解析エラーにより .hgeol ファイルを無視 (%s 行目: %s)\n" #, python-format msgid " %s in %s should not have %s line endings" @@ -3299,7 +3302,7 @@ msgstr "--rev と --change は同時には指定できません" msgid "cleaning up temp directory\n" -msgstr "一時ディレクトリを破棄しています\n" +msgstr "一時ディレクトリの破棄中\n" msgid "use external program to diff repository (or selected files)" msgstr "外部コマンドを使用したリポジトリ(ないし指定ファイル)の差分表示" @@ -3519,11 +3522,11 @@ #, python-format msgid "updating to %d:%s\n" -msgstr "%d に更新しています:%s\n" +msgstr "リビジョン %d:%s で更新中\n" #, python-format msgid "merging with %d:%s\n" -msgstr "%d とマージしています:%s\n" +msgstr "リビジョン %d:%s とマージ中\n" #, python-format msgid "new changeset %d:%s merges remote changes with local\n" @@ -3571,7 +3574,7 @@ #, python-format msgid "%s:%d node does not exist\n" -msgstr "%s:%d ノードは存在しません\n" +msgstr "ノード %s:%d は存在しません\n" msgid "hg sigcheck REV" msgstr "hg sigcheck REV" @@ -3581,7 +3584,7 @@ #, python-format msgid "no valid signature for %s\n" -msgstr "%s の正しい署名ではありません\n" +msgstr "%s に対する正しい署名はありません\n" msgid "make the signature local" msgstr "自リポジトリローカルな署名" @@ -3632,7 +3635,7 @@ msgstr "%d:%s への署名中\n" msgid "error while signing" -msgstr "署名処理の失敗" +msgstr "署名処理に失敗" msgid "" "working copy of .hgsigs is changed (please commit .hgsigs manually or use --" @@ -3799,7 +3802,7 @@ #, python-format msgid "hgcia: sending update to %s\n" -msgstr "hgcia: %s に更新を送信しています\n" +msgstr "hgcia: %s に更新を送信中\n" msgid "email.from must be defined when sending by email" msgstr "電子メール送信のためには email.from の定義が必要です" @@ -3936,7 +3939,7 @@ #. i18n: bisect changeset status msgid "ignored" -msgstr "無視しました" +msgstr "無視" msgid "hg debug-rev-parse REV" msgstr "hg debug-rev-parse REV" @@ -3945,7 +3948,7 @@ msgstr "ヘッダ" msgid "topo-order" -msgstr "履歴トポロジーの順序" +msgstr "履歴構造の順序" msgid "parents" msgstr "親" @@ -4365,13 +4368,22 @@ " Use \"min(outgoing() and ::.)\" or similar revset specification\n" " instead of --outgoing to specify edit target revision exactly in\n" " such ambiguous situation. See :hg:`help revsets` for detail about\n" -" selecting revisions.\n" -" " +" selecting revisions." msgstr "" " 紛らわしさのために --outgoing が使用できない場合、 \"min(outgoing()\n" " and ::.)\" または同等の revset 表記を使って、 改変対象リビジョンを、\n" " 厳密に指定してください。 リビジョン指定の詳細は :hg:`help revsets`\n" -" を参照してください。\n" +" を参照してください。" + +msgid "" +" Returns 0 on success, 1 if user intervention is required (not only\n" +" for intentional \"edit\" command, but also for resolving unexpected\n" +" conflicts).\n" +" " +msgstr "" +" 成功時のコマンド終了値は 0、 ユーザによる作業 (\"edit\" 指定による、\n" +" 意図的なもの以外に、 予期せぬ衝突発生時も含みます) が必要な場合は\n" +" 1 です。\n" " " msgid "source has mq patches applied" @@ -4563,15 +4575,15 @@ #, python-format msgid "%s event: created %s\n" -msgstr "%s: %s を作成\n" +msgstr "イベント %s: %s を作成\n" #, python-format msgid "%s event: deleted %s\n" -msgstr "%s: %s を削除\n" +msgstr "イベント %s: %s を削除\n" #, python-format msgid "%s event: modified %s\n" -msgstr "%s: %s を変更\n" +msgstr "イベント %s: %s を変更\n" #, python-format msgid "filesystem containing %s was unmounted\n" @@ -4714,13 +4726,11 @@ " svn = True" msgid "" -".. note::\n" " The more specific you are in your filename patterns the less you\n" " lose speed in huge repositories." msgstr "" -".. note::\n" -" ファイル名パターンが更に特殊になる場合、\n" -" リポジトリサイズ次第では性能劣化が生じ得ます。" +" ファイル名パターンが更に特殊になる場合、 リポジトリサイズ次第では、\n" +" 実行性能が低下する可能性があります。" msgid "" "For [keywordmaps] template mapping and expansion demonstration and\n" @@ -5455,19 +5465,19 @@ #, python-format msgid "" -"%s has been turned into a largefile\n" -"use (l)argefile or keep as (n)ormal file?$$ &Largefile $$ &Normal file" -msgstr "" -"ファイル %s が大容量ファイル化されています。\n" +"remote turned local normal file %s into a largefile\n" +"use (l)argefile or keep (n)ormal file?$$ &Largefile $$ &Normal file" +msgstr "" +"通常ファイル %s が、マージ対象リビジョンでは大容量ファイル化されています。\n" "大容量:(l)argefile と通常:(n)ormal file のどちらの形式を採用しますか?$$ " "&Largefile $$ &Normal file" #, python-format msgid "" -"%s has been turned into a normal file\n" -"keep as (l)argefile or use (n)ormal file?$$ &Largefile $$ &Normal file" -msgstr "" -"ファイル %s が通常ファイル化されています。\n" +"remote turned local largefile %s into a normal file\n" +"keep (l)argefile or use (n)ormal file?$$ &Largefile $$ &Normal file" +msgstr "" +"大容量ファイル %s が、マージ対象リビジョンでは通常ファイル化されています。\n" "大容量:(l)argefile と通常:(n)ormal file のどちらの形式を採用しますか?$$ " "&Largefile $$ &Normal file" @@ -5489,7 +5499,7 @@ "&Local $$ &Other" msgid "no files to copy" -msgstr "コピーするファイルがありません" +msgstr "複製対象ファイルがありません" msgid "destination largefile already exists" msgstr "大容量ファイルの複製先は既に存在します" @@ -5506,7 +5516,7 @@ msgstr "未知のアーカイブ種別 '%s'" msgid "cannot give prefix when archiving to files" -msgstr "アーカイブにファイルを追加するときは接頭辞を指定できません" +msgstr "files でのアーカイブには接頭辞を指定できません" #, python-format msgid "largefile %s not found in repo store or system cache" @@ -5579,7 +5589,7 @@ #, python-format msgid "remotestore: could not open file %s: %s" -msgstr "remotestore: ファイル %s を開くことができません: %s" +msgstr "remotestore: ファイル %s が開けません: %s" #, python-format msgid "changeset %s: %s: contents differ\n" @@ -5591,7 +5601,7 @@ #, python-format msgid "required features are not supported in the destination: %s" -msgstr "連携先リポジトリでは必要な機能が未サポートです: %s" +msgstr "必要な機能が連携先リポジトリでは未サポートです: %s" #, python-format msgid "file \"%s\" is a largefile standin" @@ -5984,7 +5994,7 @@ #, python-format msgid "cannot push '%s' - %s\n" -msgstr "パッチ '%s' は適用できませんでした - %s\n" +msgstr "パッチ '%s' の適用に失敗 - %s\n" msgid "all patches are currently applied\n" msgstr "全てのパッチが適用中です\n" @@ -6714,12 +6724,11 @@ " 引数指定が無い場合、 現在のガード設定を表示します。\n" " 引数が指定された場合、 指定パッチに対してガードを設定します。" -msgid "" -" .. note::\n" -" Specifying negative guards now requires '--'." -msgstr "" -" .. note::\n" -" 「負」のガード設定には、 ガード指定の前に '--' 指定が必要です。" +msgid " .. note::" +msgstr " .. note::" + +msgid " Specifying negative guards now requires '--'." +msgstr " 負のガード設定には、 ガード指定の前に '--' 引数が必要です。" msgid " To set guards on another patch::" msgstr " 現行パッチ以外にガードを設定するには::" @@ -7345,7 +7354,7 @@ " :``bundle``: ``hg unbundle`` 経由での反映" msgid " Default: serve." -msgstr " デフォルト値は serve です。" +msgstr " デフォルト値は serve です。" msgid "" "notify.strip\n" @@ -7752,7 +7761,7 @@ msgstr "説明文を独立したメールで送信" msgid "hg email [OPTION]... [DEST]..." -msgstr "hg email [OPTION]... [DEST]...\"" +msgstr "hg email [OPTION]... [DEST]..." msgid "send changesets by email" msgstr "電子メールによる変更内容のパッチ送付" @@ -7892,7 +7901,7 @@ "default\n" " hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST" msgstr "" -" # ※ 以下、すべて bundle 形式\n" +" # ※ 以下、すべて bundle 形式\n" " hg email -b # default 側に無いリビジョン\n" " hg email -b DEST # DEST 側に無いリビジョン\n" " hg email -b -r 3000 # 3000 以前で default 側に無いリビジョン\n" @@ -8071,10 +8080,10 @@ msgstr "作業領域中の未登録ファイルを削除するコマンド" msgid "abort if an error occurs" -msgstr "エラーが発生した場合に処理を中止" +msgstr "エラー発生時には処理を中止" msgid "purge ignored files too" -msgstr "無視したファイルも削除する" +msgstr "無視対象ファイルも削除" msgid "print filenames instead of deleting them" msgstr "ファイル削除の変わりにファイル名表示を実施" @@ -8083,7 +8092,7 @@ msgstr "ファイル名をNUL文字(0x00)で終端(xargs -p/--print との併用向け)" msgid "hg purge [OPTION]... [DIR]..." -msgstr "hg purge [OPTION]... [DIR]...\"" +msgstr "hg purge [OPTION]... [DIR]..." msgid "removes files not tracked by Mercurial" msgstr "Mercurial の管理対象外ファイルの削除" @@ -8142,7 +8151,7 @@ #, python-format msgid "%s cannot be removed" -msgstr "%s を削除できませんでした" +msgstr "%s の削除に失敗" #, python-format msgid "warning: %s\n" @@ -8336,10 +8345,12 @@ " (移動関連情報の破棄) してください。" msgid "" -" Returns 0 on success, 1 if nothing to rebase.\n" -" " -msgstr "" -" 成功時のコマンド終了値は 0、 移植が実施されない場合は 1 です。\n" +" Returns 0 on success, 1 if nothing to rebase or there are\n" +" unresolved conflicts.\n" +" " +msgstr "" +" 成功時のコマンド終了値は 0、 移動が必要なリビジョンが無い場合や、\n" +" 未解消の衝突が発生した場合は 1 です。\n" " " msgid "message can only be specified with collapse" @@ -8856,7 +8867,6 @@ " 新規に作成します。" msgid "" -" .. note::\n" " using rollback or extensions that destroy/modify history (mq,\n" " rebase, etc.) can cause considerable confusion with shared\n" " clones. In particular, if two shared clones are both updated to\n" @@ -8867,7 +8877,6 @@ " the broken clone to reset it to a changeset that still exists.\n" " " msgstr "" -" .. note::\n" " rollback の実施や、 履歴を改変するエクステンション (例: mq や\n" " rebase 等) の利用は、 リポジトリ間での共有に混乱をもたらします。\n" " 典型的な例は、 共有関係にあるリポジトリの両方が、 \n" @@ -8936,7 +8945,7 @@ msgstr "非互換なバージョンの shelve エクステンションによる復旧処理中です" msgid "cannot shelve while merging" -msgstr "マージ実施中は変更の退避ができません" +msgstr "マージ実施中は変更を退避できません" #, python-format msgid "a shelved change named '%s' already exists" @@ -9630,7 +9639,7 @@ msgstr "[win32mbcs] 文字コード '%s' によるファイル名変換に失敗\n" msgid "[win32mbcs] cannot activate on this platform.\n" -msgstr "[win32mbcs] このプラットフォームでは実行できません。\n" +msgstr "[win32mbcs] エクステンションを有効化できないプラットフォームです。\n" msgid "perform automatic newline conversion" msgstr "改行形式の自動変換" @@ -9809,7 +9818,7 @@ " zc-test = http://example.com:8000/test\n" msgid "archive prefix contains illegal components" -msgstr "アーカイブの接頭辞が不正なコンポーネントを含みます" +msgstr "アーカイブの接頭辞が不正な要素を含みます" msgid "archiving" msgstr "アーカイブ中" @@ -9901,7 +9910,7 @@ #, python-format msgid "can't read commit message '%s': %s" -msgstr "コミットログ '%s' を読み込むことができません: %s" +msgstr "コミットログ '%s' が読み込めません: %s" msgid "limit must be a positive integer" msgstr "制限には正数を指定してください" @@ -9959,7 +9968,7 @@ #, python-format msgid "%s: deleted in working copy\n" -msgstr "%s: 作業コピーから削除しました\n" +msgstr "%s: 作業領域から削除しました\n" #, python-format msgid "%s: cannot copy - %s\n" @@ -9974,17 +9983,17 @@ msgstr "%s を %s にコピー中\n" msgid "no source or destination specified" -msgstr "作業元もしくは作業先を指定していません" +msgstr "複製元/複製先の指定がありません" msgid "no destination specified" -msgstr "作業先を指定していません" +msgstr "複製先指定がありません" msgid "with multiple sources, destination must be an existing directory" -msgstr "複数の作業元の場合、 作業先は存在するディレクトリを指定してください" +msgstr "複製元が複数の場合、存在するディレクトリを複製先に指定してください" #, python-format msgid "destination %s is not a directory" -msgstr "作業先 %s はディレクトリではありません" +msgstr "複製先 %s はディレクトリではありません" msgid "(consider using --after)\n" msgstr "(--after を使ってみては?)\n" @@ -10078,10 +10087,10 @@ #, python-format msgid "found revision %s from %s\n" -msgstr "リビジョン %s を %s で見つけました\n" +msgstr "リビジョン %s (%s) が指定日時に合致します\n" msgid "revision matching date not found" -msgstr "リビジョンに一致する日付がありません" +msgstr "指定日時に合致するリビジョンがありません" #, python-format msgid "cannot follow file not in parent revision: \"%s\"" @@ -10634,11 +10643,9 @@ " マージ結果はコミットされません。" msgid "" -" .. note::\n" " backout cannot be used to fix either an unwanted or\n" " incorrect merge." msgstr "" -" .. note::\n" " :hg:`backout` による打消し機能は、マージ実施リビジョンに対しては、\n" " 適用できません。" @@ -10863,8 +10870,7 @@ msgstr " hg log --graph -r \"bisect(range)\"" msgid " See :hg:`help revsets` for more about the `bisect()` keyword." -msgstr "" -" `bisect()` キーワードの詳細は :hg:`help revsets` を参照してください。" +msgstr " `bisect()` の詳細は :hg:`help revsets` を参照してください。" msgid "The first good revision is:\n" msgstr "最初の good なリビジョンは:\n" @@ -10901,7 +10907,7 @@ msgstr "不正な引数の組み合わせです" msgid "current bisect revision is unknown - start a new bisect to fix" -msgstr "現在の検証対象リビジョンが不在です - 探索を最初からやり直してください" +msgstr "未知のリビジョンが検証対象です - 探索を最初からやり直してください" msgid "current bisect revision is a merge" msgstr "現在の検証対象リビジョンはマージ実施リビジョンです" @@ -11033,14 +11039,14 @@ msgstr "--rev と --rename は併用できません" msgid "bookmark name required" -msgstr "ブックマーク名を要求しました" +msgstr "ブックマーク名指定が必要です" #, python-format msgid "bookmark '%s' does not exist" msgstr "ブックマーク '%s' は存在しません" msgid "new bookmark name required" -msgstr "新しいブックマーク名を要求しました" +msgstr "新しいブックマーク名が必要です" msgid "only one new bookmark name allowed" msgstr "新規ブックマーク名の指定は1つだけです" @@ -11064,14 +11070,12 @@ msgstr "ブランチ名の設定、 ないし現ブランチ名の表示" msgid "" -" .. note::\n" " Branch names are permanent and global. Use :hg:`bookmark` to create " "a\n" " light-weight bookmark instead. See :hg:`help glossary` for more\n" " information about named branches and bookmarks." msgstr "" -" .. note::\n" -" ブランチ名は永続的で且つ共有されます。\n" +" ブランチ名の情報は永続的で、 他リポジトリにも伝搬されます。\n" " 軽量な名前付けが必要なら、\n" " :hg:`bookmark` でブックマークを作成してください。\n" " 名前付きブランチと、 ブックマークの詳細に関しては、\n" @@ -12273,12 +12277,10 @@ msgstr " 差分は unified diff 形式で表示されます。" msgid "" -" .. note::\n" " diff may generate unexpected results for merges, as it will\n" " default to comparing against the working directory's first\n" " parent changeset if no revisions are specified." msgstr "" -" .. note::\n" " マージ実施リビジョンに対する本コマンドの差分出力が、\n" " 期待と異なる場合があるのは、 対象リビジョンが無指定の場合に\n" " 比較対象となるのが、 作業領域の第1親に固定されているためです。" @@ -12371,15 +12373,13 @@ " (default 以外の場合は)ブランチ名前/ハッシュ値/親リビジョン/コミットログ" msgid "" -" .. note::\n" " export may generate unexpected diff output for merge\n" " changesets, as it will compare the merge changeset against its\n" " first parent only." msgstr "" -" .. note::\n" -" マージ実施リビジョンに対する本コマンドの差分出力が、\n" -" 期待と異なる場合があるのは、 比較対象が対象リビジョンの第1親に\n" -" 固定されているためです。" +" 本コマンドの差分出力が、 マージ実施リビジョンに対しては、\n" +" 期待と異なる場合があります。 差分出力の際の比較対象が、\n" +" 指定リビジョンの第1親に固定されているためです。" msgid "" " Output may be to a file, in which case the name of the file is\n" @@ -12553,12 +12553,8 @@ " 手動で衝突を解決してください。 全ての衝突が解消されたならば、\n" " -c/--continue 指定により、 未完了の移植を再開してください。" -msgid "" -" .. note::\n" -" The -c/--continue option does not reapply earlier options." -msgstr "" -" .. note::\n" -" -c/--continue でも、 以前のオプション指定までは再現されません。" +msgid " The -c/--continue option does not reapply earlier options." +msgstr " -c/--continue でも、 以前のオプション指定までは再現されません。" msgid "" " - copy a single change to the stable branch and edit its description::" @@ -12605,23 +12601,23 @@ #, python-format msgid "skipping ungraftable merge revision %s\n" -msgstr "移植できないマージリビジョン %s を飛ばしています\n" +msgstr "移植できないマージリビジョン %s を無視\n" #, python-format msgid "skipping ancestor revision %s\n" -msgstr "祖先リビジョン %s を飛ばしています\n" +msgstr "祖先リビジョン %s を無視\n" #, python-format msgid "skipping revision %s (already grafted to %s)\n" -msgstr "リビジョン %s を飛ばしています (%s に移植済み)\n" +msgstr "リビジョン %s を無視 (%s に移植済み)\n" #, python-format msgid "skipping already grafted revision %s (%s also has origin %d)\n" -msgstr "移植済みリビジョン %s を飛ばしています (%s も同じリビジョン %d 由来)\n" +msgstr "移植済みリビジョン %s を無視 (%s も同じリビジョン %d 由来)\n" #, python-format msgid "skipping already grafted revision %s (was grafted from %d)\n" -msgstr "移植済みリビジョン %s を飛ばしています (移植元: %d)\n" +msgstr "移植済みリビジョン %s を無視 (移植元: %d)\n" #, python-format msgid "grafting revision %s\n" @@ -12776,7 +12772,7 @@ #, python-format msgid " (started at %s)" -msgstr "(%s から開始)" +msgstr " (%s から開始)" msgid "show only help for extensions" msgstr "エクステンションのヘルプのみを表示" @@ -13219,26 +13215,24 @@ " コミットログの全文も表示されます。" msgid "" -" .. note::\n" " log -p/--patch may generate unexpected diff output for merge\n" " changesets, as it will only compare the merge changeset against\n" " its first parent. Also, only files different from BOTH parents\n" " will appear in files:." msgstr "" -" .. note::\n" -" マージ実施リビジョンに対する -p/--patch 指定による差分出力が、\n" -" 期待と異なる場合があるのは、 比較対象が対象リビジョンの第1親に\n" -" 固定されているためです。 ファイル一覧が予期せぬ内容となるのは、\n" -" 親同士で内容が異なるファイルのみが列挙されるためです。" - -msgid "" -" .. note::\n" +" -p/--patch 指定による差分出力が、 マージ実施リビジョンに対しては、\n" +" 期待と異なる場合があります。 差分出力の際の比較対象が、\n" +" 指定リビジョンの第1親に固定されているためです。 ファイル一覧が、\n" +" 期待と異なる場合もあります。 更新対象ファイル一覧に列挙されるのは、\n" +" マージ対象リビジョンの間で、 内容が異なるファイルのみが、\n" +" 更新対象として列挙されるためです。" + +msgid "" " for performance reasons, log FILE may omit duplicate changes\n" " made on branches and will not show deletions. To see all\n" " changes including duplicates and deletions, use the --removed\n" " switch." msgstr "" -" .. note::\n" " ファイル名指定付きでの実行では、 複数ブランチ上での同一変更や、\n" " 登録除外実施リビジョンは、 性能的な点から表示しません。\n" " 重複変更や登録除外を含め、 全てのリビジョンを表示する場合、\n" @@ -13638,10 +13632,10 @@ msgstr "フェーズ指定は1つだけです" #, python-format -msgid "cannot move %i changesets to a more permissive phase, use --force\n" -msgstr "" -"公開方向へのフェーズ変更が %i 個のリビジョンで失敗しました。\n" -"適宜 --force 指定を行ってください。\n" +msgid "cannot move %i changesets to a higher phase, use --force\n" +msgstr "" +"フェーズ変更による公開制限が %i 個のリビジョンで失敗しました。\n" +"適宜 --force を指定してください。\n" #, python-format msgid "phase changed for %i changesets\n" @@ -13775,12 +13769,10 @@ " を使用します。 このオプションは、 新規ブランチの作成のみを許可します。" msgid "" -" .. note::\n" " Extra care should be taken with the -f/--force option,\n" " which will push all new heads on all branches, an action which will\n" " almost always cause confusion for collaborators." msgstr "" -" .. note::\n" " -f/--force を指定した場合、 対象ブランチ上の全ヘッドリビジョンが、\n" " 連携先に反映されます。 この挙動は多くの場合、 共同作業者の間で、\n" " 無用な混乱の原因となりますので、 指定の際には十分な注意が必要です。" @@ -14089,17 +14081,13 @@ msgstr "親リビジョンの状態でファイルを復旧" msgid "" -" .. note::\n" " To check out earlier revisions, you should use :hg:`update REV`.\n" " To cancel an uncommitted merge (and lose your changes),\n" " use :hg:`update --clean .`." msgstr "" -" .. note::\n" -" 作業領域を、 別リビジョン時点の内容で更新する場合は\n" -" :hg:`update 対象リビジョン` を実行してください。\n" -" マージ実施を途中で取り消す場合は\n" -" :hg:`update --clean .` を実行してください\n" -" (マージにおける修正内容は破棄されます)。" +" 指定リビジョンでの作業領域の更新は :hg:`update 対象リビジョン`\n" +" で行います。 マージ途中での取り消しは :hg:`update --clean .`\n" +" で行います (マージにおける修正内容は破棄されます)。" msgid "" " With no revision specified, revert the specified files or directories\n" @@ -14454,18 +14442,16 @@ " が明示的に指定されない限り、 未登録ファイルは表示されません。" msgid "" -" .. note::\n" " status may appear to disagree with diff if permissions have\n" " changed or a merge has occurred. The standard diff format does\n" " not report permission changes and diff only reports changes\n" " relative to one merge parent." msgstr "" -" .. note::\n" -" 権限設定の変更やマージが行われた場合、 差分表示から期待される\n" -" 結果とは異なる状態が表示される可能性があります。\n" -" 標準的な差分形式は権限変更の情報を含みませんし、\n" -" マージ実施リビジョンに対しては、 一方の親リビジョンとの差分\n" -" しか表示しないためです。" +" 権限設定の変更やマージが行われた場合、 状態表示の結果が、\n" +" 差分表示から期待される結果とは、 異なる可能性があります。\n" +" 標準的な差分形式は、 権限変更の情報を含みませんし、\n" +" マージ実施リビジョンでの差分表示は、 差分出力の際の比較対象が、\n" +" 指定リビジョンの第1親に固定されているためです。" msgid "" " If one revision is given, it is used as the base revision.\n" @@ -15188,15 +15174,15 @@ msgstr "hg: %s\n" msgid "abort: remote error:\n" -msgstr "中断: 連携エラー:\n" +msgstr "中止: 連携エラー:\n" #, python-format msgid "abort: %s!\n" -msgstr "中断: %s!\n" +msgstr "中止: %s!\n" #, python-format msgid "abort: %s" -msgstr "中断: %s" +msgstr "中止: %s" msgid " empty string\n" msgstr " 空文字列\n" @@ -15216,14 +15202,14 @@ #, python-format msgid "abort: error: %s\n" -msgstr "中断: エラー: %s\n" +msgstr "中止: エラー: %s\n" msgid "broken pipe\n" msgstr "パイプ破壊(EPIPE)\n" #, python-format msgid "abort: %s: '%s'\n" -msgstr "中断: %s: '%s'\n" +msgstr "中止: %s: '%s'\n" msgid "interrupted!\n" msgstr "中断されました!\n" @@ -15236,7 +15222,7 @@ "パイプ破壊(EPIPE)\n" msgid "abort: out of memory\n" -msgstr "中断: メモリ不足\n" +msgstr "中止: メモリ不足\n" msgid "the extension author." msgstr "エクステンションの作者" @@ -15454,7 +15440,7 @@ #, python-format msgid "warning: internal:merge cannot merge symlinks for %s\n" -msgstr "警告: internal:merge はシンボリックリンク %s のマージができません\n" +msgstr "警告: internal:merge はシンボリックリンク %s をマージできません\n" msgid "" "``internal:dump``\n" @@ -15712,7 +15698,7 @@ #, python-format msgid "unknown encoding '%s'" -msgstr "不明なエンコーディング '%s' が指定されました" +msgstr "未知のエンコーディング '%s' が指定されました" msgid "" "``eol(style)``\n" @@ -15878,7 +15864,7 @@ #, python-format msgid " %s" -msgstr " %s" +msgstr " %s" #, python-format msgid "alias for: hg %s" @@ -18969,6 +18955,7 @@ " collapses each collection of repositories found within a subdirectory\n" " into a single entry for that subdirectory. Default is False." msgstr "" +"``collapse``\n" " ``descend`` が有効な場合、 サブディレクトリ配下のリポジトリ群も、\n" " 単一の一覧ページに表示されます。 同時に ``collapse`` も有効な場合、\n" " サブディレクトリ配下のリポジトリ群は、 対応パスへの誘導を行う、\n" @@ -19378,8 +19365,8 @@ msgid "Lastly, there is Mercurial's internal format:" msgstr "最後に、 Mercurial 固有の内部形式を示します:" -msgid "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)" -msgstr "- ``1165432709 0`` (2006年12月6日 13:18:29 UTC)" +msgid "- ``1165411109 0`` (Wed Dec 6 13:18:29 2006 UTC)" +msgstr "- ``1165411109 0`` (2006年12月6日 13:18:29 UTC)" msgid "" "This is the internal representation format for dates. The first number\n" @@ -19610,9 +19597,9 @@ " HGPLAIN is enabled. Currently the only value supported is \"i18n\",\n" " which preserves internationalization in plain mode." msgstr "" -" HGPLAIN による設定無効化の際でも、\n" -" 維持する機能をカンマ区切りで列挙します。\n" -" 現在利用可能な機能名は \"i18n\" のみで、\n" +"HGPLAINEXCEPT\n" +" HGPLAIN による設定無効化の際でも、 継続して利用したい機能名を、\n" +" カンマ区切りで列挙します。 現在利用可能な機能名は \"i18n\" のみで、\n" " 国際化関連機能が維持されます。" msgid "" @@ -19838,7 +19825,9 @@ msgid "" "``x - y``\n" " Files in x but not in y." -msgstr " ファイル群 x のうち、 y に属さないもの。" +msgstr "" +"``x - y``\n" +" ファイル群 x のうち、 y に属さないもの。" msgid "The following predicates are supported:" msgstr "使用可能な述語を以下に列挙します:" @@ -22898,7 +22887,7 @@ " 更にスラッシュ('/')を付与してください::" msgid " ssh://example.com//tmp/repository" -msgstr " 例: ssh://example.com//tmp/repository" +msgstr " 例: ssh://example.com//tmp/repository" msgid "" "- Mercurial doesn't use its own compression via SSH; the right thing\n" @@ -23020,7 +23009,7 @@ msgstr "指定の複製元は、 リビジョン指定付き複製が未サポートです" msgid "clone from remote to remote not supported" -msgstr "リモートからリモートの複製は未サポートです" +msgstr "リモートからリモートへの複製は未サポートです" msgid "updating to bookmark @\n" msgstr "ブックマーク @ への更新中\n" @@ -23080,15 +23069,6 @@ msgid "cannot start server at '%s:%d': %s" msgstr "'%s:%d' でのサーバ起動に失敗: %s" -msgid "exact revision search" -msgstr "リビジョン識別子による検索" - -msgid "literal keyword search" -msgstr "キーワードによる検索" - -msgid "revset expression search" -msgstr "revset 記述による検索" - #, python-format msgid "(binary file %s, hash: %s)" msgstr "(バイナリファイル %s, ハッシュ値: %s)" @@ -23226,7 +23206,7 @@ #, python-format msgid "repository %s already exists" -msgstr "%sというリポジトリは既に存在しています" +msgstr "リポジトリ %s は既に存在しています" #, python-format msgid ".hg/sharedpath points to nonexistent directory %s" @@ -23247,7 +23227,7 @@ msgstr "中断トランザクションを検出 - 'hg recover' を実施してください" msgid "rolling back interrupted transaction\n" -msgstr "中断されたトランザクションをロールバックしています\n" +msgstr "中断されたトランザクションをロールバック中\n" msgid "no interrupted transaction available\n" msgstr "中断されたトランザクションはありません\n" @@ -23349,7 +23329,7 @@ msgstr "連携先の changegroupsubset 機能未対応により、 部分取り込みできません。" msgid "destination does not support push" -msgstr "指定の連携先には履歴反映ができません" +msgstr "指定の連携先には履歴を反映できません" #, python-format msgid "cannot lock source repo, skipping local %s phase update\n" @@ -23419,7 +23399,7 @@ msgstr "その処理はサーバで禁止されています" msgid "locking the remote repository failed" -msgstr "連携先リポジトリをロックできませんでした" +msgstr "連携先リポジトリのロックに失敗" msgid "the server sent an unknown error code" msgstr "サーバが未知のエラーコードを返却しました" @@ -23497,7 +23477,7 @@ #, python-format msgid "failed to remove %s from manifest" -msgstr "マニフェストから %s を削除できませんでした" +msgstr "マニフェストからの %s の削除に失敗" #, python-format msgid "invalid pattern (%s): %s" @@ -23531,14 +23511,14 @@ msgstr "ファイル名の文字大小の問題で %s と %s が衝突します" msgid "resolving manifests\n" -msgstr "管理ファイル一覧を解決しています\n" +msgstr "管理ファイル一覧の解決中\n" #, python-format msgid "" "local changed %s which remote deleted\n" "use (c)hanged version or (d)elete?$$ &Changed $$ &Delete" msgstr "" -"変更したファイル %s は別リビジョンで登録除外されています。\n" +"変更したファイル %s が、マージ対象リビジョンで登録除外されています。\n" "変更:(c)hanged と登録除外:(d)elete のどちらを採用しますか?$$ &Changed $$ " "&Delete" @@ -23547,8 +23527,8 @@ "remote changed %s which local deleted\n" "use (c)hanged version or leave (d)eleted?$$ &Changed $$ &Deleted" msgstr "" -"リモートで変更された %s は、ローカルで削除されています。\n" -"変更:(c)hanged と削除:(d)elete のどちらを採用しますか?$$ &Changed $$ " +"登録除外済みのファイル %s が、マージ対象リビジョンで変更されています。\n" +"変更:(c)hanged と登録除外:(d)elete のどちらを採用しますか?$$ &Changed $$ " "&Deleted" #, python-format @@ -23557,7 +23537,7 @@ #, python-format msgid "getting %s\n" -msgstr "%s を取得しています\n" +msgstr "%s の取得中\n" msgid "updating" msgstr "更新中" @@ -23674,7 +23654,7 @@ #, python-format msgid "patching file %s\n" -msgstr "ファイル %s をパッチ適用しています\n" +msgstr "ファイル %s にパッチ適用中\n" #, python-format msgid "bad hunk #%d %s (%d %d %d %d)" @@ -23682,7 +23662,7 @@ #, python-format msgid "cannot create %s: destination already exists\n" -msgstr "%s を作成できません: 作業先にすでに存在します\n" +msgstr "%s を作成できません: 対象ファイルが既に存在します\n" #, python-format msgid "file %s already exists\n" @@ -23733,7 +23713,7 @@ #, python-format msgid "cannot create %s: destination already exists" -msgstr "%s を作成できません: 作業先にすでに存在します" +msgstr "%s を作成できません: 対象ファイルが既に存在します" #, python-format msgid "unsupported parser state: %s" @@ -23754,6 +23734,9 @@ msgid "cannot %s; remote repository does not support the %r capability" msgstr "%s ができません。 連携先は機能 %r が未サポートです" +msgid "cannot lookup negative revision" +msgstr "負値のリビジョン指定は無効です" + msgid "cannot change null revision phase" msgstr "null リビジョンのフェーズは変更できません" @@ -23775,7 +23758,7 @@ #, python-format msgid "killed by signal %d" -msgstr "%d のシグナルで強制終了しました" +msgstr "シグナル %d で強制終了されました" #, python-format msgid "saved backup bundle to %s\n" @@ -25051,6 +25034,10 @@ msgstr "サブリポジトリの連携先が見つかりません" #, python-format +msgid "warning: removing potentially hostile .hg/hgrc in '%s'" +msgstr "警告: '%s' 中の .hg/hgrc は潜在的な問題となりえるため破棄します" + +#, python-format msgid "unknown subrepo type %s" msgstr "未知のサブリポジトリ種別 '%s'" @@ -25507,14 +25494,14 @@ #, python-format msgid "unknown method '%s'" -msgstr "不明な処理 '%s' が指定されました" +msgstr "未知の処理 '%s' が指定されました" msgid "expected a symbol" msgstr "シンボル指定が必要です" #, python-format msgid "unknown function '%s'" -msgstr "不明な関数 '%s' が指定されました" +msgstr "未知の関数 '%s' が指定されました" msgid "expected template specifier" msgstr "テンプレート指定が必要です" @@ -25542,7 +25529,7 @@ #. i18n: "get" is a keyword msgid "get() expects a dict as first argument" -msgstr "get() の第1引数は辞書でなければなりません" +msgstr "get() の第1引数には辞書を指定してください" #. i18n: "if" is a keyword msgid "if expects two or three arguments" @@ -25634,7 +25621,7 @@ msgstr "%s.%s の値 ('%s') はバイト数を表す値ではありません" msgid "enter a commit username:" -msgstr "コミットするユーザ名を入力してください:" +msgstr "コミット実施ユーザ名を入力してください:" #, python-format msgid "no username found, using '%s' instead\n" @@ -25645,13 +25632,13 @@ #, python-format msgid "username %s contains a newline\n" -msgstr "ユーザ名 %s は改行を含んでいます\n" +msgstr "ユーザ名 %s が改行を含んでいます\n" msgid "response expected" -msgstr "レスポンスがありません" +msgstr "何らかの入力が必要です" msgid "unrecognized response\n" -msgstr "認識できないレスポンス\n" +msgstr "入力が不正です\n" msgid "password: " msgstr "パスワード: " @@ -25660,14 +25647,14 @@ msgstr "union 形式のリポジトリは新規作成できません" msgid "http authorization required" -msgstr "HTTP 認証に失敗" +msgstr "HTTP 認証が要求されています" msgid "http authorization required\n" -msgstr "HTTP 認証を要求しました\n" +msgstr "HTTP 認証が要求されています\n" #, python-format msgid "realm: %s\n" -msgstr "認証領域: %s\n" +msgstr "認証領域(realm): %s\n" #, python-format msgid "user: %s\n" @@ -25682,7 +25669,13 @@ #, python-format msgid "command '%s' failed: %s" -msgstr "コマンド '%s' 失敗: %s" +msgstr "コマンド '%s' が失敗: %s" + +msgid "filename ends with '\\', which is invalid on Windows" +msgstr "ファイル名の末尾が、 Windows 上で不正な文字 '\\' です" + +msgid "directory name ends with '\\', which is invalid on Windows" +msgstr "ディレクトリ名の末尾が、 Windows 上で不正な文字 '\\' です" #, python-format msgid "filename contains '%s', which is reserved on Windows" @@ -25743,7 +25736,7 @@ #, python-format msgid "%s must be nonnegative (see 'hg help dates')" -msgstr "%s は正の値でなければなりません ('hg help dates' 参照)" +msgstr "%s には正の値を指定してください ('hg help dates' 参照)" #, python-format msgid "%.0f GB" @@ -25989,7 +25982,7 @@ #, python-format msgid "%s in manifests not found" -msgstr "管理対象一覧中の %s は存在しません" +msgstr "管理対象一覧中に %s は存在しません" #, python-format msgid "warning: orphan revlog '%s'" @@ -26024,4 +26017,4 @@ msgstr "履歴反映に失敗:" msgid "number of cpus must be an integer" -msgstr "CPU 数は数値でなければなりません" +msgstr "CPU 数には数値を指定してください"
--- a/i18n/pt_BR.po Fri Nov 29 12:36:28 2013 -0800 +++ b/i18n/pt_BR.po Sun Dec 01 14:10:53 2013 -0600 @@ -13873,10 +13873,8 @@ msgstr "apenas uma fase pode ser especificada" #, python-format -msgid "cannot move %i changesets to a more permissive phase, use --force\n" -msgstr "" -"não é possível mover %i revisões para uma fase mais permissiva sem usar " -"--force\n" +msgid "cannot move %i changesets to a higher phase, use --force\n" +msgstr "não é possível mover %i revisões para uma fase mais alta, use --force\n" #, python-format msgid "phase changed for %i changesets\n" @@ -14987,7 +14985,7 @@ " -f/--force to force the tag commit to be based on a non-head\n" " changeset." msgstr "" -" A consolidação de revisões de etiqueta são em geral feitas na\n" +" Em geral, consolidações de revisões de etiqueta são feitas na\n" " cabeça de um ramo. Se o pai do diretório de trabalho não for a\n" " cabeça de um ramo, :hg:`tag` abortará; use -f/--force para\n" " forçar a consolidação de uma etiqueta a se basear em uma \n" @@ -25555,6 +25553,10 @@ msgstr "o caminho padrão para o sub-repositório não foi encontrado" #, python-format +msgid "warning: removing potentially hostile .hg/hgrc in '%s'" +msgstr "aviso: removendo .hg/hgrc potencialmente hostil em '%s'" + +#, python-format msgid "unknown subrepo type %s" msgstr "tipo de sub-repositório %s desconhecido"
--- a/mercurial/commands.py Fri Nov 29 12:36:28 2013 -0800 +++ b/mercurial/commands.py Sun Dec 01 14:10:53 2013 -0600 @@ -539,7 +539,7 @@ Some examples: - - start a bisection with known bad revision 12, and good revision 34:: + - start a bisection with known bad revision 34, and good revision 12:: hg bisect --bad 34 hg bisect --good 12 @@ -586,7 +586,7 @@ hg log -r "bisect(range)" - - with the graphlog extension, you can even get a nice graph:: + - you can even get a nice graph:: hg log --graph -r "bisect(range)"
--- a/mercurial/help/config.txt Fri Nov 29 12:36:28 2013 -0800 +++ b/mercurial/help/config.txt Sun Dec 01 14:10:53 2013 -0600 @@ -495,8 +495,8 @@ Example for ``~/.hgrc``:: [extensions] - # (the mq extension will get loaded from Mercurial's path) - mq = + # (the progress extension will get loaded from Mercurial's path) + progress = # (this extension will get loaded from the file specified) myfeature = ~/.hgext/myfeature.py
--- a/mercurial/help/glossary.txt Fri Nov 29 12:36:28 2013 -0800 +++ b/mercurial/help/glossary.txt Sun Dec 01 14:10:53 2013 -0600 @@ -173,9 +173,9 @@ system (DVCS) can be described as a directed acyclic graph (DAG), consisting of nodes and edges, where nodes correspond to changesets and edges imply a parent -> child relation. This graph - can be visualized by graphical tools such as :hg:`glog` - (graphlog). In Mercurial, the DAG is limited by the requirement - for children to have at most two parents. + can be visualized by graphical tools such as :hg:`log --graph`. In + Mercurial, the DAG is limited by the requirement for children to + have at most two parents. Default branch See 'Branch, default'. @@ -218,7 +218,7 @@ extensions. See :hg:`help phases`. Graph - See DAG and :hg:`help graphlog`. + See DAG and :hg:`log --graph`. Head The term 'head' may be used to refer to both a branch head or a
--- a/tests/test-i18n.t Fri Nov 29 12:36:28 2013 -0800 +++ b/tests/test-i18n.t Sun Dec 01 14:10:53 2013 -0600 @@ -38,3 +38,10 @@ pager Verwendet einen externen Pager zum Bl\xc3\xa4ttern in der Ausgabe von Befehlen (esc) +Check Mercurial specific translation problems in each *.po files, and +tool itself by doctest + + $ cd "$TESTDIR"/../i18n + $ python check-translation.py *.po + $ python check-translation.py --doctest + $ cd $TESTTMP
--- a/tests/test-largefiles.t Fri Nov 29 12:36:28 2013 -0800 +++ b/tests/test-largefiles.t Sun Dec 01 14:10:53 2013 -0600 @@ -2192,6 +2192,39 @@ $ cd .. +merge action 'd' for 'local renamed directory to d2/g' which has no filename + + $ hg init merge-action + $ cd merge-action + $ touch l + $ hg add --large l + $ mkdir d1 + $ touch d1/f + $ hg ci -Aqm0 + Invoking status precommit hook + A d1/f + A l + $ echo > d1/f + $ touch d1/g + $ hg ci -Aqm1 + Invoking status precommit hook + M d1/f + A d1/g + $ hg up -qr0 + $ hg mv d1 d2 + moving d1/f to d2/f (glob) + $ hg ci -qm2 + Invoking status precommit hook + A d2/f + R d1/f + $ hg merge + merging d2/f and d1/f to d2/f + 1 files updated, 1 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + getting changed largefiles + 0 largefiles updated, 0 removed + $ cd .. + Check whether "largefiles" feature is supported only in repositories enabling largefiles extension.
--- a/tests/test-shelve.t Fri Nov 29 12:36:28 2013 -0800 +++ b/tests/test-shelve.t Sun Dec 01 14:10:53 2013 -0600 @@ -539,4 +539,42 @@ adding file changes added 1 changesets with 1 changes to 2 files (+1 heads) +unshelve should leave unknown files alone (issue4113) + + $ echo e > e + $ hg shelve + shelved as default + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg status + ? e + $ hg unshelve + unshelving change 'default' + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 2 files (+1 heads) + $ hg status + A d + ? e + $ cat e + e + +unshelve should keep a copy of unknown files + + $ hg add e + $ hg shelve + shelved as default + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ echo z > e + $ hg unshelve + unshelving change 'default' + adding changesets + adding manifests + adding file changes + added 1 changesets with 2 changes to 3 files (+1 heads) + $ cat e + e + $ cat e.orig + z + $ cd ..