Merge default into stable for the 1.6 code freeze stable
authorMatt Mackall <mpm@selenic.com>
Mon, 21 Jun 2010 13:41:11 -0500
branchstable
changeset 11421 45aabc523c86
parent 11306 deaeb2d84d8a (current diff)
parent 11420 a99ef3711890 (diff)
child 11427 4d03c3680400
child 11429 d420ff348c49
Merge default into stable for the 1.6 code freeze
contrib/git-viz/git-cat-file
contrib/git-viz/git-diff-tree
contrib/git-viz/git-rev-list
contrib/git-viz/git-rev-tree
contrib/git-viz/hg-viz
contrib/hgdiff
contrib/hgwebdir.fcgi
contrib/hgwebdir.wsgi
contrib/rewrite-log
doc/rst2man.py
hgwebdir.cgi
tests/test-merge3
tests/test-merge3.out
--- a/.hgignore	Tue Jun 08 13:19:22 2010 +0200
+++ b/.hgignore	Mon Jun 21 13:41:11 2010 -0500
@@ -25,6 +25,7 @@
 MANIFEST
 patches
 mercurial/__version__.py
+mercurial.egg-info
 Output/Mercurial-*.exe
 .DS_Store
 tags
--- a/Makefile	Tue Jun 08 13:19:22 2010 +0200
+++ b/Makefile	Mon Jun 21 13:41:11 2010 -0500
@@ -51,7 +51,7 @@
 install: install-bin install-doc
 
 install-bin: build
-	$(PYTHON) setup.py $(PURE) install --prefix="$(PREFIX)" --force
+	$(PYTHON) setup.py $(PURE) install --root="$(DESTDIR)/" --prefix="$(PREFIX)" --force
 
 install-doc: doc
 	cd doc && $(MAKE) $(MFLAGS) install
@@ -100,6 +100,7 @@
 	  --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \
 	  --from-code ISO-8859-1 --join --sort-by-file \
 	  -d hg -p i18n -o hg.pot
+	$(PYTHON) i18n/posplit i18n/hg.pot
 
 %.po: i18n/hg.pot
 	msgmerge --no-location --update $@ $^
--- a/contrib/check-code.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/check-code.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,12 +7,19 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-import sys, re, glob
+import re, glob
+import optparse
 
 def repquote(m):
-    t = re.sub(r"\w", "x", m.group(2))
+    t = re.sub(r"\w", "x", m.group('text'))
     t = re.sub(r"[^\sx]", "o", t)
-    return m.group(1) + t + m.group(1)
+    return m.group('quote') + t + m.group('quote')
+
+def reppython(m):
+    comment = m.group('comment')
+    if comment:
+        return "#" * len(comment)
+    return repquote(m)
 
 def repcomment(m):
     return m.group(1) + "#" * len(m.group(2))
@@ -54,6 +61,7 @@
     (r'[^\n]\Z', "no trailing newline"),
     (r'export.*=', "don't export and assign at once"),
     ('^([^"\']|("[^"]*")|(\'[^\']*\'))*\\^', "^ must be quoted"),
+    (r'^source\b', "don't use 'source', use '.'"),
 ]
 
 testfilters = [
@@ -84,23 +92,29 @@
     (r'[\x80-\xff]', "non-ASCII character literal"),
     (r'("\')\.format\(', "str.format() not available in Python 2.4"),
     (r'^\s*with\s+', "with not available in Python 2.4"),
+    (r'(?<!def)\s+(any|all|format)\(',
+     "any/all/format not available in Python 2.4"),
     (r'if\s.*\selse', "if ... else form not available in Python 2.4"),
     (r'([\(\[]\s\S)|(\S\s[\)\]])', "gratuitous whitespace in () or []"),
 #    (r'\s\s=', "gratuitous whitespace before ="),
-    (r'[^>< ](\+=|-=|!=|<>|<=|>=|<<=|>>=)\S', "missing whitespace around operator"),
-    (r'[^>< ](\+=|-=|!=|<>|<=|>=|<<=|>>=)\s', "missing whitespace around operator"),
-    (r'\s(\+=|-=|!=|<>|<=|>=|<<=|>>=)\S', "missing whitespace around operator"),
-    (r'[^+=*!<>&| -](\s=|=\s)[^= ]', "wrong whitespace around ="),
+    (r'[^>< ](\+=|-=|!=|<>|<=|>=|<<=|>>=)\S',
+     "missing whitespace around operator"),
+    (r'[^>< ](\+=|-=|!=|<>|<=|>=|<<=|>>=)\s',
+     "missing whitespace around operator"),
+    (r'\s(\+=|-=|!=|<>|<=|>=|<<=|>>=)\S',
+     "missing whitespace around operator"),
+    (r'[^+=*!<>&| -](\s=|=\s)[^= ]',
+     "wrong whitespace around ="),
     (r'raise Exception', "don't raise generic exceptions"),
-    (r'ui\.(status|progress|write|note)\([\'\"]x', "unwrapped ui message"),
+    (r'ui\.(status|progress|write|note)\([\'\"]x',
+     "warning: unwrapped ui message"),
 ]
 
 pyfilters = [
-    (r"""(''')(([^']|\\'|'{1,2}(?!'))*)'''""", repquote),
-    (r'''(""")(([^"]|\\"|"{1,2}(?!"))*)"""''', repquote),
-    (r'''(?<!")(")(([^"\n]|\\")+)"(?!")''', repquote),
-    (r"""(?<!')(')(([^'\n]|\\')+)'(?!')""", repquote),
-    (r"( *)(#([^\n]*\S)?)", repcomment),
+    (r"""(?msx)(?P<comment>\#.*?$)|
+         ((?P<quote>('''|\"\"\"|(?<!')'(?!')|(?<!")"(?!")))
+          (?P<text>(([^\\]|\\.)*?))
+          (?P=quote))""", reppython),
 ]
 
 cpats = [
@@ -123,7 +137,7 @@
 
 cfilters = [
     (r'(/\*)(((\*(?!/))|[^*])*)\*/', repccomment),
-    (r'''(?<!")(")(([^"]|\\")+"(?!"))''', repquote),
+    (r'''(?P<quote>(?<!")")(?P<text>([^"]|\\")+)"(?!")''', repquote),
     (r'''(#\s*include\s+<)([^>]+)>''', repinclude),
     (r'(\()([^)]+\))', repcallspaces),
 ]
@@ -134,12 +148,42 @@
     ('c', r'.*\.c$', cfilters, cpats),
 ]
 
-if len(sys.argv) == 1:
-    check = glob.glob("*")
-else:
-    check = sys.argv[1:]
+class norepeatlogger(object):
+    def __init__(self):
+        self._lastseen = None
+
+    def log(self, fname, lineno, line, msg):
+        """print error related a to given line of a given file.
+
+        The faulty line will also be printed but only once in the case
+        of multiple errors.
 
-for f in check:
+        :fname: filename
+        :lineno: line number
+        :line: actual content of the line
+        :msg: error message
+        """
+        msgid = fname, lineno, line
+        if msgid != self._lastseen:
+            print "%s:%d:" % (fname, lineno)
+            print " > %s" % line
+            self._lastseen = msgid
+        print " " + msg
+
+_defaultlogger = norepeatlogger()
+
+def checkfile(f, logfunc=_defaultlogger.log, maxerr=None, warnings=False):
+    """checks style and portability of a given file
+
+    :f: filepath
+    :logfunc: function used to report error
+              logfunc(filename, linenumber, linecontent, errormessage)
+    :maxerr: number of error to display before arborting.
+             Set to None (default) to report all errors
+
+    return True if no error is found, False otherwise.
+    """
+    result = True
     for name, match, filters, pats in checks:
         fc = 0
         if not re.match(match, f):
@@ -154,16 +198,34 @@
         for n, l in z:
             if "check-code" + "-ignore" in l[0]:
                 continue
-            lc = 0
             for p, msg in pats:
+                if not warnings and msg.startswith("warning"):
+                    continue
                 if re.search(p, l[1]):
-                    if not lc:
-                        print "%s:%d:" % (f, n + 1)
-                        print " > %s" % l[0]
-                    print " %s" % msg
-                    lc += 1
+                    logfunc(f, n + 1, l[0], msg)
                     fc += 1
-            if fc == 15:
+                    result = False
+            if maxerr is not None and fc >= maxerr:
                 print " (too many errors, giving up)"
                 break
         break
+    return result
+
+
+if __name__ == "__main__":
+    parser = optparse.OptionParser("%prog [options] [files]")
+    parser.add_option("-w", "--warnings", action="store_true",
+                      help="include warning-level checks")
+    parser.add_option("-p", "--per-file", type="int",
+                      help="max warnings per file")
+
+    parser.set_defaults(per_file=15, warnings=False)
+    (options, args) = parser.parse_args()
+
+    if len(args) == 0:
+        check = glob.glob("*")
+    else:
+        check = args
+
+    for f in check:
+        checkfile(f, maxerr=options.per_file, warnings=options.warnings)
--- a/contrib/git-viz/git-cat-file	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-op=`basename $0 | sed -e 's/^git-//'`
-exec hgit $op "$@"
-
--- a/contrib/git-viz/git-diff-tree	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-op=`basename $0 | sed -e 's/^git-//'`
-exec hgit $op "$@"
-
--- a/contrib/git-viz/git-rev-list	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-op=`basename $0 | sed -e 's/^git-//'`
-exec hgit $op "$@"
-
--- a/contrib/git-viz/git-rev-tree	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-op=`basename $0 | sed -e 's/^git-//'`
-exec hgit $op "$@"
-
--- a/contrib/git-viz/hg-viz	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if test x"$1" != x ; then
-  cd $1
-fi
-
-if [ ! -d ".hg" ]; then
-    echo "${1:-.} is not a mercurial repository" 1>&2
-    echo "Aborting" 1>&2
-    exit 1
-fi
-if [ ! -d ".git" ]; then
-    mkdir -v ".git"
-fi
-if [ -e ".git/HEAD" ]; then
-    if [ ! -e ".git/HEAD.hg-viz-save" ]; then
-        mv -v ".git/HEAD" ".git/HEAD.hg-viz-save"
-    else
-        rm -vf ".git/HEAD"
-    fi
-fi
-hg history | head -1 | awk -F: '{print $3}' > .git/HEAD
-git-viz
-
--- a/contrib/hgdiff	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-#!/usr/bin/env python
-
-import os, sys, struct, stat
-import difflib
-import re
-from optparse import OptionParser
-from mercurial.bdiff import bdiff, blocks
-from mercurial.mdiff import bunidiff, diffopts
-
-VERSION="0.3"
-usage = "usage: %prog [options] file1 file2"
-parser = OptionParser(usage=usage)
-
-parser.add_option("-d", "--difflib", action="store_true", default=False)
-parser.add_option('-x', '--count', default=1)
-parser.add_option('-c', '--context', type="int", default=3)
-parser.add_option('-p', '--show-c-function', action="store_true", default=False)
-parser.add_option('-w', '--ignore-all-space', action="store_true",
-                  default=False)
-
-(options, args) = parser.parse_args()
-
-if not args:
-    parser.print_help()
-    sys.exit(1)
-
-# simple utility function to put all the
-# files from a directory tree into a dict
-def buildlist(names, top):
-    tlen = len(top)
-    for root, dirs, files in os.walk(top):
-        l = root[tlen + 1:]
-        for x in files:
-            p = os.path.join(root, x)
-            st = os.lstat(p)
-            if stat.S_ISREG(st.st_mode):
-                names[os.path.join(l, x)] = (st.st_dev, st.st_ino)
-
-def diff_files(file1, file2):
-    if file1 is None:
-        b = file(file2).read().splitlines(True)
-        l1 = "--- %s\n" % (file2)
-        l2 = "+++ %s\n" % (file2)
-        l3 = "@@ -0,0 +1,%d @@\n" % len(b)
-        l = [l1, l2, l3] + ["+" + e for e in b]
-    elif file2 is None:
-        a = file(file1).read().splitlines(True)
-        l1 = "--- %s\n" % (file1)
-        l2 = "+++ %s\n" % (file1)
-        l3 = "@@ -1,%d +0,0 @@\n" % len(a)
-        l = [l1, l2, l3] + ["-" + e for e in a]
-    else:
-        t1 = file(file1).read()
-        t2 = file(file2).read()
-        l1 = t1.splitlines(True)
-        l2 = t2.splitlines(True)
-        if options.difflib:
-            l = difflib.unified_diff(l1, l2, file1, file2)
-        else:
-            l = bunidiff(t1, t2, l1, l2, file1, file2,
-                         diffopts(context=options.context,
-                                  showfunc=options.show_c_function,
-                                  ignorews=options.ignore_all_space))
-    for x in l:
-        if x[-1] != '\n':
-            x += "\n\ No newline at end of file\n"
-        print x,
-
-file1 = args[0]
-file2 = args[1]
-
-if os.path.isfile(file1) and os.path.isfile(file2):
-    diff_files(file1, file2)
-elif os.path.isdir(file1):
-    if not os.path.isdir(file2):
-        sys.stderr.write("file types don't match\n")
-        sys.exit(1)
-
-    d1 = {}
-    d2 = {}
-
-    buildlist(d1, file1)
-    buildlist(d2, file2)
-    keys = d1.keys()
-    keys.sort()
-    for x in keys:
-        if x not in d2:
-            f2 = None
-        else:
-            f2 = os.path.join(file2, x)
-            st1 = d1[x]
-            st2 = d2[x]
-            del d2[x]
-            if st1[0] == st2[0] and st1[1] == st2[1]:
-                sys.stderr.write("%s is a hard link\n" % x)
-                continue
-        x = os.path.join(file1, x)
-        diff_files(x, f2)
-    keys = d2.keys()
-    keys.sort()
-    for x in keys:
-        f1 = None
-        x = os.path.join(file2, x)
-        diff_files(f1, x)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/hgweb.fcgi	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+#
+# An example FastCGI script for use with flup, edit as necessary
+
+# Path to repo or hgweb config to serve (see 'hg help hgweb')
+config = "/path/to/repo/or/config"
+
+# Uncomment and adjust if Mercurial is not installed system-wide:
+#import sys; sys.path.insert(0, "/path/to/python/lib")
+
+# Uncomment to send python tracebacks to the browser if an error occurs:
+#import cgitb; cgitb.enable()
+
+from mercurial import demandimport; demandimport.enable()
+from mercurial.hgweb import hgweb
+from flup.server.fcgi import WSGIServer
+application = hgweb(config)
+WSGIServer(application).run()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/hgweb.wsgi	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,16 @@
+# An example WSGI for use with mod_wsgi, edit as necessary
+
+# Path to repo or hgweb config to serve (see 'hg help hgweb')
+config = "/path/to/repo/or/config"
+
+# Uncomment and adjust if Mercurial is not installed system-wide:
+#import sys; sys.path.insert(0, "/path/to/python/lib")
+
+# Uncomment to send python tracebacks to the browser if an error occurs:
+#import cgitb; cgitb.enable()
+
+# enable demandloading to reduce startup time
+from mercurial import demandimport; demandimport.enable()
+
+from mercurial.hgweb import hgweb
+application = hgweb(config)
--- a/contrib/hgwebdir.fcgi	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-#
-# An example CGI script to export multiple hgweb repos, edit as necessary
-
-# adjust python path if not a system-wide install:
-#import sys
-#sys.path.insert(0, "/path/to/python/lib")
-
-# enable demandloading to reduce startup time
-from mercurial import demandimport; demandimport.enable()
-
-# Uncomment to send python tracebacks to the browser if an error occurs:
-#import cgitb
-#cgitb.enable()
-
-# If you'd like to serve pages with UTF-8 instead of your default
-# locale charset, you can do so by uncommenting the following lines.
-# Note that this will cause your .hgrc files to be interpreted in
-# UTF-8 and all your repo files to be displayed using UTF-8.
-#
-#import os
-#os.environ["HGENCODING"] = "UTF-8"
-
-from mercurial.hgweb.hgwebdir_mod import hgwebdir
-from flup.server.fcgi import WSGIServer
-
-# The config file looks like this.  You can have paths to individual
-# repos, collections of repos in a directory tree, or both.
-#
-# [paths]
-# virtual/path1 = /real/path1
-# virtual/path2 = /real/path2
-# virtual/root = /real/root/*
-# / = /real/root2/*
-#
-# [collections]
-# /prefix/to/strip/off = /root/of/tree/full/of/repos
-#
-# paths example: 
-#
-# * First two lines mount one repository into one virtual path, like
-# '/real/path1' into 'virtual/path1'.
-#
-# * The third entry tells every mercurial repository found in
-# '/real/root', recursively, should be mounted in 'virtual/root'. This
-# format is preferred over the [collections] one, using absolute paths
-# as configuration keys is not supported on every platform (including
-# Windows).
-#
-# * The last entry is a special case mounting all repositories in
-# '/real/root2' in the root of the virtual directory.
-#
-# collections example: say directory tree /foo contains repos /foo/bar,
-# /foo/quux/baz.  Give this config section:
-#   [collections]
-#   /foo = /foo
-# Then repos will list as bar and quux/baz.
-#
-# Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
-# or use a dictionary with entries like 'virtual/path': '/real/path'
-
-WSGIServer(hgwebdir('hgweb.config')).run()
--- a/contrib/hgwebdir.wsgi	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-# An example WSGI (use with mod_wsgi) script to export multiple hgweb repos
-
-# adjust python path if not a system-wide install:
-#import sys
-#sys.path.insert(0, "/path/to/python/lib")
-
-# enable demandloading to reduce startup time
-from mercurial import demandimport; demandimport.enable()
-from mercurial.hgweb.hgwebdir_mod import hgwebdir
-
-# If you'd like to serve pages with UTF-8 instead of your default
-# locale charset, you can do so by uncommenting the following lines.
-# Note that this will cause your .hgrc files to be interpreted in
-# UTF-8 and all your repo files to be displayed using UTF-8.
-#
-#import os
-#os.environ["HGENCODING"] = "UTF-8"
-
-# The config file looks like this.  You can have paths to individual
-# repos, collections of repos in a directory tree, or both.
-#
-# [paths]
-# virtual/path1 = /real/path1
-# virtual/path2 = /real/path2
-# virtual/root = /real/root/*
-# / = /real/root2/*
-#
-# paths example:
-#
-# * First two lines mount one repository into one virtual path, like
-# '/real/path1' into 'virtual/path1'.
-#
-# * The third entry tells every mercurial repository found in
-# '/real/root', recursively, should be mounted in 'virtual/root'. This
-# format is preferred over the [collections] one, using absolute paths
-# as configuration keys is not supported on every platform (including
-# Windows).
-#
-# * The last entry is a special case mounting all repositories in
-# '/real/root2' in the root of the virtual directory.
-#
-# collections example: say directory tree /foo contains repos /foo/bar,
-# /foo/quux/baz.  Give this config section:
-#   [collections]
-#   /foo = /foo
-# Then repos will list as bar and quux/baz.
-#
-# Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
-# or use a dictionary with entries like 'virtual/path': '/real/path'
-
-application = hgwebdir('hgweb.config')
--- a/contrib/logo-droplets.svg	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/logo-droplets.svg	Mon Jun 21 13:41:11 2010 -0500
@@ -1,624 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   width="100"
-   height="120"
-   viewBox="0 0 124.766 152.099"
-   id="Layer_1"
-   xml:space="preserve"
-   sodipodi:version="0.32"
-   inkscape:version="0.45.1"
-   sodipodi:docname="logo-droplets.svg"
-   sodipodi:docbase="/home/oxymoron/waste/selenic/public_html/hg-logo"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
-   id="metadata6845"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>Mercurial &quot;droplets&quot; logo</dc:title><dc:creator><cc:Agent><dc:title>Cali Mastny and Matt Mackall</dc:title></cc:Agent></dc:creator><cc:license
-         rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /><dc:date>Feb 12 2008</dc:date></cc:Work><cc:License
-       rdf:about="http://creativecommons.org/licenses/GPL/2.0/"><cc:permits
-         rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits
-         rdf:resource="http://web.resource.org/cc/Distribution" /><cc:requires
-         rdf:resource="http://web.resource.org/cc/Notice" /><cc:permits
-         rdf:resource="http://web.resource.org/cc/DerivativeWorks" /><cc:requires
-         rdf:resource="http://web.resource.org/cc/ShareAlike" /><cc:requires
-         rdf:resource="http://web.resource.org/cc/SourceCode" /></cc:License></rdf:RDF></metadata><sodipodi:namedview
-   inkscape:window-height="576"
-   inkscape:window-width="746"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   guidetolerance="10.0"
-   gridtolerance="10.0"
-   objecttolerance="10.0"
-   borderopacity="1.0"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   inkscape:zoom="2.3216673"
-   inkscape:cx="4.1210694"
-   inkscape:cy="65.759396"
-   inkscape:window-x="377"
-   inkscape:window-y="398"
-   inkscape:current-layer="Layer_1"
-   width="100px"
-   height="120px"
-   units="px" /><defs
-   id="defs261" />
-<pattern
-   overflow="visible"
-   viewBox="2.125 -70.896 69 69"
-   id="Polka_Dot_Pattern"
-   patternUnits="userSpaceOnUse"
-   height="69"
-   width="69"
-   y="736.415"
-   x="-316">
-	<g
-   id="g4">
-		<polygon
-   id="polygon6"
-   points="71.125,-1.896 2.125,-1.896 2.125,-70.896 71.125,-70.896   "
-   fill="none" />
-		<polygon
-   id="polygon8"
-   points="71.125,-1.896 2.125,-1.896 2.125,-70.896 71.125,-70.896   "
-   fill="#F7BC60" />
-		<g
-   id="g10">
-			<path
-   id="path12"
-   d="M61.772-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path14"
-   d="M54.105-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path16"
-   d="M46.439-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path18"
-   d="M38.772-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path20"
-   d="M31.105-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path22"
-   d="M23.439-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path24"
-   d="M15.772-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path26"
-   d="M8.105-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path28"
-   d="M0.439-71.653c0.018,0.072,0.008,0.127-0.026,0.19C0.361-71.362,0.3-71.4,0.248-71.335     c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-		</g>
-		<g
-   id="g30">
-			<path
-   id="path32"
-   d="M69.439-71.653c0.018,0.072,0.008,0.127-0.026,0.19c-0.052,0.101-0.113,0.062-0.165,0.128     c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-		</g>
-		<path
-   id="path34"
-   d="M0.495-71.653c0.018,0.072,0.008,0.127-0.026,0.19c-0.052,0.101-0.113,0.062-0.165,0.128    c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161    c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631    c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45    c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221    c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337    c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207    c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224C0.5-71.68,0.503-71.744,0.51-71.626    c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-		<g
-   id="g36">
-			<g
-   id="g38">
-				<path
-   id="path40"
-   d="M69.439-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path42"
-   d="M61.778-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path44"
-   d="M54.118-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path46"
-   d="M46.458-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path48"
-   d="M38.797-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path50"
-   d="M31.137-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path52"
-   d="M23.477-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path54"
-   d="M15.816-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path56"
-   d="M8.156-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path58"
-   d="M0.495-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143C2-61.45,2.217-61.397,2.391-61.46c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			</g>
-			<g
-   id="g60">
-				<path
-   id="path62"
-   d="M69.439-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path64"
-   d="M61.778-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path66"
-   d="M54.118-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path68"
-   d="M46.458-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path70"
-   d="M38.797-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path72"
-   d="M31.137-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path74"
-   d="M23.477-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path76"
-   d="M15.816-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path78"
-   d="M8.156-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path80"
-   d="M0.495-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-56.374,0.503-56.438,0.51-56.32      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			</g>
-			<g
-   id="g82">
-				<path
-   id="path84"
-   d="M69.439-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path86"
-   d="M61.778-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path88"
-   d="M54.118-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path90"
-   d="M46.458-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path92"
-   d="M38.797-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path94"
-   d="M31.137-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path96"
-   d="M23.477-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path98"
-   d="M15.816-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path100"
-   d="M8.156-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path102"
-   d="M0.495-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			</g>
-			<g
-   id="g104">
-				<path
-   id="path106"
-   d="M69.439-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path108"
-   d="M61.778-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path110"
-   d="M54.118-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path112"
-   d="M46.458-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path114"
-   d="M38.797-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path116"
-   d="M31.137-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path118"
-   d="M23.477-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path120"
-   d="M15.816-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path122"
-   d="M8.156-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      C8.15-41.004,8.149-41.02,8.14-41.04"
-   fill="#FFFFFF" />
-				<path
-   id="path124"
-   d="M0.495-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			</g>
-			<g
-   id="g126">
-				<path
-   id="path128"
-   d="M69.439-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path130"
-   d="M61.778-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path132"
-   d="M54.118-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path134"
-   d="M46.458-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path136"
-   d="M38.797-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path138"
-   d="M31.137-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path140"
-   d="M23.477-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path142"
-   d="M15.816-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path144"
-   d="M8.156-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path146"
-   d="M0.495-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-33.416,0.503-33.48,0.51-33.362      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			</g>
-			<g
-   id="g148">
-				<path
-   id="path150"
-   d="M69.439-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path152"
-   d="M61.778-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path154"
-   d="M54.118-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path156"
-   d="M46.458-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path158"
-   d="M38.797-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path160"
-   d="M31.137-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path162"
-   d="M23.477-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path164"
-   d="M15.816-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path166"
-   d="M8.156-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path168"
-   d="M0.495-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			</g>
-			<g
-   id="g170">
-				<path
-   id="path172"
-   d="M69.439-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path174"
-   d="M61.778-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path176"
-   d="M54.118-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path178"
-   d="M46.458-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path180"
-   d="M38.797-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path182"
-   d="M31.137-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path184"
-   d="M23.477-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path186"
-   d="M15.816-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path188"
-   d="M8.156-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path190"
-   d="M0.495-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-18.11,0.503-18.175,0.51-18.057      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			</g>
-			<g
-   id="g192">
-				<path
-   id="path194"
-   d="M69.439-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362C69-9.692,69.159-9.523,69.154-9.4c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path196"
-   d="M61.778-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path198"
-   d="M54.118-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path200"
-   d="M46.458-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path202"
-   d="M38.797-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path204"
-   d="M31.137-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path206"
-   d="M23.477-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path208"
-   d="M15.816-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053C17.933-7.969,17.839-8.227,18-8.34      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path210"
-   d="M8.156-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      C7.915-10.05,7.866-9.836,7.886-9.75C7.717-9.692,7.876-9.523,7.871-9.4C7.868-9.351,7.83-9.295,7.826-9.239      c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631      C9.114-7.652,9.321-7.799,9.48-7.837c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-				<path
-   id="path212"
-   d="M0.495-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128      C0.254-10.05,0.205-9.836,0.225-9.75C0.056-9.692,0.215-9.523,0.21-9.4c-0.002,0.05-0.041,0.105-0.045,0.161      c-0.01,0.119,0.017,0.266,0.068,0.37C0.33-8.671,0.501-8.456,0.668-8.325c0.19,0.148,0.365,0.572,0.608,0.631      C1.454-7.652,1.66-7.799,1.819-7.837C2-7.88,2.217-7.827,2.391-7.89c0.222-0.079,0.127-0.337,0.288-0.45      c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46C3.477-8.933,3.471-8.995,3.5-9.071      c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337      c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207      c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169      c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			</g>
-		</g>
-		<g
-   id="g214">
-			<path
-   id="path216"
-   d="M69.439-2.778c0.018,0.072,0.008,0.127-0.026,0.19C69.361-2.487,69.3-2.525,69.248-2.46     c-0.051,0.062-0.099,0.276-0.079,0.362C69-2.04,69.159-1.871,69.154-1.748c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C70.397,0,70.604-0.146,70.763-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path218"
-   d="M61.778-2.778c0.018,0.072,0.007,0.127-0.026,0.19C61.7-2.487,61.64-2.525,61.587-2.46     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C62.737,0,62.943-0.146,63.103-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224C61.915-3.117,61.78-3.02,61.781-2.92c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path220"
-   d="M54.118-2.778c0.018,0.072,0.007,0.127-0.026,0.19C54.04-2.487,53.98-2.525,53.927-2.46     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C55.077,0,55.283-0.146,55.442-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224C54.255-3.117,54.12-3.02,54.121-2.92c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path222"
-   d="M46.458-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C47.416,0,47.623-0.146,47.782-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224C46.594-3.117,46.459-3.02,46.46-2.92c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path224"
-   d="M38.797-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C39.756,0,39.962-0.146,40.122-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224C38.934-3.117,38.799-3.02,38.8-2.92c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path226"
-   d="M31.137-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C32.095,0,32.302-0.146,32.461-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224C31.273-3.117,31.139-3.02,31.14-2.92c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path228"
-   d="M23.477-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C24.435,0,24.642-0.146,24.801-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     c-0.021,0.011-0.021-0.005-0.03-0.025"
-   fill="#FFFFFF" />
-			<path
-   id="path230"
-   d="M15.816-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C16.774,0,16.981-0.146,17.14-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207     c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169     C15.81-2.74,15.809-2.756,15.8-2.776"
-   fill="#FFFFFF" />
-			<path
-   id="path232"
-   d="M8.156-2.778c0.018,0.072,0.007,0.127-0.026,0.19C8.077-2.487,8.018-2.525,7.965-2.46     c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35C7.868-1.698,7.83-1.643,7.826-1.587     c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631     C9.114,0,9.321-0.146,9.48-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221     c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789C8.954-3.54,8.847-3.448,8.692-3.367     c-0.17,0.088-0.139,0.166-0.318,0.224C8.292-3.117,8.158-3.02,8.159-2.92C8.16-2.805,8.164-2.869,8.17-2.751     C8.15-2.74,8.149-2.756,8.14-2.776"
-   fill="#FFFFFF" />
-			<path
-   id="path234"
-   d="M0.495-2.778c0.018,0.072,0.008,0.127-0.026,0.19C0.417-2.487,0.356-2.525,0.304-2.46     C0.253-2.397,0.205-2.184,0.225-2.098C0.056-2.04,0.215-1.871,0.21-1.748c-0.002,0.05-0.041,0.105-0.045,0.161     c-0.01,0.119,0.017,0.266,0.068,0.37C0.33-1.019,0.501-0.804,0.668-0.673c0.19,0.148,0.365,0.572,0.608,0.631     C1.454,0,1.66-0.146,1.819-0.185C2-0.228,2.217-0.175,2.391-0.237c0.222-0.079,0.127-0.337,0.288-0.45     c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46C3.477-1.28,3.471-1.343,3.5-1.419     c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337     c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789C1.293-3.54,1.187-3.448,1.031-3.367     c-0.17,0.088-0.139,0.166-0.318,0.224C0.632-3.117,0.498-3.02,0.498-2.92C0.5-2.805,0.503-2.869,0.51-2.751     C0.489-2.74,0.488-2.756,0.479-2.776"
-   fill="#FFFFFF" />
-		</g>
-	</g>
-</pattern>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<rect
-   style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.97552931;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-   id="rect6847"
-   width="124.77364"
-   height="150.12347"
-   x="0.31690097"
-   y="0.98776293" /><path
-   d="M 9.8480335,124.60683 C 11.62496,123.82337 13.513211,123.43203 15.327243,123.43203 C 17.067063,123.43203 18.177759,123.85879 18.806894,124.74937 C 20.139374,123.8596 21.953416,123.43203 23.360116,123.43203 C 27.581053,123.43203 27.728648,125.14068 27.728648,130.16028 L 27.728648,141.26547 C 27.728648,141.76382 27.802857,141.76382 25.692811,141.76382 L 25.692811,129.94606 C 25.692811,126.31544 25.618592,125.21154 23.213365,125.21154 C 22.139794,125.21154 21.029108,125.4603 19.844204,126.24379 L 19.844204,141.5142 C 19.807099,141.65677 19.732887,141.69215 19.474821,141.72758 C 19.436863,141.72758 19.400602,141.763 19.362653,141.763 L 17.807522,141.763 L 17.807522,129.94606 C 17.807522,126.45791 17.807522,125.17607 15.29098,125.17607 C 14.2174,125.17607 13.143818,125.38944 11.884705,125.99501 L 11.884705,141.26547 C 11.884705,141.76382 11.958925,141.76382 9.8488776,141.76382 L 9.8488776,124.60683 M 37.680118,123.43203 C 34.533596,123.43203 31.053954,124.32176 31.053954,133.8263 C 31.053954,141.15915 33.607611,142.29771 37.125192,142.29771 C 39.826435,142.29771 42.159131,141.40799 42.159131,140.98039 C 42.159131,140.44659 42.084921,139.62768 41.900221,139.16468 C 40.75243,139.94814 39.123081,140.37486 37.309893,140.37486 C 34.829612,140.37486 33.164001,139.66309 33.126052,134.14592 C 34.755402,134.14592 38.902128,134.11044 41.97444,133.50498 C 42.233351,132.33022 42.343821,130.62155 42.343821,129.12711 C 42.343821,125.56743 40.900016,123.43203 37.680118,123.43203 M 37.494584,125.21154 C 39.715955,125.21154 40.307995,126.67048 40.3451,129.51849 C 40.3451,130.26565 40.307995,131.15541 40.19667,132.00972 C 38.123729,132.50815 34.60612,132.50815 33.125209,132.50815 C 33.385806,126.0304 35.606333,125.21154 37.494584,125.21154 M 45.565397,124.99816 C 47.304384,123.85879 48.897464,123.43203 50.525969,123.43203 C 52.34,123.43203 53.191776,123.93046 53.191776,124.53602 C 53.191776,124.89187 53.079617,125.49742 52.894917,125.85331 C 52.376261,125.56823 51.785075,125.31945 50.821131,125.31945 C 49.637079,125.31945 48.526385,125.63909 47.638339,126.42255 L 47.638339,141.26632 C 47.638339,141.7647 47.675453,141.7647 45.565397,141.7647 L 45.565397,124.99816 M 64.254794,124.60683 C 64.254794,124.14383 62.700508,123.43203 61.145377,123.43203 C 58.145598,123.43203 54.481256,124.4643 54.481256,133.25617 C 54.481256,141.58507 56.70347,142.3331 60.589608,142.3331 C 62.514121,142.3331 64.254794,141.30089 64.254794,140.73161 C 64.254794,140.4111 64.181418,139.91269 63.99504,139.48515 C 63.217475,140.05441 62.033423,140.58905 60.775152,140.58905 C 58.11018,140.58905 56.55504,139.84185 56.55504,133.3633 C 56.55504,126.20837 59.108698,125.21154 61.330069,125.21154 C 62.58834,125.21154 63.291694,125.56743 63.99504,126.0304 C 64.181418,125.60367 64.254794,124.99816 64.254794,124.60683 M 78.435657,141.15915 C 76.806308,141.97803 74.659991,142.29851 72.808845,142.29851 C 68.070088,142.29851 67.366733,140.30571 67.366733,135.57114 L 67.366733,124.42971 C 67.366733,123.96757 67.330471,123.96757 69.440527,123.96757 L 69.440527,135.7854 C 69.440527,139.34513 69.958338,140.55538 72.734626,140.55538 C 73.808215,140.55538 75.289126,140.34199 76.399811,139.70105 L 76.399811,124.43056 C 76.399811,123.96839 76.325602,123.96839 78.435657,123.96839 L 78.435657,141.15915 M 82.657438,124.99816 C 84.396406,123.85879 85.98865,123.43203 87.617156,123.43203 C 89.431178,123.43203 90.282962,123.93046 90.282962,124.53602 C 90.282962,124.89187 90.171639,125.49742 89.986938,125.85331 C 89.468283,125.56823 88.876272,125.31945 87.913163,125.31945 C 86.729111,125.31945 85.618415,125.63909 84.729535,126.42255 L 84.729535,141.26632 C 84.729535,141.7647 84.767484,141.7647 82.657438,141.7647 L 82.657438,124.99816 M 95.036045,123.9659 C 93.406714,123.9659 92.926008,123.9659 92.926008,124.92729 L 92.926008,141.76382 C 94.99895,141.76382 95.036045,141.76382 95.036045,141.26547 L 95.036045,123.9659 M 92.851787,117.70149 C 92.851787,118.87629 93.222023,119.30304 93.961631,119.33843 C 94.813415,119.33843 95.220746,118.73376 95.220746,117.66526 C 95.257851,116.56214 94.960991,116.06374 94.11006,116.06374 C 93.296243,116.06374 92.888893,116.66926 92.851787,117.70149 M 98.547748,124.99816 C 98.547748,124.60683 98.62196,124.39264 98.770389,124.28635 C 99.473743,123.89502 102.17666,123.43203 105.24898,123.43203 C 107.58166,123.43203 109.06174,124.53602 109.06174,127.73899 L 109.06174,130.05231 C 109.06174,136.38835 108.87704,141.12293 108.87704,141.12293 C 108.02528,141.58507 106.43387,142.29771 103.84143,142.29771 C 101.17646,142.3331 98.511478,142.0843 98.511478,136.81596 C 98.511478,131.7972 101.25067,131.01375 103.98986,131.01375 C 105.02633,131.01375 106.24834,131.12082 107.06301,131.4413 C 107.06301,131.4413 107.06301,129.12711 107.06301,128.13033 C 107.06301,125.81704 105.87895,125.31862 104.47141,125.31862 C 102.58399,125.31862 99.956127,125.67451 98.808337,126.20837 C 98.585707,125.81704 98.547748,125.21154 98.547748,124.99816 M 107.06216,132.9011 C 106.35882,132.65147 105.35945,132.54522 104.65609,132.54522 C 102.54604,132.54522 100.62069,132.97198 100.62069,136.88763 C 100.62069,140.55363 102.21293,140.58991 104.10032,140.58991 C 105.28522,140.58991 106.47014,140.26946 106.87663,139.84271 C 106.87747,139.84185 107.06216,135.57029 107.06216,132.9011 M 114.91792,141.26547 C 114.91792,141.76382 114.95503,141.76382 112.88124,141.76382 L 112.88124,116.56214 C 112.88124,115.60073 113.28857,115.60073 114.91792,115.60073 L 114.91792,141.26547"
-   style="fill:#010101;stroke-width:2.02999997;stroke-miterlimit:4;stroke-dasharray:none"
-   id="text2611" /><g
-   transform="matrix(0.9351326,0,0,0.9351326,150.39508,-1.251766)"
-   id="g4503"
-   style="opacity:1"><path
-     d="M -45.749655,92.691592 C -25.709638,59.370739 -49.98206,5.3291313 -94.363693,10.819389 C -134.46337,15.776665 -135.10949,57.983708 -99.76917,68.010455 C -69.186498,76.695132 -93.451029,96.093536 -92.742037,109.01138 C -92.030055,121.92728 -66.155038,126.61324 -45.749655,92.691592 z "
-     style="fill:#1b1a1b"
-     id="path2339" /><circle
-     cx="33.728001"
-     cy="85.363998"
-     r="15.414"
-     transform="matrix(1.0917947,-0.2858168,0.2858168,1.0917947,-180.30817,13.494135)"
-     style="fill:#1b1a1b"
-     id="circle2341"
-     sodipodi:cx="33.728001"
-     sodipodi:cy="85.363998"
-     sodipodi:rx="15.414"
-     sodipodi:ry="15.414" /><path
-     d="M -140.06215,48.935849 C -146.31997,49.541603 -150.90082,55.100456 -150.29507,61.358275 C -149.68817,67.620461 -144.12955,72.20487 -137.87064,71.59883 C -131.61373,70.985148 -127.02904,65.427621 -127.63726,59.169282 C -128.24543,52.915596 -133.80324,48.329809 -140.06215,48.935849 z "
-     style="fill:#1b1a1b"
-     id="path2343" /><path
-     d="M -44.99294,91.339709 C -24.951831,58.018571 -49.224253,3.976963 -93.605885,9.4672202 C -133.70556,14.424496 -134.35249,56.632918 -99.012168,66.659664 C -68.429497,75.344341 -92.694028,94.742745 -91.984749,107.66168 C -91.271961,120.5762 -65.398322,125.26135 -44.99294,91.339709 z "
-     style="fill:#bfbfbf"
-     id="path2561" /><path
-     d="M -86.84228,112.75985 C -88.056751,110.79004 -86.19955,108.60176 -84.290569,108.76815 C -81.251858,109.03428 -74.635637,108.73252 -69.415044,105.77341 C -56.372412,98.379694 -36.300952,62.803704 -46.395841,40.365295 C -50.915249,30.320886 -53.115898,27.444964 -57.770162,22.531645 C -58.719625,21.529587 -58.174556,21.584053 -57.531623,21.923221 C -55.014762,23.244092 -50.592026,28.36035 -46.055478,36.687677 C -38.390628,50.757116 -38.788117,67.483141 -41.638835,77.975343 C -43.624548,85.27439 -50.464117,101.78644 -60.480639,108.92577 C -70.5197,116.0815 -82.266433,120.18559 -86.84228,112.75985 z "
-     style="fill:#000000"
-     id="path2563" /><path
-     d="M -95.930347,66.591355 C -102.76341,64.562985 -111.57238,61.738267 -116.66758,55.073789 C -120.42371,50.15984 -122.3305,44.796759 -122.81745,41.755703 C -122.99069,40.670602 -123.13785,39.765332 -122.82526,39.515509 C -122.68064,39.399486 -120.02045,45.412302 -116.04367,50.451645 C -112.06769,55.492366 -106.51047,58.440379 -101.88092,59.511496 C -97.763206,60.46345 -89.233623,62.555175 -86.347769,65.013729 C -83.380949,67.540918 -83.133309,73.00119 -84.131664,73.617197 C -85.138469,74.236583 -87.180025,69.187603 -95.930347,66.591355 z "
-     style="fill:#000000"
-     id="path2565" /><path
-     d="M -81.840812,113.72311 C -81.972699,115.28707 -80.176315,115.59377 -77.75828,115.23141 C -74.658947,114.76654 -72.037923,114.41754 -68.470623,112.62971 C -63.63582,110.20674 -58.742752,106.74072 -55.159223,102.06476 C -44.467444,88.115271 -40.681354,71.610444 -41.264404,69.236185 C -41.459242,71.196944 -44.040349,81.489071 -49.943268,90.767882 C -57.52457,102.68631 -63.022197,109.03464 -75.701416,112.1124 C -79.230011,112.96964 -81.668137,111.66432 -81.840812,113.72311 z "
-     style="fill:#ffffff"
-     id="path2567" /><path
-     d="M -109.96233,59.479354 C -108.51822,60.704238 -105.55938,62.336389 -99.737455,64.245644 C -92.705873,66.551032 -89.282274,68.550326 -87.848506,69.508429 C -86.329222,70.525809 -85.366279,72.795951 -85.27115,70.779631 C -85.17194,68.761076 -86.416123,67.025373 -89.192166,66.104839 C -91.070345,65.481234 -94.229847,63.996111 -97.258539,63.398373 C -99.204694,63.014221 -102.37098,62.251845 -105.08636,61.420426 C -106.57454,60.963046 -108.09089,60.161888 -109.96233,59.479354 z "
-     style="fill:#ffffff"
-     id="path2569" /><circle
-     cx="34.681"
-     cy="84.375"
-     r="15.414"
-     transform="matrix(1.0917947,-0.2858168,0.2858168,1.0917947,-180.30817,13.494135)"
-     style="fill:#bfbfbf"
-     id="circle2577"
-     sodipodi:cx="34.681"
-     sodipodi:cy="84.375"
-     sodipodi:rx="15.414"
-     sodipodi:ry="15.414" /><path
-     d="M -128.68413,108.37945 C -115.15301,120.91784 -94.786007,103.69471 -103.75445,88.482597 C -104.76154,86.774656 -106.06907,85.474351 -105.63906,86.782721 C -102.77288,95.529828 -105.42141,102.44941 -110.3632,106.01451 C -115.20857,109.5112 -121.86847,110.09622 -127.20028,107.33186 C -128.76601,106.5203 -129.41538,107.70291 -128.68413,108.37945 z "
-     style="fill:#000000"
-     id="path2579" /><path
-     d="M -118.06686,110.95477 C -116.34413,110.59244 -106.32442,107.99742 -103.97055,99.756195 C -103.23743,97.186709 -103.1058,97.702893 -103.31295,99.095232 C -104.37035,106.20143 -111.08741,111.44338 -116.80312,111.63773 C -117.963,111.75704 -119.48484,111.25131 -118.06686,110.95477 z "
-     style="fill:#ffffff"
-     id="path2585" /><path
-     d="M -139.30435,47.583681 C -145.56216,48.189435 -150.14301,53.748288 -149.53726,60.006106 C -148.93065,66.2672 -143.37174,70.852702 -137.11392,70.246948 C -130.85592,69.632979 -126.27151,64.074361 -126.88083,57.816308 C -127.48791,51.562336 -133.04544,46.977641 -139.30435,47.583681 z "
-     style="fill:#bfbfbf"
-     id="path2589" /><path
-     d="M -144.46878,67.571208 C -144.39939,68.375508 -143.29781,69.408789 -141.56718,69.883196 C -140.08038,70.290771 -136.24758,71.332594 -131.32372,68.224839 C -126.39986,65.117084 -125.8321,56.804464 -128.07041,54.35955 C -128.76326,53.121154 -129.66426,52.21957 -128.94737,54.195974 C -127.13695,59.186468 -130.65487,63.854586 -133.68917,66.0162 C -136.72238,68.177528 -140.56932,67.154692 -142.14014,66.675779 C -143.71095,66.196867 -144.53929,66.740369 -144.46878,67.571208 z "
-     style="fill:#000000"
-     id="path2591" /><path
-     d="M -138.11472,68.687851 C -137.66344,68.281557 -135.37889,68.447629 -133.31622,67.338341 C -131.25464,66.229338 -128.80419,63.798254 -128.36692,60.343756 C -128.10933,58.315237 -128.03197,58.824631 -127.92942,59.929403 C -128.24939,65.67243 -133.53086,68.844638 -136.55132,69.263202 C -137.36636,69.376239 -138.8007,69.307247 -138.11472,68.687851 z "
-     style="fill:#ffffff"
-     id="path2597" /><path
-     d="M -47.767489,69.693822 C -39.234739,45.099506 -57.090457,7.9576459 -93.212919,12.425552 C -125.85191,16.461012 -126.37823,50.814524 -97.613495,58.976486 C -65.031338,63.908526 -84.650966,88.487524 -87.434101,100.88229 C -89.929232,111.99304 -61.102889,113.82164 -47.767489,69.693822 z "
-     style="fill:#999999"
-     id="path2561_1_" /><path
-     d="M -70.093288,88.904346 C -78.920045,87.812046 -91.622267,107.74061 -79.645446,105.40671 C -67.670523,103.07448 -91.622267,107.74061 -79.645446,105.40671 C -73.888849,104.55302 -69.119803,102.52058 -64.850547,97.64761 C -59.283982,91.295233 -50.968477,77.5735 -48.563483,68.707586 C -46.537563,61.232354 -47.555881,49.650767 -49.644305,60.532553 C -51.786232,71.700167 -61.266532,89.996647 -70.093288,88.904346 z "
-     style="fill:#f3f3f3"
-     id="path2571" /><path
-     d="M -129.3854,104.84502 C -127.34184,104.87935 -126.10573,105.16706 -124.03635,106.61908 C -119.94568,108.31891 -112.42648,107.24179 -108.9543,102.67081 C -105.48212,98.099823 -105.36811,91.801741 -106.69103,87.996073 C -109.92728,78.682039 -123.67593,78.846722 -129.81795,86.579362 C -136.46216,95.2146 -131.42897,104.81069 -129.3854,104.84502 z "
-     style="fill:#999999"
-     id="path2581" /><path
-     d="M -147.63565,61.683628 C -147.22833,62.966318 -146.18754,64.837882 -143.9897,65.149887 C -141.05481,65.566524 -140.45479,66.892551 -136.9892,66.204631 C -133.52361,65.516711 -130.89674,62.676625 -129.84557,59.535064 C -128.64212,55.188187 -130.44406,52.944024 -133.15599,50.940416 C -135.86791,48.936808 -141.83359,49.152263 -145.3938,52.39768 C -147.92393,54.702631 -148.62733,58.560726 -147.63565,61.683628 z "
-     style="fill:#999999"
-     id="path2593_2_" /><path
-     d="M -136.11009,64.55822 C -133.44721,63.861113 -129.92545,60.232613 -131.67381,57.462279 C -133.83086,54.048798 -139.84051,56.970651 -140.04374,60.77103 C -140.24777,64.572786 -138.93238,65.297057 -136.11009,64.55822 z "
-     style="fill:#f3f3f3"
-     id="path256" /><path
-     d="M -116.11512,105.50904 C -113.8431,104.91425 -106.88259,102.0818 -108.18994,91.962983 C -108.85161,86.83742 -111.64725,98.324328 -116.82409,100.04237 C -124.66721,102.64507 -123.78607,107.51719 -116.11512,105.50904 z "
-     style="fill:#f3f3f3"
-     id="path258" /></g>
-</svg>
\ No newline at end of file
+<svg id="Layer_1" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="120" width="100" version="1.0" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 124.766 152.099"><metadata id="metadata6845"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title>Mercurial &quot;droplets&quot; logo</dc:title><dc:creator><cc:Agent><dc:title>Cali Mastny and Matt Mackall</dc:title></cc:Agent></dc:creator><cc:license rdf:resource="http://creativecommons.org/licenses/GPL/2.0/"/><dc:date>Feb 12 2008</dc:date></cc:Work><cc:License rdf:about="http://creativecommons.org/licenses/GPL/2.0/"><cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/><cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/><cc:requires rdf:resource="http://web.resource.org/cc/Notice"/><cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/><cc:requires rdf:resource="http://web.resource.org/cc/SourceCode"/></cc:License></rdf:RDF></metadata>
+<rect id="rect6847" stroke-linejoin="miter" style="stroke-dasharray:none;" height="150.12" width="124.77" stroke="#000" stroke-miterlimit="4" y="0.98776" x="0.3169" stroke-width="1.9755" fill="#FFF"/><path id="text2611" style="stroke-dasharray:none;" d="M9.848,124.61c1.777-0.79,3.665-1.18,5.479-1.18,1.74,0,2.851,0.43,3.48,1.32,1.332-0.89,3.146-1.32,4.553-1.32,4.221,0,4.369,1.71,4.369,6.73v11.11c0,0.49,0.074,0.49-2.036,0.49v-11.81c0-3.63-0.074-4.74-2.48-4.74-1.073,0-2.184,0.25-3.369,1.03v15.27c-0.037,0.15-0.111,0.18-0.369,0.22-0.038,0-0.074,0.03-0.112,0.03h-1.555v-11.81c0-3.49,0-4.77-2.517-4.77-1.074,0-2.147,0.21-3.406,0.82v15.27c0,0.49,0.074,0.49-2.0361,0.49v-17.15m27.831-1.18c-3.146,0-6.626,0.89-6.626,10.4,0,7.33,2.554,8.47,6.071,8.47,2.701,0,5.034-0.89,5.034-1.32,0-0.53-0.074-1.35-0.259-1.82-1.148,0.79-2.777,1.21-4.59,1.21-2.48,0-4.146-0.71-4.184-6.22,1.629,0,5.776-0.04,8.848-0.65,0.259-1.17,0.37-2.88,0.37-4.37,0-3.56-1.444-5.7-4.664-5.7m-0.185,1.78c2.221,0,2.813,1.46,2.85,4.31,0,0.75-0.037,1.64-0.148,2.49-2.073,0.5-5.591,0.5-7.072,0.5,0.261-6.48,2.481-7.3,4.37-7.3m8.07-0.21c1.739-1.14,3.332-1.57,4.961-1.57,1.814,0,2.666,0.5,2.666,1.11,0,0.35-0.112,0.96-0.297,1.31-0.519-0.28-1.11-0.53-2.074-0.53-1.184,0-2.295,0.32-3.183,1.1v14.85c0,0.49,0.037,0.49-2.073,0.49v-16.76m18.69-0.39c0-0.47-1.554-1.18-3.11-1.18-2.999,0-6.664,1.03-6.664,9.83,0,8.33,2.222,9.07,6.109,9.07,1.924,0,3.665-1.03,3.665-1.6,0-0.32-0.074-0.82-0.26-1.24-0.778,0.56-1.962,1.1-3.22,1.1-2.665,0-4.22-0.75-4.22-7.23,0-7.15,2.554-8.15,4.775-8.15,1.258,0,1.962,0.36,2.665,0.82,0.186-0.43,0.26-1.03,0.26-1.42m14.181,16.55c-1.63,0.82-3.776,1.14-5.627,1.14-4.739,0-5.442-1.99-5.442-6.73v-11.14c0-0.46-0.037-0.46,2.074-0.46v11.82c0,3.56,0.517,4.77,3.294,4.77,1.073,0,2.554-0.22,3.665-0.86v-15.27c0-0.46-0.074-0.46,2.036-0.46v17.19m4.221-16.16c1.739-1.14,3.332-1.57,4.96-1.57,1.814,0,2.666,0.5,2.666,1.11,0,0.35-0.111,0.96-0.296,1.31-0.519-0.28-1.111-0.53-2.074-0.53-1.184,0-2.295,0.32-3.183,1.1v14.85c0,0.49,0.037,0.49-2.073,0.49v-16.76m12.379-1.03c-1.629,0-2.11,0-2.11,0.96v16.83c2.073,0,2.11,0,2.11-0.49v-17.3m-2.184-6.27c0,1.18,0.37,1.6,1.11,1.64,0.851,0,1.259-0.61,1.259-1.67,0.037-1.11-0.26-1.61-1.111-1.61-0.814,0-1.221,0.61-1.258,1.64m5.696,7.3c0-0.39,0.074-0.61,0.222-0.71,0.704-0.39,3.41-0.86,6.48-0.86,2.33,0,3.81,1.11,3.81,4.31v2.31c0,6.34-0.18,11.07-0.18,11.07-0.85,0.47-2.45,1.18-5.04,1.18-2.66,0.03-5.329-0.22-5.329-5.48,0-5.02,2.739-5.81,5.479-5.81,1.04,0,2.26,0.11,3.07,0.43v-3.31c0-2.31-1.18-2.81-2.59-2.81-1.89,0-4.514,0.35-5.662,0.89-0.222-0.39-0.26-1-0.26-1.21m8.512,7.9c-0.7-0.25-1.7-0.35-2.4-0.35-2.11,0-4.04,0.42-4.04,4.34,0,3.66,1.59,3.7,3.48,3.7,1.19,0,2.37-0.32,2.78-0.75,0,0,0.18-4.27,0.18-6.94m7.86,8.37c0,0.49,0.04,0.49-2.04,0.49v-25.2c0-0.96,0.41-0.96,2.04-0.96v25.67" stroke-miterlimit="4" stroke-width="2.02999997" fill="#010101"/><g id="g4503" transform="matrix(0.9351326,0,0,0.9351326,150.39508,-1.251766)"><path id="path2339" fill="#1b1a1b" d="M-45.75,92.692c20.04-33.321-4.232-87.363-48.614-81.873-40.096,4.958-40.746,47.165-5.405,57.191,30.583,8.685,6.318,28.084,7.027,41,0.712,12.92,26.587,17.6,46.992-16.318z"/><circle id="circle2341" transform="matrix(1.0917947,-0.2858168,0.2858168,1.0917947,-180.30817,13.494135)" cy="85.364" cx="33.728" r="15.414" fill="#1b1a1b"/><path id="path2343" fill="#1b1a1b" d="M-140.06,48.936c-6.26,0.606-10.84,6.164-10.24,12.422,0.61,6.262,6.17,10.847,12.43,10.241,6.26-0.614,10.84-6.171,10.23-12.43-0.61-6.253-6.16-10.839-12.42-10.233z"/><path id="path2561" fill="#bfbfbf" d="M-44.993,91.34c20.041-33.321-4.231-87.363-48.613-81.873-40.104,4.9568-40.744,47.166-5.406,57.193,30.583,8.684,6.318,28.083,7.027,41,0.713,12.92,26.587,17.6,46.992-16.32z"/><path id="path2563" fill="#000" d="M-86.842,112.76c-1.215-1.97,0.642-4.16,2.551-3.99,3.039,0.26,9.655-0.04,14.876-3,13.043-7.39,33.114-42.966,23.019-65.405-4.519-10.044-6.72-12.92-11.374-17.833-0.95-1.002-0.405-0.948,0.238-0.609,2.517,1.321,6.94,6.437,11.477,14.765,7.664,14.069,7.267,30.795,4.416,41.287-1.986,7.299-8.825,23.815-18.842,30.955-10.039,7.15-21.785,11.26-26.361,3.83z"/><path id="path2565" fill="#000" d="M-95.93,66.591c-6.83-2.028-15.64-4.853-20.74-11.517-3.75-4.914-5.66-10.277-6.15-13.318-0.17-1.085-0.32-1.991-0.01-2.24,0.15-0.117,2.81,5.896,6.79,10.936,3.97,5.04,9.53,7.988,14.16,9.059,4.117,0.952,12.646,3.044,15.532,5.503,2.967,2.527,3.215,7.987,2.216,8.603-1.006,0.62-3.048-4.429-11.798-7.026z"/><path id="path2567" fill="#FFF" d="M-81.841,113.72c-0.132,1.57,1.665,1.87,4.083,1.51,3.099-0.46,5.72-0.81,9.287-2.6,4.835-2.42,9.728-5.89,13.312-10.57,10.692-13.945,14.478-30.45,13.895-32.824-0.195,1.961-2.776,12.253-8.679,21.532-7.582,11.922-13.079,18.262-25.758,21.342-3.529,0.86-5.967-0.45-6.14,1.61z"/><path id="path2569" fill="#FFF" d="M-109.96,59.479c1.44,1.225,4.4,2.857,10.223,4.767,7.031,2.305,10.455,4.304,11.888,5.262,1.52,1.018,2.483,3.288,2.578,1.272,0.099-2.019-1.145-3.755-3.921-4.675-1.878-0.624-5.038-2.109-8.067-2.707-1.946-0.384-5.111-1.146-7.831-1.978-1.48-0.457-3-1.258-4.87-1.941z"/><circle id="circle2577" transform="matrix(1.0917947,-0.2858168,0.2858168,1.0917947,-180.30817,13.494135)" cy="84.375" cx="34.681" r="15.414" fill="#bfbfbf"/><path id="path2579" fill="#000" d="M-128.68,108.38c13.53,12.54,33.894-4.69,24.93-19.897-1.01-1.708-2.32-3.009-1.89-1.7,2.87,8.747,0.22,15.667-4.72,19.227-4.85,3.5-11.51,4.09-16.84,1.32-1.57-0.81-2.22,0.37-1.48,1.05z"/><path id="path2585" fill="#FFF" d="M-118.07,110.95c1.73-0.36,11.75-2.95,14.1-11.194,0.73-2.569,0.86-2.053,0.66-0.661-1.06,7.105-7.78,12.345-13.49,12.545-1.16,0.12-2.68-0.39-1.27-0.69z"/><path id="path2589" fill="#bfbfbf" d="M-139.3,47.584c-6.26,0.605-10.84,6.164-10.24,12.422,0.61,6.261,6.17,10.847,12.43,10.241,6.25-0.614,10.84-6.173,10.23-12.431-0.61-6.254-6.17-10.838-12.42-10.232z"/><path id="path2591" fill="#000" d="M-144.47,67.571c0.07,0.805,1.17,1.838,2.9,2.312,1.49,0.408,5.32,1.45,10.25-1.658,4.92-3.108,5.49-11.421,3.25-13.865-0.69-1.239-1.59-2.14-0.88-0.164,1.81,4.99-1.7,9.659-4.74,11.82-3.03,2.162-6.88,1.139-8.45,0.66s-2.4,0.064-2.33,0.895z"/><path id="path2597" fill="#FFF" d="M-138.11,68.688c0.45-0.406,2.73-0.24,4.79-1.35,2.07-1.109,4.52-3.54,4.95-6.994,0.26-2.029,0.34-1.519,0.44-0.415-0.32,5.743-5.6,8.916-8.62,9.334-0.82,0.113-2.25,0.044-1.56-0.575z"/><path id="path2561_1_" fill="#999" d="M-47.767,69.694c8.532-24.594-9.323-61.736-45.446-57.268-32.637,4.035-33.167,38.389-4.4,46.55,32.582,4.933,12.962,29.512,10.179,41.904-2.495,11.11,26.331,12.94,39.667-31.186z"/><path id="path2571" fill="#f3f3f3" d="M-70.093,88.904c-8.827-1.092-21.529,18.836-9.552,16.506,5.756-0.86,10.525-2.89,14.794-7.762,5.567-6.353,13.883-20.074,16.288-28.94,2.025-7.476,1.007-19.057-1.081-8.175-2.142,11.167-11.623,29.464-20.449,28.371z"/><path id="path2581" fill="#999" d="M-129.39,104.85c2.05,0.03,3.28,0.32,5.35,1.77,4.09,1.7,11.61,0.62,15.09-3.95,3.47-4.57,3.58-10.868,2.26-14.674-3.24-9.314-16.99-9.149-23.13-1.417-6.64,8.636-1.61,18.231,0.43,18.271z"/><path id="path2593_2_" fill="#999" d="M-147.64,61.684c0.41,1.282,1.45,3.154,3.65,3.466,2.94,0.417,3.54,1.743,7,1.055,3.47-0.688,6.09-3.528,7.14-6.67,1.21-4.347-0.59-6.591-3.31-8.595-2.71-2.003-8.67-1.788-12.23,1.458-2.53,2.305-3.24,6.163-2.25,9.286z"/><path id="path256" fill="#f3f3f3" d="M-136.11,64.558c2.66-0.697,6.18-4.325,4.44-7.096-2.16-3.413-8.17-0.491-8.37,3.309-0.21,3.802,1.11,4.526,3.93,3.787z"/><path id="path258" fill="#f3f3f3" d="M-116.12,105.51c2.28-0.6,9.24-3.43,7.93-13.547-0.66-5.126-3.46,6.361-8.63,8.077-7.85,2.61-6.97,7.48,0.7,5.47z"/></g>
+</svg>
--- a/contrib/mercurial.spec	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/mercurial.spec	Mon Jun 21 13:41:11 2010 -0500
@@ -38,14 +38,11 @@
 
 %install
 rm -rf $RPM_BUILD_ROOT
-python setup.py install --root $RPM_BUILD_ROOT --prefix %{_prefix}
-make install-doc DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir}
+make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} MANDIR=%{_mandir}
 
 install contrib/hgk          $RPM_BUILD_ROOT%{_bindir}
 install contrib/convert-repo $RPM_BUILD_ROOT%{_bindir}/mercurial-convert-repo
 install contrib/hg-ssh       $RPM_BUILD_ROOT%{_bindir}
-install contrib/git-viz/hg-viz $RPM_BUILD_ROOT%{_bindir}
-install contrib/git-viz/git-rev-tree $RPM_BUILD_ROOT%{_bindir}
 
 bash_completion_dir=$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
 mkdir -p $bash_completion_dir
@@ -77,8 +74,6 @@
 %{_bindir}/hg
 %{_bindir}/hgk
 %{_bindir}/hg-ssh
-%{_bindir}/hg-viz
-%{_bindir}/git-rev-tree
 %{_bindir}/mercurial-convert-repo
 %dir %{_sysconfdir}/bash_completion.d/
 %dir %{_datadir}/zsh/site-functions/
--- a/contrib/mergetools.hgrc	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/mergetools.hgrc	Mon Jun 21 13:41:11 2010 -0500
@@ -6,6 +6,7 @@
 kdiff3.regappend=\kdiff3.exe
 kdiff3.fixeol=True
 kdiff3.gui=True
+kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
 
 gvimdiff.args=--nofork -d -g -O $local $other $base
 gvimdiff.regkey=Software\Vim\GVim
@@ -13,20 +14,23 @@
 gvimdiff.priority=-9
 
 merge.checkconflicts=True
-merge.priority=-10
+merge.priority=-100
 
 gpyfm.gui=True
 
 meld.gui=True
 meld.args=--label='local' $local --label='base' $base --label='other' $other
+meld.diffargs=-a --label='$plabel1' $parent --label='$clabel' $child
 
 tkdiff.args=$local $other -a $base -o $output
 tkdiff.gui=True
 tkdiff.priority=-8
+tkdiff.diffargs=-L '$plabel1' $parent -L '$clabel' $child
 
 xxdiff.args=--show-merged-pane --exit-with-merge-status --title1 local --title2 base --title3 other --merged-filename $output --merge $local $base $other
 xxdiff.gui=True
 xxdiff.priority=-8
+xxdiff.diffargs=--title1 '$plabel1' $parent --title2 '$clabel' $child
 
 diffmerge.regkey=Software\SourceGear\SourceGear DiffMerge\
 diffmerge.regname=Location
@@ -34,6 +38,7 @@
 diffmerge.args=-nosplash -merge -title1=local -title2=merged -title3=other $local $base $other -result=$output
 diffmerge.checkchanged=True
 diffmerge.gui=True
+diffmerge.diffargs=--nosplash --title1='$plabel1' --title2='$clabel' $parent $child
 
 p4merge.args=$base $local $other $output
 p4merge.regkey=Software\Perforce\Environment
@@ -41,16 +46,19 @@
 p4merge.regappend=\p4merge.exe
 p4merge.gui=True
 p4merge.priority=-8
+p4merge.diffargs=$parent $child
 
 tortoisemerge.args=/base:$base /mine:$local /theirs:$other /merged:$output
 tortoisemerge.regkey=Software\TortoiseSVN
 tortoisemerge.checkchanged=True
 tortoisemerge.gui=True
 tortoisemerge.priority=-8
+tortoisemerge.diffargs=/base:$parent /mine:$child /basename:'$plabel1' /minename:'$clabel'
 
 ecmerge.args=$base $local $other --mode=merge3 --title0=base --title1=local --title2=other --to=$output
 ecmerge.regkey=Software\Elli\xc3\xa9 Computing\Merge
 ecmerge.gui=True
+ecmerge.diffargs=$parent $child --mode=diff2 --title1='$plabel1' --title2='$clabel'
 
 filemerge.executable=/Developer/Applications/Utilities/FileMerge.app/Contents/MacOS/FileMerge
 filemerge.args=-left $other -right $local -ancestor $base -merge $output
@@ -62,12 +70,14 @@
 beyondcompare3.regname=ExePath
 beyondcompare3.gui=True
 beyondcompare3.priority=-2
+beyondcompare3.diffargs=/lro /lefttitle='$plabel1' /righttitle='$clabel' /solo /expandall $parent $child
 
 ; Linux version of Beyond Compare
 bcompare.args=$local $other $base -mergeoutput=$output -ro -lefttitle=parent1 -centertitle=base -righttitle=parent2 -outputtitle=merged -automerge -reviewconflicts -solo
 bcompare.premerge=False
 bcompare.gui=True
 bcompare.priority=-1
+bcompare.diffargs=-lro -lefttitle='$plabel1' -righttitle='$clabel' -solo -expandall $parent $child
 
 winmerge.args=/e /x /wl /ub /dl other /dr local $other $local $output
 winmerge.regkey=Software\Thingamahoochie\WinMerge
@@ -75,6 +85,7 @@
 winmerge.checkchanged=True
 winmerge.gui=True
 winmerge.priority=-10
+winmerge.diffargs=/r /e /x /ub /wl /dl '$plabel1' /dr '$clabel' $parent $child
 
 araxis.regkey=SOFTWARE\Classes\TypeLib\{46799e0a-7bd1-4330-911c-9660bb964ea2}\7.0\HELPDIR
 araxis.regappend=\ConsoleCompare.exe
@@ -84,3 +95,18 @@
 araxis.checkconflict=True
 araxis.binary=True
 araxis.gui=True
+araxis.diffargs=/2 /wait /title1:"$plabel1" /title2:"$clabel" $parent $child
+
+diffuse.priority=-3
+diffuse.args=$local $base $other
+diffuse.gui=True
+diffuse.diffargs=$parent $child
+
+UltraCompare.regkey=Software\Microsoft\Windows\CurrentVersion\App Paths\UC.exe
+UltraCompare.args = $base $local $other -title1 base -title3 other
+UltraCompare.priority = -2
+UltraCompare.gui = True
+UltraCompare.binary = True
+UltraCompare.checkconflicts = True
+UltraCompare.checkchanged = True
+UltraCompare.diffargs=$child $parent -title1 $clabel -title2 $plabel1
--- a/contrib/rewrite-log	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-import sys, os
-from mercurial import revlog, transaction, node, util
-
-f = sys.argv[1]
-
-r1 = revlog.revlog(util.opener(os.getcwd(), audit=False), f + ".i", f + ".d")
-r2 = revlog.revlog(util.opener(os.getcwd(), audit=False), f + ".i2", f + ".d2")
-
-tr = transaction.transaction(sys.stderr.write, open, "journal")
-
-for i in xrange(r1.count()):
-    n = r1.node(i)
-    p1, p2 = r1.parents(n)
-    l = r1.linkrev(n)
-    t = r1.revision(n)
-    n2 = r2.addrevision(t, tr, l, p1, p2)
-tr.close()
-
-os.rename(f + ".i", f + ".i.old")
-os.rename(f + ".d", f + ".d.old")
-os.rename(f + ".i2", f + ".i")
-os.rename(f + ".d2", f + ".d")
--- a/contrib/sample.hgrc	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/sample.hgrc	Mon Jun 21 13:41:11 2010 -0500
@@ -73,9 +73,9 @@
 
 # hgext.churn = /home/user/hg/hg/contrib/churn.py
 
-### win32text - line ending conversion filters for the Windows platform
+### eol - automatic management of line endings
 
-# hgext.win32text =
+# hgext.eol =
 
 ### --- hgk additional configuration
 
--- a/contrib/shrink-revlog.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/shrink-revlog.py	Mon Jun 21 13:41:11 2010 -0500
@@ -24,50 +24,81 @@
 from mercurial import changegroup
 from mercurial.i18n import _
 
-def toposort(ui, rl):
+
+def postorder(start, edges):
+    result = []
+    visit = list(start)
+    finished = set()
 
-    children = {}
-    root = []
-    # build children and roots
+    while visit:
+        cur = visit[-1]
+        for p in edges[cur]:
+            if p not in finished:
+                visit.append(p)
+                break
+        else:
+            result.append(cur)
+            finished.add(cur)
+            visit.pop()
+
+    return result
+
+def toposort_reversepostorder(ui, rl):
+    # postorder of the reverse directed graph
+
+    # map rev to list of parent revs (p2 first)
+    parents = {}
+    heads = set()
     ui.status(_('reading revs\n'))
     try:
-        for i in rl:
-            ui.progress(_('reading'), i, total=len(rl))
-            children[i] = []
-            parents = [p for p in rl.parentrevs(i) if p != node.nullrev]
-            # in case of duplicate parents
-            if len(parents) == 2 and parents[0] == parents[1]:
-                del parents[1]
-            for p in parents:
-                assert p in children
-                children[p].append(i)
+        for rev in rl:
+            ui.progress(_('reading'), rev, total=len(rl))
+            (p1, p2) = rl.parentrevs(rev)
+            if p1 == p2 == node.nullrev:
+                parents[rev] = ()       # root node
+            elif p1 == p2 or p2 == node.nullrev:
+                parents[rev] = (p1,)    # normal node
+            else:
+                parents[rev] = (p2, p1) # merge node
+            heads.add(rev)
+            for p in parents[rev]:
+                heads.discard(p)
+    finally:
+        ui.progress(_('reading'), None)
 
-            if len(parents) == 0:
-                root.append(i)
-    finally:
-        ui.progress(_('reading'), None, total=len(rl))
+    heads = list(heads)
+    heads.sort(reverse=True)
+
+    ui.status(_('sorting revs\n'))
+    return postorder(heads, parents)
+
+def toposort_postorderreverse(ui, rl):
+    # reverse-postorder of the reverse directed graph
 
-    # XXX this is a reimplementation of the 'branchsort' topo sort
-    # algorithm in hgext.convert.convcmd... would be nice not to duplicate
-    # the algorithm
+    children = {}
+    roots = set()
+    ui.status(_('reading revs\n'))
+    try:
+        for rev in rl:
+            ui.progress(_('reading'), rev, total=len(rl))
+            (p1, p2) = rl.parentrevs(rev)
+            if p1 == p2 == node.nullrev:
+                roots.add(rev)
+            children[rev] = []
+            if p1 != node.nullrev:
+                children[p1].append(rev)
+            if p2 != node.nullrev:
+                children[p2].append(rev)
+    finally:
+        ui.progress(_('reading'), None)
+
+    roots = list(roots)
+    roots.sort()
+
     ui.status(_('sorting revs\n'))
-    visit = root
-    ret = []
-    while visit:
-        i = visit.pop(0)
-        ret.append(i)
-        if i not in children:
-            # This only happens if some node's p1 == p2, which can
-            # happen in the manifest in certain circumstances.
-            continue
-        next = []
-        for c in children.pop(i):
-            parents_unseen = [p for p in rl.parentrevs(c)
-                              if p != node.nullrev and p in children]
-            if len(parents_unseen) == 0:
-                next.append(c)
-        visit = next + visit
-    return ret
+    result = postorder(roots, children)
+    result.reverse()
+    return result
 
 def writerevs(ui, r1, r2, order, tr):
 
@@ -89,7 +120,7 @@
         chunkiter = changegroup.chunkiter(group)
         r2.addgroup(chunkiter, unlookup, tr)
     finally:
-        ui.progress(_('writing'), None, len(order))
+        ui.progress(_('writing'), None)
 
 def report(ui, r1, r2):
     def getsize(r):
@@ -118,9 +149,15 @@
              % (shrink_percent, shrink_factor))
 
 def shrink(ui, repo, **opts):
+    """shrink a revlog by reordering revisions
+
+    Rewrites all the entries in some revlog of the current repository
+    (by default, the manifest log) to save space.
+
+    Different sort algorithms have different performance
+    characteristics.  Use ``--sort`` to select a sort algorithm so you
+    can determine which works best for your data.
     """
-    Shrink revlog by re-ordering revisions. Will operate on manifest for
-    the given repository if no other revlog is specified."""
 
     if not repo.local():
         raise util.Abort(_('not a local repository: %s') % repo.root)
@@ -139,6 +176,12 @@
             raise util.Abort(_('--revlog option must specify a revlog in %s, '
                                'not %s') % (store, indexfn))
 
+    sortname = opts['sort']
+    try:
+        toposort = globals()['toposort_' + sortname]
+    except KeyError:
+        raise util.Abort(_('no such toposort algorithm: %s') % sortname)
+
     if not os.path.exists(indexfn):
         raise util.Abort(_('no such file: %s') % indexfn)
     if '00changelog' in indexfn:
@@ -147,10 +190,7 @@
 
     ui.write(_('shrinking %s\n') % indexfn)
     prefix = os.path.basename(indexfn)[:-1]
-    (tmpfd, tmpindexfn) = tempfile.mkstemp(dir=os.path.dirname(indexfn),
-                                           prefix=prefix,
-                                           suffix='.i')
-    os.close(tmpfd)
+    tmpindexfn = util.mktempcopy(indexfn, emptyok=True)
 
     r1 = revlog.revlog(util.opener(os.getcwd(), audit=False), indexfn)
     r2 = revlog.revlog(util.opener(os.getcwd(), audit=False), tmpindexfn)
@@ -187,6 +227,15 @@
     try:
         try:
             order = toposort(ui, r1)
+
+            suboptimal = 0
+            for i in xrange(1, len(order)):
+                parents = [p for p in r1.parentrevs(order[i])
+                           if p != node.nullrev]
+                if parents and order[i - 1] not in parents:
+                    suboptimal += 1
+            ui.note(_('%d suboptimal nodes\n') % suboptimal)
+
             writerevs(ui, r1, r2, order, tr)
             report(ui, r1, r2)
             tr.close()
@@ -203,9 +252,6 @@
             util.os_link(indexfn, oldindexfn)
             ignoremissing(util.os_link)(datafn, olddatafn)
 
-            # mkstemp() creates files only readable by the owner
-            os.chmod(tmpindexfn, os.stat(indexfn).st_mode)
-
             # rename
             util.rename(tmpindexfn, indexfn)
             try:
@@ -234,6 +280,7 @@
     'shrink': (shrink,
                [('', 'revlog', '', _('index (.i) file of the revlog to shrink')),
                 ('n', 'dry-run', None, _('do not shrink, simulate only')),
+                ('', 'sort', 'reversepostorder', 'name of sort algorithm to use'),
                 ],
                _('hg shrink [--revlog PATH]'))
 }
--- a/contrib/win32/mercurial.ini	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/win32/mercurial.ini	Mon Jun 21 13:41:11 2010 -0500
@@ -43,6 +43,7 @@
 ;churn =
 ;color =
 ;convert =
+;eol =
 ;extdiff =
 ;fetch =
 ;gpg =
@@ -63,39 +64,8 @@
 ;record =
 ;transplant =
 ;win32mbcs =
-;win32text =
 ;zeroconf =
 
-; To use cleverencode/cleverdecode, you must enable win32text extension
-
-[encode]
-; Encode files that don't contain NUL characters.
-
-; ** = cleverencode:
-
-; Alternatively, you can explicitly specify each file extension that
-; you want encoded (any you omit will be left untouched), like this:
-
-; *.txt = dumbencode:
-
-
-[decode]
-; Decode files that don't contain NUL characters.
-
-; ** = cleverdecode:
-
-; Alternatively, you can explicitly specify each file extension that
-; you want decoded (any you omit will be left untouched), like this:
-
-; **.txt = dumbdecode:
-
-[patch]
-; If you enable win32text filtering, you will want to enable this
-; line as well to allow patching to work correctly.
-
-; eol = crlf
-
-
 ;
 ; Define external diff commands
 ;
--- a/contrib/win32/win32-build.txt	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/win32/win32-build.txt	Mon Jun 21 13:41:11 2010 -0500
@@ -82,16 +82,10 @@
     Microsoft.VC90.MFC.manifest)
 
 Before building the installer, you have to build Mercurial HTML documentation 
-(or fix mercurial.iss to not reference the doc directory). Docutils does not
-come with a ready-made script for rst2html.py, so you will have to write your
-own and put it in %PATH% like:
-
-  @python c:\pythonXX\scripts\rst2html.py %*
-
-Then build the documentation with:
+(or fix mercurial.iss to not reference the doc directory):
 
   cd doc
-  mingw32-make RST2HTML=rst2html.bat html
+  mingw32-make html
   cd ..
 
 If you use ISTool, you open the C:\hg\hg-release\contrib\win32\mercurial.iss
@@ -113,7 +107,7 @@
   echo compiler=mingw32 >> setup.cfg
   python setup.py py2exe -b 1
   cd doc
-  mingw32-make RST2HTML=rst2html.bat html
+  mingw32-make html
   cd ..
   iscc contrib\win32\mercurial.iss /DVERSION=snapshot
 
--- a/contrib/wix/contrib.wxs	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/wix/contrib.wxs	Mon Jun 21 13:41:11 2010 -0500
@@ -1,218 +1,42 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-    <Fragment>
-        <ComponentGroup Id="contribFolder">
-            <Component Id="cmp807F426F34EC5B808607BA4007244E84" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{4D96B8DF-A686-42A8-AD81-E2CB4324C697}">
-                <File Id="fil0BF2562805D37A6C57219F945DC7C3B4" KeyPath="yes" Source="$(var.SourceDir)\bash_completion" />
-            </Component>
-            <Component Id="cmpB28139F1930563D83220AD2C1128B030" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{89D69124-1ED8-429B-AAC8-BC3F2B4F2B80}">
-                <File Id="fil8A6DCD57765E3E3FEF179102A0906054" KeyPath="yes" Source="$(var.SourceDir)\hgk" />
-            </Component>
-            <Component Id="cmpB7DA2E5DE9E5C7DDB7696E436D98B142" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{C1B3D111-3A62-4B6A-A39B-1DCECEDA08EC}">
-                <File Id="fil18816C74E6F00D731B7DBE0870BDE2D9" KeyPath="yes" Source="$(var.SourceDir)\hgwebdir.fcgi" />
-            </Component>
-            <Component Id="cmpB1DF769846D452FC44EBA6763F12D29F" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{63CCAE00-5F02-4AB2-84A9-B11780E618AA}">
-                <File Id="fil5896BB6DFC36A92D41E0AB8C7DB80A97" KeyPath="yes" Source="$(var.SourceDir)\hgwebdir.wsgi" />
-            </Component>
-            <Component Id="cmp7C407D087BF1947C9EC8AFE24B42CD9B" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{1200C67E-0A52-462E-AC7B-CDC933F43ACD}">
-                <File Id="fil81E357676284E64EDFEBE9FE5CEB872F" KeyPath="yes" Source="$(var.SourceDir)\logo-droplets.svg" />
-            </Component>
-            <Component Id="cmp6946EABE287930CA55C76B0961DE17E7" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{E014BC0E-B6CA-4020-9302-CB503904A4FB}">
-                <File Id="filA77C0B15558EB3894B9E728D2FE3AF9F" KeyPath="yes" Source="$(var.SourceDir)\mercurial.el" />
-            </Component>
-            <Component Id="cmpBEDE8604BDE5144025036F4BB04679B2" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{3BB12008-A453-4A1B-B427-F97ADD127ED7}">
-                <File Id="fil3F209A8D711EA35E5B38E05678D0D5E2" KeyPath="yes" Source="$(var.SourceDir)\sample.hgrc" />
-            </Component>
-            <Component Id="cmpED03CB84DEE74E99BB62BE0F8AC356F1" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{BE0C6DC7-A91A-4390-A111-54D109148514}">
-                <File Id="filCD2BF173510DF04EA722FE4924B3DAE7" KeyPath="yes" Source="$(var.SourceDir)\tcsh_completion" />
-            </Component>
-            <Component Id="cmp7395336B1B93AB450D822FA0DE0C5FCB" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{8F376341-1DEF-419D-8D88-17F393C5F3CA}">
-                <File Id="fil2C004105E9F354CA4156678C4FB76823" KeyPath="yes" Source="$(var.SourceDir)\tcsh_completion_build.sh" />
-            </Component>
-            <Component Id="cmpA914A0A1896C5E91A8381B2B5491564C" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{87C90FF2-43D5-4F81-93C2-295E4C7D7718}">
-                <File Id="filBF6BED4F17C843169CEBE289E39FC8FB" KeyPath="yes" Source="$(var.SourceDir)\xml.rnc" />
-            </Component>
-            <Component Id="cmp512D2C19167594DBED53CF4A5896DAC1" Directory="dirCA1E322A30AE0A461BB6A083C7A87627" Guid="{6BAA6FEC-4C90-4B97-A330-A60B34BE0A5A}">
-                <File Id="filA8F4DBB6CE376C77AA79D9E9D715A519" KeyPath="yes" Source="$(var.SourceDir)\zsh_completion" />
-            </Component>
-            <Component Id="cmp82B1C0B5D90172AD872BBE93AD1A4746" Directory="dirBED34C623F6A770B7C7A5C815434688D" Guid="{7EAE9937-D488-43A4-8EED-A726711C02D5}">
-                <File Id="filBB7FA67E9542AD28BADC33AE9FE32A34" KeyPath="yes" Source="$(var.SourceDir)\vim\hg-menu.vim" />
-            </Component>
-            <Component Id="cmp86D915E62A0C3FF73A370E0D48DDE5F1" Directory="dirBED34C623F6A770B7C7A5C815434688D" Guid="{1ECD4227-1385-4073-95E9-5346A21E92F2}">
-                <File Id="filC508D5BC3A9EAE1F33C95F8EF07EF431" KeyPath="yes" Source="$(var.SourceDir)\vim\HGAnnotate.vim" />
-            </Component>
-            <Component Id="cmp6F11D903E1DB0DFC0C3EB42F63394E60" Directory="dirBED34C623F6A770B7C7A5C815434688D" Guid="{41DE72AC-B7BC-489F-82D8-EFB39E280910}">
-                <File Id="filDAC324AFC5566758101A7423165FE7FA" KeyPath="yes" Source="$(var.SourceDir)\vim\hgcommand.vim" />
-            </Component>
-            <Component Id="cmpA55369F11281B52F404E0724200C115F" Directory="dirBED34C623F6A770B7C7A5C815434688D" Guid="{F72CA80F-E453-40C5-AFFD-875C46B7C7D7}">
-                <File Id="fil982E8F72370A711566A7F7645AC8204D" KeyPath="yes" Source="$(var.SourceDir)\vim\patchreview.txt" />
-            </Component>
-            <Component Id="cmp56F529456B47B91250785C4D0A205ED2" Directory="dirBED34C623F6A770B7C7A5C815434688D" Guid="{02A22346-ECA7-4C70-AF97-974550F0D8D3}">
-                <File Id="filC59985C7F91EC21A42FEF97AD3CDD65D" KeyPath="yes" Source="$(var.SourceDir)\vim\patchreview.vim" />
-            </Component>
-        </ComponentGroup>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="INSTALLDIR">
-            <Directory Id="dirCA1E322A30AE0A461BB6A083C7A87627" Name="contrib" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0AAB909DA146B054F15679730FA6EDC4" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0AAB909DA146B054F15679730FA6EDC4" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0AAB909DA146B054F15679730FA6EDC4" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBED34C623F6A770B7C7A5C815434688D" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirD2A98CA486D03F46DB07EE76569468D8" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0AAB909DA146B054F15679730FA6EDC4" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBED34C623F6A770B7C7A5C815434688D" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0AAB909DA146B054F15679730FA6EDC4" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir51C59DA466E26BFDB5855AE6BE2E4BDD" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0AAB909DA146B054F15679730FA6EDC4" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0AAB909DA146B054F15679730FA6EDC4" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBED34C623F6A770B7C7A5C815434688D" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBED34C623F6A770B7C7A5C815434688D" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3F9A2BE78E3069AB8A904DF734C62404" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3F9A2BE78E3069AB8A904DF734C62404" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirD2A98CA486D03F46DB07EE76569468D8" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3F9A2BE78E3069AB8A904DF734C62404" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBED34C623F6A770B7C7A5C815434688D" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3F9A2BE78E3069AB8A904DF734C62404" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir51C59DA466E26BFDB5855AE6BE2E4BDD" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3F9A2BE78E3069AB8A904DF734C62404" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0AAB909DA146B054F15679730FA6EDC4" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir51C59DA466E26BFDB5855AE6BE2E4BDD" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCA1E322A30AE0A461BB6A083C7A87627">
-            <Directory Id="dirBED34C623F6A770B7C7A5C815434688D" Name="vim" />
-        </DirectoryRef>
-    </Fragment>
+
+  <?include guids.wxi ?>
+
+  <Fragment>
+    <ComponentGroup Id="contribFolder">
+      <ComponentRef Id="contrib" />
+      <ComponentRef Id="contrib.vim" />
+    </ComponentGroup>
+  </Fragment>
+
+  <Fragment>
+    <DirectoryRef Id="INSTALLDIR">
+      <Directory Id="contribdir" Name="contrib" FileSource="$(var.SourceDir)">
+        <Component Id="contrib" Guid="$(var.contrib.guid)">
+          <File Name="bash_completion" KeyPath="yes" />
+          <File Name="hgk" />
+          <File Name="hgweb.fcgi" />
+          <File Name="hgweb.wsgi" />
+          <File Name="logo-droplets.svg" />
+          <File Name="mercurial.el" />
+          <File Name="sample.hgrc" />
+          <File Name="tcsh_completion" />
+          <File Name="tcsh_completion_build.sh" />
+          <File Name="xml.rnc" />
+          <File Name="zsh_completion" />
+        </Component>
+        <Directory Id="vimdir" Name="vim">
+          <Component Id="contrib.vim" Guid="$(var.contrib.vim.guid)">
+            <File Name="hg-menu.vim" KeyPath="yes" />
+            <File Name="HGAnnotate.vim" />
+            <File Name="hgcommand.vim" />
+            <File Name="patchreview.txt" />
+            <File Name="patchreview.vim" />
+          </Component>
+        </Directory>
+      </Directory>
+    </DirectoryRef>
+  </Fragment>
+
 </Wix>
--- a/contrib/wix/doc.wxs	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/wix/doc.wxs	Mon Jun 21 13:41:11 2010 -0500
@@ -1,33 +1,49 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-    <Fragment>
-        <ComponentGroup Id="docFolder">
-            <Component Id="cmpD8AD113FB988F56EF745AF287E14D1BE" Directory="dir7C3635117912185773B74CE69A101DF6" Guid="{F7DDE641-6FD6-48B9-B869-C92927437CF0}">
-                <File Id="filFC7EC893C906DE77DE4D96687109D8E9" KeyPath="yes" Source="$(var.SourceDir)\hg.1.html">
-                  <Shortcut Id="hg1StartMenu" Directory="ProgramMenuDir" Name="Mercurial Command Reference"
-                            Icon="hgIcon.ico" IconIndex="0" Advertise="yes"/>
-                </File>
-            </Component>
-            <Component Id="cmpB89B9653438B9A899D3AF741EF3D50E7" Directory="dir7C3635117912185773B74CE69A101DF6" Guid="{6289969D-8286-47AE-97B2-2DCB3B6A9EE3}">
-                <File Id="filA7A1E3181858EAEA214687DBA9AEFB27" KeyPath="yes" Source="$(var.SourceDir)\hgignore.5.html" >
-                  <Shortcut Id="hgignore5StartMenu" Directory="ProgramMenuDir" Name="Mercurial Ignore Files"
-                            Icon="hgIcon.ico" IconIndex="0" Advertise="yes"/>
-                </File>
-            </Component>
-            <Component Id="cmp2759E68E80E0FCEA1ACE704650E93C2A" Directory="dir7C3635117912185773B74CE69A101DF6" Guid="{2B13EF1C-5B3A-4A36-85B8-59D8155FB454}">
-                <File Id="fil4B171255CC318D73C35538CAA0AFFC24" KeyPath="yes" Source="$(var.SourceDir)\hgrc.5.html" >
-                  <Shortcut Id="hgrc5StartMenu" Directory="ProgramMenuDir" Name="Mercurial Configuration Files"
-                            Icon="hgIcon.ico" IconIndex="0" Advertise="yes"/>
-                </File>
-            </Component>
-            <Component Id="cmp9ADC9EFD76613D01E16146107BBE6590" Directory="dir7C3635117912185773B74CE69A101DF6" Guid="{673C6217-F669-4845-B5A6-56EA061C38AF}">
-                <File Id="fil7994C9041F416FEA568FA98CA6891FB6" KeyPath="yes" Source="$(var.SourceDir)\style.css" />
-            </Component>
-        </ComponentGroup>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="INSTALLDIR">
-            <Directory Id="dir7C3635117912185773B74CE69A101DF6" Name="doc" />
-        </DirectoryRef>
-    </Fragment>
+
+  <?include guids.wxi ?>
+
+  <Fragment>
+    <ComponentGroup Id="docFolder">
+      <ComponentRef Id="doc.hg.1.html" />
+      <ComponentRef Id="doc.hgignore.5.html" />
+      <ComponentRef Id="doc.hgrc.5.html" />
+      <ComponentRef Id="doc.style.css" />
+    </ComponentGroup>
+  </Fragment>
+
+  <Fragment>
+    <DirectoryRef Id="INSTALLDIR">
+      <Directory Id="docdir" Name="doc" FileSource="$(var.SourceDir)">
+        <Component Id="doc.hg.1.html" Guid="$(var.doc.hg.1.html.guid)">
+          <File Name="hg.1.html" KeyPath="yes">
+            <Shortcut Id="hg1StartMenu" Directory="ProgramMenuDir"
+                      Name="Mercurial Command Reference"
+                      Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
+            />
+          </File>
+        </Component>
+        <Component Id="doc.hgignore.5.html" Guid="$(var.doc.hgignore.5.html.guid)">
+          <File Name="hgignore.5.html" KeyPath="yes">
+            <Shortcut Id="hgignore5StartMenu" Directory="ProgramMenuDir"
+                      Name="Mercurial Ignore Files"
+                      Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
+            />
+          </File>
+        </Component>
+        <Component Id="doc.hgrc.5.html" Guid="$(var.doc.hgrc.5.html)">
+          <File Name="hgrc.5.html" KeyPath="yes">
+            <Shortcut Id="hgrc5StartMenu" Directory="ProgramMenuDir"
+                      Name="Mercurial Configuration Files"
+                      Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
+            />
+          </File>
+        </Component>
+        <Component Id="doc.style.css" Guid="$(var.doc.style.css)">
+          <File Name="style.css" KeyPath="yes" />
+        </Component>
+      </Directory>
+    </DirectoryRef>
+  </Fragment>
+
 </Wix>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/wix/guids.wxi	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,46 @@
+<Include>
+  <!-- These are component GUIDs used for Mercurial installers.
+       YOU MUST CHANGE ALL GUIDs below when copying this file
+       and replace 'Mercurial' in this notice with the name of
+       your project. Component GUIDs have global namespace!      -->
+
+  <!-- contrib.wxs -->
+  <?define contrib.guid = {F17D27B7-4A6B-4cd2-AE72-FED3CFAA585E} ?>
+  <?define contrib.vim.guid = {56B49B46-6657-405d-9E91-3FA68D011471} ?>
+
+  <!-- doc.wxs -->
+  <?define doc.hg.1.html.guid = {AAAA3FDA-EDC5-4220-B59D-D342722358A2} ?>
+  <?define doc.hgignore.5.html.guid = {AA9118C4-F3A0-4429-A5F4-5A1906B2D67F} ?>
+  <?define doc.hgrc.5.html = {E0CEA1EB-FA01-408c-844B-EE5965165BAE} ?>
+  <?define doc.style.css = {172F8262-98E0-4711-BD39-4DAE0D77EF05} ?>
+
+  <!-- help.wxs -->
+  <?define helpFolder.guid = {FA1546C1-5730-4e55-8542-76F5830841EE} ?>
+  
+  <!-- i18n.wxs -->
+  <?define i18nFolder.guid = {EADFA693-A0B5-4f31-87C9-3997CFAC1B42} ?>
+
+  <!-- templates.wxs -->
+  <?define templates.root.guid = {111509CB-4C96-4035-80BC-F66A99CD5ACB} ?>
+  <?define templates.atom.guid = {45FCDF84-DE27-44f4-AF6C-C41F5994AE0D} ?>
+  <?define templates.coal.guid = {B63CCAAB-4EAF-43b4-901E-4BD13F5B78FC} ?>
+  <?define templates.gitweb.guid = {5B8DF9A1-F475-45a5-B8F0-FCEA04A3B074} ?>
+  <?define templates.monoblue.guid = {7BA492F4-98F3-4943-A981-0BFE1690CF6E} ?>
+  <?define templates.paper.guid = {294F69D5-EC96-4fa7-8569-DD76C9993F47} ?>
+  <?define templates.raw.guid = {04DE03A2-FBFD-4c5f-8DEA-5436DDF4689D} ?>
+  <?define templates.rss.guid = {A7D608DE-0CF6-44f4-AF1E-EE30CC237FDA} ?>
+  <?define templates.spartan.guid = {80222625-FA8F-44b1-86CE-1781EF375D09} ?>
+  <?define templates.static.guid = {68C9F843-DE7E-480f-9DA2-D220B19D02C3} ?>
+
+  <!-- mercurial.wxs -->
+  <?define ProductUpgradeCode = {A1CC6134-E945-4399-BE36-EB0017FDF7CF} ?>
+
+  <?define ComponentMainExecutableGUID = {D102B8FA-059B-4ACC-9FA3-8C78C3B58EEF} ?>
+
+  <?define ReadMe.guid = {56A8E372-991D-4DCA-B91D-93D775974CF5} ?>
+  <?define COPYING.guid = {B7801DBA-1C49-4BF4-91AD-33C65F5C7895} ?>
+  <?define mercurial.rc.guid = {1D5FAEEE-7E6E-43B1-9F7F-802714316B15} ?>
+  <?define mergetools.rc.guid = {E8A1DC29-FF40-4B5F-BD12-80B9F7BF0CCD} ?>
+  <?define ProgramMenuDir.guid = {D5A63320-1238-489B-B68B-CF053E9577CA} ?>
+
+</Include>
--- a/contrib/wix/help.wxs	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/wix/help.wxs	Mon Jun 21 13:41:11 2010 -0500
@@ -1,72 +1,25 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-    <Fragment>
-        <ComponentGroup Id="helpFolder">
-            <Component Id="cmpC57BF45B775FC47D736ECD6944E64F6A" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{7189D54F-D55A-420C-9B2E-65A1CC522329}">
-                <File Id="filA01F5D0329BE64B4368A85C0B3671502" KeyPath="yes" Source="$(var.SourceDir)\config.txt" />
-            </Component>
-            <Component Id="cmp06DE93F7EEC0B3D1B698D92336E2AB11" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{15D85D50-B81D-41A7-9BDB-0DB57F655E83}">
-                <File Id="fil340415BFF8DB5A5977A364C422E731FF" KeyPath="yes" Source="$(var.SourceDir)\dates.txt" />
-            </Component>
-            <Component Id="cmp19C67CC3F7666886D7413E6F81DF923C" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{AA3D9BAB-C337-4726-9DAA-3EAAF3563378}">
-                <File Id="filDF5D1C01F4E5DFDF9ADC1B35D27FD592" KeyPath="yes" Source="$(var.SourceDir)\diffs.txt" />
-            </Component>
-            <Component Id="cmp0A78423CDE879648435F77671E14A6C3" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{EDFD63E7-69F6-4330-8226-07E5C3C5403D}">
-                <File Id="fil826C9369DF9AD54F6EBD9A10CA302D19" KeyPath="yes" Source="$(var.SourceDir)\environment.txt" />
-            </Component>
-            <Component Id="cmpA2B37D3B1AF89288970F0714F8A9AF39" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{B0D96B76-52E7-4D4E-A91D-24EC66373500}">
-                <File Id="filE8F682CC0E4F56B880D18017BC38DE50" KeyPath="yes" Source="$(var.SourceDir)\extensions.txt" />
-            </Component>
-            <Component Id="cmp417868B7DC07F14CE6B327271D65E5CC" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{0D01D7B8-8418-4FE6-9D37-0685FCB5DEE1}">
-                <File Id="filA0E27F4B12C85FA269523DC3A3CDC575" KeyPath="yes" Source="$(var.SourceDir)\multirevs.txt" />
-            </Component>
-            <Component Id="cmp339A70D8F3BF8B3AD679BE214A1984C7" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{EF91B612-EC51-4FC2-B3B1-C00ECBC13A4A}">
-                <File Id="fil6B14DD18C2EEDDDE767B9D83279A2ADA" KeyPath="yes" Source="$(var.SourceDir)\patterns.txt" />
-            </Component>
-            <Component Id="cmp177C53DE57B01391F4C5FDD15FA14EC6" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{AE7781B5-0F6E-4CF6-943D-B63F9511F274}">
-                <File Id="fil824583354419DB2A4F0AD312B3331FBB" KeyPath="yes" Source="$(var.SourceDir)\revisions.txt" />
-            </Component>
-            <Component Id="cmp69860FA1CEA8FE029A13DEF05E4832DF" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{895AB77F-A66E-42EF-B3FB-66E96737713D}">
-                <File Id="filF26222C0B0B107CF754108CD2B1C8CCF" KeyPath="yes" Source="$(var.SourceDir)\templates.txt" />
-            </Component>
-            <Component Id="cmpC1E444987188E87D749757D6E686B596" Directory="dirFC9FDBD71FA305BA6ECD4D639DB49784" Guid="{88938242-3A31-4F8E-9074-3B859DE150CD}">
-                <File Id="filCE7C1FF1BA40B646398A71851EB1EF7C" KeyPath="yes" Source="$(var.SourceDir)\urls.txt" />
-            </Component>
-        </ComponentGroup>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="INSTALLDIR">
-            <Directory Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" Name="help" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFC9FDBD71FA305BA6ECD4D639DB49784" />
-    </Fragment>
+
+  <?include guids.wxi ?>
+
+  <Fragment>
+    <DirectoryRef Id="INSTALLDIR">
+      <Directory Id="helpdir" Name="help" FileSource="$(var.SourceDir)">
+        <Component Id="helpFolder" Guid="$(var.helpFolder.guid)">
+          <File Name="config.txt" KeyPath="yes" />
+          <File Name="dates.txt" />
+          <File Name="diffs.txt" />
+          <File Name="environment.txt" />
+          <File Name="extensions.txt" />
+          <File Name="multirevs.txt" />
+          <File Name="patterns.txt" />
+          <File Name="revisions.txt" />
+          <File Name="templates.txt" />
+          <File Name="urls.txt" />
+        </Component>
+      </Directory>
+    </DirectoryRef>
+  </Fragment>
+
 </Wix>
--- a/contrib/wix/i18n.wxs	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/wix/i18n.wxs	Mon Jun 21 13:41:11 2010 -0500
@@ -1,78 +1,25 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-    <Fragment>
-        <ComponentGroup Id="i18nFolder">
-            <Component Id="cmp34947721B29BBB2D9942A0FC95D1F588" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{511A94DD-0893-4E5B-A1CF-6DD9CDB1F797}">
-                <File Id="filF2E58DD4817D0D0AF53F4B8AB9836B47" KeyPath="yes" Source="$(var.SourceDir)\da.po" />
-            </Component>
-            <Component Id="cmpDC59717569F92122A034EC7E35A4F80D" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{F6FD5F94-81D6-49AD-9D91-563E56224408}">
-                <File Id="fil39753E48327D06086C63EFA7711BB750" KeyPath="yes" Source="$(var.SourceDir)\de.po" />
-            </Component>
-            <Component Id="cmp7E5E80C4438C32CF7A419FDC63FB002D" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{861DE2B9-B47D-4ACA-AEB2-645C69148B6B}">
-                <File Id="fil9B0C044DD27F2EE57B045B48BB697C0D" KeyPath="yes" Source="$(var.SourceDir)\el.po" />
-            </Component>
-            <Component Id="cmpA9C546113FA1B46B0C9498FA69F29B13" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{756F0EEF-18AE-496F-A037-A063442CFE29}">
-                <File Id="fil6DF0C7BA972338067807AE385588F48A" KeyPath="yes" Source="$(var.SourceDir)\fr.po" />
-            </Component>
-            <Component Id="cmp6046EB31B43E28CD554FDD8D8E8AD420" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{0404483D-818E-459B-902B-956D84869AE1}">
-                <File Id="filE99CA9E94849D4956606F72FD0B5FC5E" KeyPath="yes" Source="$(var.SourceDir)\hggettext" />
-            </Component>
-            <Component Id="cmp6133B01CC2B9B358CBF9327F700BD00A" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{9B5289AE-FD8B-48ED-9E1C-2DB8BB495D0E}">
-                <File Id="filC69EEB86E4ED9073F34871B19155FED5" KeyPath="yes" Source="$(var.SourceDir)\it.po" />
-            </Component>
-            <Component Id="cmp97F2EE7A098F00025CB2FB889C5F6253" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{9139E885-C29E-41C4-A9A5-52B3D1A2D0A0}">
-                <File Id="filA39E9F30340253C998EC80AE177CE43C" KeyPath="yes" Source="$(var.SourceDir)\ja.po" />
-            </Component>
-            <Component Id="cmpF3727AA82BA7F68310A26BB75A6647AD" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{721683B1-6F5D-4F4F-A7FC-A134B4023B00}">
-                <File Id="fil80CA8EF53276179809903975CB3979F3" KeyPath="yes" Source="$(var.SourceDir)\pt_BR.po" />
-            </Component>
-            <Component Id="cmp939C74001F1FBEB147E5ADCED4770AC8" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{69358529-D448-48EE-AD75-ADC7342F5EB2}">
-                <File Id="fil8F5BDF00539EE96B5270F71C7923CDC6" KeyPath="yes" Source="$(var.SourceDir)\sv.po" />
-            </Component>
-            <Component Id="cmpE23A15AD782608B1EDD835CF6B829378" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{BB6C915D-20F7-4A90-91CA-F95629AF9992}">
-                <File Id="filC2CD3385CC6C9F85A582C8BEFF6A36FD" KeyPath="yes" Source="$(var.SourceDir)\zh_CN.po" />
-            </Component>
-            <Component Id="cmp3C3523DBA0ED9315E204C24B28BBECB1" Directory="dirE238460D44340499CA44F8E5739FEA52" Guid="{9A57C9EE-3A56-461C-A2B9-5CCB89080339}">
-                <File Id="fil717A0C3D62D332C48BAC66536FC1B6A0" KeyPath="yes" Source="$(var.SourceDir)\zh_TW.po" />
-            </Component>
-        </ComponentGroup>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="INSTALLDIR">
-            <Directory Id="dirE238460D44340499CA44F8E5739FEA52" Name="i18n" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE238460D44340499CA44F8E5739FEA52" />
-    </Fragment>
+
+  <?include guids.wxi ?>
+
+  <?define hg_po_langs = 
+    da;de;el;fr;it;ja;pt_BR;sv;zh_CN;zh_TW
+  ?>
+
+  <Fragment>
+    <DirectoryRef Id="INSTALLDIR">
+      <Directory Id="i18ndir" Name="i18n" FileSource="$(var.SourceDir)">
+        <Component Id="i18nFolder" Guid="$(var.i18nFolder.guid)">
+          <File Name="hggettext" KeyPath="yes" />
+          <?foreach LANG in $(var.hg_po_langs) ?>
+            <File Id="hg.$(var.LANG).po" 
+                  Name="$(var.LANG).po" 
+            />
+          <?endforeach?>
+        </Component>
+      </Directory>
+    </DirectoryRef>
+  </Fragment>
+
 </Wix>
--- a/contrib/wix/locale.wxs	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/wix/locale.wxs	Mon Jun 21 13:41:11 2010 -0500
@@ -1,172 +1,32 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-    <Fragment>
-        <ComponentGroup Id="localeFolder">
-            <Component Id="cmp83E7ADE01D9D898727106DBD965E0E17" Directory="dir37691BFCCBD5A038C2B503A0CA9FFDCC" Guid="{45A0DC87-8C6C-4BDA-907A-52F93D183C18}">
-                <File Id="fil9262D6374AF5065C3CD975127E419FD5" KeyPath="yes" Source="$(var.SourceDir)\da\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmp52A447EBEC4DE496C672ED4285986FC2" Directory="dirFD5FFD33B2F5044881CA967A9603AD80" Guid="{D5929D29-3597-4BFA-970C-1336B74AED0D}">
-                <File Id="fil324023D432B614A0F6AD7C1795A47663" KeyPath="yes" Source="$(var.SourceDir)\de\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmpD14AFBC2AB851E0FF50AB01087D37C37" Directory="dir11F21566046EDDA54202617BDCA27A33" Guid="{AEEB8542-91FA-4FDB-A976-C210608D45C4}">
-                <File Id="fil3263B9C209A995DEDAB99C915ADFEDF2" KeyPath="yes" Source="$(var.SourceDir)\el\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmpF8D03402F9CC15628D08BD1547931E33" Directory="dir76A360BADC007F88A0B6C012DBA071F0" Guid="{F983F836-213C-4A8F-84C6-9DE3DDFFC4EF}">
-                <File Id="fil61661147957312ACE1F53D8B7B6FC20C" KeyPath="yes" Source="$(var.SourceDir)\fr\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmpB7A86C8460D0C05C63F89961A89C32C2" Directory="dir84C2343136F7D4B857D28FDACE545F33" Guid="{E53EEBD5-5F54-426A-83C0-18C479C526D5}">
-                <File Id="filBA4BA4851E74E108136A44069A96DB8A" KeyPath="yes" Source="$(var.SourceDir)\it\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmpA2E1D600E985FB335E18566CD5230E38" Directory="dir29F26642414C1248A97432E9C4947B87" Guid="{27F33F75-B5D6-47AD-AE23-DAC135401540}">
-                <File Id="filB4C1367F8EC03C778E275E7C6A4F882B" KeyPath="yes" Source="$(var.SourceDir)\ja\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmp113B5931CE4199C5A5BF62728EA3A755" Directory="dir669486A97BE07EA6B1A33203A89256A6" Guid="{63F05AD9-CABA-420E-9A50-123F0803A8CE}">
-                <File Id="fil0B3347DB0C4538334E8346A9B7844458" KeyPath="yes" Source="$(var.SourceDir)\pt_BR\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmpE35EFB6166609188B151E512DD832276" Directory="dir8637F62A0436F8880FACE0053CC26075" Guid="{81FC0E03-9956-4476-AFEE-1FCD0E98F860}">
-                <File Id="fil518947DB16E6B4E58C52D16C3C8559C1" KeyPath="yes" Source="$(var.SourceDir)\sv\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmpC6F51D89D671AC7F66692F402B916E3D" Directory="dir402295F841398275038CC187DA8A3179" Guid="{198031AC-5DC5-44F9-AF77-A11AC15B82DE}">
-                <File Id="fil1905BB31038C24BBF8557DA796E65A2D" KeyPath="yes" Source="$(var.SourceDir)\zh_CN\LC_MESSAGES\hg.mo" />
-            </Component>
-            <Component Id="cmp2C7860CA004402234F7F1883F1093A1D" Directory="dirF619ECAC819DE44FC21E11EB1715B156" Guid="{EDF8F748-735A-4BC2-B683-14247D691F5C}">
-                <File Id="fil997E71C3D4C6318F0EF7048E50C5C0AA" KeyPath="yes" Source="$(var.SourceDir)\zh_TW\LC_MESSAGES\hg.mo" />
-            </Component>
-        </ComponentGroup>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="INSTALLDIR">
-            <Directory Id="dirA42EA32F4A238F2C40AD5ACF4C831152" Name="locale" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir669486A97BE07EA6B1A33203A89256A6" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirF619ECAC819DE44FC21E11EB1715B156" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirFD5FFD33B2F5044881CA967A9603AD80" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir37691BFCCBD5A038C2B503A0CA9FFDCC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir29F26642414C1248A97432E9C4947B87" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir84C2343136F7D4B857D28FDACE545F33" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir402295F841398275038CC187DA8A3179" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir11F21566046EDDA54202617BDCA27A33" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir8637F62A0436F8880FACE0053CC26075" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir76A360BADC007F88A0B6C012DBA071F0" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dir0863D143DD8AA8C439D73CEC9FD66C1E" Name="fr" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dir0FE904A675AA86182DE42F092B60D5CB" Name="zh_CN" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirABB7B0E1FB87A3FA812818303D9504D3">
-            <Directory Id="dir11F21566046EDDA54202617BDCA27A33" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dir22C8B725631FC803704E5AB85CE4AB85" Name="da" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirF7EFDAD22D2FB858CCFF6C617192E3F0">
-            <Directory Id="dir29F26642414C1248A97432E9C4947B87" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir22C8B725631FC803704E5AB85CE4AB85">
-            <Directory Id="dir37691BFCCBD5A038C2B503A0CA9FFDCC" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dir40014079D6FD208765D49B2B6E77B444" Name="pt_BR" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0FE904A675AA86182DE42F092B60D5CB">
-            <Directory Id="dir402295F841398275038CC187DA8A3179" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir40014079D6FD208765D49B2B6E77B444">
-            <Directory Id="dir669486A97BE07EA6B1A33203A89256A6" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir0863D143DD8AA8C439D73CEC9FD66C1E">
-            <Directory Id="dir76A360BADC007F88A0B6C012DBA071F0" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir8CB5F92AB36FF6BF8CDA8AF1BD4BB402">
-            <Directory Id="dir84C2343136F7D4B857D28FDACE545F33" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirE6EE5833D8D4174BB8C9193A44E67309">
-            <Directory Id="dir8637F62A0436F8880FACE0053CC26075" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dir8CB5F92AB36FF6BF8CDA8AF1BD4BB402" Name="it" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dir97CB62B25E0D4335D79170C310016140" Name="de" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dirABB7B0E1FB87A3FA812818303D9504D3" Name="el" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dirE6EE5833D8D4174BB8C9193A44E67309" Name="sv" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dirF24C7B7028912CC69CE9E1E38F2FEE54" Name="zh_TW" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirF24C7B7028912CC69CE9E1E38F2FEE54">
-            <Directory Id="dirF619ECAC819DE44FC21E11EB1715B156" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA42EA32F4A238F2C40AD5ACF4C831152">
-            <Directory Id="dirF7EFDAD22D2FB858CCFF6C617192E3F0" Name="ja" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir97CB62B25E0D4335D79170C310016140">
-            <Directory Id="dirFD5FFD33B2F5044881CA967A9603AD80" Name="LC_MESSAGES" />
-        </DirectoryRef>
-    </Fragment>
+
+  <?define hglocales =
+    da;de;el;fr;it;ja;pt_BR;sv;zh_CN;zh_TW
+  ?>
+
+  <Fragment>
+    <ComponentGroup Id="localeFolder">
+      <?foreach LOC in $(var.hglocales) ?>
+        <ComponentRef Id="hg.locale.$(var.LOC)"/>
+      <?endforeach?>
+    </ComponentGroup>
+  </Fragment>
+
+  <Fragment>
+    <DirectoryRef Id="INSTALLDIR">
+      <Directory Id="localedir" Name="locale" FileSource="$(var.SourceDir)">
+        <?foreach LOC in $(var.hglocales) ?>
+          <Directory Id="hg.locale.$(var.LOC)" Name="$(var.LOC)">
+            <Directory Id="hg.locale.$(var.LOC).LC_MESSAGES" Name="LC_MESSAGES">
+              <Component Id="hg.locale.$(var.LOC)" Guid="*">
+                <File Id="hg.mo.$(var.LOC)" Name="hg.mo" KeyPath="yes" />
+              </Component>
+            </Directory>
+          </Directory>
+        <?endforeach?>
+      </Directory>
+    </DirectoryRef>
+  </Fragment>
+
 </Wix>
--- a/contrib/wix/mercurial.wxs	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/wix/mercurial.wxs	Mon Jun 21 13:41:11 2010 -0500
@@ -6,24 +6,31 @@
   This software may be used and distributed according to the terms of the
   GNU General Public License version 2 or any later version. -->
 
-  <?define ComponentMainExecutableGUID = D102B8FA-059B-4ACC-9FA3-8C78C3B58EEF ?>
-  <?define ProductUpgradeCode = A1CC6134-E945-4399-BE36-EB0017FDF7CF ?>
+  <?include guids.wxi ?>
 
-  <Product Name='Mercurial $(var.Version)' Id='*'
+  <Product Id='*'
+    Name='Mercurial $(var.Version)' 
     UpgradeCode='$(var.ProductUpgradeCode)'
-    Language='1033' Codepage='1252' Version='$(var.Version)' Manufacturer='Matt Mackall and others.'>
+    Language='1033' Codepage='1252' Version='$(var.Version)'
+    Manufacturer='Matt Mackall and others'>
 
-    <Package Id='*' Keywords='Installer' Description="Mercurial distributed SCM (version $(var.Version))"
-      Comments='$(var.Comments)' Manufacturer='Matt Mackall and others.'
+    <Package Id='*'
+      Keywords='Installer'
+      Description="Mercurial distributed SCM (version $(var.Version))"
+      Comments='$(var.Comments)'
+      Manufacturer='Matt Mackall and others'
       InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
 
-    <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1' CompressionLevel='high' />
+    <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
+           CompressionLevel='high' />
     <Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
 
-    <Condition Message='Mercurial requires Windows XP or higher'>VersionNT >= 501</Condition>
+    <Condition Message='Mercurial requires Windows XP or higher'
+      >VersionNT >= 501</Condition>
 
     <Property Id="INSTALLDIR">
-      <ComponentSearch Id='SearchForMainExecutableComponent' Guid='$(var.ComponentMainExecutableGUID)' />
+      <ComponentSearch Id='SearchForMainExecutableComponent'
+                       Guid='$(var.ComponentMainExecutableGUID)' />
     </Property>
 
     <!--Property Id='ARPCOMMENTS'>any comments</Property-->
@@ -37,30 +44,35 @@
     <Property Id='INSTALLEDMERCURIALPRODUCTS' Secure='yes'></Property>
     <Property Id='REINSTALLMODE'>amus</Property>
 
+    <!--Auto-accept the license page-->
+    <Property Id='LicenseAccepted'>1</Property>
+
     <Directory Id='TARGETDIR' Name='SourceDir'>
       <Directory Id='ProgramFilesFolder' Name='PFiles'>
         <Directory Id='INSTALLDIR' Name='Mercurial'>
           <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)'>
-            <File Id='hgEXE' Name='hg.exe' DiskId='1' Source='dist\hg.exe' KeyPath='yes' />
-            <File Id='libraryZIP' Name='library.zip' DiskId='1' Source='dist\library.zip' />
-            <File Id='pythonDLL' Name='python26.dll' DiskId='1' Source='dist\python26.dll' />
+            <File Id='hgEXE' Name='hg.exe' Source='dist\hg.exe' KeyPath='yes' />
+            <File Id='libraryZIP' Name='library.zip' Source='dist\library.zip' />
+            <File Id='pythonDLL' Name='python26.dll' Source='dist\python26.dll' />
             <Environment Id="Environment" Name="PATH" Part="last" System="yes"
                          Permanent="no" Value="[INSTALLDIR]" Action="set" />
           </Component>
-          <Component Id='ReadMe' Guid='56A8E372-991D-4DCA-B91D-93D775974CF5'>
-              <File Id='ReadMe' Name='ReadMe.html' DiskId='1' Source='contrib\win32\ReadMe.html' KeyPath='yes'/>
+          <Component Id='ReadMe' Guid='$(var.ReadMe.guid)'>
+              <File Id='ReadMe' Name='ReadMe.html' Source='contrib\win32\ReadMe.html'
+                    KeyPath='yes'/>
           </Component>
-          <Component Id='COPYING' Guid='B7801DBA-1C49-4BF4-91AD-33C65F5C7895'>
-            <File Id='COPYING' Name='COPYING.rtf' DiskId='1' Source='contrib\wix\COPYING.rtf' />
+          <Component Id='COPYING' Guid='$(var.COPYING.guid)'>
+            <File Id='COPYING' Name='COPYING.rtf' Source='contrib\wix\COPYING.rtf'
+                  KeyPath='yes'/>
           </Component>
           <Directory Id='HGRCD' Name='hgrc.d'>
-            <Component Id='mercurial.rc' Guid='1D5FAEEE-7E6E-43B1-9F7F-802714316B15'>
-              <File Id='mercurial.rc' Name='Mercurial.rc' DiskId='1' Source='contrib\win32\mercurial.ini'
-                    ReadOnly='yes'/>
+            <Component Id='mercurial.rc' Guid='$(var.mercurial.rc.guid)'>
+              <File Id='mercurial.rc' Name='Mercurial.rc' Source='contrib\win32\mercurial.ini'
+                    ReadOnly='yes' KeyPath='yes'/>
             </Component>
-            <Component Id='mergetools.rc' Guid='E8A1DC29-FF40-4B5F-BD12-80B9F7BF0CCD'>
-              <File Id='mergetools.rc' Name='MergeTools.rc' DiskId='1' Source='contrib\mergetools.hgrc'
-                    ReadOnly='yes'/>
+            <Component Id='mergetools.rc' Guid='$(var.mergetools.rc.guid)'>
+              <File Id='mergetools.rc' Name='MergeTools.rc' Source='contrib\mergetools.hgrc'
+                    ReadOnly='yes' KeyPath='yes'/>
             </Component>
           </Directory>
         </Directory>
@@ -68,17 +80,16 @@
 
       <Directory Id="ProgramMenuFolder" Name="Programs">
         <Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
-          <Component Id="ProgramMenuDir" Guid="D5A63320-1238-489B-B68B-CF053E9577CA">
+          <Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)">
             <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
             <RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
                            Value='[INSTALLDIR]' KeyPath='yes' />
-            <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site' Target='[ARPHELPLINK]'
-                      Icon="hgIcon.ico" IconIndex='0' />
+            <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
+                      Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
           </Component>
         </Directory>
       </Directory>
 
-      <Directory Id="DesktopFolder" Name="Desktop" />
       <Merge Id='VCRuntime' DiskId='1' Language='1033'
              SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
       <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
@@ -95,14 +106,14 @@
         <ComponentRef Id='COPYING' />
         <ComponentRef Id='mercurial.rc' />
         <ComponentRef Id='mergetools.rc' />
-        <ComponentGroupRef Id='helpFolder' />
+        <ComponentRef Id='helpFolder' />
         <ComponentGroupRef Id='templatesFolder' />
         <MergeRef Id='VCRuntime' />
         <MergeRef Id='VCRuntimePolicy' />
       </Feature>
       <Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
         <ComponentGroupRef Id='localeFolder' />
-        <ComponentGroupRef Id='i18nFolder' />
+        <ComponentRef Id='i18nFolder' />
       </Feature>
       <Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
         <ComponentGroupRef Id='docFolder' />
--- a/contrib/wix/templates.wxs	Tue Jun 08 13:19:22 2010 +0200
+++ b/contrib/wix/templates.wxs	Mon Jun 21 13:41:11 2010 -0500
@@ -1,801 +1,206 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-    <Fragment>
-        <ComponentGroup Id="templatesFolder">
-            <Component Id="cmp245D27C2F7D49A9E8A10E551A4913BD8" Directory="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" Guid="{67C4810A-F6CA-4512-9A43-43DD72A525BF}">
-                <File Id="filC46EB4977E850DDE52085CD81647B147" KeyPath="yes" Source="$(var.SourceDir)\map-cmdline.changelog" />
-            </Component>
-            <Component Id="cmpC6E57D5F80AEF6636B609AFDDC1B34C3" Directory="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" Guid="{212A9079-1B49-4DB7-A49E-BACCBCD8AA33}">
-                <File Id="fil66141877E998E34A73C78F52F5525D79" KeyPath="yes" Source="$(var.SourceDir)\map-cmdline.compact" />
-            </Component>
-            <Component Id="cmp3E8935E93A2F8142E0F30B7654DEDB7B" Directory="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" Guid="{70544E9C-F575-4039-94F9-19DAA12BA38B}">
-                <File Id="filB6CE3FEEF27A46E979CF71DFD5071876" KeyPath="yes" Source="$(var.SourceDir)\map-cmdline.default" />
-            </Component>
-            <Component Id="cmpA98C695C9A852CA08358744DE71BBCB4" Directory="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" Guid="{A0123134-AB72-4793-BAAC-109F78D4A35B}">
-                <File Id="fil603AB867DCF6C98CF4E8C908F627AD53" KeyPath="yes" Source="$(var.SourceDir)\map-cmdline.xml" />
-            </Component>
-            <Component Id="cmpDE1FEC5413B37B6300493CAF819462DC" Directory="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" Guid="{F89E0BE4-DEAF-4132-BE18-86A171111051}">
-                <File Id="filFFC56D533BF5BA670CAD613427C30029" KeyPath="yes" Source="$(var.SourceDir)\template-vars.txt" />
-            </Component>
-            <Component Id="cmpD7A2B04E9CF5E810D00331B0D14890C1" Directory="dir35F8598B197DFC5580317F5E7C2E9AE9" Guid="{EEB7B220-90C2-4049-BE87-592C3B5A23D4}">
-                <File Id="filAF2A94DF56A6D0C95DE82C39C151A195" KeyPath="yes" Source="$(var.SourceDir)\atom\changelog.tmpl" />
-            </Component>
-            <Component Id="cmpB2016007359D825073A8ED67A1827DF9" Directory="dir35F8598B197DFC5580317F5E7C2E9AE9" Guid="{EDD3F2A2-160D-4C2C-9C92-E41FA1B5D474}">
-                <File Id="fil417417DF06043E5780F4B5C267352CF9" KeyPath="yes" Source="$(var.SourceDir)\atom\changelogentry.tmpl" />
-            </Component>
-            <Component Id="cmp4AF55640C671810FB1ADF0351BB90E17" Directory="dir35F8598B197DFC5580317F5E7C2E9AE9" Guid="{E15B5539-56E0-4D48-A89A-4E6E286AAC68}">
-                <File Id="filABC1E3A8F08963D46947F5DD71204159" KeyPath="yes" Source="$(var.SourceDir)\atom\error.tmpl" />
-            </Component>
-            <Component Id="cmpEAFBDC0898D5AB411B21780B0B8F2C65" Directory="dir35F8598B197DFC5580317F5E7C2E9AE9" Guid="{3F4C35A0-3860-4C9C-9C4F-96D601C60B0F}">
-                <File Id="filFD94D63312BF0A454BCC74F559F26AC5" KeyPath="yes" Source="$(var.SourceDir)\atom\filelog.tmpl" />
-            </Component>
-            <Component Id="cmp09A2C49717F147CA23C43FA4BE19CB89" Directory="dir35F8598B197DFC5580317F5E7C2E9AE9" Guid="{EFDA7618-5C27-449F-BBDF-13B512CA774D}">
-                <File Id="filD79697217EB1368CCFBAC93891022BA4" KeyPath="yes" Source="$(var.SourceDir)\atom\header.tmpl" />
-            </Component>
-            <Component Id="cmpA1BD3C8A4A8B57A1A224DC625A939716" Directory="dir35F8598B197DFC5580317F5E7C2E9AE9" Guid="{8AFBBBD2-D743-4C72-9C4C-8EB7F9F5E4BD}">
-                <File Id="filC93C0483D9AB074A860A448C8AE7A311" KeyPath="yes" Source="$(var.SourceDir)\atom\map" />
-            </Component>
-            <Component Id="cmp1F8380EC4EB90B7E2893B8ABAFBA3C6C" Directory="dir35F8598B197DFC5580317F5E7C2E9AE9" Guid="{691B5260-2697-43AC-8D71-7E6CBC9784BA}">
-                <File Id="fil38C516EE8F0ED4FFB814F8A78FE04B5B" KeyPath="yes" Source="$(var.SourceDir)\atom\tagentry.tmpl" />
-            </Component>
-            <Component Id="cmp87896A208C9063C4E0F127D6C124A97A" Directory="dir35F8598B197DFC5580317F5E7C2E9AE9" Guid="{BB5DECFE-313E-44FD-B354-FB8DB781199E}">
-                <File Id="fil01F9F5804BA8E9E7D37A07043B4EE7B7" KeyPath="yes" Source="$(var.SourceDir)\atom\tags.tmpl" />
-            </Component>
-            <Component Id="cmpF5D9AB7FE9A07C307EE33CD2AFA719AD" Directory="dir2EDFFCA56732C858816EF19F127E8D0F" Guid="{5D4CD000-740A-445D-B22A-413D27B2D424}">
-                <File Id="fil1B50FD60A3ADF7A829E34C97198D1D52" KeyPath="yes" Source="$(var.SourceDir)\coal\header.tmpl" />
-            </Component>
-            <Component Id="cmpC34DFD4C8EBD5BCABA6F10B70B1D28B1" Directory="dir2EDFFCA56732C858816EF19F127E8D0F" Guid="{5FC3B465-E22F-4B49-8733-2D6D8D5457C4}">
-                <File Id="fil483848B756E76EE840BFB45A62C00DB3" KeyPath="yes" Source="$(var.SourceDir)\coal\map" />
-            </Component>
-            <Component Id="cmpC5067895295DA39B9B11AD3DD4E21B52" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{4061F72F-DA6A-4A2E-B917-0179C577EC91}">
-                <File Id="filAB35B91E5DC594F9F0BE979B5C938650" KeyPath="yes" Source="$(var.SourceDir)\gitweb\branches.tmpl" />
-            </Component>
-            <Component Id="cmp7F9AD93FB91A0E4622F452B0EF9352C2" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{1B73BD55-F6F1-40B7-99F6-7BFB9252CC85}">
-                <File Id="filB65F6983E85F6327A20D92F0E50C8F3A" KeyPath="yes" Source="$(var.SourceDir)\gitweb\changelog.tmpl" />
-            </Component>
-            <Component Id="cmpB186C4D7FF025E46CE87EA66461F775C" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{0F9A4AAA-B82D-4DE4-B475-BDCCA08A81BB}">
-                <File Id="filBBAE80D203E7C7DE353764E8D8ED5CF4" KeyPath="yes" Source="$(var.SourceDir)\gitweb\changelogentry.tmpl" />
-            </Component>
-            <Component Id="cmp4C205C07FEA1B04A79AB62A672FB7034" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{0BB9DA75-8FE3-48B1-9F7A-E377C36F7EBB}">
-                <File Id="filD737DB25A84CF6BAC537C01A4C1FD441" KeyPath="yes" Source="$(var.SourceDir)\gitweb\changeset.tmpl" />
-            </Component>
-            <Component Id="cmp4F1AEA9E1182AA3FEB959501A4524E2C" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{4CA8A2C5-2401-476C-8863-2AEAC3178B87}">
-                <File Id="filAC2F74FB38AD114EE60B8A858195AAA5" KeyPath="yes" Source="$(var.SourceDir)\gitweb\error.tmpl" />
-            </Component>
-            <Component Id="cmp6D28475C0E5C0EF2C7368197A2543E04" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{3E7A0738-9ADA-409F-82D7-63C5212D9FEF}">
-                <File Id="fil7E719E65B937150669EC7A65D931A42E" KeyPath="yes" Source="$(var.SourceDir)\gitweb\fileannotate.tmpl" />
-            </Component>
-            <Component Id="cmp41DDE65FBD7F6C62DE2F904E8BB70D52" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{D82ECE81-F30E-4A32-BB33-A5ED30242266}">
-                <File Id="filE5314FDBD1A83FD2071ABDBEB5D75966" KeyPath="yes" Source="$(var.SourceDir)\gitweb\filediff.tmpl" />
-            </Component>
-            <Component Id="cmp73B2345AE1A62971C248A4200125105E" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{88E6B5AF-F996-4676-9DD2-755803ED6ADD}">
-                <File Id="fil813DE4E9B8637CB0C9DEEE04871B7154" KeyPath="yes" Source="$(var.SourceDir)\gitweb\filelog.tmpl" />
-            </Component>
-            <Component Id="cmp74429C97DF03C076BB1976374DB4393A" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{12709310-806B-443B-8A7D-49A7C2AC83AA}">
-                <File Id="fil80D6BDD10936FB214225A8A9C385CE36" KeyPath="yes" Source="$(var.SourceDir)\gitweb\filerevision.tmpl" />
-            </Component>
-            <Component Id="cmpAC64876FBE3380283CFA6A488C4610E5" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{FC6F127E-4BB9-40AE-B3AC-0B0EB4F8315D}">
-                <File Id="fil05FF66A70E6AC220F28CCC9C93327329" KeyPath="yes" Source="$(var.SourceDir)\gitweb\footer.tmpl" />
-            </Component>
-            <Component Id="cmp30DB23C31D0DD655BA9E3F2D0D6C8582" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{55E52857-56BD-46E3-BC4D-597CA09CB6C5}">
-                <File Id="filEE919C1EA37972DA70DECD2DE78563C2" KeyPath="yes" Source="$(var.SourceDir)\gitweb\graph.tmpl" />
-            </Component>
-            <Component Id="cmp1D6387539D230EC1EE3F68EC430EAB56" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{F6E15E2E-80A2-4194-9763-EA900D9D4517}">
-                <File Id="filD3FF2C0986F56DE61C70A80D6FCD2963" KeyPath="yes" Source="$(var.SourceDir)\gitweb\header.tmpl" />
-            </Component>
-            <Component Id="cmpF4CB95EC9E3B863756FEBD0A4AE3B573" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{7098B211-3164-4303-B719-8897458E7474}">
-                <File Id="fil02B1E9DBF857B7D72BF76AADDDB1C11D" KeyPath="yes" Source="$(var.SourceDir)\gitweb\index.tmpl" />
-            </Component>
-            <Component Id="cmp4BFEAC2B08F975649AC2660D56EFA4B7" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{BFB237EE-79F5-45E5-B182-61BC41FD366D}">
-                <File Id="fil95099724846977404F6A38059E39F6EE" KeyPath="yes" Source="$(var.SourceDir)\gitweb\manifest.tmpl" />
-            </Component>
-            <Component Id="cmpEF1EB2713EEA62B1F81C5872116A1CEC" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{210BD2AF-E37E-4506-9723-AB284A0A2105}">
-                <File Id="fil15115F4F87328A9540B3644B3475A878" KeyPath="yes" Source="$(var.SourceDir)\gitweb\map" />
-            </Component>
-            <Component Id="cmp9F186B6C977DFA7712F92E9FB2DE3891" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{5A4A880B-F777-4C4F-96AD-AD18787A2DA1}">
-                <File Id="fil7F7A105718DAA19575A155EBE946F511" KeyPath="yes" Source="$(var.SourceDir)\gitweb\notfound.tmpl" />
-            </Component>
-            <Component Id="cmp1DA3F0160E3BCFE235A3C6F752FB2D12" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{85C86EC9-8328-4FDC-9DA4-009A3CBE1421}">
-                <File Id="fil645D98D0A60CFDC1C5D6AABEFCF7F120" KeyPath="yes" Source="$(var.SourceDir)\gitweb\search.tmpl" />
-            </Component>
-            <Component Id="cmpECF912909627794036B7DF5594B928F4" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{5F0E4FE5-59D6-48EA-9BBF-0D1D8381E270}">
-                <File Id="fil7A9B36B1AAC6F76DB84BD2DA8FFF44C6" KeyPath="yes" Source="$(var.SourceDir)\gitweb\shortlog.tmpl" />
-            </Component>
-            <Component Id="cmpDA71A47B23710A56F1A612AC01E1A0D7" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{D913EF9E-0F02-4C11-B0E9-9F8945854F6E}">
-                <File Id="fil1EDFE0E741E8E14C9A1DB7E66BCC4C9C" KeyPath="yes" Source="$(var.SourceDir)\gitweb\summary.tmpl" />
-            </Component>
-            <Component Id="cmp209D055DDBF11DC7688C0A8765559E32" Directory="dir3D22B249045A1473460D0D5D104478F2" Guid="{9BD8D802-796C-4347-9D21-3D2FC568DA94}">
-                <File Id="fil604852E1873B9EB0D5E2F7A8680CB3D2" KeyPath="yes" Source="$(var.SourceDir)\gitweb\tags.tmpl" />
-            </Component>
-            <Component Id="cmp1823075725AEFF65DFA5A8216B1BBAD1" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{4F380BC7-0658-46A2-8309-6179462CFBA3}">
-                <File Id="filDA3E8C8E479D5D924DD741002D22369B" KeyPath="yes" Source="$(var.SourceDir)\monoblue\branches.tmpl" />
-            </Component>
-            <Component Id="cmpDBF9A5ECD1ABDCF5C28F35FB7B4F7001" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{2522DE9A-08A5-425F-8AF5-499FA6205B85}">
-                <File Id="fil8E8F17BD7047E2FA8D6D83E3C561A136" KeyPath="yes" Source="$(var.SourceDir)\monoblue\changelog.tmpl" />
-            </Component>
-            <Component Id="cmp88FAE67F5F5D776AB06D0DFD7AF6B321" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{7F1857A6-1AB6-40BA-ADD9-D9AD10E86F86}">
-                <File Id="filB923707738590DC420DC9EC081FCD19E" KeyPath="yes" Source="$(var.SourceDir)\monoblue\changelogentry.tmpl" />
-            </Component>
-            <Component Id="cmpD9CA247FB5FD87215801EF6FA1862855" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{DE0C16EC-89C1-4553-9FC2-08BDD881411C}">
-                <File Id="fil40ED0CD11F2D78CC17557BADFA4CE6C7" KeyPath="yes" Source="$(var.SourceDir)\monoblue\changeset.tmpl" />
-            </Component>
-            <Component Id="cmp4BE8112F99779C0F09A4F1FC00C2EF1E" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{31991907-3468-41C5-8B9B-73730BBE6064}">
-                <File Id="fil6D7DFED2D3692BBD082FB0D28D889EA6" KeyPath="yes" Source="$(var.SourceDir)\monoblue\error.tmpl" />
-            </Component>
-            <Component Id="cmp7ABEE036B7DAAD0D1600DDBB43F2C671" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{F9F8FADE-2F02-457B-899E-BB18DFD0AE44}">
-                <File Id="filF2B59AD2AB4DE9C3101DC96F8867A4D5" KeyPath="yes" Source="$(var.SourceDir)\monoblue\fileannotate.tmpl" />
-            </Component>
-            <Component Id="cmpE4F3DB56FD3C5BB582CA58C7BACB0506" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{6E0D083A-19BE-4C8F-8CCF-339395DC638D}">
-                <File Id="fil6BBA7BBD0890DFCC52E62A948092EFB6" KeyPath="yes" Source="$(var.SourceDir)\monoblue\filediff.tmpl" />
-            </Component>
-            <Component Id="cmpEE32268B28EEC3EB3A572522C71905AE" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{493A745D-5342-4436-8C27-A8A6F6AC88EA}">
-                <File Id="filA85CD6E3008BD751106AB7B9A480C492" KeyPath="yes" Source="$(var.SourceDir)\monoblue\filelog.tmpl" />
-            </Component>
-            <Component Id="cmpC761C78428E72FFB5558162BB37B61BD" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{3083DBF6-1661-4722-B30B-1E3B3B90595D}">
-                <File Id="fil0BBD8320FE88C3AC548D940A0C435A05" KeyPath="yes" Source="$(var.SourceDir)\monoblue\filerevision.tmpl" />
-            </Component>
-            <Component Id="cmp17DC3C81B3ABC398360C2007A40ED1E6" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{E3059DE2-D513-473A-9720-DC7FDE13C29F}">
-                <File Id="filCA536CAA1C01B426565F20331B68760B" KeyPath="yes" Source="$(var.SourceDir)\monoblue\footer.tmpl" />
-            </Component>
-            <Component Id="cmp7F175F65C4834FE6069C99E338BDA7E5" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{F04EEDB1-0506-48A8-A4CB-B6A17188FDFE}">
-                <File Id="filC02F1442F76CB500AEB3840EF7356FD6" KeyPath="yes" Source="$(var.SourceDir)\monoblue\graph.tmpl" />
-            </Component>
-            <Component Id="cmpFC525BC58FC3D5CBABF272044899809D" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{2830CCC3-2E3A-4F54-9834-88E61755FDC1}">
-                <File Id="fil8B196B20D79CED85511A9369E5410E12" KeyPath="yes" Source="$(var.SourceDir)\monoblue\header.tmpl" />
-            </Component>
-            <Component Id="cmp5D58BCED0887E9ABCF56A03A3F766C05" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{67B47C67-E7C2-4D2E-BF1E-35072896BF66}">
-                <File Id="fil0F66655D0D9C0515498C736CA70EF2E7" KeyPath="yes" Source="$(var.SourceDir)\monoblue\index.tmpl" />
-            </Component>
-            <Component Id="cmp069EBBE6EAC918EFD74E47E30707A6B1" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{578111BD-AB5C-4E97-8873-F13EF2AB50A6}">
-                <File Id="filB70BAB1BDAC9E692CBD3DF2107E53358" KeyPath="yes" Source="$(var.SourceDir)\monoblue\manifest.tmpl" />
-            </Component>
-            <Component Id="cmp7B96FAA138AD6D0C5632C9AC08396CC7" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{0765336B-6756-4F68-804E-593D19D85696}">
-                <File Id="fil28523FA8BEB5DBE9EB187AC3D8FDFEBA" KeyPath="yes" Source="$(var.SourceDir)\monoblue\map" />
-            </Component>
-            <Component Id="cmp2F6A7B795CB0B56C4FA02196BB6C7DC6" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{A97A84F4-6360-405E-AB51-6604AD513107}">
-                <File Id="fil7AF04A6D9109C9B041BB38DC59E17AF9" KeyPath="yes" Source="$(var.SourceDir)\monoblue\notfound.tmpl" />
-            </Component>
-            <Component Id="cmp0ABEB61C4B9DB9E2FA98E5CD114D7BF3" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{4F97F211-D002-4241-A3F7-A39987524C82}">
-                <File Id="fil0D19104380B37D9A5821C8F0E7C5E77E" KeyPath="yes" Source="$(var.SourceDir)\monoblue\search.tmpl" />
-            </Component>
-            <Component Id="cmp113433EEDE668F21E50B0BFE83C69EEA" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{130A1D16-509D-442B-A990-8E9013D8BD05}">
-                <File Id="filB23212E48881879A57ACC2C8D328E43A" KeyPath="yes" Source="$(var.SourceDir)\monoblue\shortlog.tmpl" />
-            </Component>
-            <Component Id="cmp7F0B6DB5B3B965F203EF66F4BCA0CE8C" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{C452F9A9-67C4-43DC-B0B1-1A833A4F9095}">
-                <File Id="fil696E3BCDF3D23D04000016B5E5B255A2" KeyPath="yes" Source="$(var.SourceDir)\monoblue\summary.tmpl" />
-            </Component>
-            <Component Id="cmpE504AE3BC09BD33B8042C57812C4D1ED" Directory="dirA4D7AC0F636AD49029D4D19861392983" Guid="{9126CF0F-8EE1-4136-B27D-F1773EE2E2AB}">
-                <File Id="filC76BB94267C1E4FFF294F47D87A298D0" KeyPath="yes" Source="$(var.SourceDir)\monoblue\tags.tmpl" />
-            </Component>
-            <Component Id="cmp6A1BCBCE2BB6301A8437B67971E31BBD" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{C1507C7D-9D45-4A0E-AF3F-8E52F60E9A49}">
-                <File Id="filE8D51B053A29EE93BF3E1B0AEE6B5604" KeyPath="yes" Source="$(var.SourceDir)\paper\branches.tmpl" />
-            </Component>
-            <Component Id="cmp7FCF7EC491FB8A8C77281BBF71B21092" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{8F619F2F-A83A-4B76-986E-7B10826E0EEB}">
-                <File Id="filC65F1E9916A7F8ADC2E07A192FBC5E48" KeyPath="yes" Source="$(var.SourceDir)\paper\changeset.tmpl" />
-            </Component>
-            <Component Id="cmp2601220A329A40F193104A27B1EDD50F" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{2CA3DD6E-1BCD-4ED0-95B3-69BD2C723E8F}">
-                <File Id="fil5883423E0C42B6B99C9E22DAEFAEE97D" KeyPath="yes" Source="$(var.SourceDir)\paper\error.tmpl" />
-            </Component>
-            <Component Id="cmp6D80FA8F113931AFEDE452F25CE759C0" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{D5E5A96F-CE04-4FA2-82ED-0BB7AEFFEC4A}">
-                <File Id="filFDEDF9406F5102D8471419766BE46784" KeyPath="yes" Source="$(var.SourceDir)\paper\fileannotate.tmpl" />
-            </Component>
-            <Component Id="cmpF4FCB6A530B40B81345B2FF34128015E" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{D3307DF3-96CA-4E8B-95C2-5636EC9A71B2}">
-                <File Id="filCB283DE6BE999D0B91EC88F1F05380BA" KeyPath="yes" Source="$(var.SourceDir)\paper\filediff.tmpl" />
-            </Component>
-            <Component Id="cmp928B9D51180E9D420CFB1EDBAE91A65B" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{0157773E-9259-41AA-81A0-B032B8114DB0}">
-                <File Id="fil480C6A2482FB8457C07B0B4982C6B2F3" KeyPath="yes" Source="$(var.SourceDir)\paper\filelog.tmpl" />
-            </Component>
-            <Component Id="cmp7294A4A1FDA1C3BABFE78197A25A369D" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{DA8F5765-9DFB-425C-964B-7E6EB38BADB3}">
-                <File Id="filE64DC2B6DF6C1636DC6EB3F0EF988F23" KeyPath="yes" Source="$(var.SourceDir)\paper\filelogentry.tmpl" />
-            </Component>
-            <Component Id="cmp3F36EF7AE95420BC80A34E9C24293791" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{AB07E3D8-7276-416C-85A6-06555FF945EA}">
-                <File Id="filCDB52360E0BEB00BEE8776FA76441783" KeyPath="yes" Source="$(var.SourceDir)\paper\filerevision.tmpl" />
-            </Component>
-            <Component Id="cmpCFCDDD5FA4AE732AA051C60F8787554D" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{C900C800-0660-4B36-ACA3-BDD3BB783CE1}">
-                <File Id="filEF3D2835F8AB4488B82C88BFE4A69D6E" KeyPath="yes" Source="$(var.SourceDir)\paper\footer.tmpl" />
-            </Component>
-            <Component Id="cmp30B241A606B4AD5E3162C0B2CC09DDF9" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{71501492-BCD0-4B2F-B653-83D27CCEFAAD}">
-                <File Id="filE02A4F87D721B4B6B68235AF4A8863A6" KeyPath="yes" Source="$(var.SourceDir)\paper\graph.tmpl" />
-            </Component>
-            <Component Id="cmpB668F2549A35840953001CE413A4C827" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{CDE48712-F5C9-4BCC-9790-B2910F87992A}">
-                <File Id="filD235AD247D72C6F35605F9AD3D3ACFE6" KeyPath="yes" Source="$(var.SourceDir)\paper\header.tmpl" />
-            </Component>
-            <Component Id="cmp2E517204CC91CC55F5080C62F8C74CB3" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{C2BDB761-525B-436D-946D-8327ADCB0762}">
-                <File Id="filE647110321294198E994033415240DE2" KeyPath="yes" Source="$(var.SourceDir)\paper\index.tmpl" />
-            </Component>
-            <Component Id="cmp1169DE962AAC1A97C8820F60C85C2AB5" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{8AA0022C-9AE2-41D8-9F43-8AC426DCF7F0}">
-                <File Id="fil3A3927F8011BABF73AF2BF55FD2B9FD2" KeyPath="yes" Source="$(var.SourceDir)\paper\manifest.tmpl" />
-            </Component>
-            <Component Id="cmp563BA8E85BA6CABCF9AEBD11CB585EBD" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{74408780-F9AE-4067-B1F8-0A1B12BB1826}">
-                <File Id="fil1FCC19A801EB82E395B5A8EF7E869C62" KeyPath="yes" Source="$(var.SourceDir)\paper\map" />
-            </Component>
-            <Component Id="cmpA9A7FE93F240404E1161E70007AC6A78" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{CAE40619-B777-4C7A-8622-CB2DD6756FAA}">
-                <File Id="filFEBD530E5D4F4F2FD23A9E746297721D" KeyPath="yes" Source="$(var.SourceDir)\paper\notfound.tmpl" />
-            </Component>
-            <Component Id="cmpBA354AABF9A7304F201B7C71121A7900" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{23095279-8206-46CB-82E4-AFC007E16C63}">
-                <File Id="fil9F42800F509E8B8E019992B77410F683" KeyPath="yes" Source="$(var.SourceDir)\paper\search.tmpl" />
-            </Component>
-            <Component Id="cmp3AB3B632EBF9F9FD18D38605C343A6B0" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{107E31F0-B7AB-4757-A1F6-86C17E8C384B}">
-                <File Id="filD59540CF5AFFFD872F212B2B1AE6212A" KeyPath="yes" Source="$(var.SourceDir)\paper\shortlog.tmpl" />
-            </Component>
-            <Component Id="cmpB3F6B93705B00E2E3B0459048506D283" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{2F3B2692-5B58-40F8-AE29-844BA58FB312}">
-                <File Id="fil03DA9AB1567E165864A87437FEE91FB8" KeyPath="yes" Source="$(var.SourceDir)\paper\shortlogentry.tmpl" />
-            </Component>
-            <Component Id="cmpEF4594F7D285174D5A356ADEAAFC61ED" Directory="dirCCAE13CC8442C655BA01764423E1EBB7" Guid="{1BE60A48-7183-4886-BC75-3CFF6C51EC3F}">
-                <File Id="fil671A5C071B2BE506FA431651133EFE0A" KeyPath="yes" Source="$(var.SourceDir)\paper\tags.tmpl" />
-            </Component>
-            <Component Id="cmpB25518BB895E3CB4186909EBE6E99C4C" Directory="dir10F9FCD5760425E499FA92F2CAA7A3EA" Guid="{DBB01FA1-EFC7-42E3-81F2-190C060DC035}">
-                <File Id="fil475FD65FC1DCA47748FF999739657468" KeyPath="yes" Source="$(var.SourceDir)\raw\changeset.tmpl" />
-            </Component>
-            <Component Id="cmp17DC05518B1190BEEF5761C10C71854A" Directory="dir10F9FCD5760425E499FA92F2CAA7A3EA" Guid="{4501B072-4375-4458-94C1-2C4E9E991ACD}">
-                <File Id="filFA9899D1B1C1E72B406307FDB9AF7BAF" KeyPath="yes" Source="$(var.SourceDir)\raw\error.tmpl" />
-            </Component>
-            <Component Id="cmpECA65D83D6634896FDB8534E4175FD4F" Directory="dir10F9FCD5760425E499FA92F2CAA7A3EA" Guid="{747870B2-1590-41D5-9112-EB5FFBF50796}">
-                <File Id="fil3CDE49640C240CF6C2C4E1660F904DE9" KeyPath="yes" Source="$(var.SourceDir)\raw\fileannotate.tmpl" />
-            </Component>
-            <Component Id="cmp20CF2D57316DC85D6C9A5B3475F84E80" Directory="dir10F9FCD5760425E499FA92F2CAA7A3EA" Guid="{01ACEDCC-BACF-4D06-B875-0520723B9D37}">
-                <File Id="fil988220F2BAD1CE4CBC544A29C02E82E6" KeyPath="yes" Source="$(var.SourceDir)\raw\filediff.tmpl" />
-            </Component>
-            <Component Id="cmp43DB97D87FF0A11266474A5725C84AC1" Directory="dir10F9FCD5760425E499FA92F2CAA7A3EA" Guid="{CBAFB505-70F0-40BD-9415-AAE3C3FE5C88}">
-                <File Id="fil5066029ABD205C7759437E120CB7018C" KeyPath="yes" Source="$(var.SourceDir)\raw\index.tmpl" />
-            </Component>
-            <Component Id="cmp0C3504452BA0E5A32AE919D1FB100BD3" Directory="dir10F9FCD5760425E499FA92F2CAA7A3EA" Guid="{2EBF0786-F18F-4787-9863-4075D16CAB8F}">
-                <File Id="filAAC49A49F4D6E3A6EAB4EDE1EE2A5808" KeyPath="yes" Source="$(var.SourceDir)\raw\manifest.tmpl" />
-            </Component>
-            <Component Id="cmpE610EB581D7A11C798F107E00759EE30" Directory="dir10F9FCD5760425E499FA92F2CAA7A3EA" Guid="{8834AC2E-11C2-4890-A49B-59BD5CB34953}">
-                <File Id="fil985E1967B655AE5DA8779D2A8E69D986" KeyPath="yes" Source="$(var.SourceDir)\raw\map" />
-            </Component>
-            <Component Id="cmp708C16629B8102ED107B6C79265E1A61" Directory="dir10F9FCD5760425E499FA92F2CAA7A3EA" Guid="{C78C08CA-6F0D-4E00-ADDF-94DA6BFD385A}">
-                <File Id="fil52C7F355B2B8B57D8D8D26F373EED4A4" KeyPath="yes" Source="$(var.SourceDir)\raw\notfound.tmpl" />
-            </Component>
-            <Component Id="cmpEED23BA7882C00E45C04648CCF07C72A" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{6AFE12A7-D858-4D04-A263-AF21890783F2}">
-                <File Id="fil38EF6BFECB3EA61C18AD8510C540E030" KeyPath="yes" Source="$(var.SourceDir)\rss\changelog.tmpl" />
-            </Component>
-            <Component Id="cmp9293236C7475213E8741C193885BC370" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{FF79D239-640A-4337-8DC8-C7710DCF6952}">
-                <File Id="fil124495614FA234F165FDFAFB5FCC8B41" KeyPath="yes" Source="$(var.SourceDir)\rss\changelogentry.tmpl" />
-            </Component>
-            <Component Id="cmpF300C87CBE61D8E4F9139A655CC77F2A" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{76C2B1FF-C1F8-49FC-BEC7-8689FB2676D7}">
-                <File Id="fil975AA04A3938C6B3FA67DE73AD8D8A62" KeyPath="yes" Source="$(var.SourceDir)\rss\error.tmpl" />
-            </Component>
-            <Component Id="cmp3EFC01264101EB280A920E7543FC6BA7" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{7A44A6EA-6ECB-4235-8EFC-0EFEB2F82E1C}">
-                <File Id="fil15C5D0A18D58A500E90E198CD25799D2" KeyPath="yes" Source="$(var.SourceDir)\rss\filelog.tmpl" />
-            </Component>
-            <Component Id="cmpE86BFF1FA4FE20689AD82969DFD9EF04" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{F3DE2D70-217D-4DDB-A8F8-C973AAF85D06}">
-                <File Id="fil4516B6122DFF1FAD28410E4F68D37FB4" KeyPath="yes" Source="$(var.SourceDir)\rss\filelogentry.tmpl" />
-            </Component>
-            <Component Id="cmpA55F157640DFAA982E2410BFF396F838" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{4A467D62-3231-4A5C-B455-EF3C962B1F46}">
-                <File Id="fil0F3AAA97082D3FB22338711F77A7C8C4" KeyPath="yes" Source="$(var.SourceDir)\rss\header.tmpl" />
-            </Component>
-            <Component Id="cmp69196B3D4F0DAC971FC2D765F781B671" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{26329996-79F4-4E76-8553-1BDFC0873639}">
-                <File Id="filA937974673590803746240DB3A232A66" KeyPath="yes" Source="$(var.SourceDir)\rss\map" />
-            </Component>
-            <Component Id="cmpC696B6493CA1B63C192B073B0D728564" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{E0719339-E59A-428B-8600-845314285599}">
-                <File Id="filAA576F47CA9747367AF8C4528FD8A217" KeyPath="yes" Source="$(var.SourceDir)\rss\tagentry.tmpl" />
-            </Component>
-            <Component Id="cmp47B99ED43B673977AE8606E3451D8674" Directory="dirCB380721FE38FED97C74A9E48945B5BC" Guid="{F785D87D-0BE0-41C5-BF47-4A7B23CE7BB1}">
-                <File Id="filF3D72D7B79A517201EA2B568C64C19C8" KeyPath="yes" Source="$(var.SourceDir)\rss\tags.tmpl" />
-            </Component>
-            <Component Id="cmp8C4153B109FF248C582A307E7575BDC7" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{2C281D9F-09BD-43C7-BEB8-89F63217D01E}">
-                <File Id="fil45D9BD7CD3073F10FED6A9FDD57C6303" KeyPath="yes" Source="$(var.SourceDir)\spartan\branches.tmpl" />
-            </Component>
-            <Component Id="cmp258992A63D8561862F924B2F445F480E" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{9640D202-3867-49AF-B648-6F8B515376FD}">
-                <File Id="filDCE126EE702579CD325AFA89C6040B3D" KeyPath="yes" Source="$(var.SourceDir)\spartan\changelog.tmpl" />
-            </Component>
-            <Component Id="cmpCBC90D7649B7D877F5A4BBAD723F7F2F" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{DF2B7556-BBFB-489D-908B-6220191EC620}">
-                <File Id="fil9FBF8720F94C113556DDE1C97DF9DDE3" KeyPath="yes" Source="$(var.SourceDir)\spartan\changelogentry.tmpl" />
-            </Component>
-            <Component Id="cmp983EB84EE3C3FA79C2B4B0E126900FF8" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{78ED06E6-41D9-4598-9697-2142016885D7}">
-                <File Id="filE54688ED547D1CF7DF8EB2E53E47C1C0" KeyPath="yes" Source="$(var.SourceDir)\spartan\changeset.tmpl" />
-            </Component>
-            <Component Id="cmp87B16F191F9EE8A923BD50FFAB5AF8A1" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{0002AF55-6A71-4F51-8C50-B39F6215F2B0}">
-                <File Id="filCF590744894C82D12672745CA8694FDA" KeyPath="yes" Source="$(var.SourceDir)\spartan\error.tmpl" />
-            </Component>
-            <Component Id="cmp24FC541496FA7F2BB64E40CE1881E9BD" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{F2E08FF3-744B-4D45-AFA1-5C33A1604F91}">
-                <File Id="filD8A4D1634CFB34AE2A52DD98EFE22B29" KeyPath="yes" Source="$(var.SourceDir)\spartan\fileannotate.tmpl" />
-            </Component>
-            <Component Id="cmp942F916336F4CBA936A065A28D3EADD3" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{905E4307-E9B4-45E3-AE1C-E7D01A4120F4}">
-                <File Id="fil568DC2C47109CC77F23F9593A16B44F0" KeyPath="yes" Source="$(var.SourceDir)\spartan\filediff.tmpl" />
-            </Component>
-            <Component Id="cmp597CDAFF17F11DA3FED725E5829DD73C" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{84FBA0CE-7E2C-4504-94D5-9C383DA4BFDE}">
-                <File Id="fil580676C3E18FDF8919786C15B92FDBD2" KeyPath="yes" Source="$(var.SourceDir)\spartan\filelog.tmpl" />
-            </Component>
-            <Component Id="cmpC4ACD09B8854124364CBB8CDAD38FB08" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{0D0E0B26-EA07-4ADE-96F3-3F30DBC4AA9D}">
-                <File Id="filC736FBCC66C5D91989FC91C2E5931182" KeyPath="yes" Source="$(var.SourceDir)\spartan\filelogentry.tmpl" />
-            </Component>
-            <Component Id="cmpEB22906EBBA0857AECD19E74CE893749" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{A588ED57-CDFE-4316-AF15-C81E40A67343}">
-                <File Id="filDA153719D47EE0165DB1A908ECF1D9CF" KeyPath="yes" Source="$(var.SourceDir)\spartan\filerevision.tmpl" />
-            </Component>
-            <Component Id="cmp30475C52A92194CBC64BED509F7D7B64" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{B795B3F2-394E-4F23-B0B7-BD6191E17714}">
-                <File Id="filBAF07E4ACAECCC417DCF35B01D053357" KeyPath="yes" Source="$(var.SourceDir)\spartan\footer.tmpl" />
-            </Component>
-            <Component Id="cmp679ECC15E459B542AA894CD7F0B3690D" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{82E57B98-1C5F-43D5-81FF-7952EFAAAB62}">
-                <File Id="filABBF8D15F4DE387F2648004FAB23B078" KeyPath="yes" Source="$(var.SourceDir)\spartan\graph.tmpl" />
-            </Component>
-            <Component Id="cmp31A95170275A0F3CEA2EFA0B3EE699EA" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{382BA9AC-67BC-44BA-8004-F72EFEB68007}">
-                <File Id="fil69E45EBB4E4C69CD7482C487DF64C3D8" KeyPath="yes" Source="$(var.SourceDir)\spartan\header.tmpl" />
-            </Component>
-            <Component Id="cmp4363ACEAD4BD8845B0C9AC2D03465A5E" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{CF8B8556-687B-4E82-BC6B-62A4916A7E4A}">
-                <File Id="fil5FE55A8E4659024B58AA7C8256CA9439" KeyPath="yes" Source="$(var.SourceDir)\spartan\index.tmpl" />
-            </Component>
-            <Component Id="cmp1B77757C5443F6AA7EED502370927E92" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{0AB066EA-64CF-4434-9752-2E900396EFFF}">
-                <File Id="filE71CF1D4A57966CE89FED594B3D9E430" KeyPath="yes" Source="$(var.SourceDir)\spartan\manifest.tmpl" />
-            </Component>
-            <Component Id="cmp269E53402BD0050DE38109E3BF5C3945" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{6B03B3A5-49D5-413B-9DA5-A32BA30F88BC}">
-                <File Id="fil9D51DC7A5EB908A1EECA883E06EB8B31" KeyPath="yes" Source="$(var.SourceDir)\spartan\map" />
-            </Component>
-            <Component Id="cmp73F5CB8A13C8C57CD15DB9064BD9E2BF" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{3B9DB632-BDDC-4DDF-81FD-1DC6751A3467}">
-                <File Id="filE079FF0AA52D0BCCDB9A5B49A80D5504" KeyPath="yes" Source="$(var.SourceDir)\spartan\notfound.tmpl" />
-            </Component>
-            <Component Id="cmpECE54442CE4E6FD27717A8D578125A2B" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{886E4B52-C284-4493-B2E5-FA35A9CD3ABA}">
-                <File Id="filE14A89B3EA724AAB48354DEE70DF69C8" KeyPath="yes" Source="$(var.SourceDir)\spartan\search.tmpl" />
-            </Component>
-            <Component Id="cmpFF1D26AC267CDED40E1D2AC476D7F09F" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{6359A1B3-48B2-4092-A7C4-BE53F05870AB}">
-                <File Id="fil868AF4DF25AC25F53793411E9365297D" KeyPath="yes" Source="$(var.SourceDir)\spartan\shortlog.tmpl" />
-            </Component>
-            <Component Id="cmp2D8D54467D34BA5055A5FF2E67254EAD" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{F26E20E2-7A04-489B-8F83-183D898174DD}">
-                <File Id="filF4ABFCC411E50C0042C1848016EE5327" KeyPath="yes" Source="$(var.SourceDir)\spartan\shortlogentry.tmpl" />
-            </Component>
-            <Component Id="cmp83ECAEFDCC6805EEFC78A54EF1000146" Directory="dirB8FE74E96715E770736FEAFA391ABF15" Guid="{7A021045-DA97-4A34-87AB-0882F071573C}">
-                <File Id="fil1D8DB7506E3BBD7449459C9BAB25CDAD" KeyPath="yes" Source="$(var.SourceDir)\spartan\tags.tmpl" />
-            </Component>
-            <Component Id="cmpBFBB6F3B9C29C43E991077D6BFC33944" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{5883A510-590E-4ADE-85A7-B94F373B63CA}">
-                <File Id="filF8DE93E9297B5CAE60372749245F15B2" KeyPath="yes" Source="$(var.SourceDir)\static\background.png" />
-            </Component>
-            <Component Id="cmp0F63F938946462583D4DEE74873DC408" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{A0C70D4C-E2BE-4173-A95F-A2FB690A65D5}">
-                <File Id="fil00A8D7AEA87233FED8A360F2D862572E" KeyPath="yes" Source="$(var.SourceDir)\static\coal-file.png" />
-            </Component>
-            <Component Id="cmpDE70C42580801A22F32CFD04C7EF4CF9" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{81A48619-3740-4874-83C3-AE58D74E30A6}">
-                <File Id="fil42C97A38CD59CED3713E93E6CBCDBFFE" KeyPath="yes" Source="$(var.SourceDir)\static\coal-folder.png" />
-            </Component>
-            <Component Id="cmpA45BEDD14DCA07C7A92A417386445E25" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{030E40CB-67A6-4EB5-ACC2-18B14BC31178}">
-                <File Id="filCC692DA67C62144B4AF34F10014F83FD" KeyPath="yes" Source="$(var.SourceDir)\static\excanvas.js" />
-            </Component>
-            <Component Id="cmp72015354E78AA8A481B54F81AD8F9682" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{894DAD59-0224-4CD1-8984-CBCB1464E44A}">
-                <File Id="fil690EAE877AB9F8C70C93E471115C52F2" KeyPath="yes" Source="$(var.SourceDir)\static\graph.js" />
-            </Component>
-            <Component Id="cmpB467CD481FE78A9CD052183FE5F3D0C6" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{DC08B50D-F37D-42FF-A382-037D7DE80008}">
-                <File Id="fil28C1A9E02AE19A9988E8F1BAFDBEAD91" KeyPath="yes" Source="$(var.SourceDir)\static\hgicon.png" />
-            </Component>
-            <Component Id="cmp6B247043D5188A72BAFBCC81DB10B97C" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{4EC7856F-BA03-4DE8-A84B-7DCF12A9393C}">
-                <File Id="fil8860DD8D5DA074A5BE9F314F442285EC" KeyPath="yes" Source="$(var.SourceDir)\static\hglogo.png" />
-            </Component>
-            <Component Id="cmp4F8B4BF7E8F4DDF9C224F45A94BAE0AA" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{2363D738-3F01-4C02-95A1-AF17841FC087}">
-                <File Id="filA6C8F4FB422C911ABE0F82752E383E99" KeyPath="yes" Source="$(var.SourceDir)\static\style-coal.css" />
-            </Component>
-            <Component Id="cmpF69080B6DF1E2AA23990F61B4ED884EB" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{5ED9E813-DE59-45C9-9CCB-1A3248E348E5}">
-                <File Id="fil5078818944548B0CCE1C317796CF7D4A" KeyPath="yes" Source="$(var.SourceDir)\static\style-gitweb.css" />
-            </Component>
-            <Component Id="cmp39B7B1D88ED5B2E8E878FEF7FB7D0F89" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{5F49B8D0-F497-4848-B95D-040BE4CC3296}">
-                <File Id="filB788208E124431C056B605A46EC7A643" KeyPath="yes" Source="$(var.SourceDir)\static\style-monoblue.css" />
-            </Component>
-            <Component Id="cmp08A2992654457D67292FF9C2B96B5172" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{474A04D3-84A1-435F-99DB-21BA3079CE55}">
-                <File Id="filE567FA56A8009FB9853EA69E01A0A410" KeyPath="yes" Source="$(var.SourceDir)\static\style-paper.css" />
-            </Component>
-            <Component Id="cmpDABBFD12710BF06B024350932B45E606" Directory="dirC5A30981F5453B69928F61CEC4F6D629" Guid="{54BB78EA-5B06-42EA-8F30-9C5277A8590E}">
-                <File Id="filE018265028110198DEF0E278341C9EB3" KeyPath="yes" Source="$(var.SourceDir)\static\style.css" />
-            </Component>
-        </ComponentGroup>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="INSTALLDIR">
-            <Directory Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" Name="templates" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir35F8598B197DFC5580317F5E7C2E9AE9" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir35F8598B197DFC5580317F5E7C2E9AE9" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir35F8598B197DFC5580317F5E7C2E9AE9" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir35F8598B197DFC5580317F5E7C2E9AE9" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir35F8598B197DFC5580317F5E7C2E9AE9" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir35F8598B197DFC5580317F5E7C2E9AE9" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir2EDFFCA56732C858816EF19F127E8D0F" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir35F8598B197DFC5580317F5E7C2E9AE9" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir35F8598B197DFC5580317F5E7C2E9AE9" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCB380721FE38FED97C74A9E48945B5BC" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir3D22B249045A1473460D0D5D104478F2" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirCCAE13CC8442C655BA01764423E1EBB7" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dir2EDFFCA56732C858816EF19F127E8D0F" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirC5A30981F5453B69928F61CEC4F6D629" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirA4D7AC0F636AD49029D4D19861392983" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirB8FE74E96715E770736FEAFA391ABF15" />
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dir10F9FCD5760425E499FA92F2CAA7A3EA" Name="raw" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dir2EDFFCA56732C858816EF19F127E8D0F" Name="coal" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dir35F8598B197DFC5580317F5E7C2E9AE9" Name="atom" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dir3D22B249045A1473460D0D5D104478F2" Name="gitweb" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dirA4D7AC0F636AD49029D4D19861392983" Name="monoblue" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dirB8FE74E96715E770736FEAFA391ABF15" Name="spartan" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dirC5A30981F5453B69928F61CEC4F6D629" Name="static" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dirCB380721FE38FED97C74A9E48945B5BC" Name="rss" />
-        </DirectoryRef>
-    </Fragment>
-    <Fragment>
-        <DirectoryRef Id="dirBFB9D3FD33CE2C696D390C94E4E1B4D8">
-            <Directory Id="dirCCAE13CC8442C655BA01764423E1EBB7" Name="paper" />
-        </DirectoryRef>
-    </Fragment>
-</Wix>
+
+  <?include guids.wxi ?>
+
+  <Fragment>
+    <ComponentGroup Id="templatesFolder">
+
+      <ComponentRef Id="templates.root" />
+
+      <ComponentRef Id="templates.atom" />
+      <ComponentRef Id="templates.coal" />
+      <ComponentRef Id="templates.gitweb" />
+      <ComponentRef Id="templates.monoblue" />
+      <ComponentRef Id="templates.paper" />
+      <ComponentRef Id="templates.raw" />
+      <ComponentRef Id="templates.rss" />
+      <ComponentRef Id="templates.spartan" />
+      <ComponentRef Id="templates.static" />
+
+    </ComponentGroup>
+  </Fragment>
+
+  <Fragment>
+    <DirectoryRef Id="INSTALLDIR">
+
+      <Directory Id="templatesdir" Name="templates" FileSource="$(var.SourceDir)">
+
+        <Component Id="templates.root" Guid="$(var.templates.root.guid)">
+          <File Name="map-cmdline.changelog" KeyPath="yes" />
+          <File Name="map-cmdline.compact" />
+          <File Name="map-cmdline.default" />
+          <File Name="map-cmdline.xml" />
+          <File Name="template-vars.txt" />
+        </Component>
+
+        <Directory Id="templates.atomdir" Name="atom">
+          <Component Id="templates.atom" Guid="$(var.templates.atom.guid)">
+            <File Id="atom.changelog.tmpl"      Name="changelog.tmpl" KeyPath="yes" />
+            <File Id="atom.changelogentry.tmpl" Name="changelogentry.tmpl" />
+            <File Id="atom.error.tmpl"          Name="error.tmpl" />
+            <File Id="atom.filelog.tmpl"        Name="filelog.tmpl" />
+            <File Id="atom.header.tmpl"         Name="header.tmpl" />
+            <File Id="atom.map"                 Name="map" />
+            <File Id="atom.tagentry.tmpl"       Name="tagentry.tmpl" />
+            <File Id="atom.tags.tmpl"           Name="tags.tmpl" />
+          </Component>
+        </Directory>
+
+        <Directory Id="templates.coaldir" Name="coal">
+          <Component Id="templates.coal" Guid="$(var.templates.coal.guid)">
+            <File Id="coal.header.tmpl" Name="header.tmpl" KeyPath="yes" />
+            <File Id="coal.map"         Name="map" />
+          </Component>
+        </Directory>
+
+        <Directory Id="templates.gitwebdir" Name="gitweb">
+          <Component Id="templates.gitweb" Guid="$(var.templates.gitweb.guid)">
+            <File Id="gitweb.branches.tmpl"       Name="branches.tmpl" KeyPath="yes" />
+            <File Id="gitweb.changelog.tmpl"      Name="changelog.tmpl" />
+            <File Id="gitweb.changelogentry.tmpl" Name="changelogentry.tmpl" />
+            <File Id="gitweb.changeset.tmpl"      Name="changeset.tmpl" />
+            <File Id="gitweb.error.tmpl"          Name="error.tmpl" />
+            <File Id="gitweb.fileannotate.tmpl"   Name="fileannotate.tmpl" />
+            <File Id="gitweb.filediff.tmpl"       Name="filediff.tmpl" />
+            <File Id="gitweb.filelog.tmpl"        Name="filelog.tmpl" />
+            <File Id="gitweb.filerevision.tmpl"   Name="filerevision.tmpl" />
+            <File Id="gitweb.footer.tmpl"         Name="footer.tmpl" />
+            <File Id="gitweb.graph.tmpl"          Name="graph.tmpl" />
+            <File Id="gitweb.header.tmpl"         Name="header.tmpl" />
+            <File Id="gitweb.index.tmpl"          Name="index.tmpl" />
+            <File Id="gitweb.manifest.tmpl"       Name="manifest.tmpl" />
+            <File Id="gitweb.map"                 Name="map" />
+            <File Id="gitweb.notfound.tmpl"       Name="notfound.tmpl" />
+            <File Id="gitweb.search.tmpl"         Name="search.tmpl" />
+            <File Id="gitweb.shortlog.tmpl"       Name="shortlog.tmpl" />
+            <File Id="gitweb.summary.tmpl"        Name="summary.tmpl" />
+            <File Id="gitweb.tags.tmpl"           Name="tags.tmpl" />
+          </Component>
+        </Directory>
+
+        <Directory Id="templates.monobluedir" Name="monoblue">
+          <Component Id="templates.monoblue" Guid="$(var.templates.monoblue.guid)">
+            <File Id="monoblue.branches.tmpl"       Name="branches.tmpl" KeyPath="yes" />
+            <File Id="monoblue.changelog.tmpl"      Name="changelog.tmpl" />
+            <File Id="monoblue.changelogentry.tmpl" Name="changelogentry.tmpl" />
+            <File Id="monoblue.changeset.tmpl"      Name="changeset.tmpl" />
+            <File Id="monoblue.error.tmpl"          Name="error.tmpl" />
+            <File Id="monoblue.fileannotate.tmpl"   Name="fileannotate.tmpl" />
+            <File Id="monoblue.filediff.tmpl"       Name="filediff.tmpl" />
+            <File Id="monoblue.filelog.tmpl"        Name="filelog.tmpl" />
+            <File Id="monoblue.filerevision.tmpl"   Name="filerevision.tmpl" />
+            <File Id="monoblue.footer.tmpl"         Name="footer.tmpl" />
+            <File Id="monoblue.graph.tmpl"          Name="graph.tmpl" />
+            <File Id="monoblue.header.tmpl"         Name="header.tmpl" />
+            <File Id="monoblue.index.tmpl"          Name="index.tmpl" />
+            <File Id="monoblue.manifest.tmpl"       Name="manifest.tmpl" />
+            <File Id="monoblue.map"                 Name="map" />
+            <File Id="monoblue.notfound.tmpl"       Name="notfound.tmpl" />
+            <File Id="monoblue.search.tmpl"         Name="search.tmpl" />
+            <File Id="monoblue.shortlog.tmpl"       Name="shortlog.tmpl" />
+            <File Id="monoblue.summary.tmpl"        Name="summary.tmpl" />
+            <File Id="monoblue.tags.tmpl"           Name="tags.tmpl" />
+          </Component>
+        </Directory>
+
+        <Directory Id="templates.paperdir" Name="paper">
+          <Component Id="templates.paper" Guid="$(var.templates.paper.guid)">
+            <File Id="paper.branches.tmpl"      Name="branches.tmpl" KeyPath="yes" />
+            <File Id="paper.changeset.tmpl"     Name="changeset.tmpl" />
+            <File Id="paper.error.tmpl"         Name="error.tmpl" />
+            <File Id="paper.fileannotate.tmpl"  Name="fileannotate.tmpl" />
+            <File Id="paper.filediff.tmpl"      Name="filediff.tmpl" />
+            <File Id="paper.filelog.tmpl"       Name="filelog.tmpl" />
+            <File Id="paper.filelogentry.tmpl"  Name="filelogentry.tmpl" />
+            <File Id="paper.filerevision.tmpl"  Name="filerevision.tmpl" />
+            <File Id="paper.footer.tmpl"        Name="footer.tmpl" />
+            <File Id="paper.graph.tmpl"         Name="graph.tmpl" />
+            <File Id="paper.header.tmpl"        Name="header.tmpl" />
+            <File Id="paper.index.tmpl"         Name="index.tmpl" />
+            <File Id="paper.manifest.tmpl"      Name="manifest.tmpl" />
+            <File Id="paper.map"                Name="map" />
+            <File Id="paper.notfound.tmpl"      Name="notfound.tmpl" />
+            <File Id="paper.search.tmpl"        Name="search.tmpl" />
+            <File Id="paper.shortlog.tmpl"      Name="shortlog.tmpl" />
+            <File Id="paper.shortlogentry.tmpl" Name="shortlogentry.tmpl" />
+            <File Id="paper.tags.tmpl"          Name="tags.tmpl" />
+          </Component>
+        </Directory>
+
+        <Directory Id="templates.rawdir" Name="raw">
+          <Component Id="templates.raw" Guid="$(var.templates.raw.guid)">
+            <File Id="raw.changeset.tmpl"    Name="changeset.tmpl" KeyPath="yes" />
+            <File Id="raw.error.tmpl"        Name="error.tmpl" />
+            <File Id="raw.fileannotate.tmpl" Name="fileannotate.tmpl" />
+            <File Id="raw.filediff.tmpl"     Name="filediff.tmpl" />
+            <File Id="raw.index.tmpl"        Name="index.tmpl" />
+            <File Id="raw.manifest.tmpl"     Name="manifest.tmpl" />
+            <File Id="raw.map"               Name="map" />
+            <File Id="raw.notfound.tmpl"     Name="notfound.tmpl" />
+          </Component>
+        </Directory>
+
+        <Directory Id="templates.rssdir" Name="rss">
+          <Component Id="templates.rss" Guid="$(var.templates.rss.guid)">
+            <File Id="rss.changelog.tmpl"      Name="changelog.tmpl" KeyPath="yes" />
+            <File Id="rss.changelogentry.tmpl" Name="changelogentry.tmpl" />
+            <File Id="rss.error.tmpl"          Name="error.tmpl" />
+            <File Id="rss.filelog.tmpl"        Name="filelog.tmpl" />
+            <File Id="rss.filelogentry.tmpl"   Name="filelogentry.tmpl" />
+            <File Id="rss.header.tmpl"         Name="header.tmpl" />
+            <File Id="rss.map"                 Name="map" />
+            <File Id="rss.tagentry.tmpl"       Name="tagentry.tmpl" />
+            <File Id="rss.tags.tmpl"           Name="tags.tmpl" />
+          </Component>
+        </Directory>
+
+        <Directory Id="templates.spartandir" Name="spartan">
+          <Component Id="templates.spartan" Guid="$(var.templates.spartan.guid)">
+            <File Id="spartan.branches.tmpl"       Name="branches.tmpl" KeyPath="yes" />
+            <File Id="spartan.changelog.tmpl"      Name="changelog.tmpl" />
+            <File Id="spartan.changelogentry.tmpl" Name="changelogentry.tmpl" />
+            <File Id="spartan.changeset.tmpl"      Name="changeset.tmpl" />
+            <File Id="spartan.error.tmpl"          Name="error.tmpl" />
+            <File Id="spartan.fileannotate.tmpl"   Name="fileannotate.tmpl" />
+            <File Id="spartan.filediff.tmpl"       Name="filediff.tmpl" />
+            <File Id="spartan.filelog.tmpl"        Name="filelog.tmpl" />
+            <File Id="spartan.filelogentry.tmpl"   Name="filelogentry.tmpl" />
+            <File Id="spartan.filerevision.tmpl"   Name="filerevision.tmpl" />
+            <File Id="spartan.footer.tmpl"         Name="footer.tmpl" />
+            <File Id="spartan.graph.tmpl"          Name="graph.tmpl" />
+            <File Id="spartan.header.tmpl"         Name="header.tmpl" />
+            <File Id="spartan.index.tmpl"          Name="index.tmpl" />
+            <File Id="spartan.manifest.tmpl"       Name="manifest.tmpl" />
+            <File Id="spartan.map"                 Name="map" />
+            <File Id="spartan.notfound.tmpl"       Name="notfound.tmpl" />
+            <File Id="spartan.search.tmpl"         Name="search.tmpl" />
+            <File Id="spartan.shortlog.tmpl"       Name="shortlog.tmpl" />
+            <File Id="spartan.shortlogentry.tmpl"  Name="shortlogentry.tmpl" />
+            <File Id="spartan.tags.tmpl"           Name="tags.tmpl" />
+          </Component>
+        </Directory>
+
+        <Directory Id="templates.staticdir" Name="static">
+          <Component Id="templates.static" Guid="$(var.templates.static.guid)">
+            <File Id="static.background.png"     Name="background.png" KeyPath="yes" />
+            <File Id="static.coal.file.png"      Name="coal-file.png" />
+            <File Id="static.coal.folder.png"    Name="coal-folder.png" />
+            <File Id="static.excanvas.js"        Name="excanvas.js" />
+            <File Id="static.graph.js"           Name="graph.js" />
+            <File Id="static.hgicon.png"         Name="hgicon.png" />
+            <File Id="static.hglogo.png"         Name="hglogo.png" />
+            <File Id="static.style.coal.css"     Name="style-coal.css" />
+            <File Id="static.style.gitweb.css"   Name="style-gitweb.css" />
+            <File Id="static.style.monoblue.css" Name="style-monoblue.css" />
+            <File Id="static.style.paper.css"    Name="style-paper.css" />
+            <File Id="static.style.css"          Name="style.css" />
+          </Component>
+        </Directory>
+
+      </Directory>
+
+    </DirectoryRef>
+  </Fragment>
+
+ </Wix>
--- a/doc/Makefile	Tue Jun 08 13:19:22 2010 +0200
+++ b/doc/Makefile	Mon Jun 21 13:41:11 2010 -0500
@@ -6,7 +6,6 @@
 MANDIR=$(PREFIX)/share/man
 INSTALL=install -c -m 644
 PYTHON=python
-RST2HTML=$(shell which rst2html 2> /dev/null || echo rst2html.py)
 
 export LANGUAGE=C
 export LC_ALL=C
@@ -25,11 +24,11 @@
 	mv $@.tmp $@
 
 %: %.txt common.txt
-	$(PYTHON) rst2man.py --halt warning \
+	$(PYTHON) runrst manpage --halt warning \
 	  --strip-elements-with-class htmlonly $*.txt $*
 
 %.html: %.txt common.txt
-	$(RST2HTML) --halt warning \
+	$(PYTHON) runrst html --halt warning \
 	  --link-stylesheet --stylesheet-path style.css $*.txt $*.html
 
 MANIFEST: man html
--- a/doc/gendoc.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/doc/gendoc.py	Mon Jun 21 13:41:11 2010 -0500
@@ -25,7 +25,11 @@
     return (shortdesc, desc)
 
 def get_opts(opts):
-    for shortopt, longopt, default, desc in opts:
+    for opt in opts:
+        if len(opt) == 5:
+            shortopt, longopt, default, desc, optlabel = opt
+        else:
+            shortopt, longopt, default, desc = opt
         allopts = []
         if shortopt:
             allopts.append("-%s" % shortopt)
--- a/doc/hgrc.5.txt	Tue Jun 08 13:19:22 2010 +0200
+++ b/doc/hgrc.5.txt	Mon Jun 21 13:41:11 2010 -0500
@@ -146,15 +146,29 @@
 current configuration file. The inclusion is recursive, which means
 that included files can include other files. Filenames are relative to
 the configuration file in which the ``%include`` directive is found.
+Environment variables and ``~user`` constructs are expanded in
+``file``. This lets you do something like::
+
+  %include ~/.hgrc.d/$HOST.rc
+
+to include a different configuration file on each computer you use.
 
 A line with ``%unset name`` will remove ``name`` from the current
 section, if it has been set previously.
 
 The values are either free-form text strings, lists of text strings,
-or Boolean values. Lists are split on whitespace and commas. Boolean
-values can be set to true using any of "1", "yes", "true", or "on" and
-to false using "0", "no", "false", or "off" (all case insensitive).
+or Boolean values. Boolean values can be set to true using any of "1",
+"yes", "true", or "on" and to false using "0", "no", "false", or "off"
+(all case insensitive).
 
+List values are separated by whitespace or comma, except when values are
+placed in double quotation marks::
+
+  allow_read = "John Doe, PhD", brian, betty
+
+Quotation marks can be escaped by prefixing them with a backslash. Only
+quotation marks at the beginning of a word is counted as a quotation
+(e.g., ``foo"bar baz`` is the list of ``foo"bar`` and ``baz``).
 
 Sections
 --------
@@ -280,24 +294,9 @@
    where the standard shell I/O redirection operators often have
    strange effects and may corrupt the contents of your files.
 
-The most common usage is for LF <-> CRLF translation on Windows. For
-this, use the "smart" converters which check for binary files::
-
-  [extensions]
-  hgext.win32text =
-  [encode]
-  ** = cleverencode:
-  [decode]
-  ** = cleverdecode:
-
-or if you only want to translate certain files::
-
-  [extensions]
-  hgext.win32text =
-  [encode]
-  **.txt = dumbencode:
-  [decode]
-  **.txt = dumbdecode:
+This filter mechanism is used internally by the ``eol`` extension to
+translate line ending characters between Windows (CRLF) and Unix (LF)
+format. We suggest you use the ``eol`` extension for convenience.
 
 
 ``defaults``
@@ -308,8 +307,8 @@
 Use the ``[defaults]`` section to define command defaults, i.e. the
 default options/arguments to pass to the specified commands.
 
-The following example makes ``hg log`` run in verbose mode, and ``hg
-status`` show only the modified files, by default::
+The following example makes :hg:`log` run in verbose mode, and :hg:`hg
+status` show only the modified files, by default::
 
   [defaults]
   log = -v
@@ -486,7 +485,8 @@
   Default: ``$local $base $other``
 ``premerge``
   Attempt to run internal non-interactive 3-way merge tool before
-  launching external tool.
+  launching external tool.  Options are ``true``, ``false``, or ``keep``
+  to leave markers in the file if the premerge fails.
   Default: True
 ``binary``
   This tool can merge binary files. Defaults to False, unless tool
@@ -494,13 +494,21 @@
 ``symlink``
   This tool can merge symlinks. Defaults to False, even if tool was
   selected by file pattern match.
-``checkconflicts``
-  Check whether there are conflicts even though the tool reported
-  success.
+``check``
+  A list of merge success-checking options:
+
+  ``changed``
+    Ask whether merge was successful when the merged file shows no changes.
+  ``conflicts``
+    Check whether there are conflicts even though the tool reported success.
+  ``prompt``
+    Always prompt for merge success, regardless of success reported by tool.
+
+``checkchanged``
+  True is equivalent to ``check = changed``.
   Default: False
-``checkchanged``
-  Check whether outputs were written even though the tool reported
-  success.
+``checkconflicts``
+  True is equivalent to ``check = conflicts``.
   Default: False
 ``fixeol``
   Attempt to fix up EOL changes caused by the merge tool.
@@ -562,11 +570,19 @@
 ``post-<command>``
   Run after successful invocations of the associated command. The
   contents of the command line are passed as ``$HG_ARGS`` and the result
-  code in ``$HG_RESULT``. Hook failure is ignored.
+  code in ``$HG_RESULT``. Parsed command line arguments are passed as 
+  ``$HG_PATS`` and ``$HG_OPTS``. These contain string representations of
+  the python data internally passed to <command>. ``$HG_OPTS`` is a 
+  dictionary of options (with unspecified options set to their defaults).
+  ``$HG_PATS`` is a list of arguments. Hook failure is ignored.
 ``pre-<command>``
   Run before executing the associated command. The contents of the
-  command line are passed as ``$HG_ARGS``. If the hook returns failure,
-  the command doesn't execute and Mercurial returns the failure
+  command line are passed as ``$HG_ARGS``. Parsed command line arguments
+  are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string
+  representations of the data internally passed to <command>. ``$HG_OPTS``
+  is a  dictionary of options (with unspecified options set to their
+  defaults). ``$HG_PATS`` is a list of arguments. If the hook returns 
+  failure, the command doesn't execute and Mercurial returns the failure
   code.
 ``prechangegroup``
   Run before a changegroup is added via push, pull or unbundle. Exit
@@ -773,15 +789,20 @@
 
 ``trusted``
 """""""""""
-For security reasons, Mercurial will not use the settings in the
+
+Mercurial will not use the settings in the
 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
-user or to a trusted group. The main exception is the web interface,
-which automatically uses some safe settings, since it's common to
-serve repositories from different users.
+user or to a trusted group, as various hgrc features allow arbitrary
+commands to be run. This issue is often encountered when configuring
+hooks or extensions for shared repositories or servers. However,
+the web interface will use some safe settings from the ``[web]``
+section.
 
 This section specifies what users and groups are trusted. The
 current user is always trusted. To trust everybody, list a user or a
-group with name ``*``.
+group with name ``*``. These settings must be placed in an
+*already-trusted file* to take effect, such as ``$HOME/.hgrc`` of the
+user or service running Mercurial.
 
 ``users``
   Comma-separated list of trusted users.
@@ -797,7 +818,7 @@
 ``archivemeta``
     Whether to include the .hg_archival.txt file containing meta data
     (hashes for the repository base and for tip) in archives created
-    by the hg archive command or downloaded via hgweb.
+    by the :hg:`archive` command or downloaded via hgweb.
     Default is True.
 ``askusername``
     Whether to prompt for a username when committing. If True, and
@@ -876,7 +897,8 @@
     <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If
     the username in hgrc is empty, it has to be specified manually or
     in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
-    ``username =``  in the system hgrc).
+    ``username =``  in the system hgrc). Environment variables in the
+    username are expanded.
 ``verbose``
     Increase the amount of output printed. True or False. Default is False.
 
@@ -907,20 +929,18 @@
     push is not allowed. If the special value ``*``, any remote user can
     push, including unauthenticated users. Otherwise, the remote user
     must have been authenticated, and the authenticated user name must
-    be present in this list (separated by whitespace or ``,``). The
-    contents of the allow_push list are examined after the deny_push
-    list.
+    be present in this list. The contents of the allow_push list are
+    examined after the deny_push list.
 ``allow_read``
     If the user has not already been denied repository access due to
     the contents of deny_read, this list determines whether to grant
     repository access to the user. If this list is not empty, and the
-    user is unauthenticated or not present in the list (separated by
-    whitespace or ``,``), then access is denied for the user. If the
-    list is empty or not set, then access is permitted to all users by
-    default. Setting allow_read to the special value ``*`` is equivalent
-    to it not being set (i.e. access is permitted to all users). The
-    contents of the allow_read list are examined after the deny_read
-    list.
+    user is unauthenticated or not present in the list, then access is
+    denied for the user. If the list is empty or not set, then access
+    is permitted to all users by default. Setting allow_read to the
+    special value ``*`` is equivalent to it not being set (i.e. access
+    is permitted to all users). The contents of the allow_read list are
+    examined after the deny_read list.
 ``allowzip``
     (DEPRECATED) Whether to allow .zip downloading of repository
     revisions. Default is False. This feature creates temporary files.
@@ -955,17 +975,15 @@
     Whether to deny pushing to the repository. If empty or not set,
     push is not denied. If the special value ``*``, all remote users are
     denied push. Otherwise, unauthenticated users are all denied, and
-    any authenticated user name present in this list (separated by
-    whitespace or ``,``) is also denied. The contents of the deny_push
-    list are examined before the allow_push list.
+    any authenticated user name present in this list is also denied. The
+    contents of the deny_push list are examined before the allow_push list.
 ``deny_read``
     Whether to deny reading/viewing of the repository. If this list is
     not empty, unauthenticated users are all denied, and any
-    authenticated user name present in this list (separated by
-    whitespace or ``,``) is also denied access to the repository. If set
-    to the special value ``*``, all remote users are denied access
-    (rarely needed ;). If deny_read is empty or not set, the
-    determination of repository access depends on the presence and
+    authenticated user name present in this list is also denied access to
+    the repository. If set to the special value ``*``, all remote users
+    are denied access (rarely needed ;). If deny_read is empty or not set,
+    the determination of repository access depends on the presence and
     content of the allow_read list (see description). If both
     deny_read and allow_read are empty or not set, then access is
     permitted to all users by default. If the repository is being
@@ -981,7 +999,7 @@
     Textual description of the repository's purpose or contents.
     Default is "unknown".
 ``encoding``
-    Character encoding name.
+    Character encoding name. Default is the current locale charset.
     Example: "UTF-8"
 ``errorlog``
     Where to output the error log. Default is stderr.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/manpage.py	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,1102 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# $Id: manpage.py 6110 2009-08-31 14:40:33Z grubert $
+# Author: Engelbert Gruber <grubert@users.sourceforge.net>
+# Copyright: This module is put into the public domain.
+
+"""
+Simple man page writer for reStructuredText.
+
+Man pages (short for "manual pages") contain system documentation on unix-like
+systems. The pages are grouped in numbered sections:
+
+ 1 executable programs and shell commands
+ 2 system calls
+ 3 library functions
+ 4 special files
+ 5 file formats
+ 6 games
+ 7 miscellaneous
+ 8 system administration
+
+Man pages are written *troff*, a text file formatting system.
+
+See http://www.tldp.org/HOWTO/Man-Page for a start.
+
+Man pages have no subsection only parts.
+Standard parts
+
+  NAME ,
+  SYNOPSIS ,
+  DESCRIPTION ,
+  OPTIONS ,
+  FILES ,
+  SEE ALSO ,
+  BUGS ,
+
+and
+
+  AUTHOR .
+
+A unix-like system keeps an index of the DESCRIPTIONs, which is accesable
+by the command whatis or apropos.
+
+"""
+
+__docformat__ = 'reStructuredText'
+
+import re
+
+from docutils import nodes, writers, languages
+import roman
+
+FIELD_LIST_INDENT = 7
+DEFINITION_LIST_INDENT = 7
+OPTION_LIST_INDENT = 7
+BLOCKQOUTE_INDENT = 3.5
+
+# Define two macros so man/roff can calculate the
+# indent/unindent margins by itself
+MACRO_DEF = (r""".
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+""")
+
+class Writer(writers.Writer):
+
+    supported = ('manpage')
+    """Formats this writer supports."""
+
+    output = None
+    """Final translated form of `document`."""
+
+    def __init__(self):
+        writers.Writer.__init__(self)
+        self.translator_class = Translator
+
+    def translate(self):
+        visitor = self.translator_class(self.document)
+        self.document.walkabout(visitor)
+        self.output = visitor.astext()
+
+
+class Table:
+    def __init__(self):
+        self._rows = []
+        self._options = ['center']
+        self._tab_char = '\t'
+        self._coldefs = []
+    def new_row(self):
+        self._rows.append([])
+    def append_separator(self, separator):
+        """Append the separator for table head."""
+        self._rows.append([separator])
+    def append_cell(self, cell_lines):
+        """cell_lines is an array of lines"""
+        start = 0
+        if len(cell_lines) > 0 and cell_lines[0] == '.sp\n':
+            start = 1
+        self._rows[-1].append(cell_lines[start:])
+        if len(self._coldefs) < len(self._rows[-1]):
+            self._coldefs.append('l')
+    def _minimize_cell(self, cell_lines):
+        """Remove leading and trailing blank and ``.sp`` lines"""
+        while (cell_lines and cell_lines[0] in ('\n', '.sp\n')):
+            del cell_lines[0]
+        while (cell_lines and cell_lines[-1] in ('\n', '.sp\n')):
+            del cell_lines[-1]
+    def as_list(self):
+        text = ['.TS\n']
+        text.append(' '.join(self._options) + ';\n')
+        text.append('|%s|.\n' % ('|'.join(self._coldefs)))
+        for row in self._rows:
+            # row = array of cells. cell = array of lines.
+            text.append('_\n')       # line above
+            text.append('T{\n')
+            for i in range(len(row)):
+                cell = row[i]
+                self._minimize_cell(cell)
+                text.extend(cell)
+                if not text[-1].endswith('\n'):
+                    text[-1] += '\n'
+                if i < len(row)-1:
+                    text.append('T}'+self._tab_char+'T{\n')
+                else:
+                    text.append('T}\n')
+        text.append('_\n')
+        text.append('.TE\n')
+        return text
+
+class Translator(nodes.NodeVisitor):
+    """"""
+
+    words_and_spaces = re.compile(r'\S+| +|\n')
+    document_start = """Man page generated from reStructeredText."""
+
+    def __init__(self, document):
+        nodes.NodeVisitor.__init__(self, document)
+        self.settings = settings = document.settings
+        lcode = settings.language_code
+        self.language = languages.get_language(lcode)
+        self.head = []
+        self.body = []
+        self.foot = []
+        self.section_level = 0
+        self.context = []
+        self.topic_class = ''
+        self.colspecs = []
+        self.compact_p = 1
+        self.compact_simple = None
+        # the list style "*" bullet or "#" numbered
+        self._list_char = []
+        # writing the header .TH and .SH NAME is postboned after
+        # docinfo.
+        self._docinfo = {
+                "title" : "", "title_upper": "",
+                "subtitle" : "",
+                "manual_section" : "", "manual_group" : "",
+                "author" : [],
+                "date" : "",
+                "copyright" : "",
+                "version" : "",
+                    }
+        self._docinfo_keys = []     # a list to keep the sequence as in source.
+        self._docinfo_names = {}    # to get name from text not normalized.
+        self._in_docinfo = None
+        self._active_table = None
+        self._in_literal = False
+        self.header_written = 0
+        self._line_block = 0
+        self.authors = []
+        self.section_level = 0
+        self._indent = [0]
+        # central definition of simple processing rules
+        # what to output on : visit, depart
+        # Do not use paragraph requests ``.PP`` because these set indentation.
+        # use ``.sp``. Remove superfluous ``.sp`` in ``astext``.
+        #
+        # Fonts are put on a stack, the top one is used.
+        # ``.ft P`` or ``\\fP`` pop from stack.
+        # ``B`` bold, ``I`` italic, ``R`` roman should be available.
+        # Hopefully ``C`` courier too.
+        self.defs = {
+                'indent' : ('.INDENT %.1f\n', '.UNINDENT\n'),
+                'definition_list_item' : ('.TP', ''),
+                'field_name' : ('.TP\n.B ', '\n'),
+                'literal' : ('\\fB', '\\fP'),
+                'literal_block' : ('.sp\n.nf\n.ft C\n', '\n.ft P\n.fi\n'),
+
+                'option_list_item' : ('.TP\n', ''),
+
+                'reference' : (r'\%', r'\:'),
+                'emphasis': ('\\fI', '\\fP'),
+                'strong' : ('\\fB', '\\fP'),
+                'term' : ('\n.B ', '\n'),
+                'title_reference' : ('\\fI', '\\fP'),
+
+                'topic-title' : ('.SS ',),
+                'sidebar-title' : ('.SS ',),
+
+                'problematic' : ('\n.nf\n', '\n.fi\n'),
+                    }
+        # NOTE don't specify the newline before a dot-command, but ensure
+        # it is there.
+
+    def comment_begin(self, text):
+        """Return commented version of the passed text WITHOUT end of
+        line/comment."""
+        prefix = '.\\" '
+        out_text = ''.join(
+            [(prefix + in_line + '\n')
+            for in_line in text.split('\n')])
+        return out_text
+
+    def comment(self, text):
+        """Return commented version of the passed text."""
+        return self.comment_begin(text)+'.\n'
+
+    def ensure_eol(self):
+        """Ensure the last line in body is terminated by new line."""
+        if self.body[-1][-1] != '\n':
+            self.body.append('\n')
+
+    def astext(self):
+        """Return the final formatted document as a string."""
+        if not self.header_written:
+            # ensure we get a ".TH" as viewers require it.
+            self.head.append(self.header())
+        # filter body
+        for i in xrange(len(self.body)-1, 0, -1):
+            # remove superfluous vertical gaps.
+            if self.body[i] == '.sp\n':
+                if self.body[i - 1][:4] in ('.BI ','.IP '):
+                    self.body[i] = '.\n'
+                elif (self.body[i - 1][:3] == '.B ' and
+                    self.body[i - 2][:4] == '.TP\n'):
+                    self.body[i] = '.\n'
+                elif (self.body[i - 1] == '\n' and
+                    self.body[i - 2][0] != '.' and
+                    (self.body[i - 3][:7] == '.TP\n.B '
+                        or self.body[i - 3][:4] == '\n.B ')
+                     ):
+                    self.body[i] = '.\n'
+        return ''.join(self.head + self.body + self.foot)
+
+    def deunicode(self, text):
+        text = text.replace(u'\xa0', '\\ ')
+        text = text.replace(u'\u2020', '\\(dg')
+        return text
+
+    def visit_Text(self, node):
+        text = node.astext()
+        text = text.replace('\\','\\e')
+        replace_pairs = [
+            (u'-', ur'\-'),
+            (u'\'', ur'\(aq'),
+            (u'´', ur'\''),
+            (u'`', ur'\(ga'),
+            ]
+        for (in_char, out_markup) in replace_pairs:
+            text = text.replace(in_char, out_markup)
+        # unicode
+        text = self.deunicode(text)
+        if self._in_literal:
+            # prevent interpretation of "." at line start
+            if text[0] == '.':
+                text = '\\&' + text
+            text = text.replace('\n.', '\n\\&.')
+        self.body.append(text)
+
+    def depart_Text(self, node):
+        pass
+
+    def list_start(self, node):
+        class enum_char:
+            enum_style = {
+                    'bullet'     : '\\(bu',
+                    'emdash'     : '\\(em',
+                     }
+
+            def __init__(self, style):
+                self._style = style
+                if node.has_key('start'):
+                    self._cnt = node['start'] - 1
+                else:
+                    self._cnt = 0
+                self._indent = 2
+                if style == 'arabic':
+                    # indentation depends on number of childrens
+                    # and start value.
+                    self._indent = len(str(len(node.children)))
+                    self._indent += len(str(self._cnt)) + 1
+                elif style == 'loweralpha':
+                    self._cnt += ord('a') - 1
+                    self._indent = 3
+                elif style == 'upperalpha':
+                    self._cnt += ord('A') - 1
+                    self._indent = 3
+                elif style.endswith('roman'):
+                    self._indent = 5
+
+            def next(self):
+                if self._style == 'bullet':
+                    return self.enum_style[self._style]
+                elif self._style == 'emdash':
+                    return self.enum_style[self._style]
+                self._cnt += 1
+                # TODO add prefix postfix
+                if self._style == 'arabic':
+                    return "%d." % self._cnt
+                elif self._style in ('loweralpha', 'upperalpha'):
+                    return "%c." % self._cnt
+                elif self._style.endswith('roman'):
+                    res = roman.toRoman(self._cnt) + '.'
+                    if self._style.startswith('upper'):
+                        return res.upper()
+                    return res.lower()
+                else:
+                    return "%d." % self._cnt
+            def get_width(self):
+                return self._indent
+            def __repr__(self):
+                return 'enum_style-%s' % list(self._style)
+
+        if node.has_key('enumtype'):
+            self._list_char.append(enum_char(node['enumtype']))
+        else:
+            self._list_char.append(enum_char('bullet'))
+        if len(self._list_char) > 1:
+            # indent nested lists
+            self.indent(self._list_char[-2].get_width())
+        else:
+            self.indent(self._list_char[-1].get_width())
+
+    def list_end(self):
+        self.dedent()
+        self._list_char.pop()
+
+    def header(self):
+        tmpl = (".TH %(title_upper)s %(manual_section)s"
+                " \"%(date)s\" \"%(version)s\" \"%(manual_group)s\"\n"
+                ".SH NAME\n"
+                "%(title)s \- %(subtitle)s\n")
+        return tmpl % self._docinfo
+
+    def append_header(self):
+        """append header with .TH and .SH NAME"""
+        # NOTE before everything
+        # .TH title_upper section date source manual
+        if self.header_written:
+            return
+        self.body.append(self.header())
+        self.body.append(MACRO_DEF)
+        self.header_written = 1
+
+    def visit_address(self, node):
+        self.visit_docinfo_item(node, 'address')
+
+    def depart_address(self, node):
+        pass
+
+    def visit_admonition(self, node, name=None):
+        if name:
+            self.body.append('.IP %s\n' %
+                        self.language.labels.get(name, name))
+
+    def depart_admonition(self, node):
+        self.body.append('.RE\n')
+
+    def visit_attention(self, node):
+        self.visit_admonition(node, 'attention')
+
+    depart_attention = depart_admonition
+
+    def visit_docinfo_item(self, node, name):
+        if name == 'author':
+            self._docinfo[name].append(node.astext())
+        else:
+            self._docinfo[name] = node.astext()
+        self._docinfo_keys.append(name)
+        raise nodes.SkipNode
+
+    def depart_docinfo_item(self, node):
+        pass
+
+    def visit_author(self, node):
+        self.visit_docinfo_item(node, 'author')
+
+    depart_author = depart_docinfo_item
+
+    def visit_authors(self, node):
+        # _author is called anyway.
+        pass
+
+    def depart_authors(self, node):
+        pass
+
+    def visit_block_quote(self, node):
+        # BUG/HACK: indent alway uses the _last_ indention,
+        # thus we need two of them.
+        self.indent(BLOCKQOUTE_INDENT)
+        self.indent(0)
+
+    def depart_block_quote(self, node):
+        self.dedent()
+        self.dedent()
+
+    def visit_bullet_list(self, node):
+        self.list_start(node)
+
+    def depart_bullet_list(self, node):
+        self.list_end()
+
+    def visit_caption(self, node):
+        pass
+
+    def depart_caption(self, node):
+        pass
+
+    def visit_caution(self, node):
+        self.visit_admonition(node, 'caution')
+
+    depart_caution = depart_admonition
+
+    def visit_citation(self, node):
+        num, text = node.astext().split(None, 1)
+        num = num.strip()
+        self.body.append('.IP [%s] 5\n' % num)
+
+    def depart_citation(self, node):
+        pass
+
+    def visit_citation_reference(self, node):
+        self.body.append('['+node.astext()+']')
+        raise nodes.SkipNode
+
+    def visit_classifier(self, node):
+        pass
+
+    def depart_classifier(self, node):
+        pass
+
+    def visit_colspec(self, node):
+        self.colspecs.append(node)
+
+    def depart_colspec(self, node):
+        pass
+
+    def write_colspecs(self):
+        self.body.append("%s.\n" % ('L '*len(self.colspecs)))
+
+    def visit_comment(self, node,
+                      sub=re.compile('-(?=-)').sub):
+        self.body.append(self.comment(node.astext()))
+        raise nodes.SkipNode
+
+    def visit_contact(self, node):
+        self.visit_docinfo_item(node, 'contact')
+
+    depart_contact = depart_docinfo_item
+
+    def visit_container(self, node):
+        pass
+
+    def depart_container(self, node):
+        pass
+
+    def visit_compound(self, node):
+        pass
+
+    def depart_compound(self, node):
+        pass
+
+    def visit_copyright(self, node):
+        self.visit_docinfo_item(node, 'copyright')
+
+    def visit_danger(self, node):
+        self.visit_admonition(node, 'danger')
+
+    depart_danger = depart_admonition
+
+    def visit_date(self, node):
+        self.visit_docinfo_item(node, 'date')
+
+    def visit_decoration(self, node):
+        pass
+
+    def depart_decoration(self, node):
+        pass
+
+    def visit_definition(self, node):
+        pass
+
+    def depart_definition(self, node):
+        pass
+
+    def visit_definition_list(self, node):
+        self.indent(DEFINITION_LIST_INDENT)
+
+    def depart_definition_list(self, node):
+        self.dedent()
+
+    def visit_definition_list_item(self, node):
+        self.body.append(self.defs['definition_list_item'][0])
+
+    def depart_definition_list_item(self, node):
+        self.body.append(self.defs['definition_list_item'][1])
+
+    def visit_description(self, node):
+        pass
+
+    def depart_description(self, node):
+        pass
+
+    def visit_docinfo(self, node):
+        self._in_docinfo = 1
+
+    def depart_docinfo(self, node):
+        self._in_docinfo = None
+        # NOTE nothing should be written before this
+        self.append_header()
+
+    def visit_doctest_block(self, node):
+        self.body.append(self.defs['literal_block'][0])
+        self._in_literal = True
+
+    def depart_doctest_block(self, node):
+        self._in_literal = False
+        self.body.append(self.defs['literal_block'][1])
+
+    def visit_document(self, node):
+        # no blank line between comment and header.
+        self.body.append(self.comment(self.document_start).rstrip()+'\n')
+        # writing header is postboned
+        self.header_written = 0
+
+    def depart_document(self, node):
+        if self._docinfo['author']:
+            self.body.append('.SH AUTHOR\n%s\n'
+                    % ', '.join(self._docinfo['author']))
+        skip = ('author', 'copyright', 'date',
+                'manual_group', 'manual_section',
+                'subtitle',
+                'title', 'title_upper', 'version')
+        for name in self._docinfo_keys:
+            if name == 'address':
+                self.body.append("\n%s:\n%s%s.nf\n%s\n.fi\n%s%s" % (
+                                    self.language.labels.get(name, name),
+                                    self.defs['indent'][0] % 0,
+                                    self.defs['indent'][0] % BLOCKQOUTE_INDENT,
+                                    self._docinfo[name],
+                                    self.defs['indent'][1],
+                                    self.defs['indent'][1]))
+            elif not name in skip:
+                if name in self._docinfo_names:
+                    label = self._docinfo_names[name]
+                else:
+                    label = self.language.labels.get(name, name)
+                self.body.append("\n%s: %s\n" % (label, self._docinfo[name]))
+        if self._docinfo['copyright']:
+            self.body.append('.SH COPYRIGHT\n%s\n'
+                    % self._docinfo['copyright'])
+        self.body.append(self.comment(
+                        'Generated by docutils manpage writer.\n'))
+
+    def visit_emphasis(self, node):
+        self.body.append(self.defs['emphasis'][0])
+
+    def depart_emphasis(self, node):
+        self.body.append(self.defs['emphasis'][1])
+
+    def visit_entry(self, node):
+        # a cell in a table row
+        if 'morerows' in node:
+            self.document.reporter.warning('"table row spanning" not supported',
+                    base_node=node)
+        if 'morecols' in node:
+            self.document.reporter.warning(
+                    '"table cell spanning" not supported', base_node=node)
+        self.context.append(len(self.body))
+
+    def depart_entry(self, node):
+        start = self.context.pop()
+        self._active_table.append_cell(self.body[start:])
+        del self.body[start:]
+
+    def visit_enumerated_list(self, node):
+        self.list_start(node)
+
+    def depart_enumerated_list(self, node):
+        self.list_end()
+
+    def visit_error(self, node):
+        self.visit_admonition(node, 'error')
+
+    depart_error = depart_admonition
+
+    def visit_field(self, node):
+        pass
+
+    def depart_field(self, node):
+        pass
+
+    def visit_field_body(self, node):
+        if self._in_docinfo:
+            name_normalized = self._field_name.lower().replace(" ","_")
+            self._docinfo_names[name_normalized] = self._field_name
+            self.visit_docinfo_item(node, name_normalized)
+            raise nodes.SkipNode
+
+    def depart_field_body(self, node):
+        pass
+
+    def visit_field_list(self, node):
+        self.indent(FIELD_LIST_INDENT)
+
+    def depart_field_list(self, node):
+        self.dedent()
+
+    def visit_field_name(self, node):
+        if self._in_docinfo:
+            self._field_name = node.astext()
+            raise nodes.SkipNode
+        else:
+            self.body.append(self.defs['field_name'][0])
+
+    def depart_field_name(self, node):
+        self.body.append(self.defs['field_name'][1])
+
+    def visit_figure(self, node):
+        self.indent(2.5)
+        self.indent(0)
+
+    def depart_figure(self, node):
+        self.dedent()
+        self.dedent()
+
+    def visit_footer(self, node):
+        self.document.reporter.warning('"footer" not supported',
+                base_node=node)
+
+    def depart_footer(self, node):
+        pass
+
+    def visit_footnote(self, node):
+        num, text = node.astext().split(None, 1)
+        num = num.strip()
+        self.body.append('.IP [%s] 5\n' % self.deunicode(num))
+
+    def depart_footnote(self, node):
+        pass
+
+    def footnote_backrefs(self, node):
+        self.document.reporter.warning('"footnote_backrefs" not supported',
+                base_node=node)
+
+    def visit_footnote_reference(self, node):
+        self.body.append('['+self.deunicode(node.astext())+']')
+        raise nodes.SkipNode
+
+    def depart_footnote_reference(self, node):
+        pass
+
+    def visit_generated(self, node):
+        pass
+
+    def depart_generated(self, node):
+        pass
+
+    def visit_header(self, node):
+        raise NotImplementedError, node.astext()
+
+    def depart_header(self, node):
+        pass
+
+    def visit_hint(self, node):
+        self.visit_admonition(node, 'hint')
+
+    depart_hint = depart_admonition
+
+    def visit_subscript(self, node):
+        self.body.append('\\s-2\\d')
+
+    def depart_subscript(self, node):
+        self.body.append('\\u\\s0')
+
+    def visit_superscript(self, node):
+        self.body.append('\\s-2\\u')
+
+    def depart_superscript(self, node):
+        self.body.append('\\d\\s0')
+
+    def visit_attribution(self, node):
+        self.body.append('\\(em ')
+
+    def depart_attribution(self, node):
+        self.body.append('\n')
+
+    def visit_image(self, node):
+        self.document.reporter.warning('"image" not supported',
+                base_node=node)
+        text = []
+        if 'alt' in node.attributes:
+            text.append(node.attributes['alt'])
+        if 'uri' in node.attributes:
+            text.append(node.attributes['uri'])
+        self.body.append('[image: %s]\n' % ('/'.join(text)))
+        raise nodes.SkipNode
+
+    def visit_important(self, node):
+        self.visit_admonition(node, 'important')
+
+    depart_important = depart_admonition
+
+    def visit_label(self, node):
+        # footnote and citation
+        if (isinstance(node.parent, nodes.footnote)
+            or isinstance(node.parent, nodes.citation)):
+            raise nodes.SkipNode
+        self.document.reporter.warning('"unsupported "label"',
+                base_node=node)
+        self.body.append('[')
+
+    def depart_label(self, node):
+        self.body.append(']\n')
+
+    def visit_legend(self, node):
+        pass
+
+    def depart_legend(self, node):
+        pass
+
+    # WHAT should we use .INDENT, .UNINDENT ?
+    def visit_line_block(self, node):
+        self._line_block += 1
+        if self._line_block == 1:
+            self.body.append('.sp\n')
+            self.body.append('.nf\n')
+        else:
+            self.body.append('.in +2\n')
+
+    def depart_line_block(self, node):
+        self._line_block -= 1
+        if self._line_block == 0:
+            self.body.append('.fi\n')
+            self.body.append('.sp\n')
+        else:
+            self.body.append('.in -2\n')
+
+    def visit_line(self, node):
+        pass
+
+    def depart_line(self, node):
+        self.body.append('\n')
+
+    def visit_list_item(self, node):
+        # man 7 man argues to use ".IP" instead of ".TP"
+        self.body.append('.IP %s %d\n' % (
+                self._list_char[-1].next(),
+                self._list_char[-1].get_width(),))
+
+    def depart_list_item(self, node):
+        pass
+
+    def visit_literal(self, node):
+        self.body.append(self.defs['literal'][0])
+
+    def depart_literal(self, node):
+        self.body.append(self.defs['literal'][1])
+
+    def visit_literal_block(self, node):
+        self.body.append(self.defs['literal_block'][0])
+        self._in_literal = True
+
+    def depart_literal_block(self, node):
+        self._in_literal = False
+        self.body.append(self.defs['literal_block'][1])
+
+    def visit_meta(self, node):
+        raise NotImplementedError, node.astext()
+
+    def depart_meta(self, node):
+        pass
+
+    def visit_note(self, node):
+        self.visit_admonition(node, 'note')
+
+    depart_note = depart_admonition
+
+    def indent(self, by=0.5):
+        # if we are in a section ".SH" there already is a .RS
+        step = self._indent[-1]
+        self._indent.append(by)
+        self.body.append(self.defs['indent'][0] % step)
+
+    def dedent(self):
+        self._indent.pop()
+        self.body.append(self.defs['indent'][1])
+
+    def visit_option_list(self, node):
+        self.indent(OPTION_LIST_INDENT)
+
+    def depart_option_list(self, node):
+        self.dedent()
+
+    def visit_option_list_item(self, node):
+        # one item of the list
+        self.body.append(self.defs['option_list_item'][0])
+
+    def depart_option_list_item(self, node):
+        self.body.append(self.defs['option_list_item'][1])
+
+    def visit_option_group(self, node):
+        # as one option could have several forms it is a group
+        # options without parameter bold only, .B, -v
+        # options with parameter bold italic, .BI, -f file
+        #
+        # we do not know if .B or .BI
+        self.context.append('.B')           # blind guess
+        self.context.append(len(self.body)) # to be able to insert later
+        self.context.append(0)              # option counter
+
+    def depart_option_group(self, node):
+        self.context.pop()  # the counter
+        start_position = self.context.pop()
+        text = self.body[start_position:]
+        del self.body[start_position:]
+        self.body.append('%s%s\n' % (self.context.pop(), ''.join(text)))
+
+    def visit_option(self, node):
+        # each form of the option will be presented separately
+        if self.context[-1] > 0:
+            self.body.append(', ')
+        if self.context[-3] == '.BI':
+            self.body.append('\\')
+        self.body.append(' ')
+
+    def depart_option(self, node):
+        self.context[-1] += 1
+
+    def visit_option_string(self, node):
+        # do not know if .B or .BI
+        pass
+
+    def depart_option_string(self, node):
+        pass
+
+    def visit_option_argument(self, node):
+        self.context[-3] = '.BI' # bold/italic alternate
+        if node['delimiter'] != ' ':
+            self.body.append('\\fB%s ' % node['delimiter'])
+        elif self.body[len(self.body)-1].endswith('='):
+            # a blank only means no blank in output, just changing font
+            self.body.append(' ')
+        else:
+            # blank backslash blank, switch font then a blank
+            self.body.append(' \\ ')
+
+    def depart_option_argument(self, node):
+        pass
+
+    def visit_organization(self, node):
+        self.visit_docinfo_item(node, 'organization')
+
+    def depart_organization(self, node):
+        pass
+
+    def visit_paragraph(self, node):
+        # ``.PP`` : Start standard indented paragraph.
+        # ``.LP`` : Start block paragraph, all except the first.
+        # ``.P [type]``  : Start paragraph type.
+        # NOTE dont use paragraph starts because they reset indentation.
+        # ``.sp`` is only vertical space
+        self.ensure_eol()
+        self.body.append('.sp\n')
+
+    def depart_paragraph(self, node):
+        self.body.append('\n')
+
+    def visit_problematic(self, node):
+        self.body.append(self.defs['problematic'][0])
+
+    def depart_problematic(self, node):
+        self.body.append(self.defs['problematic'][1])
+
+    def visit_raw(self, node):
+        if node.get('format') == 'manpage':
+            self.body.append(node.astext() + "\n")
+        # Keep non-manpage raw text out of output:
+        raise nodes.SkipNode
+
+    def visit_reference(self, node):
+        """E.g. link or email address."""
+        self.body.append(self.defs['reference'][0])
+
+    def depart_reference(self, node):
+        self.body.append(self.defs['reference'][1])
+
+    def visit_revision(self, node):
+        self.visit_docinfo_item(node, 'revision')
+
+    depart_revision = depart_docinfo_item
+
+    def visit_row(self, node):
+        self._active_table.new_row()
+
+    def depart_row(self, node):
+        pass
+
+    def visit_section(self, node):
+        self.section_level += 1
+
+    def depart_section(self, node):
+        self.section_level -= 1
+
+    def visit_status(self, node):
+        self.visit_docinfo_item(node, 'status')
+
+    depart_status = depart_docinfo_item
+
+    def visit_strong(self, node):
+        self.body.append(self.defs['strong'][0])
+
+    def depart_strong(self, node):
+        self.body.append(self.defs['strong'][1])
+
+    def visit_substitution_definition(self, node):
+        """Internal only."""
+        raise nodes.SkipNode
+
+    def visit_substitution_reference(self, node):
+        self.document.reporter.warning('"substitution_reference" not supported',
+                base_node=node)
+
+    def visit_subtitle(self, node):
+        if isinstance(node.parent, nodes.sidebar):
+            self.body.append(self.defs['strong'][0])
+        elif isinstance(node.parent, nodes.document):
+            self.visit_docinfo_item(node, 'subtitle')
+        elif isinstance(node.parent, nodes.section):
+            self.body.append(self.defs['strong'][0])
+
+    def depart_subtitle(self, node):
+        # document subtitle calls SkipNode
+        self.body.append(self.defs['strong'][1]+'\n.PP\n')
+
+    def visit_system_message(self, node):
+        # TODO add report_level
+        #if node['level'] < self.document.reporter['writer'].report_level:
+        #    Level is too low to display:
+        #    raise nodes.SkipNode
+        attr = {}
+        backref_text = ''
+        if node.hasattr('id'):
+            attr['name'] = node['id']
+        if node.hasattr('line'):
+            line = ', line %s' % node['line']
+        else:
+            line = ''
+        self.body.append('.IP "System Message: %s/%s (%s:%s)"\n'
+                         % (node['type'], node['level'], node['source'], line))
+
+    def depart_system_message(self, node):
+        pass
+
+    def visit_table(self, node):
+        self._active_table = Table()
+
+    def depart_table(self, node):
+        self.ensure_eol()
+        self.body.extend(self._active_table.as_list())
+        self._active_table = None
+
+    def visit_target(self, node):
+        # targets are in-document hyper targets, without any use for man-pages.
+        raise nodes.SkipNode
+
+    def visit_tbody(self, node):
+        pass
+
+    def depart_tbody(self, node):
+        pass
+
+    def visit_term(self, node):
+        self.body.append(self.defs['term'][0])
+
+    def depart_term(self, node):
+        self.body.append(self.defs['term'][1])
+
+    def visit_tgroup(self, node):
+        pass
+
+    def depart_tgroup(self, node):
+        pass
+
+    def visit_thead(self, node):
+        # MAYBE double line '='
+        pass
+
+    def depart_thead(self, node):
+        # MAYBE double line '='
+        pass
+
+    def visit_tip(self, node):
+        self.visit_admonition(node, 'tip')
+
+    depart_tip = depart_admonition
+
+    def visit_title(self, node):
+        if isinstance(node.parent, nodes.topic):
+            self.body.append(self.defs['topic-title'][0])
+        elif isinstance(node.parent, nodes.sidebar):
+            self.body.append(self.defs['sidebar-title'][0])
+        elif isinstance(node.parent, nodes.admonition):
+            self.body.append('.IP "')
+        elif self.section_level == 0:
+            self._docinfo['title'] = node.astext()
+            # document title for .TH
+            self._docinfo['title_upper'] = node.astext().upper()
+            raise nodes.SkipNode
+        elif self.section_level == 1:
+            self.body.append('.SH ')
+            for n in node.traverse(nodes.Text):
+                n.parent.replace(n, nodes.Text(n.astext().upper()))
+        else:
+            self.body.append('.SS ')
+
+    def depart_title(self, node):
+        if isinstance(node.parent, nodes.admonition):
+            self.body.append('"')
+        self.body.append('\n')
+
+    def visit_title_reference(self, node):
+        """inline citation reference"""
+        self.body.append(self.defs['title_reference'][0])
+
+    def depart_title_reference(self, node):
+        self.body.append(self.defs['title_reference'][1])
+
+    def visit_topic(self, node):
+        pass
+
+    def depart_topic(self, node):
+        pass
+
+    def visit_sidebar(self, node):
+        pass
+
+    def depart_sidebar(self, node):
+        pass
+
+    def visit_rubric(self, node):
+        pass
+
+    def depart_rubric(self, node):
+        pass
+
+    def visit_transition(self, node):
+        # .PP      Begin a new paragraph and reset prevailing indent.
+        # .sp N    leaves N lines of blank space.
+        # .ce      centers the next line
+        self.body.append('\n.sp\n.ce\n----\n')
+
+    def depart_transition(self, node):
+        self.body.append('\n.ce 0\n.sp\n')
+
+    def visit_version(self, node):
+        self.visit_docinfo_item(node, 'version')
+
+    def visit_warning(self, node):
+        self.visit_admonition(node, 'warning')
+
+    depart_warning = depart_admonition
+
+    def unimplemented_visit(self, node):
+        raise NotImplementedError('visiting unimplemented node type: %s'
+                                  % node.__class__.__name__)
+
+# vim: set fileencoding=utf-8 et ts=4 ai :
--- a/doc/rst2man.py	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1114 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# $Id: manpage.py 6110 2009-08-31 14:40:33Z grubert $
-# Author: Engelbert Gruber <grubert@users.sourceforge.net>
-# Copyright: This module is put into the public domain.
-
-"""
-Simple man page writer for reStructuredText.
-
-Man pages (short for "manual pages") contain system documentation on unix-like
-systems. The pages are grouped in numbered sections:
-
- 1 executable programs and shell commands
- 2 system calls
- 3 library functions
- 4 special files
- 5 file formats
- 6 games
- 7 miscellaneous
- 8 system administration
-
-Man pages are written *troff*, a text file formatting system.
-
-See http://www.tldp.org/HOWTO/Man-Page for a start.
-
-Man pages have no subsection only parts.
-Standard parts
-
-  NAME ,
-  SYNOPSIS ,
-  DESCRIPTION ,
-  OPTIONS ,
-  FILES ,
-  SEE ALSO ,
-  BUGS ,
-
-and
-
-  AUTHOR .
-
-A unix-like system keeps an index of the DESCRIPTIONs, which is accesable
-by the command whatis or apropos.
-
-"""
-
-__docformat__ = 'reStructuredText'
-
-import sys
-import os
-import time
-import re
-from types import ListType
-
-import docutils
-from docutils import nodes, utils, writers, languages
-import roman
-
-FIELD_LIST_INDENT = 7
-DEFINITION_LIST_INDENT = 7
-OPTION_LIST_INDENT = 7
-BLOCKQOUTE_INDENT = 3.5
-
-# Define two macros so man/roff can calculate the
-# indent/unindent margins by itself
-MACRO_DEF = (r""".
-.nr rst2man-indent-level 0
-.
-.de1 rstReportMargin
-\\$1 \\n[an-margin]
-level \\n[rst2man-indent-level]
-level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
--
-\\n[rst2man-indent0]
-\\n[rst2man-indent1]
-\\n[rst2man-indent2]
-..
-.de1 INDENT
-.\" .rstReportMargin pre:
-. RS \\$1
-. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
-. nr rst2man-indent-level +1
-.\" .rstReportMargin post:
-..
-.de UNINDENT
-. RE
-.\" indent \\n[an-margin]
-.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
-.nr rst2man-indent-level -1
-.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
-.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
-..
-""")
-
-class Writer(writers.Writer):
-
-    supported = ('manpage')
-    """Formats this writer supports."""
-
-    output = None
-    """Final translated form of `document`."""
-
-    def __init__(self):
-        writers.Writer.__init__(self)
-        self.translator_class = Translator
-
-    def translate(self):
-        visitor = self.translator_class(self.document)
-        self.document.walkabout(visitor)
-        self.output = visitor.astext()
-
-
-class Table:
-    def __init__(self):
-        self._rows = []
-        self._options = ['center']
-        self._tab_char = '\t'
-        self._coldefs = []
-    def new_row(self):
-        self._rows.append([])
-    def append_separator(self, separator):
-        """Append the separator for table head."""
-        self._rows.append([separator])
-    def append_cell(self, cell_lines):
-        """cell_lines is an array of lines"""
-        start = 0
-        if len(cell_lines) > 0 and cell_lines[0] == '.sp\n':
-            start = 1
-        self._rows[-1].append(cell_lines[start:])
-        if len(self._coldefs) < len(self._rows[-1]):
-            self._coldefs.append('l')
-    def _minimize_cell(self, cell_lines):
-        """Remove leading and trailing blank and ``.sp`` lines"""
-        while (cell_lines and cell_lines[0] in ('\n', '.sp\n')):
-            del cell_lines[0]
-        while (cell_lines and cell_lines[-1] in ('\n', '.sp\n')):
-            del cell_lines[-1]
-    def as_list(self):
-        text = ['.TS\n']
-        text.append(' '.join(self._options) + ';\n')
-        text.append('|%s|.\n' % ('|'.join(self._coldefs)))
-        for row in self._rows:
-            # row = array of cells. cell = array of lines.
-            text.append('_\n')       # line above
-            text.append('T{\n')
-            for i in range(len(row)):
-                cell = row[i]
-                self._minimize_cell(cell)
-                text.extend(cell)
-                if not text[-1].endswith('\n'):
-                    text[-1] += '\n'
-                if i < len(row)-1:
-                    text.append('T}'+self._tab_char+'T{\n')
-                else:
-                    text.append('T}\n')
-        text.append('_\n')
-        text.append('.TE\n')
-        return text
-
-class Translator(nodes.NodeVisitor):
-    """"""
-
-    words_and_spaces = re.compile(r'\S+| +|\n')
-    document_start = """Man page generated from reStructeredText."""
-
-    def __init__(self, document):
-        nodes.NodeVisitor.__init__(self, document)
-        self.settings = settings = document.settings
-        lcode = settings.language_code
-        self.language = languages.get_language(lcode)
-        self.head = []
-        self.body = []
-        self.foot = []
-        self.section_level = 0
-        self.context = []
-        self.topic_class = ''
-        self.colspecs = []
-        self.compact_p = 1
-        self.compact_simple = None
-        # the list style "*" bullet or "#" numbered
-        self._list_char = []
-        # writing the header .TH and .SH NAME is postboned after
-        # docinfo.
-        self._docinfo = {
-                "title" : "", "title_upper": "",
-                "subtitle" : "",
-                "manual_section" : "", "manual_group" : "",
-                "author" : [],
-                "date" : "",
-                "copyright" : "",
-                "version" : "",
-                    }
-        self._docinfo_keys = []     # a list to keep the sequence as in source.
-        self._docinfo_names = {}    # to get name from text not normalized.
-        self._in_docinfo = None
-        self._active_table = None
-        self._in_literal = False
-        self.header_written = 0
-        self._line_block = 0
-        self.authors = []
-        self.section_level = 0
-        self._indent = [0]
-        # central definition of simple processing rules
-        # what to output on : visit, depart
-        # Do not use paragraph requests ``.PP`` because these set indentation.
-        # use ``.sp``. Remove superfluous ``.sp`` in ``astext``.
-        #
-        # Fonts are put on a stack, the top one is used.
-        # ``.ft P`` or ``\\fP`` pop from stack.
-        # ``B`` bold, ``I`` italic, ``R`` roman should be available.
-        # Hopefully ``C`` courier too.
-        self.defs = {
-                'indent' : ('.INDENT %.1f\n', '.UNINDENT\n'),
-                'definition_list_item' : ('.TP', ''),
-                'field_name' : ('.TP\n.B ', '\n'),
-                'literal' : ('\\fB', '\\fP'),
-                'literal_block' : ('.sp\n.nf\n.ft C\n', '\n.ft P\n.fi\n'),
-
-                'option_list_item' : ('.TP\n', ''),
-
-                'reference' : (r'\%', r'\:'),
-                'emphasis': ('\\fI', '\\fP'),
-                'strong' : ('\\fB', '\\fP'),
-                'term' : ('\n.B ', '\n'),
-                'title_reference' : ('\\fI', '\\fP'),
-
-                'topic-title' : ('.SS ',),
-                'sidebar-title' : ('.SS ',),
-
-                'problematic' : ('\n.nf\n', '\n.fi\n'),
-                    }
-        # NOTE don't specify the newline before a dot-command, but ensure
-        # it is there.
-
-    def comment_begin(self, text):
-        """Return commented version of the passed text WITHOUT end of
-        line/comment."""
-        prefix = '.\\" '
-        out_text = ''.join(
-            [(prefix + in_line + '\n')
-            for in_line in text.split('\n')])
-        return out_text
-
-    def comment(self, text):
-        """Return commented version of the passed text."""
-        return self.comment_begin(text)+'.\n'
-
-    def ensure_eol(self):
-        """Ensure the last line in body is terminated by new line."""
-        if self.body[-1][-1] != '\n':
-            self.body.append('\n')
-
-    def astext(self):
-        """Return the final formatted document as a string."""
-        if not self.header_written:
-            # ensure we get a ".TH" as viewers require it.
-            self.head.append(self.header())
-        # filter body
-        for i in xrange(len(self.body)-1, 0, -1):
-            # remove superfluous vertical gaps.
-            if self.body[i] == '.sp\n':
-                if self.body[i - 1][:4] in ('.BI ','.IP '):
-                    self.body[i] = '.\n'
-                elif (self.body[i - 1][:3] == '.B ' and
-                    self.body[i - 2][:4] == '.TP\n'):
-                    self.body[i] = '.\n'
-                elif (self.body[i - 1] == '\n' and
-                    self.body[i - 2][0] != '.' and
-                    (self.body[i - 3][:7] == '.TP\n.B '
-                        or self.body[i - 3][:4] == '\n.B ')
-                     ):
-                    self.body[i] = '.\n'
-        return ''.join(self.head + self.body + self.foot)
-
-    def deunicode(self, text):
-        text = text.replace(u'\xa0', '\\ ')
-        text = text.replace(u'\u2020', '\\(dg')
-        return text
-
-    def visit_Text(self, node):
-        text = node.astext()
-        text = text.replace('\\','\\e')
-        replace_pairs = [
-            (u'-', ur'\-'),
-            (u'\'', ur'\(aq'),
-            (u'´', ur'\''),
-            (u'`', ur'\(ga'),
-            ]
-        for (in_char, out_markup) in replace_pairs:
-            text = text.replace(in_char, out_markup)
-        # unicode
-        text = self.deunicode(text)
-        if self._in_literal:
-            # prevent interpretation of "." at line start
-            if text[0] == '.':
-                text = '\\&' + text
-            text = text.replace('\n.', '\n\\&.')
-        self.body.append(text)
-
-    def depart_Text(self, node):
-        pass
-
-    def list_start(self, node):
-        class enum_char:
-            enum_style = {
-                    'bullet'     : '\\(bu',
-                    'emdash'     : '\\(em',
-                     }
-
-            def __init__(self, style):
-                self._style = style
-                if node.has_key('start'):
-                    self._cnt = node['start'] - 1
-                else:
-                    self._cnt = 0
-                self._indent = 2
-                if style == 'arabic':
-                    # indentation depends on number of childrens
-                    # and start value.
-                    self._indent = len(str(len(node.children)))
-                    self._indent += len(str(self._cnt)) + 1
-                elif style == 'loweralpha':
-                    self._cnt += ord('a') - 1
-                    self._indent = 3
-                elif style == 'upperalpha':
-                    self._cnt += ord('A') - 1
-                    self._indent = 3
-                elif style.endswith('roman'):
-                    self._indent = 5
-
-            def next(self):
-                if self._style == 'bullet':
-                    return self.enum_style[self._style]
-                elif self._style == 'emdash':
-                    return self.enum_style[self._style]
-                self._cnt += 1
-                # TODO add prefix postfix
-                if self._style == 'arabic':
-                    return "%d." % self._cnt
-                elif self._style in ('loweralpha', 'upperalpha'):
-                    return "%c." % self._cnt
-                elif self._style.endswith('roman'):
-                    res = roman.toRoman(self._cnt) + '.'
-                    if self._style.startswith('upper'):
-                        return res.upper()
-                    return res.lower()
-                else:
-                    return "%d." % self._cnt
-            def get_width(self):
-                return self._indent
-            def __repr__(self):
-                return 'enum_style-%s' % list(self._style)
-
-        if node.has_key('enumtype'):
-            self._list_char.append(enum_char(node['enumtype']))
-        else:
-            self._list_char.append(enum_char('bullet'))
-        if len(self._list_char) > 1:
-            # indent nested lists
-            self.indent(self._list_char[-2].get_width())
-        else:
-            self.indent(self._list_char[-1].get_width())
-
-    def list_end(self):
-        self.dedent()
-        self._list_char.pop()
-
-    def header(self):
-        tmpl = (".TH %(title_upper)s %(manual_section)s"
-                " \"%(date)s\" \"%(version)s\" \"%(manual_group)s\"\n"
-                ".SH NAME\n"
-                "%(title)s \- %(subtitle)s\n")
-        return tmpl % self._docinfo
-
-    def append_header(self):
-        """append header with .TH and .SH NAME"""
-        # NOTE before everything
-        # .TH title_upper section date source manual
-        if self.header_written:
-            return
-        self.body.append(self.header())
-        self.body.append(MACRO_DEF)
-        self.header_written = 1
-
-    def visit_address(self, node):
-        self.visit_docinfo_item(node, 'address')
-
-    def depart_address(self, node):
-        pass
-
-    def visit_admonition(self, node, name=None):
-        if name:
-            self.body.append('.IP %s\n' %
-                        self.language.labels.get(name, name))
-
-    def depart_admonition(self, node):
-        self.body.append('.RE\n')
-
-    def visit_attention(self, node):
-        self.visit_admonition(node, 'attention')
-
-    depart_attention = depart_admonition
-
-    def visit_docinfo_item(self, node, name):
-        if name == 'author':
-            self._docinfo[name].append(node.astext())
-        else:
-            self._docinfo[name] = node.astext()
-        self._docinfo_keys.append(name)
-        raise nodes.SkipNode
-
-    def depart_docinfo_item(self, node):
-        pass
-
-    def visit_author(self, node):
-        self.visit_docinfo_item(node, 'author')
-
-    depart_author = depart_docinfo_item
-
-    def visit_authors(self, node):
-        # _author is called anyway.
-        pass
-
-    def depart_authors(self, node):
-        pass
-
-    def visit_block_quote(self, node):
-        # BUG/HACK: indent alway uses the _last_ indention,
-        # thus we need two of them.
-        self.indent(BLOCKQOUTE_INDENT)
-        self.indent(0)
-
-    def depart_block_quote(self, node):
-        self.dedent()
-        self.dedent()
-
-    def visit_bullet_list(self, node):
-        self.list_start(node)
-
-    def depart_bullet_list(self, node):
-        self.list_end()
-
-    def visit_caption(self, node):
-        pass
-
-    def depart_caption(self, node):
-        pass
-
-    def visit_caution(self, node):
-        self.visit_admonition(node, 'caution')
-
-    depart_caution = depart_admonition
-
-    def visit_citation(self, node):
-        num, text = node.astext().split(None, 1)
-        num = num.strip()
-        self.body.append('.IP [%s] 5\n' % num)
-
-    def depart_citation(self, node):
-        pass
-
-    def visit_citation_reference(self, node):
-        self.body.append('['+node.astext()+']')
-        raise nodes.SkipNode
-
-    def visit_classifier(self, node):
-        pass
-
-    def depart_classifier(self, node):
-        pass
-
-    def visit_colspec(self, node):
-        self.colspecs.append(node)
-
-    def depart_colspec(self, node):
-        pass
-
-    def write_colspecs(self):
-        self.body.append("%s.\n" % ('L '*len(self.colspecs)))
-
-    def visit_comment(self, node,
-                      sub=re.compile('-(?=-)').sub):
-        self.body.append(self.comment(node.astext()))
-        raise nodes.SkipNode
-
-    def visit_contact(self, node):
-        self.visit_docinfo_item(node, 'contact')
-
-    depart_contact = depart_docinfo_item
-
-    def visit_container(self, node):
-        pass
-
-    def depart_container(self, node):
-        pass
-
-    def visit_compound(self, node):
-        pass
-
-    def depart_compound(self, node):
-        pass
-
-    def visit_copyright(self, node):
-        self.visit_docinfo_item(node, 'copyright')
-
-    def visit_danger(self, node):
-        self.visit_admonition(node, 'danger')
-
-    depart_danger = depart_admonition
-
-    def visit_date(self, node):
-        self.visit_docinfo_item(node, 'date')
-
-    def visit_decoration(self, node):
-        pass
-
-    def depart_decoration(self, node):
-        pass
-
-    def visit_definition(self, node):
-        pass
-
-    def depart_definition(self, node):
-        pass
-
-    def visit_definition_list(self, node):
-        self.indent(DEFINITION_LIST_INDENT)
-
-    def depart_definition_list(self, node):
-        self.dedent()
-
-    def visit_definition_list_item(self, node):
-        self.body.append(self.defs['definition_list_item'][0])
-
-    def depart_definition_list_item(self, node):
-        self.body.append(self.defs['definition_list_item'][1])
-
-    def visit_description(self, node):
-        pass
-
-    def depart_description(self, node):
-        pass
-
-    def visit_docinfo(self, node):
-        self._in_docinfo = 1
-
-    def depart_docinfo(self, node):
-        self._in_docinfo = None
-        # NOTE nothing should be written before this
-        self.append_header()
-
-    def visit_doctest_block(self, node):
-        self.body.append(self.defs['literal_block'][0])
-        self._in_literal = True
-
-    def depart_doctest_block(self, node):
-        self._in_literal = False
-        self.body.append(self.defs['literal_block'][1])
-
-    def visit_document(self, node):
-        # no blank line between comment and header.
-        self.body.append(self.comment(self.document_start).rstrip()+'\n')
-        # writing header is postboned
-        self.header_written = 0
-
-    def depart_document(self, node):
-        if self._docinfo['author']:
-            self.body.append('.SH AUTHOR\n%s\n'
-                    % ', '.join(self._docinfo['author']))
-        skip = ('author', 'copyright', 'date',
-                'manual_group', 'manual_section',
-                'subtitle',
-                'title', 'title_upper', 'version')
-        for name in self._docinfo_keys:
-            if name == 'address':
-                self.body.append("\n%s:\n%s%s.nf\n%s\n.fi\n%s%s" % (
-                                    self.language.labels.get(name, name),
-                                    self.defs['indent'][0] % 0,
-                                    self.defs['indent'][0] % BLOCKQOUTE_INDENT,
-                                    self._docinfo[name],
-                                    self.defs['indent'][1],
-                                    self.defs['indent'][1]))
-            elif not name in skip:
-                if name in self._docinfo_names:
-                    label = self._docinfo_names[name]
-                else:
-                    label = self.language.labels.get(name, name)
-                self.body.append("\n%s: %s\n" % (label, self._docinfo[name]))
-        if self._docinfo['copyright']:
-            self.body.append('.SH COPYRIGHT\n%s\n'
-                    % self._docinfo['copyright'])
-        self.body.append(self.comment(
-                        'Generated by docutils manpage writer.\n'))
-
-    def visit_emphasis(self, node):
-        self.body.append(self.defs['emphasis'][0])
-
-    def depart_emphasis(self, node):
-        self.body.append(self.defs['emphasis'][1])
-
-    def visit_entry(self, node):
-        # a cell in a table row
-        if 'morerows' in node:
-            self.document.reporter.warning('"table row spanning" not supported',
-                    base_node=node)
-        if 'morecols' in node:
-            self.document.reporter.warning(
-                    '"table cell spanning" not supported', base_node=node)
-        self.context.append(len(self.body))
-
-    def depart_entry(self, node):
-        start = self.context.pop()
-        self._active_table.append_cell(self.body[start:])
-        del self.body[start:]
-
-    def visit_enumerated_list(self, node):
-        self.list_start(node)
-
-    def depart_enumerated_list(self, node):
-        self.list_end()
-
-    def visit_error(self, node):
-        self.visit_admonition(node, 'error')
-
-    depart_error = depart_admonition
-
-    def visit_field(self, node):
-        pass
-
-    def depart_field(self, node):
-        pass
-
-    def visit_field_body(self, node):
-        if self._in_docinfo:
-            name_normalized = self._field_name.lower().replace(" ","_")
-            self._docinfo_names[name_normalized] = self._field_name
-            self.visit_docinfo_item(node, name_normalized)
-            raise nodes.SkipNode
-
-    def depart_field_body(self, node):
-        pass
-
-    def visit_field_list(self, node):
-        self.indent(FIELD_LIST_INDENT)
-
-    def depart_field_list(self, node):
-        self.dedent()
-
-    def visit_field_name(self, node):
-        if self._in_docinfo:
-            self._field_name = node.astext()
-            raise nodes.SkipNode
-        else:
-            self.body.append(self.defs['field_name'][0])
-
-    def depart_field_name(self, node):
-        self.body.append(self.defs['field_name'][1])
-
-    def visit_figure(self, node):
-        self.indent(2.5)
-        self.indent(0)
-
-    def depart_figure(self, node):
-        self.dedent()
-        self.dedent()
-
-    def visit_footer(self, node):
-        self.document.reporter.warning('"footer" not supported',
-                base_node=node)
-
-    def depart_footer(self, node):
-        pass
-
-    def visit_footnote(self, node):
-        num, text = node.astext().split(None, 1)
-        num = num.strip()
-        self.body.append('.IP [%s] 5\n' % self.deunicode(num))
-
-    def depart_footnote(self, node):
-        pass
-
-    def footnote_backrefs(self, node):
-        self.document.reporter.warning('"footnote_backrefs" not supported',
-                base_node=node)
-
-    def visit_footnote_reference(self, node):
-        self.body.append('['+self.deunicode(node.astext())+']')
-        raise nodes.SkipNode
-
-    def depart_footnote_reference(self, node):
-        pass
-
-    def visit_generated(self, node):
-        pass
-
-    def depart_generated(self, node):
-        pass
-
-    def visit_header(self, node):
-        raise NotImplementedError, node.astext()
-
-    def depart_header(self, node):
-        pass
-
-    def visit_hint(self, node):
-        self.visit_admonition(node, 'hint')
-
-    depart_hint = depart_admonition
-
-    def visit_subscript(self, node):
-        self.body.append('\\s-2\\d')
-
-    def depart_subscript(self, node):
-        self.body.append('\\u\\s0')
-
-    def visit_superscript(self, node):
-        self.body.append('\\s-2\\u')
-
-    def depart_superscript(self, node):
-        self.body.append('\\d\\s0')
-
-    def visit_attribution(self, node):
-        self.body.append('\\(em ')
-
-    def depart_attribution(self, node):
-        self.body.append('\n')
-
-    def visit_image(self, node):
-        self.document.reporter.warning('"image" not supported',
-                base_node=node)
-        text = []
-        if 'alt' in node.attributes:
-            text.append(node.attributes['alt'])
-        if 'uri' in node.attributes:
-            text.append(node.attributes['uri'])
-        self.body.append('[image: %s]\n' % ('/'.join(text)))
-        raise nodes.SkipNode
-
-    def visit_important(self, node):
-        self.visit_admonition(node, 'important')
-
-    depart_important = depart_admonition
-
-    def visit_label(self, node):
-        # footnote and citation
-        if (isinstance(node.parent, nodes.footnote)
-            or isinstance(node.parent, nodes.citation)):
-            raise nodes.SkipNode
-        self.document.reporter.warning('"unsupported "label"',
-                base_node=node)
-        self.body.append('[')
-
-    def depart_label(self, node):
-        self.body.append(']\n')
-
-    def visit_legend(self, node):
-        pass
-
-    def depart_legend(self, node):
-        pass
-
-    # WHAT should we use .INDENT, .UNINDENT ?
-    def visit_line_block(self, node):
-        self._line_block += 1
-        if self._line_block == 1:
-            self.body.append('.sp\n')
-            self.body.append('.nf\n')
-        else:
-            self.body.append('.in +2\n')
-
-    def depart_line_block(self, node):
-        self._line_block -= 1
-        if self._line_block == 0:
-            self.body.append('.fi\n')
-            self.body.append('.sp\n')
-        else:
-            self.body.append('.in -2\n')
-
-    def visit_line(self, node):
-        pass
-
-    def depart_line(self, node):
-        self.body.append('\n')
-
-    def visit_list_item(self, node):
-        # man 7 man argues to use ".IP" instead of ".TP"
-        self.body.append('.IP %s %d\n' % (
-                self._list_char[-1].next(),
-                self._list_char[-1].get_width(),))
-
-    def depart_list_item(self, node):
-        pass
-
-    def visit_literal(self, node):
-        self.body.append(self.defs['literal'][0])
-
-    def depart_literal(self, node):
-        self.body.append(self.defs['literal'][1])
-
-    def visit_literal_block(self, node):
-        self.body.append(self.defs['literal_block'][0])
-        self._in_literal = True
-
-    def depart_literal_block(self, node):
-        self._in_literal = False
-        self.body.append(self.defs['literal_block'][1])
-
-    def visit_meta(self, node):
-        raise NotImplementedError, node.astext()
-
-    def depart_meta(self, node):
-        pass
-
-    def visit_note(self, node):
-        self.visit_admonition(node, 'note')
-
-    depart_note = depart_admonition
-
-    def indent(self, by=0.5):
-        # if we are in a section ".SH" there already is a .RS
-        step = self._indent[-1]
-        self._indent.append(by)
-        self.body.append(self.defs['indent'][0] % step)
-
-    def dedent(self):
-        self._indent.pop()
-        self.body.append(self.defs['indent'][1])
-
-    def visit_option_list(self, node):
-        self.indent(OPTION_LIST_INDENT)
-
-    def depart_option_list(self, node):
-        self.dedent()
-
-    def visit_option_list_item(self, node):
-        # one item of the list
-        self.body.append(self.defs['option_list_item'][0])
-
-    def depart_option_list_item(self, node):
-        self.body.append(self.defs['option_list_item'][1])
-
-    def visit_option_group(self, node):
-        # as one option could have several forms it is a group
-        # options without parameter bold only, .B, -v
-        # options with parameter bold italic, .BI, -f file
-        #
-        # we do not know if .B or .BI
-        self.context.append('.B')           # blind guess
-        self.context.append(len(self.body)) # to be able to insert later
-        self.context.append(0)              # option counter
-
-    def depart_option_group(self, node):
-        self.context.pop()  # the counter
-        start_position = self.context.pop()
-        text = self.body[start_position:]
-        del self.body[start_position:]
-        self.body.append('%s%s\n' % (self.context.pop(), ''.join(text)))
-
-    def visit_option(self, node):
-        # each form of the option will be presented separately
-        if self.context[-1] > 0:
-            self.body.append(', ')
-        if self.context[-3] == '.BI':
-            self.body.append('\\')
-        self.body.append(' ')
-
-    def depart_option(self, node):
-        self.context[-1] += 1
-
-    def visit_option_string(self, node):
-        # do not know if .B or .BI
-        pass
-
-    def depart_option_string(self, node):
-        pass
-
-    def visit_option_argument(self, node):
-        self.context[-3] = '.BI' # bold/italic alternate
-        if node['delimiter'] != ' ':
-            self.body.append('\\fB%s ' % node['delimiter'])
-        elif self.body[len(self.body)-1].endswith('='):
-            # a blank only means no blank in output, just changing font
-            self.body.append(' ')
-        else:
-            # blank backslash blank, switch font then a blank
-            self.body.append(' \\ ')
-
-    def depart_option_argument(self, node):
-        pass
-
-    def visit_organization(self, node):
-        self.visit_docinfo_item(node, 'organization')
-
-    def depart_organization(self, node):
-        pass
-
-    def visit_paragraph(self, node):
-        # ``.PP`` : Start standard indented paragraph.
-        # ``.LP`` : Start block paragraph, all except the first.
-        # ``.P [type]``  : Start paragraph type.
-        # NOTE dont use paragraph starts because they reset indentation.
-        # ``.sp`` is only vertical space
-        self.ensure_eol()
-        self.body.append('.sp\n')
-
-    def depart_paragraph(self, node):
-        self.body.append('\n')
-
-    def visit_problematic(self, node):
-        self.body.append(self.defs['problematic'][0])
-
-    def depart_problematic(self, node):
-        self.body.append(self.defs['problematic'][1])
-
-    def visit_raw(self, node):
-        if node.get('format') == 'manpage':
-            self.body.append(node.astext() + "\n")
-        # Keep non-manpage raw text out of output:
-        raise nodes.SkipNode
-
-    def visit_reference(self, node):
-        """E.g. link or email address."""
-        self.body.append(self.defs['reference'][0])
-
-    def depart_reference(self, node):
-        self.body.append(self.defs['reference'][1])
-
-    def visit_revision(self, node):
-        self.visit_docinfo_item(node, 'revision')
-
-    depart_revision = depart_docinfo_item
-
-    def visit_row(self, node):
-        self._active_table.new_row()
-
-    def depart_row(self, node):
-        pass
-
-    def visit_section(self, node):
-        self.section_level += 1
-
-    def depart_section(self, node):
-        self.section_level -= 1
-
-    def visit_status(self, node):
-        self.visit_docinfo_item(node, 'status')
-
-    depart_status = depart_docinfo_item
-
-    def visit_strong(self, node):
-        self.body.append(self.defs['strong'][0])
-
-    def depart_strong(self, node):
-        self.body.append(self.defs['strong'][1])
-
-    def visit_substitution_definition(self, node):
-        """Internal only."""
-        raise nodes.SkipNode
-
-    def visit_substitution_reference(self, node):
-        self.document.reporter.warning('"substitution_reference" not supported',
-                base_node=node)
-
-    def visit_subtitle(self, node):
-        if isinstance(node.parent, nodes.sidebar):
-            self.body.append(self.defs['strong'][0])
-        elif isinstance(node.parent, nodes.document):
-            self.visit_docinfo_item(node, 'subtitle')
-        elif isinstance(node.parent, nodes.section):
-            self.body.append(self.defs['strong'][0])
-
-    def depart_subtitle(self, node):
-        # document subtitle calls SkipNode
-        self.body.append(self.defs['strong'][1]+'\n.PP\n')
-
-    def visit_system_message(self, node):
-        # TODO add report_level
-        #if node['level'] < self.document.reporter['writer'].report_level:
-        #    Level is too low to display:
-        #    raise nodes.SkipNode
-        attr = {}
-        backref_text = ''
-        if node.hasattr('id'):
-            attr['name'] = node['id']
-        if node.hasattr('line'):
-            line = ', line %s' % node['line']
-        else:
-            line = ''
-        self.body.append('.IP "System Message: %s/%s (%s:%s)"\n'
-                         % (node['type'], node['level'], node['source'], line))
-
-    def depart_system_message(self, node):
-        pass
-
-    def visit_table(self, node):
-        self._active_table = Table()
-
-    def depart_table(self, node):
-        self.ensure_eol()
-        self.body.extend(self._active_table.as_list())
-        self._active_table = None
-
-    def visit_target(self, node):
-        # targets are in-document hyper targets, without any use for man-pages.
-        raise nodes.SkipNode
-
-    def visit_tbody(self, node):
-        pass
-
-    def depart_tbody(self, node):
-        pass
-
-    def visit_term(self, node):
-        self.body.append(self.defs['term'][0])
-
-    def depart_term(self, node):
-        self.body.append(self.defs['term'][1])
-
-    def visit_tgroup(self, node):
-        pass
-
-    def depart_tgroup(self, node):
-        pass
-
-    def visit_thead(self, node):
-        # MAYBE double line '='
-        pass
-
-    def depart_thead(self, node):
-        # MAYBE double line '='
-        pass
-
-    def visit_tip(self, node):
-        self.visit_admonition(node, 'tip')
-
-    depart_tip = depart_admonition
-
-    def visit_title(self, node):
-        if isinstance(node.parent, nodes.topic):
-            self.body.append(self.defs['topic-title'][0])
-        elif isinstance(node.parent, nodes.sidebar):
-            self.body.append(self.defs['sidebar-title'][0])
-        elif isinstance(node.parent, nodes.admonition):
-            self.body.append('.IP "')
-        elif self.section_level == 0:
-            self._docinfo['title'] = node.astext()
-            # document title for .TH
-            self._docinfo['title_upper'] = node.astext().upper()
-            raise nodes.SkipNode
-        elif self.section_level == 1:
-            self.body.append('.SH ')
-            for n in node.traverse(nodes.Text):
-                n.parent.replace(n, nodes.Text(n.astext().upper()))
-        else:
-            self.body.append('.SS ')
-
-    def depart_title(self, node):
-        if isinstance(node.parent, nodes.admonition):
-            self.body.append('"')
-        self.body.append('\n')
-
-    def visit_title_reference(self, node):
-        """inline citation reference"""
-        self.body.append(self.defs['title_reference'][0])
-
-    def depart_title_reference(self, node):
-        self.body.append(self.defs['title_reference'][1])
-
-    def visit_topic(self, node):
-        pass
-
-    def depart_topic(self, node):
-        pass
-
-    def visit_sidebar(self, node):
-        pass
-
-    def depart_sidebar(self, node):
-        pass
-
-    def visit_rubric(self, node):
-        pass
-
-    def depart_rubric(self, node):
-        pass
-
-    def visit_transition(self, node):
-        # .PP      Begin a new paragraph and reset prevailing indent.
-        # .sp N    leaves N lines of blank space.
-        # .ce      centers the next line
-        self.body.append('\n.sp\n.ce\n----\n')
-
-    def depart_transition(self, node):
-        self.body.append('\n.ce 0\n.sp\n')
-
-    def visit_version(self, node):
-        self.visit_docinfo_item(node, 'version')
-
-    def visit_warning(self, node):
-        self.visit_admonition(node, 'warning')
-
-    depart_warning = depart_admonition
-
-    def unimplemented_visit(self, node):
-        raise NotImplementedError('visiting unimplemented node type: %s'
-                                  % node.__class__.__name__)
-
-# The following part is taken from the Docutils rst2man.py script:
-if __name__ == "__main__":
-    from docutils.core import publish_cmdline, default_description
-    description = ("Generates plain unix manual documents.  " +
-                   default_description)
-    publish_cmdline(writer=Writer(), description=description)
-
-# vim: set fileencoding=utf-8 et ts=4 ai :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/runrst	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+#
+# runrst - register custom roles and run correct writer
+#
+# Copyright 2010 Matt Mackall <mpm@selenic.com> and others
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+"""usage: %s WRITER args...
+
+where WRITER is the name of a Docutils writer such as 'html' or 'manpage'
+"""
+
+import sys
+from docutils.parsers.rst import roles
+from docutils.core import publish_cmdline
+from docutils import nodes, utils
+
+def role_hg(name, rawtext, text, lineno, inliner,
+            options={}, content=[]):
+    text = "hg " + utils.unescape(text)
+    linktext = nodes.literal(rawtext, text)
+    parts = text.split()
+    cmd, args = parts[1], parts[2:]
+    if cmd == 'help' and args:
+        cmd = args[0] # link to 'dates' for 'hg help dates'
+    node = nodes.reference(rawtext, '', linktext,
+                           refuri="hg.1.html#%s" % cmd)
+    return [node], []
+
+roles.register_local_role("hg", role_hg)
+
+if __name__ == "__main__":
+    if len(sys.argv) < 2:
+        sys.stderr.write(__doc__ % sys.argv[0])
+        sys.exit(1)
+
+    writer = sys.argv[1]
+    del sys.argv[1]
+
+    publish_cmdline(writer_name=writer)
--- a/hgeditor	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgeditor	Mon Jun 21 13:41:11 2010 -0500
@@ -25,12 +25,12 @@
 
 # Remove temporary files even if we get interrupted
 trap "cleanup_exit" 0 # normal exit
-trap "exit 255" 1 2 3 6 15 # HUP INT QUIT ABRT TERM
+trap "exit 255" HUP INT QUIT ABRT TERM
 
-HGTMP="${TMPDIR-/tmp}/hgeditor.$RANDOM.$RANDOM.$RANDOM.$$"
-(umask 077 && mkdir "$HGTMP") || {
-    echo "Could not create temporary directory! Exiting." 1>&2
-    exit 1
+HGTMP=$(mktemp -d ${TMPDIR-/tmp}/hgeditor.XXXXXX)
+[ x$HGTMP != x -a -d $HGTMP ] || {
+  echo "Could not create temporary directory! Exiting." 1>&2
+  exit 1
 }
 
 (
--- a/hgext/acl.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/acl.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,55 +7,176 @@
 
 '''hooks for controlling repository access
 
-This hook makes it possible to allow or deny write access to portions
-of a repository when receiving incoming changesets.
+This hook makes it possible to allow or deny write access to given
+branches and paths of a repository when receiving incoming changesets
+via pretxnchangegroup and pretxncommit.
 
 The authorization is matched based on the local user name on the
 system where the hook runs, and not the committer of the original
 changeset (since the latter is merely informative).
 
 The acl hook is best used along with a restricted shell like hgsh,
-preventing authenticating users from doing anything other than
-pushing or pulling. The hook is not safe to use if users have
-interactive shell access, as they can then disable the hook.
-Nor is it safe if remote users share an account, because then there
-is no way to distinguish them.
+preventing authenticating users from doing anything other than pushing
+or pulling. The hook is not safe to use if users have interactive
+shell access, as they can then disable the hook. Nor is it safe if
+remote users share an account, because then there is no way to
+distinguish them.
+
+The order in which access checks are performed is:
+
+1) Deny  list for branches (section ``acl.deny.branches``)
+2) Allow list for branches (section ``acl.allow.branches``)
+3) Deny  list for paths    (section ``acl.deny``)
+4) Allow list for paths    (section ``acl.allow``)
+
+The allow and deny sections take key-value pairs.
+
+Branch-based Access Control
+---------------------------
+
+Use the ``acl.deny.branches`` and ``acl.allow.branches`` sections to
+have branch-based access control. Keys in these sections can be
+either:
+
+- a branch name, or
+- an asterisk, to match any branch;
+
+The corresponding values can be either:
 
-To use this hook, configure the acl extension in your hgrc like this::
+- a comma-separated list containing users and groups, or
+- an asterisk, to match anyone;
+
+Path-based Access Control
+-------------------------
+
+Use the ``acl.deny`` and ``acl.allow`` sections to have path-based
+access control. Keys in these sections accept a subtree pattern (with
+a glob syntax by default). The corresponding values follow the same
+syntax as the other sections above.
 
-  [extensions]
-  acl =
+Groups
+------
+
+Group names must be prefixed with an ``@`` symbol. Specifying a group
+name has the same effect as specifying all the users in that group.
+
+You can define group members in the ``acl.groups`` section.
+If a group name is not defined there, and Mercurial is running under
+a Unix-like system, the list of users will be taken from the OS.
+Otherwise, an exception will be raised.
+
+Example Configuration
+---------------------
+
+::
 
   [hooks]
+
+  # Use this if you want to check access restrictions at commit time
+  pretxncommit.acl = python:hgext.acl.hook
+  
+  # Use this if you want to check access restrictions for pull, push,
+  # bundle and serve.
   pretxnchangegroup.acl = python:hgext.acl.hook
 
   [acl]
-  # Check whether the source of incoming changes is in this list
-  # ("serve" == ssh or http, "push", "pull", "bundle")
+  # Allow or deny access for incoming changes only if their source is
+  # listed here, let them pass otherwise. Source is "serve" for all
+  # remote access (http or ssh), "push", "pull" or "bundle" when the
+  # related commands are run locally.
+  # Default: serve
   sources = serve
 
-The allow and deny sections take a subtree pattern as key (with a glob
-syntax by default), and a comma separated list of users as the
-corresponding value. The deny list is checked before the allow list
-is. ::
+  [acl.deny.branches] 
+  
+  # Everyone is denied to the frozen branch: 
+  frozen-branch = * 
+  
+  # A bad user is denied on all branches: 
+  * = bad-user 
+  
+  [acl.allow.branches] 
+  
+  # A few users are allowed on branch-a: 
+  branch-a = user-1, user-2, user-3 
+  
+  # Only one user is allowed on branch-b: 
+  branch-b = user-1 
+  
+  # The super user is allowed on any branch: 
+  * = super-user 
+  
+  # Everyone is allowed on branch-for-tests: 
+  branch-for-tests = * 
+
+  [acl.deny]
+  # This list is checked first. If a match is found, acl.allow is not
+  # checked. All users are granted access if acl.deny is not present.
+  # Format for both lists: glob pattern = user, ..., @group, ...
+
+  # To match everyone, use an asterisk for the user:
+  # my/glob/pattern = *
+
+  # user6 will not have write access to any file:
+  ** = user6
+
+  # Group "hg-denied" will not have write access to any file:
+  ** = @hg-denied
+
+  # Nobody will be able to change "DONT-TOUCH-THIS.txt", despite
+  # everyone being able to change all other files. See below.
+  src/main/resources/DONT-TOUCH-THIS.txt = *
 
   [acl.allow]
-  # If acl.allow is not present, all users are allowed by default.
-  # An empty acl.allow section means no users allowed.
+  # if acl.allow is not present, all users are allowed by default
+  # empty acl.allow = no users allowed
+
+  # User "doc_writer" has write access to any file under the "docs"
+  # folder:
   docs/** = doc_writer
+
+  # User "jack" and group "designers" have write access to any file
+  # under the "images" folder:
+  images/** = jack, @designers
+
+  # Everyone (except for "user6" - see acl.deny above) will have write
+  # access to any file under the "resources" folder (except for 1
+  # file. See acl.deny):
+  src/main/resources/** = *
+
   .hgtags = release_engineer
 
-  [acl.deny]
-  # If acl.deny is not present, no users are refused by default.
-  # An empty acl.deny section means all users allowed.
-  glob pattern = user4, user5
-   ** = user6
 '''
 
 from mercurial.i18n import _
 from mercurial import util, match
 import getpass, urllib
 
+def _getusers(ui, group):
+
+    # First, try to use group definition from section [acl.groups]
+    hgrcusers = ui.configlist('acl.groups', group)
+    if hgrcusers:
+        return hgrcusers
+
+    ui.debug('acl: "%s" not defined in [acl.groups]\n' % group)
+    # If no users found in group definition, get users from OS-level group
+    try:
+        return util.groupmembers(group)
+    except KeyError:
+        raise util.Abort(_("group '%s' is undefined") % group)
+
+def _usermatch(ui, user, usersorgroups):
+
+    if usersorgroups == '*':
+        return True
+
+    for ug in usersorgroups.replace(',', ' ').split():
+        if user == ug or ug.find('@') == 0 and user in _getusers(ui, ug[1:]):
+            return True
+
+    return False
+
 def buildmatch(ui, repo, user, key):
     '''return tuple of (match function, list enabled).'''
     if not ui.has_section(key):
@@ -63,19 +184,26 @@
         return None
 
     pats = [pat for pat, users in ui.configitems(key)
-            if users == '*' or user in users.replace(',', ' ').split()]
+            if _usermatch(ui, user, users)]
     ui.debug('acl: %s enabled, %d entries for user %s\n' %
              (key, len(pats), user))
+
+    if not repo:
+        if pats:
+            return lambda b: '*' in pats or b in pats
+        return lambda b: False
+
     if pats:
         return match.match(repo.root, '', pats)
     return match.exact(repo.root, '', [])
 
 
 def hook(ui, repo, hooktype, node=None, source=None, **kwargs):
-    if hooktype != 'pretxnchangegroup':
+    if hooktype not in ['pretxnchangegroup', 'pretxncommit']:
         raise util.Abort(_('config error - hook type "%s" cannot stop '
-                           'incoming changesets') % hooktype)
-    if source not in ui.config('acl', 'sources', 'serve').split():
+                           'incoming changesets nor commits') % hooktype)
+    if (hooktype == 'pretxnchangegroup' and
+        source not in ui.config('acl', 'sources', 'serve').split()):
         ui.debug('acl: changes have source "%s" - skipping\n' % source)
         return
 
@@ -90,12 +218,28 @@
 
     cfg = ui.config('acl', 'config')
     if cfg:
-        ui.readconfig(cfg, sections = ['acl.allow', 'acl.deny'])
+        ui.readconfig(cfg, sections = ['acl.groups', 'acl.allow.branches',
+        'acl.deny.branches', 'acl.allow', 'acl.deny'])
+
+    allowbranches = buildmatch(ui, None, user, 'acl.allow.branches')
+    denybranches = buildmatch(ui, None, user, 'acl.deny.branches')
     allow = buildmatch(ui, repo, user, 'acl.allow')
     deny = buildmatch(ui, repo, user, 'acl.deny')
 
     for rev in xrange(repo[node], len(repo)):
         ctx = repo[rev]
+        branch = ctx.branch()
+        if denybranches and denybranches(branch):
+            raise util.Abort(_('acl: user "%s" denied on branch "%s"'
+                               ' (changeset "%s")')
+                               % (user, branch, ctx))
+        if allowbranches and not allowbranches(branch):
+            raise util.Abort(_('acl: user "%s" not allowed on branch "%s"'
+                               ' (changeset "%s")')
+                               % (user, branch, ctx))
+        ui.debug('acl: branch access granted: "%s" on branch "%s"\n'
+        % (ctx, branch))
+
         for f in ctx.files():
             if deny and deny(f):
                 ui.debug('acl: user %s denied on %s\n' % (user, f))
--- a/hgext/bookmarks.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/bookmarks.py	Mon Jun 21 13:41:11 2010 -0500
@@ -12,8 +12,8 @@
 changeset that is based on a changeset that has a bookmark on it, the
 bookmark shifts to the new changeset.
 
-It is possible to use bookmark names in every revision lookup (e.g. hg
-merge, hg update).
+It is possible to use bookmark names in every revision lookup (e.g.
+:hg:`merge`, :hg:`update`).
 
 By default, when several bookmarks point to the same changeset, they
 will all move forward together. It is possible to obtain a more
@@ -30,7 +30,7 @@
 
 from mercurial.i18n import _
 from mercurial.node import nullid, nullrev, hex, short
-from mercurial import util, commands, repair, extensions
+from mercurial import util, commands, repair, extensions, pushkey, hg
 import os
 
 def write(repo):
@@ -88,10 +88,10 @@
 
     Bookmarks are pointers to certain commits that move when
     committing. Bookmarks are local. They can be renamed, copied and
-    deleted. It is possible to use bookmark names in 'hg merge' and
-    'hg update' to merge and update respectively to a given bookmark.
+    deleted. It is possible to use bookmark names in :hg:`merge` and
+    :hg:`update` to merge and update respectively to a given bookmark.
 
-    You can use 'hg bookmark NAME' to set a bookmark on the working
+    You can use :hg:`bookmark NAME` to set a bookmark on the working
     directory's parent revision with the given name. If you specify
     a revision using -r REV (where REV may be an existing bookmark),
     the bookmark is assigned to that revision.
@@ -152,15 +152,22 @@
             for bmark, n in marks.iteritems():
                 if ui.configbool('bookmarks', 'track.current'):
                     current = repo._bookmarkcurrent
-                    prefix = (bmark == current and n == cur) and '*' or ' '
+                    if bmark == current and n == cur:
+                        prefix, label = '*', 'bookmarks.current'
+                    else:
+                        prefix, label = ' ', ''
                 else:
-                    prefix = (n == cur) and '*' or ' '
+                    if n == cur:
+                        prefix, label = '*', 'bookmarks.current'
+                    else:
+                        prefix, label = ' ', ''
 
                 if ui.quiet:
-                    ui.write("%s\n" % bmark)
+                    ui.write("%s\n" % bmark, label=label)
                 else:
                     ui.write(" %s %-25s %d:%s\n" % (
-                        prefix, bmark, repo.changelog.rev(n), hexfn(n)))
+                        prefix, bmark, repo.changelog.rev(n), hexfn(n)),
+                        label=label)
         return
 
 def _revstostrip(changelog, node):
@@ -234,10 +241,10 @@
                 file.close()
             return mark
 
-        def rollback(self):
+        def rollback(self, *args):
             if os.path.exists(self.join('undo.bookmarks')):
                 util.rename(self.join('undo.bookmarks'), self.join('bookmarks'))
-            return super(bookmark_repo, self).rollback()
+            return super(bookmark_repo, self).rollback(*args)
 
         def lookup(self, key):
             if key in self._bookmarks:
@@ -277,6 +284,54 @@
             finally:
                 wlock.release()
 
+        def pull(self, remote, heads=None, force=False):
+            result = super(bookmark_repo, self).pull(remote, heads, force)
+
+            self.ui.debug("checking for updated bookmarks\n")
+            rb = remote.listkeys('bookmarks')
+            changes = 0
+            for k in rb.keys():
+                if k in self._bookmarks:
+                    nr, nl = rb[k], self._bookmarks[k]
+                    if nr in self:
+                        cr = self[nr]
+                        cl = self[nl]
+                        if cl.rev() >= cr.rev():
+                            continue
+                        if cr in cl.descendants():
+                            self._bookmarks[k] = cr.node()
+                            changes += 1
+                            self.ui.status(_("updating bookmark %s\n") % k)
+                        else:
+                            self.ui.warn(_("not updating divergent"
+                                           " bookmark %s\n") % k)
+            if changes:
+                write(repo)
+
+            return result
+
+        def push(self, remote, force=False, revs=None, newbranch=False):
+            result = super(bookmark_repo, self).push(remote, force, revs,
+                                                     newbranch)
+
+            self.ui.debug("checking for updated bookmarks\n")
+            rb = remote.listkeys('bookmarks')
+            for k in rb.keys():
+                if k in self._bookmarks:
+                    nr, nl = rb[k], self._bookmarks[k]
+                    if nr in self:
+                        cr = self[nr]
+                        cl = self[nl]
+                        if cl in cr.descendants():
+                            r = remote.pushkey('bookmarks', k, nr, nl)
+                            if r:
+                                self.ui.status(_("updating bookmark %s\n") % k)
+                            else:
+                                self.ui.warn(_("failed to update bookmark"
+                                                  " %s!\n") % k)
+
+            return result
+
         def addchangegroup(self, source, srctype, url, emptyok=False):
             parents = self.dirstate.parents()
 
@@ -301,15 +356,109 @@
                 super(bookmark_repo, self).invalidate()
                 for attr in ('_bookmarks', '_bookmarkcurrent'):
                     if attr in self.__dict__:
-                        delattr(repo, attr)
+                        delattr(self, attr)
 
     repo.__class__ = bookmark_repo
 
+def listbookmarks(repo):
+    d = {}
+    for k, v in repo._bookmarks.iteritems():
+        d[k] = hex(v)
+    return d
+
+def pushbookmark(repo, key, old, new):
+    w = repo.wlock()
+    try:
+        marks = repo._bookmarks
+        if hex(marks.get(key, '')) != old:
+            return False
+        if new == '':
+            del marks[key]
+        else:
+            if new not in repo:
+                return False
+            marks[key] = repo[new].node()
+        write(repo)
+        return True
+    finally:
+        w.release()
+
+def pull(oldpull, ui, repo, source="default", **opts):
+    # translate bookmark args to rev args for actual pull
+    if opts.get('bookmark'):
+        # this is an unpleasant hack as pull will do this internally
+        source, branches = hg.parseurl(ui.expandpath(source),
+                                       opts.get('branch'))
+        other = hg.repository(hg.remoteui(repo, opts), source)
+        rb = other.listkeys('bookmarks')
+
+        for b in opts['bookmark']:
+            if b not in rb:
+                raise util.Abort(_('remote bookmark %s not found!') % b)
+            opts.setdefault('rev', []).append(b)
+
+    result = oldpull(ui, repo, source, **opts)
+
+    # update specified bookmarks
+    if opts.get('bookmark'):
+        for b in opts['bookmark']:
+            # explicit pull overrides local bookmark if any
+            ui.status(_("importing bookmark %s\n") % b)
+            repo._bookmarks[b] = repo[rb[b]].node()
+        write(repo)
+
+    return result
+
+def push(oldpush, ui, repo, dest=None, **opts):
+    dopush = True
+    if opts.get('bookmark'):
+        dopush = False
+        for b in opts['bookmark']:
+            if b in repo._bookmarks:
+                dopush = True
+                opts.setdefault('rev', []).append(b)
+
+    result = 0
+    if dopush:
+        result = oldpush(ui, repo, dest, **opts)
+
+    if opts.get('bookmark'):
+        # this is an unpleasant hack as push will do this internally
+        dest = ui.expandpath(dest or 'default-push', dest or 'default')
+        dest, branches = hg.parseurl(dest, opts.get('branch'))
+        other = hg.repository(hg.remoteui(repo, opts), dest)
+        rb = other.listkeys('bookmarks')
+        for b in opts['bookmark']:
+            # explicit push overrides remote bookmark if any
+            if b in repo._bookmarks:
+                ui.status(_("exporting bookmark %s\n") % b)
+                new = repo[b].hex()
+            else:
+                ui.status(_("deleting remote bookmark %s\n") % b)
+                new = '' # delete
+            old = rb.get(b, '')
+            r = other.pushkey('bookmarks', b, old, new)
+            if not r:
+                ui.warn(_('updating bookmark %s failed!\n') % b)
+                if not result:
+                    result = 2
+
+    return result
+
 def uisetup(ui):
     extensions.wrapfunction(repair, "strip", strip)
     if ui.configbool('bookmarks', 'track.current'):
         extensions.wrapcommand(commands.table, 'update', updatecurbookmark)
 
+    entry = extensions.wrapcommand(commands.table, 'pull', pull)
+    entry[1].append(('B', 'bookmark', [],
+                     _("bookmark to import")))
+    entry = extensions.wrapcommand(commands.table, 'push', push)
+    entry[1].append(('B', 'bookmark', [],
+                     _("bookmark to export")))
+
+    pushkey.register('bookmarks', pushbookmark, listbookmarks)
+
 def updatecurbookmark(orig, ui, repo, *args, **opts):
     '''Set the current bookmark
 
@@ -327,8 +476,10 @@
     "bookmarks":
         (bookmark,
          [('f', 'force', False, _('force')),
-          ('r', 'rev', '', _('revision')),
+          ('r', 'rev', '', _('revision'), _('REV')),
           ('d', 'delete', False, _('delete a given bookmark')),
-          ('m', 'rename', '', _('rename a given bookmark'))],
+          ('m', 'rename', '', _('rename a given bookmark'), _('NAME'))],
          _('hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]')),
 }
+
+colortable = {'bookmarks.current': 'green'}
--- a/hgext/children.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/children.py	Mon Jun 21 13:41:11 2010 -0500
@@ -38,7 +38,8 @@
 cmdtable = {
     "children":
         (children,
-         [('r', 'rev', '', _('show children of the specified revision')),
+         [('r', 'rev', '',
+           _('show children of the specified revision'), _('REV')),
          ] + templateopts,
          _('hg children [-r REV] [FILE]')),
 }
--- a/hgext/churn.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/churn.py	Mon Jun 21 13:41:11 2010 -0500
@@ -9,8 +9,8 @@
 '''command to display statistics about repository history'''
 
 from mercurial.i18n import _
-from mercurial import patch, cmdutil, util, templater
-import sys, os
+from mercurial import patch, cmdutil, util, templater, commands
+import os
 import time, datetime
 
 def maketemplater(ui, repo, tmpl):
@@ -48,7 +48,7 @@
             tmpl.show(ctx)
             return ui.popbuffer()
 
-    state = {'count': 0, 'pct': 0}
+    state = {'count': 0}
     rate = {}
     df = False
     if opts.get('date'):
@@ -74,20 +74,13 @@
             lines = changedlines(ui, repo, ctx1, ctx, fns)
             rate[key] = [r + l for r, l in zip(rate.get(key, (0, 0)), lines)]
 
-        if opts.get('progress'):
-            state['count'] += 1
-            newpct = int(100.0 * state['count'] / max(len(repo), 1))
-            if state['pct'] < newpct:
-                state['pct'] = newpct
-                ui.write("\r" + _("generating stats: %d%%") % state['pct'])
-                sys.stdout.flush()
+        state['count'] += 1
+        ui.progress(_('analyzing'), state['count'], total=len(repo))
 
     for ctx in cmdutil.walkchangerevs(repo, m, opts, prep):
         continue
 
-    if opts.get('progress'):
-        ui.write("\r")
-        sys.stdout.flush()
+    ui.progress(_('analyzing'), None)
 
     return rate
 
@@ -122,7 +115,7 @@
     It is possible to map alternate email addresses to a main address
     by providing a file using the following format::
 
-      <alias email> <actual email>
+      <alias email> = <actual email>
 
     Such a file may be specified with the --aliases option, otherwise
     a .hgchurn file will be looked for in the working directory root.
@@ -136,9 +129,8 @@
         aliases = repo.wjoin('.hgchurn')
     if aliases:
         for l in open(aliases, "r"):
-            l = l.strip()
-            alias, actual = l.split()
-            amap[alias] = actual
+            alias, actual = l.split('=' in l and '=' or None, 1)
+            amap[alias.strip()] = actual.strip()
 
     rate = countrate(ui, repo, amap, *pats, **opts).items()
     if not rate:
@@ -160,8 +152,10 @@
         def format(name, (added, removed)):
             return "%s %15s %s%s\n" % (pad(name, maxname),
                                        '+%d/-%d' % (added, removed),
-                                       '+' * charnum(added),
-                                       '-' * charnum(removed))
+                                       ui.label('+' * charnum(added),
+                                                'diffstat.inserted'),
+                                       ui.label('-' * charnum(removed),
+                                                'diffstat.deleted'))
     else:
         width -= 6
         def format(name, count):
@@ -178,16 +172,19 @@
 cmdtable = {
     "churn":
         (churn,
-         [('r', 'rev', [], _('count rate for the specified revision or range')),
-          ('d', 'date', '', _('count rate for revisions matching date spec')),
+         [('r', 'rev', [],
+           _('count rate for the specified revision or range'), _('REV')),
+          ('d', 'date', '',
+           _('count rate for revisions matching date spec'), _('DATE')),
           ('t', 'template', '{author|email}',
-           _('template to group changesets')),
+           _('template to group changesets'), _('TEMPLATE')),
           ('f', 'dateformat', '',
-              _('strftime-compatible format for grouping by date')),
+           _('strftime-compatible format for grouping by date'), _('FORMAT')),
           ('c', 'changesets', False, _('count rate by number of changesets')),
           ('s', 'sort', False, _('sort by key (default: sort by count)')),
           ('', 'diffstat', False, _('display added/removed lines separately')),
-          ('', 'aliases', '', _('file with email aliases')),
-          ('', 'progress', None, _('show progress'))],
-         _("hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]")),
+          ('', 'aliases', '',
+           _('file with email aliases'), _('FILE')),
+          ] + commands.walkopts,
+         _("hg churn [-d DATE] [-r REV] [--aliases FILE] [FILE]")),
 }
--- a/hgext/color.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/color.py	Mon Jun 21 13:41:11 2010 -0500
@@ -61,317 +61,228 @@
   resolve.resolved = green bold
 
   bookmarks.current = green
+
+The color extension will try to detect whether to use ANSI codes or
+Win32 console APIs, unless it is made explicit::
+
+  [color]
+  mode = ansi
+
+Any value other than 'ansi', 'win32', or 'auto' will disable color.
+
 '''
 
 import os, sys
 
-from mercurial import cmdutil, commands, extensions
+from mercurial import commands, dispatch, extensions
 from mercurial.i18n import _
 
 # start and stop parameters for effects
-_effect_params = {'none': 0,
-                  'black': 30,
-                  'red': 31,
-                  'green': 32,
-                  'yellow': 33,
-                  'blue': 34,
-                  'magenta': 35,
-                  'cyan': 36,
-                  'white': 37,
-                  'bold': 1,
-                  'italic': 3,
-                  'underline': 4,
-                  'inverse': 7,
-                  'black_background': 40,
-                  'red_background': 41,
-                  'green_background': 42,
-                  'yellow_background': 43,
-                  'blue_background': 44,
-                  'purple_background': 45,
-                  'cyan_background': 46,
-                  'white_background': 47}
+_effects = {'none': 0, 'black': 30, 'red': 31, 'green': 32, 'yellow': 33,
+            'blue': 34, 'magenta': 35, 'cyan': 36, 'white': 37, 'bold': 1,
+            'italic': 3, 'underline': 4, 'inverse': 7,
+            'black_background': 40, 'red_background': 41,
+            'green_background': 42, 'yellow_background': 43,
+            'blue_background': 44, 'purple_background': 45,
+            'cyan_background': 46, 'white_background': 47}
+
+_styles = {'grep.match': 'red bold',
+           'diff.changed': 'white',
+           'diff.deleted': 'red',
+           'diff.diffline': 'bold',
+           'diff.extended': 'cyan bold',
+           'diff.file_a': 'red bold',
+           'diff.file_b': 'green bold',
+           'diff.hunk': 'magenta',
+           'diff.inserted': 'green',
+           'diff.trailingwhitespace': 'bold red_background',
+           'diffstat.deleted': 'red',
+           'diffstat.inserted': 'green',
+           'log.changeset': 'yellow',
+           'resolve.resolved': 'green bold',
+           'resolve.unresolved': 'red bold',
+           'status.added': 'green bold',
+           'status.clean': 'none',
+           'status.copied': 'none',
+           'status.deleted': 'cyan bold underline',
+           'status.ignored': 'black bold',
+           'status.modified': 'blue bold',
+           'status.removed': 'red bold',
+           'status.unknown': 'magenta bold underline'}
+
 
 def render_effects(text, effects):
     'Wrap text in commands to turn on each effect.'
-    start = [str(_effect_params[e]) for e in ['none'] + effects]
+    if not text:
+        return text
+    start = [str(_effects[e]) for e in ['none'] + effects.split()]
     start = '\033[' + ';'.join(start) + 'm'
-    stop = '\033[' + str(_effect_params['none']) + 'm'
+    stop = '\033[' + str(_effects['none']) + 'm'
     return ''.join([start, text, stop])
 
-def _colorstatuslike(abbreviations, effectdefs, orig, ui, repo, *pats, **opts):
-    '''run a status-like command with colorized output'''
-    delimiter = opts.get('print0') and '\0' or '\n'
-
-    nostatus = opts.get('no_status')
-    opts['no_status'] = False
-    # run original command and capture its output
-    ui.pushbuffer()
-    retval = orig(ui, repo, *pats, **opts)
-    # filter out empty strings
-    lines_with_status = [line for line in ui.popbuffer().split(delimiter) if line]
-
-    if nostatus:
-        lines = [l[2:] for l in lines_with_status]
-    else:
-        lines = lines_with_status
-
-    # apply color to output and display it
-    for i in xrange(len(lines)):
-        try:
-            status = abbreviations[lines_with_status[i][0]]
-        except KeyError:
-            # Ignore lines with invalid codes, especially in the case of
-            # of unknown filenames containing newlines (issue2036).
-            pass
-        else:
-            effects = effectdefs[status]
-            if effects:
-                lines[i] = render_effects(lines[i], effects)
-        ui.write(lines[i] + delimiter)
-    return retval
-
-
-_status_abbreviations = { 'M': 'modified',
-                          'A': 'added',
-                          'R': 'removed',
-                          '!': 'deleted',
-                          '?': 'unknown',
-                          'I': 'ignored',
-                          'C': 'clean',
-                          ' ': 'copied', }
-
-_status_effects = { 'modified': ['blue', 'bold'],
-                    'added': ['green', 'bold'],
-                    'removed': ['red', 'bold'],
-                    'deleted': ['cyan', 'bold', 'underline'],
-                    'unknown': ['magenta', 'bold', 'underline'],
-                    'ignored': ['black', 'bold'],
-                    'clean': ['none'],
-                    'copied': ['none'], }
-
-def colorstatus(orig, ui, repo, *pats, **opts):
-    '''run the status command with colored output'''
-    return _colorstatuslike(_status_abbreviations, _status_effects,
-                            orig, ui, repo, *pats, **opts)
-
-
-_resolve_abbreviations = { 'U': 'unresolved',
-                           'R': 'resolved', }
-
-_resolve_effects = { 'unresolved': ['red', 'bold'],
-                     'resolved': ['green', 'bold'], }
-
-def colorresolve(orig, ui, repo, *pats, **opts):
-    '''run the resolve command with colored output'''
-    if not opts.get('list'):
-        # only colorize for resolve -l
-        return orig(ui, repo, *pats, **opts)
-    return _colorstatuslike(_resolve_abbreviations, _resolve_effects,
-                            orig, ui, repo, *pats, **opts)
-
-
-_bookmark_effects = { 'current': ['green'] }
-
-def colorbookmarks(orig, ui, repo, *pats, **opts):
-    def colorize(orig, s):
-        lines = s.split('\n')
-        for i, line in enumerate(lines):
-            if line.startswith(" *"):
-                lines[i] = render_effects(line, _bookmark_effects['current'])
-        orig('\n'.join(lines))
-    oldwrite = extensions.wrapfunction(ui, 'write', colorize)
-    try:
-        orig(ui, repo, *pats, **opts)
-    finally:
-        ui.write = oldwrite
-
-def colorqseries(orig, ui, repo, *dummy, **opts):
-    '''run the qseries command with colored output'''
-    ui.pushbuffer()
-    retval = orig(ui, repo, **opts)
-    patchlines = ui.popbuffer().splitlines()
-    patchnames = repo.mq.series
-
-    for patch, patchname in zip(patchlines, patchnames):
-        if opts['missing']:
-            effects = _patch_effects['missing']
-        # Determine if patch is applied.
-        elif [applied for applied in repo.mq.applied
-               if patchname == applied.name]:
-            effects = _patch_effects['applied']
-        else:
-            effects = _patch_effects['unapplied']
-
-        patch = patch.replace(patchname, render_effects(patchname, effects), 1)
-        ui.write(patch + '\n')
-    return retval
-
-_patch_effects = { 'applied': ['blue', 'bold', 'underline'],
-                    'missing': ['red', 'bold'],
-                    'unapplied': ['black', 'bold'], }
-def colorwrap(orig, *args):
-    '''wrap ui.write for colored diff output'''
-    def _colorize(s):
-        lines = s.split('\n')
-        for i, line in enumerate(lines):
-            stripline = line
-            if line and line[0] in '+-':
-                # highlight trailing whitespace, but only in changed lines
-                stripline = line.rstrip()
-            for prefix, style in _diff_prefixes:
-                if stripline.startswith(prefix):
-                    lines[i] = render_effects(stripline, _diff_effects[style])
-                    break
-            if line != stripline:
-                lines[i] += render_effects(
-                    line[len(stripline):], _diff_effects['trailingwhitespace'])
-        return '\n'.join(lines)
-    orig(*[_colorize(s) for s in args])
+def extstyles():
+    for name, ext in extensions.extensions():
+        _styles.update(getattr(ext, 'colortable', {}))
 
-def colorshowpatch(orig, self, node):
-    '''wrap cmdutil.changeset_printer.showpatch with colored output'''
-    oldwrite = extensions.wrapfunction(self.ui, 'write', colorwrap)
-    try:
-        orig(self, node)
-    finally:
-        self.ui.write = oldwrite
-
-def colordiffstat(orig, s):
-    lines = s.split('\n')
-    for i, line in enumerate(lines):
-        if line and line[-1] in '+-':
-            name, graph = line.rsplit(' ', 1)
-            graph = graph.replace('-',
-                        render_effects('-', _diff_effects['deleted']))
-            graph = graph.replace('+',
-                        render_effects('+', _diff_effects['inserted']))
-            lines[i] = ' '.join([name, graph])
-    orig('\n'.join(lines))
-
-def colordiff(orig, ui, repo, *pats, **opts):
-    '''run the diff command with colored output'''
-    if opts.get('stat'):
-        wrapper = colordiffstat
-    else:
-        wrapper = colorwrap
-    oldwrite = extensions.wrapfunction(ui, 'write', wrapper)
-    try:
-        orig(ui, repo, *pats, **opts)
-    finally:
-        ui.write = oldwrite
-
-def colorchurn(orig, ui, repo, *pats, **opts):
-    '''run the churn command with colored output'''
-    if not opts.get('diffstat'):
-        return orig(ui, repo, *pats, **opts)
-    oldwrite = extensions.wrapfunction(ui, 'write', colordiffstat)
-    try:
-        orig(ui, repo, *pats, **opts)
-    finally:
-        ui.write = oldwrite
-
-_diff_prefixes = [('diff', 'diffline'),
-                  ('copy', 'extended'),
-                  ('rename', 'extended'),
-                  ('old', 'extended'),
-                  ('new', 'extended'),
-                  ('deleted', 'extended'),
-                  ('---', 'file_a'),
-                  ('+++', 'file_b'),
-                  ('@', 'hunk'),
-                  ('-', 'deleted'),
-                  ('+', 'inserted')]
-
-_diff_effects = {'diffline': ['bold'],
-                 'extended': ['cyan', 'bold'],
-                 'file_a': ['red', 'bold'],
-                 'file_b': ['green', 'bold'],
-                 'hunk': ['magenta'],
-                 'deleted': ['red'],
-                 'inserted': ['green'],
-                 'changed': ['white'],
-                 'trailingwhitespace': ['bold', 'red_background']}
-
-def extsetup(ui):
-    '''Initialize the extension.'''
-    _setupcmd(ui, 'diff', commands.table, colordiff, _diff_effects)
-    _setupcmd(ui, 'incoming', commands.table, None, _diff_effects)
-    _setupcmd(ui, 'log', commands.table, None, _diff_effects)
-    _setupcmd(ui, 'outgoing', commands.table, None, _diff_effects)
-    _setupcmd(ui, 'tip', commands.table, None, _diff_effects)
-    _setupcmd(ui, 'status', commands.table, colorstatus, _status_effects)
-    _setupcmd(ui, 'resolve', commands.table, colorresolve, _resolve_effects)
-
-    try:
-        mq = extensions.find('mq')
-        _setupcmd(ui, 'qdiff', mq.cmdtable, colordiff, _diff_effects)
-        _setupcmd(ui, 'qseries', mq.cmdtable, colorqseries, _patch_effects)
-    except KeyError:
-        mq = None
-
-    try:
-        rec = extensions.find('record')
-        _setupcmd(ui, 'record', rec.cmdtable, colordiff, _diff_effects)
-    except KeyError:
-        rec = None
-
-    if mq and rec:
-        _setupcmd(ui, 'qrecord', rec.cmdtable, colordiff, _diff_effects)
-    try:
-        churn = extensions.find('churn')
-        _setupcmd(ui, 'churn', churn.cmdtable, colorchurn, _diff_effects)
-    except KeyError:
-        churn = None
-
-    try:
-        bookmarks = extensions.find('bookmarks')
-        _setupcmd(ui, 'bookmarks', bookmarks.cmdtable, colorbookmarks,
-                  _bookmark_effects)
-    except KeyError:
-        # The bookmarks extension is not enabled
-        pass
-
-def _setupcmd(ui, cmd, table, func, effectsmap):
-    '''patch in command to command table and load effect map'''
-    # check isatty() before anything else changes it (like pager)
-    isatty = sys.__stdout__.isatty()
-
-    def nocolor(orig, *args, **opts):
-
-        if (opts['no_color'] or opts['color'] == 'never' or
-            (opts['color'] == 'auto' and (os.environ.get('TERM') == 'dumb'
-                                          or not isatty))):
-            del opts['no_color']
-            del opts['color']
-            return orig(*args, **opts)
-
-        oldshowpatch = extensions.wrapfunction(cmdutil.changeset_printer,
-                                               'showpatch', colorshowpatch)
-        del opts['no_color']
-        del opts['color']
-        try:
-            if func is not None:
-                return func(orig, *args, **opts)
-            return orig(*args, **opts)
-        finally:
-            cmdutil.changeset_printer.showpatch = oldshowpatch
-
-    entry = extensions.wrapcommand(table, cmd, nocolor)
-    entry[1].extend([
-        ('', 'color', 'auto', _("when to colorize (always, auto, or never)")),
-        ('', 'no-color', None, _("don't colorize output (DEPRECATED)")),
-    ])
-
-    for status in effectsmap:
-        configkey = cmd + '.' + status
-        effects = ui.configlist('color', configkey)
-        if effects:
+def configstyles(ui):
+    for status, cfgeffects in ui.configitems('color'):
+        if '.' not in status:
+            continue
+        cfgeffects = ui.configlist('color', status)
+        if cfgeffects:
             good = []
-            for e in effects:
-                if e in _effect_params:
+            for e in cfgeffects:
+                if e in _effects:
                     good.append(e)
                 else:
                     ui.warn(_("ignoring unknown color/effect %r "
                               "(configured in color.%s)\n")
-                            % (e, configkey))
-            effectsmap[status] = good
+                            % (e, status))
+            _styles[status] = ' '.join(good)
+
+_buffers = None
+def style(msg, label):
+    effects = []
+    for l in label.split():
+        s = _styles.get(l, '')
+        if s:
+            effects.append(s)
+    effects = ''.join(effects)
+    if effects:
+        return '\n'.join([render_effects(s, effects)
+                          for s in msg.split('\n')])
+    return msg
+
+def popbuffer(orig, labeled=False):
+    global _buffers
+    if labeled:
+        return ''.join(style(a, label) for a, label in _buffers.pop())
+    return ''.join(a for a, label in _buffers.pop())
+
+mode = 'ansi'
+def write(orig, *args, **opts):
+    label = opts.get('label', '')
+    global _buffers
+    if _buffers:
+        _buffers[-1].extend([(str(a), label) for a in args])
+    elif mode == 'win32':
+        for a in args:
+            win32print(a, orig, **opts)
+    else:
+        return orig(*[style(str(a), label) for a in args], **opts)
+
+def write_err(orig, *args, **opts):
+    label = opts.get('label', '')
+    if mode == 'win32':
+        for a in args:
+            win32print(a, orig, **opts)
+    else:
+        return orig(*[style(str(a), label) for a in args], **opts)
+
+def uisetup(ui):
+    if ui.plain():
+        return
+    global mode
+    mode = ui.config('color', 'mode', 'auto')
+    if mode == 'auto':
+        if os.name == 'nt' and 'TERM' not in os.environ:
+            # looks line a cmd.exe console, use win32 API or nothing
+            mode = w32effects and 'win32' or 'none'
+        else:
+            mode = 'ansi'
+    if mode == 'win32':
+        if w32effects is None:
+            # only warn if color.mode is explicitly set to win32
+            ui.warn(_('win32console not found, please install pywin32\n'))
+            return
+        _effects.update(w32effects)
+    elif mode != 'ansi':
+        return
+    def colorcmd(orig, ui_, opts, cmd, cmdfunc):
+        if (opts['color'] == 'always' or
+            (opts['color'] == 'auto' and (os.environ.get('TERM') != 'dumb'
+                                          and ui_.formatted()))):
+            global _buffers
+            _buffers = ui_._buffers
+            extensions.wrapfunction(ui_, 'popbuffer', popbuffer)
+            extensions.wrapfunction(ui_, 'write', write)
+            extensions.wrapfunction(ui_, 'write_err', write_err)
+            ui_.label = style
+            extstyles()
+            configstyles(ui)
+        return orig(ui_, opts, cmd, cmdfunc)
+    extensions.wrapfunction(dispatch, '_runcommand', colorcmd)
+
+commands.globalopts.append(('', 'color', 'auto',
+                            _("when to colorize (always, auto, or never)"),
+                            _('TYPE')))
+
+try:
+    import re, pywintypes
+    from win32console import *
+
+    # http://msdn.microsoft.com/en-us/library/ms682088%28VS.85%29.aspx
+    w32effects = {
+        'none': 0,
+        'black': 0,
+        'red': FOREGROUND_RED,
+        'green': FOREGROUND_GREEN,
+        'yellow': FOREGROUND_RED | FOREGROUND_GREEN,
+        'blue': FOREGROUND_BLUE,
+        'magenta': FOREGROUND_BLUE | FOREGROUND_RED,
+        'cyan': FOREGROUND_BLUE | FOREGROUND_GREEN,
+        'white': FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE,
+        'bold': FOREGROUND_INTENSITY,
+        'black_background': 0,
+        'red_background': BACKGROUND_RED,
+        'green_background': BACKGROUND_GREEN,
+        'yellow_background': BACKGROUND_RED | BACKGROUND_GREEN,
+        'blue_background': BACKGROUND_BLUE,
+        'purple_background': BACKGROUND_BLUE | BACKGROUND_RED,
+        'cyan_background': BACKGROUND_BLUE | BACKGROUND_GREEN,
+        'white_background': BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE,
+        'bold_background': BACKGROUND_INTENSITY,
+        'underline': COMMON_LVB_UNDERSCORE,     # double-byte charsets only
+        'inverse': COMMON_LVB_REVERSE_VIDEO,    # double-byte charsets only
+    }
+
+    stdout = GetStdHandle(STD_OUTPUT_HANDLE)
+    try:
+        origattr = stdout.GetConsoleScreenBufferInfo()['Attributes']
+    except pywintypes.error:
+        # stdout may be defined but not support
+        # GetConsoleScreenBufferInfo(), when called from subprocess or
+        # redirected.
+        raise ImportError()
+    ansire = re.compile('\033\[([^m]*)m([^\033]*)(.*)', re.MULTILINE | re.DOTALL)
+
+    def win32print(text, orig, **opts):
+        label = opts.get('label', '')
+        attr = 0
+
+        # determine console attributes based on labels
+        for l in label.split():
+            style = _styles.get(l, '')
+            for effect in style.split():
+                attr |= w32effects[effect]
+
+        # hack to ensure regexp finds data
+        if not text.startswith('\033['):
+            text = '\033[m' + text
+
+        # Look for ANSI-like codes embedded in text
+        m = re.match(ansire, text)
+        while m:
+            for sattr in m.group(1).split(';'):
+                if sattr:
+                    val = int(sattr)
+                    attr = val and attr|val or 0
+            stdout.SetConsoleTextAttribute(attr or origattr)
+            orig(m.group(2), **opts)
+            m = re.match(ansire, m.group(3))
+
+        # Explicity reset original attributes
+        stdout.SetConsoleTextAttribute(origattr)
+
+except ImportError:
+    w32effects = None
--- a/hgext/convert/__init__.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/__init__.py	Mon Jun 21 13:41:11 2010 -0500
@@ -258,13 +258,20 @@
 cmdtable = {
     "convert":
         (convert,
-         [('A', 'authors', '', _('username mapping filename')),
-          ('d', 'dest-type', '', _('destination repository type')),
-          ('', 'filemap', '', _('remap file names using contents of file')),
-          ('r', 'rev', '', _('import up to target revision REV')),
-          ('s', 'source-type', '', _('source repository type')),
-          ('', 'splicemap', '', _('splice synthesized history into place')),
-          ('', 'branchmap', '', _('change branch names while converting')),
+         [('A', 'authors', '',
+           _('username mapping filename'), _('FILE')),
+          ('d', 'dest-type', '',
+           _('destination repository type'), _('TYPE')),
+          ('', 'filemap', '',
+           _('remap file names using contents of file'), _('FILE')),
+          ('r', 'rev', '',
+           _('import up to target revision REV'), _('REV')),
+          ('s', 'source-type', '',
+           _('source repository type'), _('TYPE')),
+          ('', 'splicemap', '',
+           _('splice synthesized history into place'), _('FILE')),
+          ('', 'branchmap', '',
+           _('change branch names while converting'), _('FILE')),
           ('', 'branchsort', None, _('try to sort changesets by branches')),
           ('', 'datesort', None, _('try to sort changesets by date')),
           ('', 'sourcesort', None, _('preserve source changesets order'))],
--- a/hgext/convert/bzr.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/bzr.py	Mon Jun 21 13:41:11 2010 -0500
@@ -109,18 +109,16 @@
             # the file is not available anymore - was deleted
             raise IOError(_('%s is not available in %s anymore') %
                     (name, rev))
+        mode = self._modecache[(name, rev)]
         if kind == 'symlink':
             target = revtree.get_symlink_target(fileid)
             if target is None:
                 raise util.Abort(_('%s.%s symlink has no target')
                                  % (name, rev))
-            return target
+            return target, mode
         else:
             sio = revtree.get_file(fileid)
-            return sio.read()
-
-    def getmode(self, name, rev):
-        return self._modecache[(name, rev)]
+            return sio.read(), mode
 
     def getchanges(self, version):
         # set up caches: modecache and revtree
--- a/hgext/convert/common.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/common.py	Mon Jun 21 13:41:11 2010 -0500
@@ -77,15 +77,10 @@
         raise NotImplementedError()
 
     def getfile(self, name, rev):
-        """Return file contents as a string. rev is the identifier returned
-        by a previous call to getchanges(). Raise IOError to indicate that
-        name was deleted in rev.
-        """
-        raise NotImplementedError()
-
-    def getmode(self, name, rev):
-        """Return file mode, eg. '', 'x', or 'l'. rev is the identifier
-        returned by a previous call to getchanges().
+        """Return a pair (data, mode) where data is the file content
+        as a string and mode one of '', 'x' or 'l'. rev is the
+        identifier returned by a previous call to getchanges(). Raise
+        IOError to indicate that name was deleted in rev.
         """
         raise NotImplementedError()
 
@@ -192,8 +187,8 @@
         changeset.  'files' is a list of (path, version) tuples,
         'copies' is a dictionary mapping destinations to sources,
         'source' is the source repository, and 'revmap' is a mapfile
-        of source revisions to converted revisions. Only getfile(),
-        getmode(), and lookuprev() should be called on 'source'.
+        of source revisions to converted revisions. Only getfile() and
+        lookuprev() should be called on 'source'.
 
         Note that the sink repository is not told to update itself to
         a particular revision (or even what that revision would be)
--- a/hgext/convert/convcmd.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/convcmd.py	Mon Jun 21 13:41:11 2010 -0500
@@ -72,6 +72,25 @@
             ui.note(_("convert: %s\n") % inst)
     raise util.Abort(_('%s: unknown repository type') % path)
 
+class progresssource(object):
+    def __init__(self, ui, source, filecount):
+        self.ui = ui
+        self.source = source
+        self.filecount = filecount
+        self.retrieved = 0
+
+    def getfile(self, file, rev):
+        self.retrieved += 1
+        self.ui.progress(_('retrieving file'), self.retrieved,
+                         item=file, total=self.filecount)
+        return self.source.getfile(file, rev)
+
+    def lookuprev(self, rev):
+        return self.source.lookuprev(rev)
+
+    def close(self):
+        self.ui.progress(_('retrieving file'), None)
+
 class converter(object):
     def __init__(self, ui, source, dest, revmapfile, opts):
 
@@ -111,11 +130,13 @@
             if n in known or n in self.map:
                 continue
             known.add(n)
+            self.ui.progress(_('scanning'), len(known), unit=_('revisions'))
             commit = self.cachecommit(n)
             parents[n] = []
             for p in commit.parents:
                 parents[n].append(p)
                 visit.append(p)
+        self.ui.progress(_('scanning'), None)
 
         return parents
 
@@ -302,8 +323,10 @@
             parents = [self.map.get(p, p) for p in parents]
         except KeyError:
             parents = [b[0] for b in pbranches]
+        source = progresssource(self.ui, self.source, len(files))
         newnode = self.dest.putcommit(files, copies, parents, commit,
-                                      self.source, self.map)
+                                      source, self.map)
+        source.close()
         self.source.converted(rev, newnode)
         self.map[rev] = newnode
 
@@ -321,7 +344,7 @@
             c = None
 
             self.ui.status(_("converting...\n"))
-            for c in t:
+            for i, c in enumerate(t):                
                 num -= 1
                 desc = self.commitcache[c].desc
                 if "\n" in desc:
@@ -331,7 +354,10 @@
                 # 'utf-8'
                 self.ui.status("%d %s\n" % (num, recode(desc)))
                 self.ui.note(_("source: %s\n") % recode(c))
+                self.ui.progress(_('converting'), i, unit=_('revisions'),
+                                 total=len(t))
                 self.copy(c)
+            self.ui.progress(_('converting'), None)
 
             tags = self.source.gettags()
             ctags = {}
--- a/hgext/convert/cvs.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/cvs.py	Mon Jun 21 13:41:11 2010 -0500
@@ -200,7 +200,7 @@
         self._parse()
         return self.heads
 
-    def _getfile(self, name, rev):
+    def getfile(self, name, rev):
 
         def chunkedread(fp, count):
             # file-objects returned by socked.makefile() do not handle
@@ -216,6 +216,7 @@
                 output.write(data)
             return output.getvalue()
 
+        self._parse()
         if rev.endswith("(DEAD)"):
             raise IOError
 
@@ -255,18 +256,8 @@
                 else:
                     raise util.Abort(_("unknown CVS response: %s") % line)
 
-    def getfile(self, file, rev):
-        self._parse()
-        data, mode = self._getfile(file, rev)
-        self.modecache[(file, rev)] = mode
-        return data
-
-    def getmode(self, file, rev):
-        return self.modecache[(file, rev)]
-
     def getchanges(self, rev):
         self._parse()
-        self.modecache = {}
         return sorted(self.files[rev].iteritems()), {}
 
     def getcommit(self, rev):
--- a/hgext/convert/cvsps.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/cvsps.py	Mon Jun 21 13:41:11 2010 -0500
@@ -239,12 +239,12 @@
                 continue
             match = re_01.match(line)
             if match:
-                raise Exception(match.group(1))
+                raise logerror(match.group(1))
             match = re_02.match(line)
             if match:
-                raise Exception(match.group(2))
+                raise logerror(match.group(2))
             if re_03.match(line):
-                raise Exception(line)
+                raise logerror(line)
 
         elif state == 1:
             # expect 'Working file' (only when using log instead of rlog)
--- a/hgext/convert/darcs.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/darcs.py	Mon Jun 21 13:41:11 2010 -0500
@@ -157,11 +157,11 @@
     def getfile(self, name, rev):
         if rev != self.lastrev:
             raise util.Abort(_('internal calling inconsistency'))
-        return open(os.path.join(self.tmppath, name), 'rb').read()
-
-    def getmode(self, name, rev):
-        mode = os.lstat(os.path.join(self.tmppath, name)).st_mode
-        return (mode & 0111) and 'x' or ''
+        path = os.path.join(self.tmppath, name)
+        data = open(path, 'rb').read()
+        mode = os.lstat(path).st_mode
+        mode = (mode & 0111) and 'x' or ''
+        return data, mode
 
     def gettags(self):
         return self.tags
--- a/hgext/convert/filemap.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/filemap.py	Mon Jun 21 13:41:11 2010 -0500
@@ -100,8 +100,7 @@
 #
 # - Filter and rename files.  This is mostly wrapped by the filemapper
 #   class above. We hide the original filename in the revision that is
-#   returned by getchanges to be able to find things later in getfile
-#   and getmode.
+#   returned by getchanges to be able to find things later in getfile.
 #
 # - Return only revisions that matter for the files we're interested in.
 #   This involves rewriting the parents of the original revision to
@@ -318,10 +317,9 @@
         self.convertedorder.append((rev, True, None))
         self._discard(*parents)
 
-        # Get the real changes and do the filtering/mapping.
-        # To be able to get the files later on in getfile and getmode,
-        # we hide the original filename in the rev part of the return
-        # value.
+        # Get the real changes and do the filtering/mapping. To be
+        # able to get the files later on in getfile, we hide the
+        # original filename in the rev part of the return value.
         changes, copies = self.base.getchanges(rev)
         newnames = {}
         files = []
@@ -345,10 +343,6 @@
         realname, realrev = rev
         return self.base.getfile(realname, realrev)
 
-    def getmode(self, name, rev):
-        realname, realrev = rev
-        return self.base.getmode(realname, realrev)
-
     def gettags(self):
         return self.base.gettags()
 
--- a/hgext/convert/git.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/git.py	Mon Jun 21 13:41:11 2010 -0500
@@ -67,10 +67,9 @@
         return data
 
     def getfile(self, name, rev):
-        return self.catfile(rev, "blob")
-
-    def getmode(self, name, rev):
-        return self.modecache[(name, rev)]
+        data = self.catfile(rev, "blob")
+        mode = self.modecache[(name, rev)]
+        return data, mode
 
     def getchanges(self, version):
         self.modecache = {}
--- a/hgext/convert/gnuarch.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/gnuarch.py	Mon Jun 21 13:41:11 2010 -0500
@@ -54,7 +54,6 @@
         self.changes = {}
         self.parents = {}
         self.tags = {}
-        self.modecache = {}
         self.catlogparser = Parser()
         self.locale = locale.getpreferredencoding()
         self.archives = []
@@ -142,16 +141,9 @@
         if not os.path.exists(os.path.join(self.tmppath, name)):
             raise IOError
 
-        data, mode = self._getfile(name, rev)
-        self.modecache[(name, rev)] = mode
-
-        return data
-
-    def getmode(self, name, rev):
-        return self.modecache[(name, rev)]
+        return self._getfile(name, rev)
 
     def getchanges(self, rev):
-        self.modecache = {}
         self._update(rev)
         changes = []
         copies = {}
--- a/hgext/convert/hg.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/hg.py	Mon Jun 21 13:41:11 2010 -0500
@@ -134,11 +134,11 @@
         files = dict(files)
         def getfilectx(repo, memctx, f):
             v = files[f]
-            data = source.getfile(f, v)
-            e = source.getmode(f, v)
+            data, mode = source.getfile(f, v)
             if f == '.hgtags':
                 data = self._rewritetags(source, revmap, data)
-            return context.memfilectx(f, data, 'l' in e, 'x' in e, copies.get(f))
+            return context.memfilectx(f, data, 'l' in mode, 'x' in mode,
+                                      copies.get(f))
 
         pl = []
         for p in parents:
@@ -266,13 +266,11 @@
 
     def getfile(self, name, rev):
         try:
-            return self.changectx(rev)[name].data()
+            fctx = self.changectx(rev)[name]
+            return fctx.data(), fctx.flags()
         except error.LookupError, err:
             raise IOError(err)
 
-    def getmode(self, name, rev):
-        return self.changectx(rev).manifest().flags(name)
-
     def getchanges(self, rev):
         ctx = self.changectx(rev)
         parents = self.parents(ctx)
--- a/hgext/convert/monotone.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/monotone.py	Mon Jun 21 13:41:11 2010 -0500
@@ -192,18 +192,16 @@
 
         return (files.items(), copies)
 
-    def getmode(self, name, rev):
-        self.mtnloadmanifest(rev)
-        node, attr = self.files.get(name, (None, ""))
-        return attr
-
     def getfile(self, name, rev):
         if not self.mtnisfile(name, rev):
             raise IOError() # file was deleted or renamed
         try:
-            return self.mtnrun("get_file_of", name, r=rev)
+            data = self.mtnrun("get_file_of", name, r=rev)
         except:
             raise IOError() # file was deleted or renamed
+        self.mtnloadmanifest(rev)
+        node, attr = self.files.get(name, (None, ""))
+        return data, attr
 
     def getcommit(self, rev):
         certs   = self.mtngetcerts(rev)
--- a/hgext/convert/p4.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/p4.py	Mon Jun 21 13:41:11 2010 -0500
@@ -41,7 +41,6 @@
         self.parent = {}
         self.encoding = "latin_1"
         self.depotname = {}           # mapping from local name to depot name
-        self.modecache = {}
         self.re_type = re.compile(
             "([a-z]+)?(text|binary|symlink|apple|resource|unicode|utf\d+)"
             "(\+\w+)?$")
@@ -54,7 +53,7 @@
 
     def _parse_view(self, path):
         "Read changes affecting the path"
-        cmd = 'p4 -G changes -s submitted "%s"' % path
+        cmd = 'p4 -G changes -s submitted %s' % util.shellquote(path)
         stdout = util.popen(cmd, mode='rb')
         for d in loaditer(stdout):
             c = d.get("change", None)
@@ -73,7 +72,7 @@
             else:
                 views = {"//": ""}
         else:
-            cmd = 'p4 -G client -o "%s"' % path
+            cmd = 'p4 -G client -o %s' % util.shellquote(path)
             clientspec = marshal.load(util.popen(cmd, mode='rb'))
 
             views = {}
@@ -149,7 +148,8 @@
         return self.heads
 
     def getfile(self, name, rev):
-        cmd = 'p4 -G print "%s#%s"' % (self.depotname[name], rev)
+        cmd = 'p4 -G print %s' \
+            % util.shellquote("%s#%s" % (self.depotname[name], rev))
         stdout = util.popen(cmd, mode='rb')
 
         mode = None
@@ -183,17 +183,12 @@
         if mode is None:
             raise IOError(0, "bad stat")
 
-        self.modecache[(name, rev)] = mode
-
         if keywords:
             contents = keywords.sub("$\\1$", contents)
         if mode == "l" and contents.endswith("\n"):
             contents = contents[:-1]
 
-        return contents
-
-    def getmode(self, name, rev):
-        return self.modecache[(name, rev)]
+        return contents, mode
 
     def getchanges(self, rev):
         return self.files[rev], {}
--- a/hgext/convert/subversion.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/convert/subversion.py	Mon Jun 21 13:41:11 2010 -0500
@@ -371,19 +371,10 @@
 
         return self.heads
 
-    def getfile(self, file, rev):
-        data, mode = self._getfile(file, rev)
-        self.modecache[(file, rev)] = mode
-        return data
-
-    def getmode(self, file, rev):
-        return self.modecache[(file, rev)]
-
     def getchanges(self, rev):
         if self._changescache and self._changescache[0] == rev:
             return self._changescache[1]
         self._changescache = None
-        self.modecache = {}
         (paths, parents) = self.paths[rev]
         if parents:
             files, self.removed, copies = self.expandpaths(rev, paths, parents)
@@ -612,9 +603,6 @@
 
     def expandpaths(self, rev, paths, parents):
         changed, removed = set(), set()
-        # Map of entrypath, revision for finding source of deleted
-        # revisions.
-        copyfrom = {}
         copies = {}
 
         new_module, revnum = self.revsplit(rev)[1:]
@@ -622,7 +610,9 @@
             self.module = new_module
             self.reparent(self.module)
 
-        for path, ent in paths:
+        for i, (path, ent) in enumerate(paths):
+            self.ui.progress(_('scanning paths'), i, item=path,
+                             total=len(paths))
             entrypath = self.getrelpath(path)
 
             kind = self._checkpath(entrypath, revnum)
@@ -652,10 +642,10 @@
                 elif fromkind == svn.core.svn_node_dir:
                     oroot = parentpath.strip('/')
                     nroot = path.strip('/')
-                    children = self._find_children(oroot, prevnum)
-                    children = [s.replace(oroot, nroot) for s in children]
-                    for child in children:
-                        childpath = self.getrelpath("/" + child, pmodule)
+                    children = self._iterfiles(oroot, prevnum)
+                    for childpath in children:
+                        childpath = childpath.replace(oroot, nroot)
+                        childpath = self.getrelpath("/" + childpath, pmodule)
                         if childpath:
                             removed.add(self.recode(childpath))
                 else:
@@ -674,18 +664,10 @@
                     if pkind == svn.core.svn_node_file:
                         removed.add(self.recode(entrypath))
 
-                children = sorted(self._find_children(path, revnum))
-                for child in children:
-                    # Can we move a child directory and its
-                    # parent in the same commit? (probably can). Could
-                    # cause problems if instead of revnum -1,
-                    # we have to look in (copyfrom_path, revnum - 1)
-                    entrypath = self.getrelpath("/" + child)
-                    if entrypath:
-                        # Need to filter out directories here...
-                        kind = self._checkpath(entrypath, revnum)
-                        if kind != svn.core.svn_node_dir:
-                            changed.add(self.recode(entrypath))
+                for childpath in self._iterfiles(path, revnum):
+                    childpath = self.getrelpath("/" + childpath)
+                    if childpath:
+                        changed.add(self.recode(childpath))
 
                 # Handle directory copies
                 if not ent.copyfrom_path or not parents:
@@ -698,19 +680,18 @@
                 copyfrompath = self.getrelpath(ent.copyfrom_path, pmodule)
                 if not copyfrompath:
                     continue
-                copyfrom[path] = ent
                 self.ui.debug("mark %s came from %s:%d\n"
                               % (path, copyfrompath, ent.copyfrom_rev))
-                children = self._find_children(ent.copyfrom_path, ent.copyfrom_rev)
-                children.sort()
-                for child in children:
-                    entrypath = self.getrelpath("/" + child, pmodule)
-                    if not entrypath:
+                children = self._iterfiles(ent.copyfrom_path, ent.copyfrom_rev)
+                for childpath in children:
+                    childpath = self.getrelpath("/" + childpath, pmodule)
+                    if not childpath:
                         continue
-                    copytopath = path + entrypath[len(copyfrompath):]
+                    copytopath = path + childpath[len(copyfrompath):]
                     copytopath = self.getrelpath(copytopath)
-                    copies[self.recode(copytopath)] = self.recode(entrypath)
+                    copies[self.recode(copytopath)] = self.recode(childpath)
 
+        self.ui.progress(_('scanning paths'), None)
         changed.update(removed)
         return (list(changed), removed, copies)
 
@@ -839,10 +820,10 @@
                 raise util.Abort(_('svn: branch has no revision %s') % to_revnum)
             raise
 
-    def _getfile(self, file, rev):
+    def getfile(self, file, rev):
         # TODO: ra.get_file transmits the whole file instead of diffs.
         if file in self.removed:
-            raise IOError()
+            raise IOError()         
         mode = ''
         try:
             new_module, revnum = self.revsplit(rev)[1:]
@@ -871,12 +852,14 @@
                 data = data[len(link_prefix):]
         return data, mode
 
-    def _find_children(self, path, revnum):
+    def _iterfiles(self, path, revnum):
+        """Enumerate all files in path at revnum, recursively."""
         path = path.strip('/')
         pool = Pool()
         rpath = '/'.join([self.baseurl, urllib.quote(path)]).strip('/')
-        return ['%s/%s' % (path, x) for x in
-                svn.client.ls(rpath, optrev(revnum), True, self.ctx, pool).keys()]
+        entries = svn.client.ls(rpath, optrev(revnum), True, self.ctx, pool)
+        return ((path + '/' + p) for p, e in entries.iteritems()
+                if e.kind == svn.core.svn_node_file)
 
     def getrelpath(self, path, module=None):
         if module is None:
@@ -1111,12 +1094,11 @@
         # Apply changes to working copy
         for f, v in files:
             try:
-                data = source.getfile(f, v)
+                data, mode = source.getfile(f, v)
             except IOError:
                 self.delete.append(f)
             else:
-                e = source.getmode(f, v)
-                self.putfile(f, e, data)
+                self.putfile(f, mode, data)
                 if f in copies:
                     self.copies.append([copies[f], f])
         files = [f[0] for f in files]
--- a/hgext/extdiff.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/extdiff.py	Mon Jun 21 13:41:11 2010 -0500
@@ -14,7 +14,7 @@
 files to compare.
 
 The extdiff extension also allows to configure new diff commands, so
-you do not need to type "hg extdiff -p kdiff3" always. ::
+you do not need to type :hg:`extdiff -p kdiff3` always. ::
 
   [extdiff]
   # add new command that runs GNU diff(1) in 'context diff' mode
@@ -35,10 +35,28 @@
   # your .vimrc
   vimdiff = gvim -f '+next' '+execute "DirDiff" argv(0) argv(1)'
 
-You can use -I/-X and list of file or directory names like normal "hg
-diff" command. The extdiff extension makes snapshots of only needed
-files, so running the external diff program will actually be pretty
-fast (at least faster than having to compare the entire tree).
+Tool arguments can include variables that are expanded at runtime::
+
+  $parent1, $plabel1 - filename, descriptive label of first parent
+  $child,   $clabel  - filename, descriptive label of child revision
+  $parent2, $plabel2 - filename, descriptive label of second parent
+  $parent is an alias for $parent1.
+
+The extdiff extension will look in your [diff-tools] and [merge-tools]
+sections for diff tool arguments, when none are specified in [extdiff].
+
+::
+
+  [extdiff]
+  kdiff3 =
+
+  [diff-tools]
+  kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
+
+You can use -I/-X and list of file or directory names like normal
+:hg:`diff` command. The extdiff extension makes snapshots of only
+needed files, so running the external diff program will actually be
+pretty fast (at least faster than having to compare the entire tree).
 '''
 
 from mercurial.i18n import _
@@ -133,18 +151,23 @@
         # Always make a copy of node1a (and node1b, if applicable)
         dir1a_files = mod_a | rem_a | ((mod_b | add_b) - add_a)
         dir1a = snapshot(ui, repo, dir1a_files, node1a, tmproot)[0]
+        rev1a = '@%d' % repo[node1a].rev()
         if do3way:
             dir1b_files = mod_b | rem_b | ((mod_a | add_a) - add_b)
             dir1b = snapshot(ui, repo, dir1b_files, node1b, tmproot)[0]
+            rev1b = '@%d' % repo[node1b].rev()
         else:
             dir1b = None
+            rev1b = ''
 
         fns_and_mtime = []
 
         # If node2 in not the wc or there is >1 change, copy it
         dir2root = ''
+        rev2 = ''
         if node2:
             dir2 = snapshot(ui, repo, modadd, node2, tmproot)[0]
+            rev2 = '@%d' % repo[node2].rev()
         elif len(common) > 1:
             #we only actually need to get the files to copy back to
             #the working dir in this case (because the other cases
@@ -156,23 +179,32 @@
             dir2 = ''
             dir2root = repo.root
 
+        label1a = rev1a
+        label1b = rev1b
+        label2 = rev2
+
         # If only one change, diff the files instead of the directories
         # Handle bogus modifies correctly by checking if the files exist
         if len(common) == 1:
             common_file = util.localpath(common.pop())
             dir1a = os.path.join(dir1a, common_file)
+            label1a = common_file + rev1a
             if not os.path.isfile(os.path.join(tmproot, dir1a)):
                 dir1a = os.devnull
             if do3way:
                 dir1b = os.path.join(dir1b, common_file)
+                label1b = common_file + rev1b
                 if not os.path.isfile(os.path.join(tmproot, dir1b)):
                     dir1b = os.devnull
             dir2 = os.path.join(dir2root, dir2, common_file)
+            label2 = common_file + rev2
 
         # Function to quote file/dir names in the argument string.
         # When not operating in 3-way mode, an empty string is
         # returned for parent2
-        replace = dict(parent=dir1a, parent1=dir1a, parent2=dir1b, child=dir2)
+        replace = dict(parent=dir1a, parent1=dir1a, parent2=dir1b,
+                       plabel1=label1a, plabel2=label1b,
+                       clabel=label2, child=dir2)
         def quote(match):
             key = match.group()[1:]
             if not do3way and key == 'parent2':
@@ -180,7 +212,7 @@
             return util.shellquote(replace[key])
 
         # Match parent2 first, so 'parent1?' will match both parent1 and parent
-        regex = '\$(parent2|parent1?|child)'
+        regex = '\$(parent2|parent1?|child|plabel1|plabel2|clabel)'
         if not do3way and not re.search(regex, args):
             args += ' $parent1 $child'
         args = re.sub(regex, quote, args)
@@ -227,10 +259,14 @@
 cmdtable = {
     "extdiff":
     (extdiff,
-     [('p', 'program', '', _('comparison program to run')),
-      ('o', 'option', [], _('pass option to comparison program')),
-      ('r', 'rev', [], _('revision')),
-      ('c', 'change', '', _('change made by revision')),
+     [('p', 'program', '',
+       _('comparison program to run'), _('CMD')),
+      ('o', 'option', [],
+       _('pass option to comparison program'), _('OPT')),
+      ('r', 'rev', [],
+       _('revision'), _('REV')),
+      ('c', 'change', '',
+       _('change made by revision'), _('REV')),
      ] + commands.walkopts,
      _('hg extdiff [OPT]... [FILE]...')),
     }
@@ -252,6 +288,12 @@
                 path = diffopts.pop(0)
             else:
                 path, diffopts = cmd, []
+        # look for diff arguments in [diff-tools] then [merge-tools]
+        if diffopts == []:
+            args = ui.config('diff-tools', cmd+'.diffargs') or \
+                   ui.config('merge-tools', cmd+'.diffargs')
+            if args:
+                diffopts = shlex.split(args)
         def save(cmd, path, diffopts):
             '''use closure to save diff command to use'''
             def mydiff(ui, repo, *pats, **opts):
--- a/hgext/fetch.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/fetch.py	Mon Jun 21 13:41:11 2010 -0500
@@ -28,7 +28,7 @@
     parent, with local changes as the second. To switch the merge
     order, use --switch-parent.
 
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    See :hg:`help dates` for a list of formats valid for -d/--date.
     '''
 
     date = opts.get('date')
@@ -61,7 +61,7 @@
             raise util.Abort(_('multiple heads in this branch '
                                '(use "hg heads ." and "hg merge" to merge)'))
 
-        other = hg.repository(cmdutil.remoteui(repo, opts),
+        other = hg.repository(hg.remoteui(repo, opts),
                               ui.expandpath(source))
         ui.status(_('pulling from %s\n') %
                   url.hidepassword(ui.expandpath(source)))
@@ -138,7 +138,8 @@
 cmdtable = {
     'fetch':
         (fetch,
-        [('r', 'rev', [], _('a specific revision you would like to pull')),
+        [('r', 'rev', [],
+          _('a specific revision you would like to pull'), _('REV')),
          ('e', 'edit', None, _('edit commit message')),
          ('', 'force-editor', None, _('edit commit message (DEPRECATED)')),
          ('', 'switch-parent', None, _('switch parents when merging')),
--- a/hgext/gpg.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/gpg.py	Mon Jun 21 13:41:11 2010 -0500
@@ -197,7 +197,7 @@
     If no revision is given, the parent of the working directory is used,
     or tip if no revision is checked out.
 
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    See :hg:`help dates` for a list of formats valid for -d/--date.
     """
 
     mygpg = newgpg(ui, **opts)
@@ -247,7 +247,7 @@
     repo.wfile(".hgsigs", "ab").write(sigmessage)
 
     if '.hgsigs' not in repo.dirstate:
-        repo.add([".hgsigs"])
+        repo[None].add([".hgsigs"])
 
     if opts["no_commit"]:
         return
@@ -276,8 +276,10 @@
          [('l', 'local', None, _('make the signature local')),
           ('f', 'force', None, _('sign even if the sigfile is modified')),
           ('', 'no-commit', None, _('do not commit the sigfile after signing')),
-          ('k', 'key', '', _('the key id to sign with')),
-          ('m', 'message', '', _('commit message')),
+          ('k', 'key', '',
+           _('the key id to sign with'), _('ID')),
+          ('m', 'message', '',
+           _('commit message'), _('TEXT')),
          ] + commands.commitopts2,
          _('hg sign [OPTION]... [REVISION]...')),
     "sigcheck": (check, [], _('hg sigcheck REVISION')),
--- a/hgext/graphlog.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/graphlog.py	Mon Jun 21 13:41:11 2010 -0500
@@ -18,7 +18,7 @@
 from mercurial.i18n import _
 from mercurial.node import nullrev
 from mercurial import bundlerepo, changegroup, cmdutil, commands, extensions
-from mercurial import hg, url, util, graphmod
+from mercurial import hg, url, util, graphmod, discovery
 
 ASCIIDATA = 'ASC'
 
@@ -279,11 +279,11 @@
     dest = ui.expandpath(dest or 'default-push', dest or 'default')
     dest, branches = hg.parseurl(dest, opts.get('branch'))
     revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev'))
-    other = hg.repository(cmdutil.remoteui(ui, opts), dest)
+    other = hg.repository(hg.remoteui(ui, opts), dest)
     if revs:
         revs = [repo.lookup(rev) for rev in revs]
     ui.status(_('comparing with %s\n') % url.hidepassword(dest))
-    o = repo.findoutgoing(other, force=opts.get('force'))
+    o = discovery.findoutgoing(repo, other, force=opts.get('force'))
     if not o:
         ui.status(_("no changes found\n"))
         return
@@ -306,12 +306,13 @@
 
     check_unsupported_flags(opts)
     source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch'))
-    other = hg.repository(cmdutil.remoteui(repo, opts), source)
+    other = hg.repository(hg.remoteui(repo, opts), source)
     revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev'))
     ui.status(_('comparing with %s\n') % url.hidepassword(source))
     if revs:
         revs = [other.lookup(rev) for rev in revs]
-    incoming = repo.findincoming(other, heads=revs, force=opts["force"])
+    incoming = discovery.findincoming(repo, other, heads=revs,
+                                      force=opts["force"])
     if not incoming:
         try:
             os.unlink(opts["bundle"])
@@ -369,9 +370,11 @@
 cmdtable = {
     "glog":
         (graphlog,
-         [('l', 'limit', '', _('limit number of changes displayed')),
+         [('l', 'limit', '',
+           _('limit number of changes displayed'), _('NUM')),
           ('p', 'patch', False, _('show patch')),
-          ('r', 'rev', [], _('show the specified revision or range')),
+          ('r', 'rev', [],
+           _('show the specified revision or range'), _('REV')),
          ] + templateopts,
          _('hg glog [OPTION]... [FILE]')),
 }
--- a/hgext/hgcia.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/hgcia.py	Mon Jun 21 13:41:11 2010 -0500
@@ -113,7 +113,7 @@
 
         n = self.ctx.node()
         pbuf = patchbuf()
-        patch.export(self.cia.repo, [n], fp=pbuf)
+        cmdutil.export(self.cia.repo, [n], fp=pbuf)
         return patch.diffstat(pbuf.lines) or ''
 
     def logmsg(self):
--- a/hgext/hgk.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/hgk.py	Mon Jun 21 13:41:11 2010 -0500
@@ -17,7 +17,7 @@
 the contrib directory, and the extension is shipped in the hgext
 repository, and needs to be enabled.
 
-The hg view command will launch the hgk Tcl script. For this command
+The :hg:`view` command will launch the hgk Tcl script. For this command
 to work, hgk must be in your search path. Alternately, you can specify
 the path to hgk in your .hgrc file::
 
@@ -314,7 +314,8 @@
 cmdtable = {
     "^view":
         (view,
-         [('l', 'limit', '', _('limit number of changes displayed'))],
+         [('l', 'limit', '',
+           _('limit number of changes displayed'), _('NUM'))],
          _('hg view [-l LIMIT] [REVRANGE]')),
     "debug-diff-tree":
         (difftree,
--- a/hgext/highlight/highlight.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/highlight/highlight.py	Mon Jun 21 13:41:11 2010 -0500
@@ -23,7 +23,7 @@
 def pygmentize(field, fctx, style, tmpl):
 
     # append a <link ...> to the syntax highlighting css
-    old_header = ''.join(tmpl('header'))
+    old_header = tmpl.load('header')
     if SYNTAX_CSS not in old_header:
         new_header =  old_header + SYNTAX_CSS
         tmpl.cache['header'] = new_header
--- a/hgext/inotify/__init__.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/inotify/__init__.py	Mon Jun 21 13:41:11 2010 -0500
@@ -41,7 +41,7 @@
         # to start an inotify server if it won't start.
         _inotifyon = True
 
-        def status(self, match, subrepos, ignored, clean, unknown=True):
+        def status(self, match, subrepos, ignored, clean, unknown):
             files = match.files()
             if '.' in files:
                 files = []
@@ -79,8 +79,11 @@
     '^inserve':
         (serve,
          [('d', 'daemon', None, _('run server in background')),
-          ('', 'daemon-pipefds', '', _('used internally by daemon mode')),
-          ('t', 'idle-timeout', '', _('minutes to sit idle before exiting')),
-          ('', 'pid-file', '', _('name of file to write process ID to'))],
+          ('', 'daemon-pipefds', '',
+           _('used internally by daemon mode'), _('NUM')),
+          ('t', 'idle-timeout', '',
+           _('minutes to sit idle before exiting'), _('NUM')),
+          ('', 'pid-file', '',
+           _('name of file to write process ID to'), _('FILE'))],
          _('hg inserve [OPTION]...')),
     }
--- a/hgext/keyword.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/keyword.py	Mon Jun 21 13:41:11 2010 -0500
@@ -1,6 +1,6 @@
 # keyword.py - $Keyword$ expansion for Mercurial
 #
-# Copyright 2007-2009 Christian Ebert <blacktrash@gmx.net>
+# Copyright 2007-2010 Christian Ebert <blacktrash@gmx.net>
 #
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
@@ -35,8 +35,8 @@
 change history. The mechanism can be regarded as a convenience for the
 current user or for archive distribution.
 
-Configuration is done in the [keyword] and [keywordmaps] sections of
-hgrc files.
+Configuration is done in the [keyword], [keywordset] and [keywordmaps]
+sections of hgrc files.
 
 Example::
 
@@ -45,31 +45,33 @@
     **.py =
     x*    = ignore
 
+    [keywordset]
+    # prefer svn- over cvs-like default keywordmaps
+    svn = True
+
 NOTE: the more specific you are in your filename patterns the less you
 lose speed in huge repositories.
 
 For [keywordmaps] template mapping and expansion demonstration and
-control run "hg kwdemo". See "hg help templates" for a list of
+control run :hg:`kwdemo`. See :hg:`help templates` for a list of
 available templates and filters.
 
-An additional date template filter {date|utcdate} is provided. It
-returns a date like "2006/09/18 15:13:13".
+Three additional date template filters are provided::
+
+    utcdate      "2006/09/18 15:13:13"
+    svnutcdate   "2006-09-18 15:13:13Z"
+    svnisodate   "2006-09-18 08:13:13 -700 (Mon, 18 Sep 2006)"
 
-The default template mappings (view with "hg kwdemo -d") can be
-replaced with customized keywords and templates. Again, run "hg
-kwdemo" to control the results of your config changes.
+The default template mappings (view with :hg:`kwdemo -d`) can be
+replaced with customized keywords and templates. Again, run
+:hg:`kwdemo` to control the results of your config changes.
 
-Before changing/disabling active keywords, run "hg kwshrink" to avoid
+Before changing/disabling active keywords, run :hg:`kwshrink` to avoid
 the risk of inadvertently storing expanded keywords in the change
 history.
 
 To force expansion after enabling it, or a configuration change, run
-"hg kwexpand".
-
-Also, when committing with the record extension or using mq's qrecord,
-be aware that keywords cannot be updated. Again, run "hg kwexpand" on
-the files in question to update keyword expansions after all changes
-have been checked in.
+:hg:`kwexpand`.
 
 Expansions spanning more than one line and incremental expansions,
 like CVS' $Log$, are not supported. A keyword template map "Log =
@@ -79,8 +81,6 @@
 from mercurial import commands, cmdutil, dispatch, filelog, revlog, extensions
 from mercurial import patch, localrepo, templater, templatefilters, util, match
 from mercurial.hgweb import webcommands
-from mercurial.lock import release
-from mercurial.node import nullid
 from mercurial.i18n import _
 import re, shutil, tempfile
 
@@ -93,24 +93,31 @@
 
 # hg commands that trigger expansion only when writing to working dir,
 # not when reading filelog, and unexpand when reading from working dir
-restricted = ('merge record resolve qfold qimport qnew qpush qrefresh qrecord'
-              ' transplant')
+restricted = 'merge record qrecord resolve transplant'
+
+# commands using dorecord
+recordcommands = 'record qrecord'
+# names of extensions using dorecord
+recordextensions = 'record'
 
-# provide cvs-like UTC date filter
+# date like in cvs' $Date
 utcdate = lambda x: util.datestr((x[0], 0), '%Y/%m/%d %H:%M:%S')
+# date like in svn's $Date
+svnisodate = lambda x: util.datestr(x, '%Y-%m-%d %H:%M:%S %1%2 (%a, %d %b %Y)')
+# date like in svn's $Id
+svnutcdate = lambda x: util.datestr((x[0], 0), '%Y-%m-%d %H:%M:%SZ')
 
 # make keyword tools accessible
 kwtools = {'templater': None, 'hgcmd': '', 'inc': [], 'exc': ['.hg*']}
 
 
-class kwtemplater(object):
-    '''
-    Sets up keyword templates, corresponding keyword regex, and
-    provides keyword substitution functions.
-    '''
+def _defaultkwmaps(ui):
+    '''Returns default keywordmaps according to keywordset configuration.'''
     templates = {
         'Revision': '{node|short}',
         'Author': '{author|user}',
+    }
+    kwsets = ({
         'Date': '{date|utcdate}',
         'RCSfile': '{file|basename},v',
         'RCSFile': '{file|basename},v', # kept for backwards compatibility
@@ -118,7 +125,21 @@
         'Source': '{root}/{file},v',
         'Id': '{file|basename},v {node|short} {date|utcdate} {author|user}',
         'Header': '{root}/{file},v {node|short} {date|utcdate} {author|user}',
-    }
+    }, {
+        'Date': '{date|svnisodate}',
+        'Id': '{file|basename},v {node|short} {date|svnutcdate} {author|user}',
+        'LastChangedRevision': '{node|short}',
+        'LastChangedBy': '{author|user}',
+        'LastChangedDate': '{date|svnisodate}',
+    })
+    templates.update(kwsets[ui.configbool('keywordset', 'svn')])
+    return templates
+
+class kwtemplater(object):
+    '''
+    Sets up keyword templates, corresponding keyword regex, and
+    provides keyword substitution functions.
+    '''
 
     def __init__(self, ui, repo):
         self.ui = ui
@@ -126,26 +147,31 @@
         self.match = match.match(repo.root, '', [],
                                  kwtools['inc'], kwtools['exc'])
         self.restrict = kwtools['hgcmd'] in restricted.split()
+        self.record = kwtools['hgcmd'] in recordcommands.split()
 
         kwmaps = self.ui.configitems('keywordmaps')
         if kwmaps: # override default templates
             self.templates = dict((k, templater.parsestring(v, False))
                                   for k, v in kwmaps)
+        else:
+            self.templates = _defaultkwmaps(self.ui)
         escaped = map(re.escape, self.templates.keys())
         kwpat = r'\$(%s)(: [^$\n\r]*? )??\$' % '|'.join(escaped)
         self.re_kw = re.compile(kwpat)
 
         templatefilters.filters['utcdate'] = utcdate
-        self.ct = cmdutil.changeset_templater(self.ui, self.repo,
-                                              False, None, '', False)
+        templatefilters.filters['svnisodate'] = svnisodate
+        templatefilters.filters['svnutcdate'] = svnutcdate
 
     def substitute(self, data, path, ctx, subfunc):
         '''Replaces keywords in data with expanded template.'''
         def kwsub(mobj):
             kw = mobj.group(1)
-            self.ct.use_template(self.templates[kw])
+            ct = cmdutil.changeset_templater(self.ui, self.repo,
+                                             False, None, '', False)
+            ct.use_template(self.templates[kw])
             self.ui.pushbuffer()
-            self.ct.show(ctx, root=self.repo.root, file=path)
+            ct.show(ctx, root=self.repo.root, file=path)
             ekw = templatefilters.firstline(self.ui.popbuffer())
             return '$%s: %s $' % (kw, ekw)
         return subfunc(kwsub, data)
@@ -163,37 +189,37 @@
         Caveat: localrepository._link fails on Windows.'''
         return self.match(path) and not 'l' in flagfunc(path)
 
-    def overwrite(self, node, expand, files):
+    def overwrite(self, ctx, candidates, iswctx, expand):
         '''Overwrites selected files expanding/shrinking keywords.'''
-        ctx = self.repo[node]
-        mf = ctx.manifest()
-        if node is not None:     # commit
-            files = [f for f in ctx.files() if f in mf]
-            notify = self.ui.debug
-        else:                    # kwexpand/kwshrink
-            notify = self.ui.note
-        candidates = [f for f in files if self.iskwfile(f, ctx.flags)]
+        if self.record:
+            candidates = [f for f in ctx.files() if f in ctx]
+        candidates = [f for f in candidates if self.iskwfile(f, ctx.flags)]
         if candidates:
-            self.restrict = True # do not expand when reading
+            self.restrict = True        # do not expand when reading
+            mf = ctx.manifest()
             msg = (expand and _('overwriting %s expanding keywords\n')
                    or _('overwriting %s shrinking keywords\n'))
             for f in candidates:
-                fp = self.repo.file(f)
-                data = fp.read(mf[f])
+                if not self.record:
+                    data = self.repo.file(f).read(mf[f])
+                else:
+                    data = self.repo.wread(f)
                 if util.binary(data):
                     continue
                 if expand:
-                    if node is None:
+                    if iswctx:
                         ctx = self.repo.filectx(f, fileid=mf[f]).changectx()
                     data, found = self.substitute(data, f, ctx,
                                                   self.re_kw.subn)
                 else:
                     found = self.re_kw.search(data)
                 if found:
-                    notify(msg % f)
+                    self.ui.note(msg % f)
                     self.repo.wwrite(f, data, mf.flags(f))
-                    if node is None:
+                    if iswctx:
                         self.repo.dirstate.normal(f)
+                    elif self.record:
+                        self.repo.dirstate.normallookup(f)
             self.restrict = False
 
     def shrinktext(self, text):
@@ -251,30 +277,27 @@
     '''Bails out if [keyword] configuration is not active.
     Returns status of working directory.'''
     if kwt:
-        unknown = (opts.get('unknown') or opts.get('all')
-                   or opts.get('untracked'))
         return repo.status(match=cmdutil.match(repo, pats, opts), clean=True,
-                           unknown=unknown)
+                           unknown=opts.get('unknown') or opts.get('all'))
     if ui.configitems('keyword'):
         raise util.Abort(_('[keyword] patterns cannot match'))
     raise util.Abort(_('no [keyword] patterns configured'))
 
 def _kwfwrite(ui, repo, expand, *pats, **opts):
     '''Selects files and passes them to kwtemplater.overwrite.'''
-    if repo.dirstate.parents()[1] != nullid:
+    wctx = repo[None]
+    if len(wctx.parents()) > 1:
         raise util.Abort(_('outstanding uncommitted merge'))
     kwt = kwtools['templater']
-    status = _status(ui, repo, kwt, *pats, **opts)
-    modified, added, removed, deleted = status[:4]
-    if modified or added or removed or deleted:
-        raise util.Abort(_('outstanding uncommitted changes'))
-    wlock = lock = None
+    wlock = repo.wlock()
     try:
-        wlock = repo.wlock()
-        lock = repo.lock()
-        kwt.overwrite(None, expand, status[6])
+        status = _status(ui, repo, kwt, *pats, **opts)
+        modified, added, removed, deleted, unknown, ignored, clean = status
+        if modified or added or removed or deleted:
+            raise util.Abort(_('outstanding uncommitted changes'))
+        kwt.overwrite(wctx, clean, True, expand)
     finally:
-        release(lock, wlock)
+        wlock.release()
 
 def demo(ui, repo, *args, **opts):
     '''print [keywordmaps] configuration and an expansion example
@@ -287,7 +310,7 @@
 
     Use -d/--default to disable current configuration.
 
-    See "hg help templates" for information on templates and filters.
+    See :hg:`help templates` for information on templates and filters.
     '''
     def demoitems(section, items):
         ui.write('[%s]\n' % section)
@@ -295,7 +318,6 @@
             ui.write('%s = %s\n' % (k, v))
 
     fn = 'demo.txt'
-    branchname = 'demobranch'
     tmpdir = tempfile.mkdtemp('', 'kwdemo.')
     ui.note(_('creating temporary repository at %s\n') % tmpdir)
     repo = localrepo.localrepository(ui, tmpdir, True)
@@ -320,46 +342,34 @@
         kwmaps = dict(ui.configitems('keywordmaps'))
     elif opts.get('default'):
         ui.status(_('\n\tconfiguration using default keyword template maps\n'))
-        kwmaps = kwtemplater.templates
+        kwmaps = _defaultkwmaps(ui)
         if uikwmaps:
             ui.status(_('\tdisabling current template maps\n'))
             for k, v in kwmaps.iteritems():
                 ui.setconfig('keywordmaps', k, v)
     else:
         ui.status(_('\n\tconfiguration using current keyword template maps\n'))
-        kwmaps = dict(uikwmaps) or kwtemplater.templates
+        kwmaps = dict(uikwmaps) or _defaultkwmaps(ui)
 
     uisetup(ui)
     reposetup(ui, repo)
-    for k, v in ui.configitems('extensions'):
-        if k.endswith('keyword'):
-            extension = '%s = %s' % (k, v)
-            break
-    ui.write('[extensions]\n%s\n' % extension)
+    ui.write('[extensions]\nkeyword =\n')
     demoitems('keyword', ui.configitems('keyword'))
     demoitems('keywordmaps', kwmaps.iteritems())
     keywords = '$' + '$\n$'.join(sorted(kwmaps.keys())) + '$\n'
     repo.wopener(fn, 'w').write(keywords)
-    repo.add([fn])
-    path = repo.wjoin(fn)
-    ui.note(_('\nkeywords written to %s:\n') % path)
+    repo[None].add([fn])
+    ui.note(_('\nkeywords written to %s:\n') % fn)
     ui.note(keywords)
-    ui.note('\nhg -R "%s" branch "%s"\n' % (tmpdir, branchname))
-    # silence branch command if not verbose
-    quiet = ui.quiet
-    ui.quiet = not ui.verbose
-    commands.branch(ui, repo, branchname)
-    ui.quiet = quiet
+    repo.dirstate.setbranch('demobranch')
     for name, cmd in ui.configitems('hooks'):
         if name.split('.', 1)[0].find('commit') > -1:
             repo.ui.setconfig('hooks', name, '')
-    ui.note(_('unhooked all commit hooks\n'))
     msg = _('hg keyword configuration and expansion example')
-    ui.note("hg -R '%s' ci -m '%s'\n" % (tmpdir, msg))
+    ui.note("hg ci -m '%s'\n" % msg)
     repo.commit(text=msg)
     ui.status(_('\n\tkeywords expanded\n'))
     ui.write(repo.wread(fn))
-    ui.debug('\nremoving temporary repository %s\n' % tmpdir)
     shutil.rmtree(tmpdir, ignore_errors=True)
 
 def expand(ui, repo, *pats, **opts):
@@ -382,7 +392,7 @@
     execution by including only files that are actual candidates for
     expansion.
 
-    See "hg help keyword" on how to construct patterns both for
+    See :hg:`help keyword` on how to construct patterns both for
     inclusion and exclusion of files.
 
     With -A/--all and -v/--verbose the codes used to show the status
@@ -398,7 +408,7 @@
     cwd = pats and repo.getcwd() or ''
     modified, added, removed, deleted, unknown, ignored, clean = status
     files = []
-    if not (opts.get('unknown') or opts.get('untracked')) or opts.get('all'):
+    if not opts.get('unknown') or opts.get('all'):
         files = sorted(modified + added + clean)
     wctx = repo[None]
     kwfiles = [f for f in files if kwt.iskwfile(f, wctx.flags)]
@@ -419,7 +429,7 @@
     '''revert expanded keywords in the working directory
 
     Run before changing/disabling active keywords or if you experience
-    problems with "hg import" or "hg merge".
+    problems with :hg:`import` or :hg:`merge`.
 
     kwshrink refuses to run if given files contain local changes.
     '''
@@ -485,22 +495,19 @@
                 del self.commitctx
 
         def kwcommitctx(self, ctx, error=False):
-            wlock = lock = None
-            try:
-                wlock = self.wlock()
-                lock = self.lock()
-                n = super(kwrepo, self).commitctx(ctx, error)
-                kwt.overwrite(n, True, None)
-                return n
-            finally:
-                release(lock, wlock)
+            n = super(kwrepo, self).commitctx(ctx, error)
+            # no lock needed, only called from repo.commit() which already locks
+            if not kwt.record:
+                kwt.overwrite(self[n], sorted(ctx.added() + ctx.modified()),
+                              False, True)
+            return n
 
     # monkeypatches
     def kwpatchfile_init(orig, self, ui, fname, opener,
-                         missing=False, eol=None):
+                         missing=False, eolmode=None):
         '''Monkeypatch/wrap patch.patchfile.__init__ to avoid
         rejects or conflicts due to expanded keywords in working dir.'''
-        orig(self, ui, fname, opener, missing, eol)
+        orig(self, ui, fname, opener, missing, eolmode)
         # shrink keywords read from working dir
         self.lines = kwt.shrinklines(self.fname, self.lines)
 
@@ -519,6 +526,21 @@
         kwt.match = util.never
         return orig(web, req, tmpl)
 
+    def kw_dorecord(orig, ui, repo, commitfunc, *pats, **opts):
+        '''Wraps record.dorecord expanding keywords after recording.'''
+        wlock = repo.wlock()
+        try:
+            # record returns 0 even when nothing has changed
+            # therefore compare nodes before and after
+            ctx = repo['.']
+            ret = orig(ui, repo, commitfunc, *pats, **opts)
+            recordctx = repo['.']
+            if ctx != recordctx:
+                kwt.overwrite(recordctx, None, False, True)
+            return ret
+        finally:
+            wlock.release()
+
     repo.__class__ = kwrepo
 
     extensions.wrapfunction(patch.patchfile, '__init__', kwpatchfile_init)
@@ -526,12 +548,19 @@
         extensions.wrapfunction(patch, 'diff', kw_diff)
     for c in 'annotate changeset rev filediff diff'.split():
         extensions.wrapfunction(webcommands, c, kwweb_skip)
+    for name in recordextensions.split():
+        try:
+            record = extensions.find(name)
+            extensions.wrapfunction(record, 'dorecord', kw_dorecord)
+        except KeyError:
+            pass
 
 cmdtable = {
     'kwdemo':
         (demo,
          [('d', 'default', None, _('show default keyword template maps')),
-          ('f', 'rcfile', '', _('read maps from rcfile'))],
+          ('f', 'rcfile', '',
+           _('read maps from rcfile'), _('FILE'))],
          _('hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]...')),
     'kwexpand': (expand, commands.walkopts,
                  _('hg kwexpand [OPTION]... [FILE]...')),
@@ -540,9 +569,6 @@
          [('A', 'all', None, _('show keyword status flags of all files')),
           ('i', 'ignore', None, _('show files excluded from expansion')),
           ('u', 'unknown', None, _('only show unknown (not tracked) files')),
-          ('a', 'all', None,
-           _('show keyword status flags of all files (DEPRECATED)')),
-          ('u', 'untracked', None, _('only show untracked files (DEPRECATED)')),
          ] + commands.walkopts,
          _('hg kwfiles [OPTION]... [FILE]...')),
     'kwshrink': (shrink, commands.walkopts,
--- a/hgext/mq.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/mq.py	Mon Jun 21 13:41:11 2010 -0500
@@ -14,7 +14,7 @@
 Known patches are represented as patch files in the .hg/patches
 directory. Applied patches are both patch files and changesets.
 
-Common tasks (use "hg help command" for more details)::
+Common tasks (use :hg:`help command` for more details)::
 
   create new patch                          qnew
   import existing patch                     qimport
@@ -37,6 +37,9 @@
 preserving existing git patches upon qrefresh. If set to 'yes' or
 'no', mq will override the [diff] section and always generate git or
 regular patches, possibly losing data in the second case.
+
+You will by default be managing a patch queue named "patches". You can
+create other, independent patch queues with the :hg:`qqueue` command.
 '''
 
 from mercurial.i18n import _
@@ -53,18 +56,10 @@
 normname = util.normpath
 
 class statusentry(object):
-    def __init__(self, rev, name=None):
-        if not name:
-            fields = rev.split(':', 1)
-            if len(fields) == 2:
-                self.rev, self.name = fields
-            else:
-                self.rev, self.name = None, None
-        else:
-            self.rev, self.name = rev, name
-
-    def __str__(self):
-        return self.rev + ':' + self.name
+    def __init__(self, node, name):
+        self.node, self.name = node, name
+    def __repr__(self):
+        return hex(self.node) + ':' + self.name
 
 class patchheader(object):
     def __init__(self, pf, plainmode=False):
@@ -79,8 +74,7 @@
                     break
         def eatempty(lines):
             while lines:
-                l = lines[-1]
-                if re.match('\s*$', l):
+                if not lines[-1].strip():
                     del lines[-1]
                 else:
                     break
@@ -242,7 +236,16 @@
 class queue(object):
     def __init__(self, ui, path, patchdir=None):
         self.basepath = path
-        self.path = patchdir or os.path.join(path, "patches")
+        try:
+            fh = open(os.path.join(path, 'patches.queue'))
+            cur = fh.read().rstrip()
+            if not cur:
+                curpath = os.path.join(path, 'patches')
+            else:
+                curpath = os.path.join(path, 'patches-' + cur)
+        except IOError:
+            curpath = os.path.join(path, 'patches')
+        self.path = patchdir or curpath
         self.opener = util.opener(self.path)
         self.ui = ui
         self.applied_dirty = 0
@@ -265,8 +268,11 @@
     @util.propertycache
     def applied(self):
         if os.path.exists(self.join(self.status_path)):
+            def parse(l):
+                n, name = l.split(':', 1)
+                return statusentry(bin(n), name)
             lines = self.opener(self.status_path).read().splitlines()
-            return [statusentry(l) for l in lines]
+            return [parse(l) for l in lines]
         return []
 
     @util.propertycache
@@ -329,16 +335,12 @@
         return os.path.join(self.path, *p)
 
     def find_series(self, patch):
-        pre = re.compile("(\s*)([^#]+)")
-        index = 0
-        for l in self.full_series:
-            m = pre.match(l)
-            if m:
-                s = m.group(2)
-                s = s.rstrip()
-                if s == patch:
-                    return index
-            index += 1
+        def matchpatch(l):
+            l = l.split('#', 1)[0]
+            return l.strip() == patch
+        for index, l in enumerate(self.full_series):
+            if matchpatch(l):
+                return index
         return None
 
     guard_re = re.compile(r'\s?#([-+][^-+# \t\r\n\f][^# \t\r\n\f]*)')
@@ -486,19 +488,9 @@
     def printdiff(self, repo, diffopts, node1, node2=None, files=None,
                   fp=None, changes=None, opts={}):
         stat = opts.get('stat')
-        if stat:
-            opts['unified'] = '0'
-
         m = cmdutil.match(repo, files, opts)
-        chunks = patch.diff(repo, node1, node2, m, changes, diffopts)
-        write = fp is None and repo.ui.write or fp.write
-        if stat:
-            width = self.ui.interactive() and util.termwidth() or 80
-            write(patch.diffstat(util.iterlines(chunks), width=width,
-                                 git=diffopts.git))
-        else:
-            for chunk in chunks:
-                write(chunk)
+        cmdutil.diffordiffstat(self.ui, repo, diffopts, node1, node2,  m,
+                               changes, stat, fp)
 
     def mergeone(self, repo, mergeq, head, patch, rev, diffopts):
         # first try just applying the patch
@@ -544,22 +536,16 @@
             (p1, p2) = repo.dirstate.parents()
             if p2 == nullid:
                 return p1
-            if len(self.applied) == 0:
+            if not self.applied:
                 return None
-            return bin(self.applied[-1].rev)
-        pp = repo.changelog.parents(rev)
-        if pp[1] != nullid:
-            arevs = [x.rev for x in self.applied]
-            p0 = hex(pp[0])
-            p1 = hex(pp[1])
-            if p0 in arevs:
-                return pp[0]
-            if p1 in arevs:
-                return pp[1]
-        return pp[0]
+            return self.applied[-1].node
+        p1, p2 = repo.changelog.parents(rev)
+        if p2 != nullid and p2 in [x.node for x in self.applied]:
+            return p2
+        return p1
 
     def mergepatch(self, repo, mergeq, series, diffopts):
-        if len(self.applied) == 0:
+        if not self.applied:
             # each of the patches merged in will have two parents.  This
             # can confuse the qrefresh, qdiff, and strip code because it
             # needs to know which parent is actually in the patch queue.
@@ -569,7 +555,7 @@
             pname = ".hg.patches.merge.marker"
             n = repo.commit('[mq]: merge marker', force=True)
             self.removeundo(repo)
-            self.applied.append(statusentry(hex(n), pname))
+            self.applied.append(statusentry(n, pname))
             self.applied_dirty = 1
 
         head = self.qparents(repo)
@@ -587,10 +573,10 @@
             if not info:
                 self.ui.warn(_("patch %s is not applied\n") % patch)
                 return (1, None)
-            rev = bin(info[1])
+            rev = info[1]
             err, head = self.mergeone(repo, mergeq, head, patch, rev, diffopts)
             if head:
-                self.applied.append(statusentry(hex(head), patch))
+                self.applied.append(statusentry(head, patch))
                 self.applied_dirty = 1
             if err:
                 return (err, head)
@@ -613,12 +599,12 @@
         return (True, files, fuzz)
 
     def apply(self, repo, series, list=False, update_status=True,
-              strict=False, patchdir=None, merge=None, all_files={}):
+              strict=False, patchdir=None, merge=None, all_files=None):
         wlock = lock = tr = None
         try:
             wlock = repo.wlock()
             lock = repo.lock()
-            tr = repo.transaction()
+            tr = repo.transaction("qpush")
             try:
                 ret = self._apply(repo, series, list, update_status,
                                   strict, patchdir, merge, all_files=all_files)
@@ -633,12 +619,11 @@
                     repo.dirstate.invalidate()
                 raise
         finally:
-            del tr
-            release(lock, wlock)
+            release(tr, lock, wlock)
             self.removeundo(repo)
 
     def _apply(self, repo, series, list=False, update_status=True,
-               strict=False, patchdir=None, merge=None, all_files={}):
+               strict=False, patchdir=None, merge=None, all_files=None):
         '''returns (error, hash)
         error = 1 for unable to read, 2 for patch failed, 3 for patch fuzz'''
         # TODO unify with commands.py
@@ -671,7 +656,8 @@
 
             if ph.haspatch:
                 (patcherr, files, fuzz) = self.patch(repo, pf)
-                all_files.update(files)
+                if all_files is not None:
+                    all_files.update(files)
                 patcherr = not patcherr
             else:
                 self.ui.warn(_("patch %s is empty\n") % patchname)
@@ -701,7 +687,7 @@
                 raise util.Abort(_("repo commit failed"))
 
             if update_status:
-                self.applied.append(statusentry(hex(n), patchname))
+                self.applied.append(statusentry(n, patchname))
 
             if patcherr:
                 self.ui.warn(_("patch failed, rejects left in working dir\n"))
@@ -718,7 +704,7 @@
         if not keep:
             r = self.qrepo()
             if r:
-                r.remove(patches, True)
+                r[None].remove(patches, True)
             else:
                 for p in patches:
                     os.unlink(self.join(p))
@@ -733,7 +719,7 @@
         self.series_dirty = 1
 
     def _revpatches(self, repo, revs):
-        firstrev = repo[self.applied[0].rev].rev()
+        firstrev = repo[self.applied[0].node].rev()
         patches = []
         for i, rev in enumerate(revs):
 
@@ -741,7 +727,7 @@
                 raise util.Abort(_('revision %d is not managed') % rev)
 
             ctx = repo[rev]
-            base = bin(self.applied[i].rev)
+            base = self.applied[i].node
             if ctx.node() != base:
                 msg = _('cannot delete revision %d above applied patches')
                 raise util.Abort(msg % rev)
@@ -789,8 +775,8 @@
         self._cleanup(realpatches, numrevs, opts.get('keep'))
 
     def check_toppatch(self, repo):
-        if len(self.applied) > 0:
-            top = bin(self.applied[-1].rev)
+        if self.applied:
+            top = self.applied[-1].node
             patch = self.applied[-1].name
             pp = repo.dirstate.parents()
             if top not in pp:
@@ -870,7 +856,7 @@
                     raise util.Abort(_("repo commit failed"))
                 try:
                     self.full_series[insert:insert] = [patchfn]
-                    self.applied.append(statusentry(hex(n), patchfn))
+                    self.applied.append(statusentry(n, patchfn))
                     self.parse_series()
                     self.series_dirty = 1
                     self.applied_dirty = 1
@@ -888,7 +874,7 @@
                     wlock = None
                     r = self.qrepo()
                     if r:
-                        r.add([patchfn])
+                        r[None].add([patchfn])
                 except:
                     repo.rollback()
                     raise
@@ -927,7 +913,7 @@
         """returns (index, rev, patch)"""
         for i, a in enumerate(self.applied):
             if a.name == patch:
-                return (i, a.rev, a.name)
+                return (i, a.node, a.name)
         return None
 
     # if the exact patch name does not exist, we try a few
@@ -950,7 +936,7 @@
                 return None
             if matches:
                 return matches[0]
-            if len(self.series) > 0 and len(self.applied) > 0:
+            if self.series and self.applied:
                 if s == 'qtip':
                     return self.series[self.series_end(True)-1]
                 if s == 'qbase':
@@ -1002,7 +988,7 @@
         raise util.Abort(_("patch %s not in series") % patch)
 
     def push(self, repo, patch=None, force=False, list=False,
-             mergeq=None, all=False):
+             mergeq=None, all=False, move=False):
         diffopts = self.diffopts()
         wlock = repo.wlock()
         try:
@@ -1058,6 +1044,15 @@
             if not force:
                 self.check_localchanges(repo)
 
+            if move:
+                try:
+                    del self.full_series[self.full_series.index(patch, start)]
+                except ValueError:
+                    raise util.Abort(_("patch '%s' not found") % patch)
+                self.full_series.insert(start, patch)
+                self.parse_series()
+                self.series_dirty = 1
+
             self.applied_dirty = 1
             if start > 0:
                 self.check_toppatch(repo)
@@ -1068,7 +1063,7 @@
                 end = self.series.index(patch, start) + 1
 
             s = self.series[start:end]
-            all_files = {}
+            all_files = set()
             try:
                 if mergeq:
                     ret = self.mergepatch(repo, mergeq, s, diffopts)
@@ -1078,12 +1073,15 @@
                 self.ui.warn(_('cleaning up working directory...'))
                 node = repo.dirstate.parents()[0]
                 hg.revert(repo, node, None)
-                unknown = repo.status(unknown=True)[4]
                 # only remove unknown files that we know we touched or
                 # created while patching
-                for f in unknown:
-                    if f in all_files:
-                        util.unlink(repo.wjoin(f))
+                for f in all_files:
+                    if f not in repo.dirstate:
+                        try:
+                            util.unlink(repo.wjoin(f))
+                        except OSError, inst:
+                            if inst.errno != errno.ENOENT:
+                                raise
                 self.ui.warn(_('done\n'))
                 raise
 
@@ -1101,10 +1099,6 @@
             wlock.release()
 
     def pop(self, repo, patch=None, force=False, update=True, all=False):
-        def getfile(f, rev, flags):
-            t = repo.file(f).read(rev)
-            repo.wwrite(f, t, flags)
-
         wlock = repo.wlock()
         try:
             if patch:
@@ -1116,7 +1110,7 @@
                 if not info:
                     raise util.Abort(_("patch %s is not applied") % patch)
 
-            if len(self.applied) == 0:
+            if not self.applied:
                 # Allow qpop -a to work repeatedly,
                 # but not qpop without an argument
                 self.ui.warn(_("no patches applied\n"))
@@ -1135,16 +1129,16 @@
 
             if not update:
                 parents = repo.dirstate.parents()
-                rr = [bin(x.rev) for x in self.applied]
+                rr = [x.node for x in self.applied]
                 for p in parents:
                     if p in rr:
                         self.ui.warn(_("qpop: forcing dirstate update\n"))
                         update = True
             else:
-                parents = [p.hex() for p in repo[None].parents()]
+                parents = [p.node() for p in repo[None].parents()]
                 needupdate = False
                 for entry in self.applied[start:]:
-                    if entry.rev in parents:
+                    if entry.node in parents:
                         needupdate = True
                         break
                 update = needupdate
@@ -1154,7 +1148,7 @@
 
             self.applied_dirty = 1
             end = len(self.applied)
-            rev = bin(self.applied[start].rev)
+            rev = self.applied[start].node
             if update:
                 top = self.check_toppatch(repo)[0]
 
@@ -1164,7 +1158,7 @@
                 node = short(rev)
                 raise util.Abort(_('trying to pop unknown node %s') % node)
 
-            if heads != [bin(self.applied[-1].rev)]:
+            if heads != [self.applied[-1].node]:
                 raise util.Abort(_("popping would remove a revision not "
                                    "managed by this patch queue"))
 
@@ -1172,8 +1166,7 @@
             # form of hg.update.
             if update:
                 qp = self.qparents(repo, rev)
-                changes = repo.changelog.read(qp)
-                mmap = repo.manifest.read(changes[0])
+                ctx = repo[qp]
                 m, a, r, d = repo.status(qp, top)[:4]
                 if d:
                     raise util.Abort(_("deletions found between repo revs"))
@@ -1184,18 +1177,16 @@
                         if e.errno != errno.ENOENT:
                             raise
                     repo.dirstate.forget(f)
-                for f in m:
-                    getfile(f, mmap[f], mmap.flags(f))
-                for f in r:
-                    getfile(f, mmap[f], mmap.flags(f))
                 for f in m + r:
+                    fctx = ctx[f]
+                    repo.wwrite(f, fctx.data(), fctx.flags())
                     repo.dirstate.normal(f)
                 repo.dirstate.setparents(qp, nullid)
             for patch in reversed(self.applied[start:end]):
                 self.ui.status(_("popping %s\n") % patch.name)
             del self.applied[start:end]
             self.strip(repo, rev, update=False, backup='strip')
-            if len(self.applied):
+            if self.applied:
                 self.ui.write(_("now at: %s\n") % self.applied[-1].name)
             else:
                 self.ui.write(_("patch queue now empty\n"))
@@ -1216,7 +1207,7 @@
         self.printdiff(repo, diffopts, node1, node2, files=pats, opts=opts)
 
     def refresh(self, repo, pats=None, **opts):
-        if len(self.applied) == 0:
+        if not self.applied:
             self.ui.write(_("no patches applied\n"))
             return 1
         msg = opts.get('msg', '').rstrip()
@@ -1228,8 +1219,7 @@
 
         try:
             self.check_toppatch(repo)
-            (top, patchfn) = (self.applied[-1].rev, self.applied[-1].name)
-            top = bin(top)
+            (top, patchfn) = (self.applied[-1].node, self.applied[-1].name)
             if repo.changelog.heads(top) != [top]:
                 raise util.Abort(_("cannot refresh a revision with children"))
 
@@ -1386,7 +1376,7 @@
                 patchf.rename()
                 n = repo.commit(message, user, ph.date, match=match,
                                 force=True)
-                self.applied.append(statusentry(hex(n), patchfn))
+                self.applied.append(statusentry(n, patchfn))
             except:
                 ctx = repo[cparents[0]]
                 repo.dirstate.rebuild(ctx.node(), ctx.manifest())
@@ -1426,20 +1416,24 @@
 
     def qseries(self, repo, missing=None, start=0, length=None, status=None,
                 summary=False):
-        def displayname(pfx, patchname):
+        def displayname(pfx, patchname, state):
+            if pfx:
+                self.ui.write(pfx)
             if summary:
                 ph = patchheader(self.join(patchname), self.plainmode)
                 msg = ph.message and ph.message[0] or ''
-                if not self.ui.plain():
+                if self.ui.formatted():
                     width = util.termwidth() - len(pfx) - len(patchname) - 2
                     if width > 0:
                         msg = util.ellipsis(msg, width)
                     else:
                         msg = ''
-                msg = "%s%s: %s" % (pfx, patchname, msg)
+                self.ui.write(patchname, label='qseries.' + state)
+                self.ui.write(': ')
+                self.ui.write(msg, label='qseries.message.' + state)
             else:
-                msg = pfx + patchname
-            self.ui.write(msg + '\n')
+                self.ui.write(patchname, label='qseries.' + state)
+            self.ui.write('\n')
 
         applied = set([p.name for p in self.applied])
         if length is None:
@@ -1450,17 +1444,17 @@
             for i in xrange(start, start + length):
                 patch = self.series[i]
                 if patch in applied:
-                    stat = 'A'
+                    char, state = 'A', 'applied'
                 elif self.pushable(i)[0]:
-                    stat = 'U'
+                    char, state = 'U', 'unapplied'
                 else:
-                    stat = 'G'
+                    char, state = 'G', 'guarded'
                 pfx = ''
                 if self.ui.verbose:
-                    pfx = '%*d %s ' % (idxwidth, i, stat)
-                elif status and status != stat:
+                    pfx = '%*d %s ' % (idxwidth, i, char)
+                elif status and status != char:
                     continue
-                displayname(pfx, patch)
+                displayname(pfx, patch, state)
         else:
             msng_list = []
             for root, dirs, files in os.walk(self.path):
@@ -1474,7 +1468,7 @@
                         msng_list.append(fl)
             for x in sorted(msng_list):
                 pfx = self.ui.verbose and ('D ') or ''
-                displayname(pfx, x)
+                displayname(pfx, x, 'missing')
 
     def issaveline(self, l):
         if l.name == '.hg.patches.save.line':
@@ -1485,8 +1479,7 @@
             return hg.repository(self.ui, path=self.path, create=create)
 
     def restore(self, repo, rev, delete=None, qupdate=None):
-        c = repo.changelog.read(rev)
-        desc = c[4].strip()
+        desc = repo[rev].description().strip()
         lines = desc.splitlines()
         i = 0
         datastart = None
@@ -1502,12 +1495,11 @@
                 qpp = [bin(x) for x in l]
             elif datastart != None:
                 l = line.rstrip()
-                se = statusentry(l)
-                file_ = se.name
-                if se.rev:
-                    applied.append(se)
+                n, name = l.split(':', 1)
+                if n:
+                    applied.append(statusentry(bin(n), name))
                 else:
-                    series.append(file_)
+                    series.append(l)
         if datastart is None:
             self.ui.warn(_("No saved patch data found\n"))
             return 1
@@ -1541,14 +1533,13 @@
                 hg.clean(r, qpp[0])
 
     def save(self, repo, msg=None):
-        if len(self.applied) == 0:
+        if not self.applied:
             self.ui.warn(_("save: no patches applied, exiting\n"))
             return 1
         if self.issaveline(self.applied[-1]):
             self.ui.warn(_("status is already saved\n"))
             return 1
 
-        ar = [':' + x for x in self.full_series]
         if not msg:
             msg = _("hg patches saved state")
         else:
@@ -1558,18 +1549,18 @@
             pp = r.dirstate.parents()
             msg += "\nDirstate: %s %s" % (hex(pp[0]), hex(pp[1]))
         msg += "\n\nPatch Data:\n"
-        text = msg + "\n".join([str(x) for x in self.applied]) + '\n' + (ar and
-                   "\n".join(ar) + '\n' or "")
-        n = repo.commit(text, force=True)
+        msg += ''.join('%s\n' % x for x in self.applied)
+        msg += ''.join(':%s\n' % x for x in self.full_series)
+        n = repo.commit(msg, force=True)
         if not n:
             self.ui.warn(_("repo commit failed\n"))
             return 1
-        self.applied.append(statusentry(hex(n),'.hg.patches.save.line'))
+        self.applied.append(statusentry(n, '.hg.patches.save.line'))
         self.applied_dirty = 1
         self.removeundo(repo)
 
     def full_series_end(self):
-        if len(self.applied) > 0:
+        if self.applied:
             p = self.applied[-1].name
             end = self.find_series(p)
             if end is None:
@@ -1584,17 +1575,15 @@
         """
         end = 0
         def next(start):
-            if all_patches:
+            if all_patches or start >= len(self.series):
                 return start
-            i = start
-            while i < len(self.series):
+            for i in xrange(start, len(self.series)):
                 p, reason = self.pushable(i)
                 if p:
                     break
                 self.explain_pushable(i)
-                i += 1
             return i
-        if len(self.applied) > 0:
+        if self.applied:
             p = self.applied[-1].name
             try:
                 end = self.series.index(p)
@@ -1631,7 +1620,6 @@
         if (len(files) > 1 or len(rev) > 1) and patchname:
             raise util.Abort(_('option "-n" not valid when importing multiple '
                                'patches'))
-        i = 0
         added = []
         if rev:
             # If mq patches are applied, we can only import revisions
@@ -1642,14 +1630,14 @@
                 raise util.Abort(_('revision %d is the root of more than one '
                                    'branch') % rev[-1])
             if self.applied:
-                base = hex(repo.changelog.node(rev[0]))
-                if base in [n.rev for n in self.applied]:
+                base = repo.changelog.node(rev[0])
+                if base in [n.node for n in self.applied]:
                     raise util.Abort(_('revision %d is already managed')
                                      % rev[0])
-                if heads != [bin(self.applied[-1].rev)]:
+                if heads != [self.applied[-1].node]:
                     raise util.Abort(_('revision %d is not the parent of '
                                        'the queue') % rev[0])
-                base = repo.changelog.rev(bin(self.applied[0].rev))
+                base = repo.changelog.rev(self.applied[0].node)
                 lastparent = repo.changelog.parentrevs(base)[0]
             else:
                 if heads != [repo.changelog.node(rev[0])]:
@@ -1676,10 +1664,10 @@
                 self.full_series.insert(0, patchname)
 
                 patchf = self.opener(patchname, "w")
-                patch.export(repo, [n], fp=patchf, opts=diffopts)
+                cmdutil.export(repo, [n], fp=patchf, opts=diffopts)
                 patchf.close()
 
-                se = statusentry(hex(n), patchname)
+                se = statusentry(n, patchname)
                 self.applied.insert(0, se)
 
                 added.append(patchname)
@@ -1687,7 +1675,7 @@
             self.parse_series()
             self.applied_dirty = 1
 
-        for filename in files:
+        for i, filename in enumerate(files):
             if existing:
                 if filename == '-':
                     raise util.Abort(_('-e is incompatible with import from -'))
@@ -1720,13 +1708,12 @@
                 self.full_series[index:index] = [patchname]
             self.parse_series()
             self.ui.warn(_("adding %s to series file\n") % patchname)
-            i += 1
             added.append(patchname)
             patchname = None
         self.series_dirty = 1
         qrepo = self.qrepo()
         if qrepo:
-            qrepo.add(added)
+            qrepo[None].add(added)
 
 def delete(ui, repo, *patches, **opts):
     """remove patches from queue
@@ -1735,7 +1722,7 @@
     -k/--keep, the patch files are preserved in the patch directory.
 
     To stop managing a patch and move it into permanent history,
-    use the qfinish command."""
+    use the :hg:`qfinish` command."""
     q = repo.mq
     q.delete(repo, patches, opts)
     q.save_dirty()
@@ -1845,7 +1832,7 @@
             fp.close()
         if not os.path.exists(r.wjoin('series')):
             r.wopener('series', 'w').close()
-        r.add(['.hgignore', 'series'])
+        r[None].add(['.hgignore', 'series'])
         commands.add(ui, r)
     return 0
 
@@ -1859,7 +1846,7 @@
     qcommit to commit changes to this queue repository.
 
     This command is deprecated. Without -c, it's implied by other relevant
-    commands. With -c, use hg init --mq instead."""
+    commands. With -c, use :hg:`init --mq` instead."""
     return qinit(ui, repo, create=opts['create_repo'])
 
 def clone(ui, source, dest=None, **opts):
@@ -1875,7 +1862,7 @@
     default. Use -p <url> to change.
 
     The patch directory must be a nested Mercurial repository, as
-    would be created by init --mq.
+    would be created by :hg:`init --mq`.
     '''
     def patchdir(repo):
         url = repo.url()
@@ -1884,7 +1871,7 @@
         return url + '/.hg/patches'
     if dest is None:
         dest = hg.defaultdest(source)
-    sr = hg.repository(cmdutil.remoteui(ui, opts), ui.expandpath(source))
+    sr = hg.repository(hg.remoteui(ui, opts), ui.expandpath(source))
     if opts['patches']:
         patchespath = ui.expandpath(opts['patches'])
     else:
@@ -1897,7 +1884,7 @@
     qbase, destrev = None, None
     if sr.local():
         if sr.mq.applied:
-            qbase = bin(sr.mq.applied[0].rev)
+            qbase = sr.mq.applied[0].node
             if not hg.islocal(dest):
                 heads = set(sr.heads())
                 destrev = list(heads.difference(sr.heads(qbase)))
@@ -1929,7 +1916,7 @@
 def commit(ui, repo, *pats, **opts):
     """commit changes in the queue repository (DEPRECATED)
 
-    This command is deprecated; use hg commit --mq instead."""
+    This command is deprecated; use :hg:`commit --mq` instead."""
     q = repo.mq
     r = q.qrepo()
     if not r:
@@ -2056,9 +2043,9 @@
     last refresh (thus showing what the current patch would become
     after a qrefresh).
 
-    Use 'hg diff' if you only want to see the changes made since the
-    last qrefresh, or 'hg export qtip' if you want to see changes made
-    by the current patch without including changes made since the
+    Use :hg:`diff` if you only want to see the changes made since the
+    last qrefresh, or :hg:`export qtip` if you want to see changes
+    made by the current patch without including changes made since the
     qrefresh.
     """
     repo.mq.diff(repo, pats, opts)
@@ -2144,8 +2131,8 @@
 
     Guards control whether a patch can be pushed. A patch with no
     guards is always pushed. A patch with a positive guard ("+foo") is
-    pushed only if the qselect command has activated it. A patch with
-    a negative guard ("-foo") is never pushed if the qselect command
+    pushed only if the :hg:`qselect` command has activated it. A patch with
+    a negative guard ("-foo") is never pushed if the :hg:`qselect` command
     has activated it.
 
     With no arguments, print the currently active guards.
@@ -2158,7 +2145,17 @@
     '''
     def status(idx):
         guards = q.series_guards[idx] or ['unguarded']
-        ui.write('%s: %s\n' % (q.series[idx], ' '.join(guards)))
+        ui.write('%s: ' % ui.label(q.series[idx], 'qguard.patch'))
+        for i, guard in enumerate(guards):
+            if guard.startswith('+'):
+                ui.write(guard, label='qguard.positive')
+            elif guard.startswith('-'):
+                ui.write(guard, label='qguard.negative')
+            else:
+                ui.write(guard, label='qguard.unguarded')
+            if i != len(guards) - 1:
+                ui.write(' ')
+        ui.write('\n')
     q = repo.mq
     patch = None
     args = list(args)
@@ -2244,7 +2241,7 @@
         mergeq = queue(ui, repo.join(""), newpath)
         ui.warn(_("merging with queue at: %s\n") % mergeq.path)
     ret = q.push(repo, patch, force=opts['force'], list=opts['list'],
-                 mergeq=mergeq, all=opts.get('all'))
+                 mergeq=mergeq, all=opts.get('all'), move=opts.get('move'))
     return ret
 
 def pop(ui, repo, patch=None, **opts):
@@ -2311,6 +2308,7 @@
     util.rename(q.join(patch), absdest)
     r = q.qrepo()
     if r:
+        wctx = r[None]
         wlock = r.wlock()
         try:
             if r.dirstate[patch] == 'a':
@@ -2318,9 +2316,9 @@
                 r.dirstate.add(name)
             else:
                 if r.dirstate[name] == 'r':
-                    r.undelete([name])
-                r.copy(patch, name)
-                r.remove([patch], False)
+                    wctx.undelete([name])
+                wctx.copy(patch, name)
+                wctx.remove([patch], False)
         finally:
             wlock.release()
 
@@ -2384,8 +2382,8 @@
     completes.
 
     Any stripped changesets are stored in ``.hg/strip-backup`` as a
-    bundle (see ``hg help bundle`` and ``hg help unbundle``). They can
-    be restored by running ``hg unbundle .hg/strip-backup/BUNDLE``,
+    bundle (see :hg:`help bundle` and :hg:`help unbundle`). They can
+    be restored by running :hg:`unbundle .hg/strip-backup/BUNDLE`,
     where BUNDLE is the bundle file created by the strip. Note that
     the local revision numbers will in general be different after the
     restore.
@@ -2416,7 +2414,7 @@
 def select(ui, repo, *args, **opts):
     '''set or print guarded patches to push
 
-    Use the qguard command to set or print guards on patch, then use
+    Use the :hg:`qguard` command to set or print guards on patch, then use
     qselect to tell mq which guards to use. A patch will be pushed if
     it has no guards or any positive guards match the currently
     selected guard, but will not be pushed if any negative guards
@@ -2547,6 +2545,123 @@
     q.save_dirty()
     return 0
 
+def qqueue(ui, repo, name=None, **opts):
+    '''manage multiple patch queues
+
+    Supports switching between different patch queues, as well as creating
+    new patch queues and deleting existing ones.
+
+    Omitting a queue name or specifying -l/--list will show you the registered
+    queues - by default the "normal" patches queue is registered. The currently
+    active queue will be marked with "(active)".
+
+    To create a new queue, use -c/--create. The queue is automatically made
+    active, except in the case where there are applied patches from the
+    currently active queue in the repository. Then the queue will only be
+    created and switching will fail.
+
+    To delete an existing queue, use --delete. You cannot delete the currently
+    active queue.
+    '''
+
+    q = repo.mq
+
+    _defaultqueue = 'patches'
+    _allqueues = 'patches.queues'
+    _activequeue = 'patches.queue'
+
+    def _getcurrent():
+        cur = os.path.basename(q.path)
+        if cur.startswith('patches-'):
+            cur = cur[8:]
+        return cur
+
+    def _noqueues():
+        try:
+            fh = repo.opener(_allqueues, 'r')
+            fh.close()
+        except IOError:
+            return True
+
+        return False
+
+    def _getqueues():
+        current = _getcurrent()
+
+        try:
+            fh = repo.opener(_allqueues, 'r')
+            queues = [queue.strip() for queue in fh if queue.strip()]
+            if current not in queues:
+                queues.append(current)
+        except IOError:
+            queues = [_defaultqueue]
+
+        return sorted(queues)
+
+    def _setactive(name):
+        if q.applied:
+            raise util.Abort(_('patches applied - cannot set new queue active'))
+
+        fh = repo.opener(_activequeue, 'w')
+        if name != 'patches':
+            fh.write(name)
+        fh.close()
+
+    def _addqueue(name):
+        fh = repo.opener(_allqueues, 'a')
+        fh.write('%s\n' % (name,))
+        fh.close()
+
+    def _validname(name):
+        for n in name:
+            if n in ':\\/.':
+                return False
+        return True
+
+    if not name or opts.get('list'):
+        current = _getcurrent()
+        for queue in _getqueues():
+            ui.write('%s' % (queue,))
+            if queue == current:
+                ui.write(_(' (active)\n'))
+            else:
+                ui.write('\n')
+        return
+
+    if not _validname(name):
+        raise util.Abort(
+                _('invalid queue name, may not contain the characters ":\\/."'))
+
+    existing = _getqueues()
+
+    if opts.get('create'):
+        if name in existing:
+            raise util.Abort(_('queue "%s" already exists') % name)
+        if _noqueues():
+            _addqueue(_defaultqueue)
+        _addqueue(name)
+        _setactive(name)
+    elif opts.get('delete'):
+        if name not in existing:
+            raise util.Abort(_('cannot delete queue that does not exist'))
+
+        current = _getcurrent()
+
+        if name == current:
+            raise util.Abort(_('cannot delete currently active queue'))
+
+        fh = repo.opener('patches.queues.new', 'w')
+        for queue in existing:
+            if queue == name:
+                continue
+            fh.write('%s\n' % (queue,))
+        fh.close()
+        util.rename(repo.join('patches.queues.new'), repo.join(_allqueues))
+    else:
+        if name not in existing:
+            raise util.Abort(_('use --create to create a new queue'))
+        _setactive(name)
+
 def reposetup(ui, repo):
     class mqrepo(repo.__class__):
         @util.propertycache
@@ -2555,8 +2670,8 @@
 
         def abort_if_wdir_patched(self, errmsg, force=False):
             if self.mq.applied and not force:
-                parent = hex(self.dirstate.parents()[0])
-                if parent in [s.rev for s in self.mq.applied]:
+                parent = self.dirstate.parents()[0]
+                if parent in [s.node for s in self.mq.applied]:
                     raise util.Abort(errmsg)
 
         def commit(self, text="", user=None, date=None, match=None,
@@ -2568,10 +2683,10 @@
             return super(mqrepo, self).commit(text, user, date, match, force,
                                               editor, extra)
 
-        def push(self, remote, force=False, revs=None):
+        def push(self, remote, force=False, revs=None, newbranch=False):
             if self.mq.applied and not force and not revs:
                 raise util.Abort(_('source has mq patches applied'))
-            return super(mqrepo, self).push(remote, force, revs)
+            return super(mqrepo, self).push(remote, force, revs, newbranch)
 
         def _findtags(self):
             '''augment tags from base class with patch tags'''
@@ -2581,7 +2696,7 @@
             if not q.applied:
                 return result
 
-            mqtags = [(bin(patch.rev), patch.name) for patch in q.applied]
+            mqtags = [(patch.node, patch.name) for patch in q.applied]
 
             if mqtags[-1][0] not in self.changelog.nodemap:
                 self.ui.warn(_('mq status file refers to unknown node %s\n')
@@ -2607,7 +2722,7 @@
                 return super(mqrepo, self)._branchtags(partial, lrev)
 
             cl = self.changelog
-            qbasenode = bin(q.applied[0].rev)
+            qbasenode = q.applied[0].node
             if qbasenode not in cl.nodemap:
                 self.ui.warn(_('mq status file refers to unknown node %s\n')
                              % short(qbasenode))
@@ -2672,13 +2787,29 @@
     q = repo.mq
     r = q.qrepo()
     if not r:
-        raise util.Abort('no queue repository')
+        raise util.Abort(_('no queue repository'))
     return orig(r.ui, r, *args, **kwargs)
 
+def summary(orig, ui, repo, *args, **kwargs):
+    r = orig(ui, repo, *args, **kwargs)
+    q = repo.mq
+    m = []
+    a, u = len(q.applied), len(q.unapplied(repo))
+    if a:
+        m.append(ui.label(_("%d applied"), 'qseries.applied') % a)
+    if u:
+        m.append(ui.label(_("%d unapplied"), 'qseries.unapplied') % u)
+    if m:
+        ui.write("mq:     %s\n" % ', '.join(m))
+    else:
+        ui.note(_("mq:     (empty queue)\n"))
+    return r
+
 def uisetup(ui):
     mqopt = [('', 'mq', None, _("operate on patch repository"))]
 
     extensions.wrapcommand(commands.table, 'import', mqimport)
+    extensions.wrapcommand(commands.table, 'summary', summary)
 
     entry = extensions.wrapcommand(commands.table, 'init', mqinit)
     entry[1].extend(mqopt)
@@ -2704,7 +2835,8 @@
           ('U', 'noupdate', None, _('do not update the new working directories')),
           ('', 'uncompressed', None,
            _('use uncompressed transfer (fast over LAN)')),
-          ('p', 'patches', '', _('location of source patch repository')),
+          ('p', 'patches', '',
+           _('location of source patch repository'), _('REPO')),
          ] + commands.remoteopts,
          _('hg qclone [OPTION]... SOURCE [DEST]')),
     "qcommit|qci":
@@ -2718,7 +2850,8 @@
     "qdelete|qremove|qrm":
         (delete,
          [('k', 'keep', None, _('keep patch file')),
-          ('r', 'rev', [], _('stop managing a revision (DEPRECATED)'))],
+          ('r', 'rev', [],
+           _('stop managing a revision (DEPRECATED)'), _('REV'))],
          _('hg qdelete [-k] [-r REV]... [PATCH]...')),
     'qfold':
         (fold,
@@ -2736,12 +2869,14 @@
           ('n', 'none', None, _('drop all guards'))],
          _('hg qguard [-l] [-n] [PATCH] [-- [+GUARD]... [-GUARD]...]')),
     'qheader': (header, [], _('hg qheader [PATCH]')),
-    "^qimport":
+    "qimport":
         (qimport,
          [('e', 'existing', None, _('import file in patch directory')),
-          ('n', 'name', '', _('name of patch file')),
+          ('n', 'name', '',
+           _('name of patch file'), _('NAME')),
           ('f', 'force', None, _('overwrite existing files')),
-          ('r', 'rev', [], _('place existing revisions under mq control')),
+          ('r', 'rev', [],
+           _('place existing revisions under mq control'), _('REV')),
           ('g', 'git', None, _('use git extended diff format')),
           ('P', 'push', None, _('qpush after importing'))],
          _('hg qimport [-e] [-n NAME] [-f] [-g] [-P] [-r REV]... FILE...')),
@@ -2749,15 +2884,17 @@
         (init,
          [('c', 'create-repo', None, _('create queue repository'))],
          _('hg qinit [-c]')),
-    "qnew":
+    "^qnew":
         (new,
          [('e', 'edit', None, _('edit commit message')),
           ('f', 'force', None, _('import uncommitted changes (DEPRECATED)')),
           ('g', 'git', None, _('use git extended diff format')),
           ('U', 'currentuser', None, _('add "From: <current user>" to patch')),
-          ('u', 'user', '', _('add "From: <given user>" to patch')),
+          ('u', 'user', '',
+           _('add "From: <USER>" to patch'), _('USER')),
           ('D', 'currentdate', None, _('add "Date: <current date>" to patch')),
-          ('d', 'date', '', _('add "Date: <given date>" to patch'))
+          ('d', 'date', '',
+           _('add "Date: <DATE>" to patch'), _('DATE'))
           ] + commands.walkopts + commands.commitopts,
          _('hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]...')),
     "qnext": (next, [] + seriesopts, _('hg qnext [-s]')),
@@ -2765,7 +2902,8 @@
     "^qpop":
         (pop,
          [('a', 'all', None, _('pop all patches')),
-          ('n', 'name', '', _('queue name to pop (DEPRECATED)')),
+          ('n', 'name', '',
+           _('queue name to pop (DEPRECATED)'), _('NAME')),
           ('f', 'force', None, _('forget any local changes to patched files'))],
          _('hg qpop [-a] [-n NAME] [-f] [PATCH | INDEX]')),
     "^qpush":
@@ -2774,8 +2912,10 @@
           ('l', 'list', None, _('list patch name in commit text')),
           ('a', 'all', None, _('apply all patches')),
           ('m', 'merge', None, _('merge from another queue (DEPRECATED)')),
-          ('n', 'name', '', _('merge queue name (DEPRECATED)'))],
-         _('hg qpush [-f] [-l] [-a] [-m] [-n NAME] [PATCH | INDEX]')),
+          ('n', 'name', '',
+           _('merge queue name (DEPRECATED)'), _('NAME')),
+          ('', 'move', None, _('reorder patch series and apply only the patch'))],
+         _('hg qpush [-f] [-l] [-a] [-m] [-n NAME] [--move] [PATCH | INDEX]')),
     "^qrefresh":
         (refresh,
          [('e', 'edit', None, _('edit commit message')),
@@ -2785,11 +2925,11 @@
           ('U', 'currentuser', None,
            _('add/update author field in patch with current user')),
           ('u', 'user', '',
-           _('add/update author field in patch with given user')),
+           _('add/update author field in patch with given user'), _('USER')),
           ('D', 'currentdate', None,
            _('add/update date field in patch with current date')),
           ('d', 'date', '',
-           _('add/update date field in patch with given date'))
+           _('add/update date field in patch with given date'), _('DATE'))
           ] + commands.walkopts + commands.commitopts,
          _('hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...')),
     'qrename|qmv':
@@ -2802,7 +2942,8 @@
     "qsave":
         (save,
          [('c', 'copy', None, _('copy patch directory')),
-          ('n', 'name', '', _('copy directory name')),
+          ('n', 'name', '',
+           _('copy directory name'), _('NAME')),
           ('e', 'empty', None, _('clear queue status file')),
           ('f', 'force', None, _('force copy'))] + commands.commitopts,
          _('hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]')),
@@ -2818,7 +2959,7 @@
          [('m', 'missing', None, _('print patches not in series')),
          ] + seriesopts,
           _('hg qseries [-ms]')),
-     "^strip":
+     "strip":
          (strip,
          [('f', 'force', None, _('force removal of changesets even if the '
                                  'working directory has uncommitted changes')),
@@ -2826,7 +2967,7 @@
                                   ' number greater than REV which are not'
                                   ' descendants of REV (DEPRECATED)')),
            ('n', 'nobackup', None, _('no backups'))],
-          _('hg strip [-f] [-b] [-n] REV')),
+          _('hg strip [-f] [-n] REV')),
      "qtop": (top, [] + seriesopts, _('hg qtop [-s]')),
     "qunapplied":
         (unapplied,
@@ -2836,4 +2977,20 @@
         (finish,
          [('a', 'applied', None, _('finish all applied changesets'))],
          _('hg qfinish [-a] [REV]...')),
+    'qqueue':
+        (qqueue,
+         [
+             ('l', 'list', False, _('list all available queues')),
+             ('c', 'create', False, _('create new queue')),
+             ('', 'delete', False, _('delete reference to queue')),
+         ],
+         _('[OPTION] [QUEUE]')),
 }
+
+colortable = {'qguard.negative': 'red',
+              'qguard.positive': 'yellow',
+              'qguard.unguarded': 'green',
+              'qseries.applied': 'blue bold underline',
+              'qseries.guarded': 'black bold',
+              'qseries.missing': 'red bold',
+              'qseries.unapplied': 'black bold'}
--- a/hgext/pager.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/pager.py	Mon Jun 21 13:41:11 2010 -0500
@@ -45,8 +45,8 @@
 
 If pager.attend is present, pager.ignore will be ignored.
 
-To ignore global commands like "hg version" or "hg help", you have to
-specify them in the global .hgrc
+To ignore global commands like :hg:`version` or :hg:`help`, you have
+to specify them in the global .hgrc
 '''
 
 import sys, os, signal, shlex, errno
@@ -78,12 +78,16 @@
             raise
 
 def uisetup(ui):
+    if ui.plain():
+        return
+
     def pagecmd(orig, ui, options, cmd, cmdfunc):
         p = ui.config("pager", "pager", os.environ.get("PAGER"))
         if p and sys.stdout.isatty() and '--debugger' not in sys.argv:
             attend = ui.configlist('pager', 'attend', attended)
             if (cmd in attend or
                 (cmd not in ui.configlist('pager', 'ignore') and not attend)):
+                ui.setconfig('ui', 'formatted', ui.formatted())
                 ui.setconfig('ui', 'interactive', False)
                 _runpager(p)
                 if ui.configbool('pager', 'quiet'):
--- a/hgext/patchbomb.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/patchbomb.py	Mon Jun 21 13:41:11 2010 -0500
@@ -16,7 +16,7 @@
 
 - The changeset description.
 - [Optional] The result of running diffstat on the patch.
-- The patch itself, as generated by "hg export".
+- The patch itself, as generated by :hg:`export`.
 
 Each message refers to the first in the series using the In-Reply-To
 and References headers, so they will show up as a sequence in threaded
@@ -34,15 +34,16 @@
   to = recipient1, recipient2, ...
   cc = cc1, cc2, ...
   bcc = bcc1, bcc2, ...
+  reply-to = address1, address2, ...
 
 Use ``[patchbomb]`` as configuration section name if you need to
 override global ``[email]`` address settings.
 
-Then you can use the "hg email" command to mail a series of changesets
-as a patchbomb.
+Then you can use the :hg:`email` command to mail a series of
+changesets as a patchbomb.
 
 To avoid sending patches prematurely, it is a good idea to first run
-the "email" command with the "-n" option (test only). You will be
+the :hg:`email` command with the "-n" option (test only). You will be
 prompted for an email recipient address, a subject and an introductory
 message describing the patches of your patchbomb. Then when all is
 done, patchbomb messages are displayed. If the PAGER environment
@@ -75,7 +76,7 @@
 import os, errno, socket, tempfile, cStringIO, time
 import email.MIMEMultipart, email.MIMEBase
 import email.Utils, email.Encoders, email.Generator
-from mercurial import cmdutil, commands, hg, mail, patch, util
+from mercurial import cmdutil, commands, hg, mail, patch, util, discovery
 from mercurial.i18n import _
 from mercurial.node import bin
 
@@ -105,6 +106,10 @@
         raise util.Abort(_('diffstat rejected'))
     return s
 
+def introneeded(opts, number):
+    '''is an introductory message required?'''
+    return number > 1 or opts.get('intro') or opts.get('desc')
+
 def makepatch(ui, repo, patch, opts, _charsets, idx, total, patchname=None):
 
     desc = []
@@ -170,7 +175,7 @@
         flag = ' ' + flag
 
     subj = desc[0].strip().rstrip('. ')
-    if total == 1 and not opts.get('intro'):
+    if not introneeded(opts, total):
         subj = '[PATCH%s] %s' % (flag, opts.get('subject') or subj)
     else:
         tlen = len(str(total))
@@ -182,9 +187,9 @@
 def patchbomb(ui, repo, *revs, **opts):
     '''send changesets by email
 
-    By default, diffs are sent in the format generated by hg export,
-    one per message. The series starts with a "[PATCH 0 of N]"
-    introduction, which describes the series as a whole.
+    By default, diffs are sent in the format generated by
+    :hg:`export`, one per message. The series starts with a "[PATCH 0
+    of N]" introduction, which describes the series as a whole.
 
     Each patch email has a Subject line of "[PATCH M of N] ...", using
     the first line of the changeset description as the subject text.
@@ -192,7 +197,7 @@
     description. Next, (optionally) if the diffstat program is
     installed and -d/--diffstat is used, the result of running
     diffstat on the patch. Finally, the patch itself, as generated by
-    "hg export".
+    :hg:`export`.
 
     By default the patch is included as text in the email body for
     easy reviewing. Using the -a/--attach option will instead create
@@ -230,16 +235,24 @@
 
     _charsets = mail._charsets(ui)
 
-    def outgoing(dest, revs):
+    bundle = opts.get('bundle')
+    date = opts.get('date')
+    mbox = opts.get('mbox')
+    outgoing = opts.get('outgoing')
+    rev = opts.get('rev')
+    # internal option used by pbranches
+    patches = opts.get('patches')
+
+    def getoutgoing(dest, revs):
         '''Return the revisions present locally but not in dest'''
         dest = ui.expandpath(dest or 'default-push', dest or 'default')
         dest, branches = hg.parseurl(dest)
         revs, checkout = hg.addbranchrevs(repo, repo, branches, revs)
         if revs:
             revs = [repo.lookup(rev) for rev in revs]
-        other = hg.repository(cmdutil.remoteui(repo, opts), dest)
+        other = hg.repository(hg.remoteui(repo, opts), dest)
         ui.status(_('comparing with %s\n') % dest)
-        o = repo.findoutgoing(other)
+        o = discovery.findoutgoing(repo, other)
         if not o:
             ui.status(_("no changes found\n"))
             return []
@@ -249,7 +262,7 @@
     def getpatches(revs):
         for r in cmdutil.revrange(repo, revs):
             output = cStringIO.StringIO()
-            patch.export(repo, [r], fp=output,
+            cmdutil.export(repo, [r], fp=output,
                          opts=patch.diffopts(ui, opts))
             yield output.getvalue().split('\n')
 
@@ -266,38 +279,36 @@
                 pass
             os.rmdir(tmpdir)
 
-    if not (opts.get('test') or opts.get('mbox')):
+    if not (opts.get('test') or mbox):
         # really sending
         mail.validateconfig(ui)
 
-    if not (revs or opts.get('rev')
-            or opts.get('outgoing') or opts.get('bundle')
-            or opts.get('patches')):
+    if not (revs or rev or outgoing or bundle or patches):
         raise util.Abort(_('specify at least one changeset with -r or -o'))
 
-    if opts.get('outgoing') and opts.get('bundle'):
+    if outgoing and bundle:
         raise util.Abort(_("--outgoing mode always on with --bundle;"
                            " do not re-specify --outgoing"))
 
-    if opts.get('outgoing') or opts.get('bundle'):
+    if outgoing or bundle:
         if len(revs) > 1:
             raise util.Abort(_("too many destinations"))
         dest = revs and revs[0] or None
         revs = []
 
-    if opts.get('rev'):
+    if rev:
         if revs:
             raise util.Abort(_('use only one form to specify the revision'))
-        revs = opts.get('rev')
+        revs = rev
 
-    if opts.get('outgoing'):
-        revs = outgoing(dest, opts.get('rev'))
-    if opts.get('bundle'):
+    if outgoing:
+        revs = getoutgoing(dest, rev)
+    if bundle:
         opts['revs'] = revs
 
     # start
-    if opts.get('date'):
-        start_time = util.parsedate(opts.get('date'))
+    if date:
+        start_time = util.parsedate(date)
     else:
         start_time = util.makedate()
 
@@ -329,7 +340,7 @@
                             len(patches), name)
             msgs.append(msg)
 
-        if len(patches) > 1 or opts.get('intro'):
+        if introneeded(opts, len(patches)):
             tlen = len(str(len(patches)))
 
             flag = ' '.join(opts.get('flag'))
@@ -376,18 +387,17 @@
               ui.config('patchbomb', 'from') or
               prompt(ui, 'From', ui.username()))
 
-    # internal option used by pbranches
-    patches = opts.get('patches')
     if patches:
         msgs = getpatchmsgs(patches, opts.get('patchnames'))
-    elif opts.get('bundle'):
+    elif bundle:
         msgs = getbundlemsgs(getbundle(dest))
     else:
         msgs = getpatchmsgs(list(getpatches(revs)))
 
     def getaddrs(opt, prpt=None, default=None):
-        if opts.get(opt):
-            return mail.addrlistencode(ui, opts.get(opt), _charsets,
+        addrs = opts.get(opt.replace('-', '_'))
+        if addrs:
+            return mail.addrlistencode(ui, addrs, _charsets,
                                        opts.get('test'))
 
         addrs = (ui.config('email', opt) or
@@ -400,6 +410,7 @@
     to = getaddrs('to', 'To')
     cc = getaddrs('cc', 'Cc', '')
     bcc = getaddrs('bcc')
+    replyto = getaddrs('reply-to')
 
     ui.write('\n')
 
@@ -438,10 +449,12 @@
             m['Cc']  = ', '.join(cc)
         if bcc:
             m['Bcc'] = ', '.join(bcc)
+        if replyto:
+            m['Reply-To'] = ', '.join(replyto)
         if opts.get('test'):
             ui.status(_('Displaying '), subj, ' ...\n')
             ui.flush()
-            if 'PAGER' in os.environ:
+            if 'PAGER' in os.environ and not ui.plain():
                 fp = util.popen(os.environ['PAGER'], 'w')
             else:
                 fp = ui
@@ -454,9 +467,9 @@
                     raise
             if fp is not ui:
                 fp.close()
-        elif opts.get('mbox'):
+        elif mbox:
             ui.status(_('Writing '), subj, ' ...\n')
-            fp = open(opts.get('mbox'), 'In-Reply-To' in m and 'ab+' or 'wb+')
+            fp = open(mbox, 'In-Reply-To' in m and 'ab+' or 'wb+')
             generator = email.Generator.Generator(fp, mangle_from_=True)
             # Should be time.asctime(), but Windows prints 2-characters day
             # of month instead of one. Make them print the same thing.
@@ -489,6 +502,7 @@
           ('n', 'test', None, _('print messages that would be sent')),
           ('m', 'mbox', '',
            _('write messages to mbox file instead of sending them')),
+          ('', 'reply-to', [], _('email addresses replies should be sent to')),
           ('s', 'subject', '',
            _('subject of first message (intro or single patch)')),
           ('', 'in-reply-to', '',
@@ -508,14 +522,16 @@
           ('b', 'bundle', None,
            _('send changes not in target as a binary bundle')),
           ('', 'bundlename', 'bundle',
-           _('name of the bundle attachment file')),
-          ('r', 'rev', [], _('a revision to send')),
+           _('name of the bundle attachment file'), _('NAME')),
+          ('r', 'rev', [],
+           _('a revision to send'), _('REV')),
           ('', 'force', None,
            _('run even when remote repository is unrelated '
              '(with -b/--bundle)')),
           ('', 'base', [],
            _('a base changeset to specify instead of a destination '
-             '(with -b/--bundle)')),
+             '(with -b/--bundle)'),
+           _('REV')),
           ('', 'intro', None,
            _('send an introduction email for a single patch')),
          ] + emailopts + commands.remoteopts,
--- a/hgext/progress.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/progress.py	Mon Jun 21 13:41:11 2010 -0500
@@ -114,7 +114,7 @@
             if tail:
                 used += len(tail) + 1
             progwidth = termwidth - used - 3
-            if total:
+            if total and pos <= total:
                 amt = pos * progwidth // total
                 bar = '=' * (amt - 1)
                 if amt > 0:
@@ -165,10 +165,10 @@
                 self.show(topic, pos, item, unit, total)
         return orig(topic, pos, item=item, unit=unit, total=total)
 
-    def write(self, orig, *args):
+    def write(self, orig, *args, **opts):
         if self.printed:
             self.clear()
-        return orig(*args)
+        return orig(*args, **opts)
 
 sharedprog = None
 
--- a/hgext/purge.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/purge.py	Mon Jun 21 13:41:11 2010 -0500
@@ -37,7 +37,7 @@
 
     This means that purge will delete:
 
-    - Unknown files: files marked with "?" by "hg status"
+    - Unknown files: files marked with "?" by :hg:`status`
     - Empty directories: in fact Mercurial ignores directories unless
       they contain files under source control management
 
@@ -45,7 +45,7 @@
 
     - Modified and unmodified tracked files
     - Ignored files (unless --all is specified)
-    - New files added to the repository (with "hg add")
+    - New files added to the repository (with :hg:`add`)
 
     If directories are given on the command line, only files in these
     directories are considered.
--- a/hgext/rebase.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/rebase.py	Mon Jun 21 13:41:11 2010 -0500
@@ -14,7 +14,7 @@
 http://mercurial.selenic.com/wiki/RebaseExtension
 '''
 
-from mercurial import util, repair, merge, cmdutil, commands, error
+from mercurial import hg, util, repair, merge, cmdutil, commands, error
 from mercurial import extensions, ancestor, copies, patch
 from mercurial.commands import templateopts
 from mercurial.node import nullrev
@@ -69,6 +69,8 @@
 
     If a rebase is interrupted to manually resolve a merge, it can be
     continued with --continue/-c or aborted with --abort/-a.
+
+    Returns 0 on success, 1 if nothing to rebase.
     """
     originalwd = target = None
     external = nullrev
@@ -92,46 +94,43 @@
         keepf = opts.get('keep', False)
         keepbranchesf = opts.get('keepbranches', False)
         detachf = opts.get('detach', False)
+        # keepopen is not meant for use on the command line, but by
+        # other extensions
+        keepopen = opts.get('keepopen', False)
 
         if contf or abortf:
             if contf and abortf:
-                raise error.ParseError('rebase',
-                                       _('cannot use both abort and continue'))
+                raise util.Abort(_('cannot use both abort and continue'))
             if collapsef:
-                raise error.ParseError(
-                    'rebase', _('cannot use collapse with continue or abort'))
-
+                raise util.Abort(
+                    _('cannot use collapse with continue or abort'))
             if detachf:
-                raise error.ParseError(
-                    'rebase', _('cannot use detach with continue or abort'))
-
+                raise util.Abort(_('cannot use detach with continue or abort'))
             if srcf or basef or destf:
-                raise error.ParseError('rebase',
+                raise util.Abort(
                     _('abort and continue do not allow specifying revisions'))
 
             (originalwd, target, state, collapsef, keepf,
                                 keepbranchesf, external) = restorestatus(repo)
             if abortf:
-                abort(repo, originalwd, target, state)
-                return
+                return abort(repo, originalwd, target, state)
         else:
             if srcf and basef:
-                raise error.ParseError('rebase', _('cannot specify both a '
-                                                   'revision and a base'))
+                raise util.Abort(_('cannot specify both a '
+                                   'revision and a base'))
             if detachf:
                 if not srcf:
-                    raise error.ParseError(
-                      'rebase', _('detach requires a revision to be specified'))
+                    raise util.Abort(
+                        _('detach requires a revision to be specified'))
                 if basef:
-                    raise error.ParseError(
-                        'rebase', _('cannot specify a base with detach'))
+                    raise util.Abort(_('cannot specify a base with detach'))
 
             cmdutil.bail_if_changed(repo)
             result = buildstate(repo, destf, srcf, basef, detachf)
             if not result:
                 # Empty state built, nothing to rebase
                 ui.status(_('nothing to rebase\n'))
-                return
+                return 1
             else:
                 originalwd, target, state = result
                 if collapsef:
@@ -140,8 +139,7 @@
 
         if keepbranchesf:
             if extrafn:
-                raise error.ParseError(
-                    'rebase', _('cannot use both keepbranches and extrafn'))
+                raise util.Abort(_('cannot use both keepbranches and extrafn'))
             def extrafn(ctx, extra):
                 extra['branch'] = ctx.branch()
 
@@ -183,7 +181,7 @@
 
         ui.note(_('rebase merging completed\n'))
 
-        if collapsef:
+        if collapsef and not keepopen:
             p1, p2 = defineparents(repo, min(state), target,
                                                         state, targetancestors)
             commitmsg = 'Collapsed revision'
@@ -205,10 +203,11 @@
                     ui.warn(_("warning: new changesets detected "
                               "on source branch, not stripping\n"))
                 else:
-                    repair.strip(ui, repo, repo[min(rebased)].node(), "strip")
+                    # backup the old csets by default
+                    repair.strip(ui, repo, repo[min(rebased)].node(), "all")
 
         clearstatus(repo)
-        ui.status(_("rebase completed\n"))
+        ui.note(_("rebase completed\n"))
         if os.path.exists(repo.sjoin('undo')):
             util.unlink(repo.sjoin('undo'))
         if skipped:
@@ -349,10 +348,10 @@
     'Update rebased mq patches - finalize and then import them'
     mqrebase = {}
     for p in repo.mq.applied:
-        if repo[p.rev].rev() in state:
+        if repo[p.node].rev() in state:
             repo.ui.debug('revision %d is an mq patch (%s), finalize it.\n' %
-                                        (repo[p.rev].rev(), p.name))
-            mqrebase[repo[p.rev].rev()] = (p.name, isagitpatch(repo, p.name))
+                                        (repo[p.node].rev(), p.name))
+            mqrebase[repo[p.node].rev()] = (p.name, isagitpatch(repo, p.name))
 
     if mqrebase:
         repo.mq.finish(repo, mqrebase.keys())
@@ -423,16 +422,19 @@
     'Restore the repository to its original state'
     if set(repo.changelog.descendants(target)) - set(state.values()):
         repo.ui.warn(_("warning: new changesets detected on target branch, "
-                                                    "not stripping\n"))
+                                                    "can't abort\n"))
+        return -1
     else:
         # Strip from the first rebased revision
         merge.update(repo, repo[originalwd].rev(), False, True, False)
-        rebased = filter(lambda x: x > -1, state.values())
+        rebased = filter(lambda x: x > -1 and x != target, state.values())
         if rebased:
             strippoint = min(rebased)
-            repair.strip(repo.ui, repo, repo[strippoint].node(), "strip")
+            # no backup of rebased cset versions needed
+            repair.strip(repo.ui, repo, repo[strippoint].node())
         clearstatus(repo)
         repo.ui.status(_('rebase aborted\n'))
+        return 0
 
 def buildstate(repo, dest, src, base, detach):
     'Define which revisions are going to be rebased and where'
@@ -449,8 +451,8 @@
     # This check isn't strictly necessary, since mq detects commits over an
     # applied patch. But it prevents messing up the working directory when
     # a partially completed rebase is blocked by mq.
-    if 'qtip' in repo.tags() and (repo[dest].hex() in
-                            [s.rev for s in repo.mq.applied]):
+    if 'qtip' in repo.tags() and (repo[dest].node() in
+                            [s.node for s in repo.mq.applied]):
         raise util.Abort(_('cannot rebase onto an applied mq patch'))
 
     if src:
@@ -506,7 +508,14 @@
 
         cmdutil.bail_if_changed(repo)
         revsprepull = len(repo)
-        orig(ui, repo, *args, **opts)
+        origpostincoming = commands.postincoming
+        def _dummy(*args, **kwargs):
+            pass
+        commands.postincoming = _dummy
+        try:
+            orig(ui, repo, *args, **opts)
+        finally:
+            commands.postincoming = origpostincoming
         revspostpull = len(repo)
         if revspostpull > revsprepull:
             rebase(ui, repo, **opts)
@@ -514,7 +523,7 @@
             dest = repo[branch].rev()
             if dest != repo['.'].rev():
                 # there was nothing to rebase we force an update
-                merge.update(repo, dest, False, False, False)
+                hg.update(repo, dest)
     else:
         orig(ui, repo, *args, **opts)
 
@@ -529,10 +538,14 @@
 "rebase":
         (rebase,
         [
-        ('s', 'source', '', _('rebase from the specified changeset')),
-        ('b', 'base', '', _('rebase from the base of the specified changeset '
-                            '(up to greatest common ancestor of base and dest)')),
-        ('d', 'dest', '', _('rebase onto the specified changeset')),
+        ('s', 'source', '',
+         _('rebase from the specified changeset'), _('REV')),
+        ('b', 'base', '',
+         _('rebase from the base of the specified changeset '
+           '(up to greatest common ancestor of base and dest)'),
+         _('REV')),
+        ('d', 'dest', '',
+         _('rebase onto the specified changeset'), _('REV')),
         ('', 'collapse', False, _('collapse the rebased changesets')),
         ('', 'keep', False, _('keep original changesets')),
         ('', 'keepbranches', False, _('keep original branch names')),
--- a/hgext/record.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/record.py	Mon Jun 21 13:41:11 2010 -0500
@@ -293,6 +293,7 @@
                     _('&Quit, recording no changes'),
                     _('&?'))
             r = ui.promptchoice("%s %s" % (query, resps), choices)
+            ui.write("\n")
             if r == 7: # ?
                 doc = gettext(record.__doc__)
                 c = doc.find('::') + 2
@@ -359,10 +360,10 @@
 def record(ui, repo, *pats, **opts):
     '''interactively select changes to commit
 
-    If a list of files is omitted, all changes reported by "hg status"
+    If a list of files is omitted, all changes reported by :hg:`status`
     will be candidates for recording.
 
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    See :hg:`help dates` for a list of formats valid for -d/--date.
 
     You will be prompted for whether to record changes to each
     modified file, and for files with multiple changes, for each
@@ -389,7 +390,7 @@
 def qrecord(ui, repo, patch, *pats, **opts):
     '''interactively record a new patch
 
-    See 'hg help qnew' & 'hg help record' for more information and
+    See :hg:`help qnew` & :hg:`help record` for more information and
     usage.
     '''
 
@@ -526,7 +527,18 @@
                 os.rmdir(backupdir)
             except OSError:
                 pass
-    return cmdutil.commit(ui, repo, recordfunc, pats, opts)
+
+    # wrap ui.write so diff output can be labeled/colorized
+    def wrapwrite(orig, *args, **kw):
+        label = kw.pop('label', '')
+        for chunk, l in patch.difflabel(lambda: args):
+            orig(chunk, label=label + l)
+    oldwrite = ui.write
+    extensions.wrapfunction(ui, 'write', wrapwrite)
+    try:
+        return cmdutil.commit(ui, repo, recordfunc, pats, opts)
+    finally:
+        ui.write = oldwrite
 
 cmdtable = {
     "record":
@@ -550,7 +562,7 @@
         (qrecord,
 
          # add qnew options, except '--force'
-         [opt for opt in mq.cmdtable['qnew'][1] if opt[1] != 'force'],
+         [opt for opt in mq.cmdtable['^qnew'][1] if opt[1] != 'force'],
 
          _('hg qrecord [OPTION]... PATCH [FILE]...')),
     }
--- a/hgext/relink.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/relink.py	Mon Jun 21 13:41:11 2010 -0500
@@ -39,7 +39,7 @@
     if not hasattr(util, 'samefile') or not hasattr(util, 'samedevice'):
         raise util.Abort(_('hardlinks are not supported on this system'))
     src = hg.repository(
-        cmdutil.remoteui(repo, opts),
+        hg.remoteui(repo, opts),
         ui.expandpath(origin or 'default-relink', origin or 'default'))
     if not src.local():
         raise util.Abort('must specify local origin repository')
@@ -48,7 +48,7 @@
     try:
         remotelock = src.lock()
         try:
-            candidates = sorted(collect(src.store.path, ui))
+            candidates = sorted(collect(src, ui))
             targets = prune(candidates, src.store.path, repo.store.path, ui)
             do_relink(src.store.path, repo.store.path, targets, ui)
         finally:
@@ -59,16 +59,32 @@
 def collect(src, ui):
     seplen = len(os.path.sep)
     candidates = []
+    live = len(src['tip'].manifest())
+    # Your average repository has some files which were deleted before
+    # the tip revision. We account for that by assuming that there are
+    # 3 tracked files for every 2 live files as of the tip version of
+    # the repository.
+    #
+    # mozilla-central as of 2010-06-10 had a ratio of just over 7:5.
+    total = live * 3 // 2
+    src = src.store.path
+    pos = 0
+    ui.status(_("tip has %d files, estimated total number of files: %s\n")
+              % (live, total))
     for dirpath, dirnames, filenames in os.walk(src):
+        dirnames.sort()
         relpath = dirpath[len(src) + seplen:]
-        for filename in filenames:
+        for filename in sorted(filenames):
             if not filename[-2:] in ('.d', '.i'):
                 continue
             st = os.stat(os.path.join(dirpath, filename))
             if not stat.S_ISREG(st.st_mode):
                 continue
+            pos += 1
             candidates.append((os.path.join(relpath, filename), st))
+            ui.progress(_('collecting'), pos, filename, _('files'), total)
 
+    ui.progress(_('collecting'), None)
     ui.status(_('collected %d candidate storage files\n') % len(candidates))
     return candidates
 
@@ -90,7 +106,10 @@
         return st
 
     targets = []
+    total = len(candidates)
+    pos = 0
     for fn, st in candidates:
+        pos += 1
         srcpath = os.path.join(src, fn)
         tgt = os.path.join(dst, fn)
         ts = linkfilter(srcpath, tgt, st)
@@ -98,7 +117,9 @@
             ui.debug(_('not linkable: %s\n') % fn)
             continue
         targets.append((fn, ts.st_size))
+        ui.progress(_('pruning'), pos, fn, _(' files'), total)
 
+    ui.progress(_('pruning'), None)
     ui.status(_('pruned down to %d probably relinkable files\n') % len(targets))
     return targets
 
@@ -145,7 +166,7 @@
         except OSError, inst:
             ui.warn('%s: %s\n' % (tgt, str(inst)))
 
-    ui.progress(_('relinking'), None, unit=_(' files'), total=total)
+    ui.progress(_('relinking'), None)
 
     ui.status(_('relinked %d files (%d bytes reclaimed)\n') %
               (relinked, savedbytes))
--- a/hgext/transplant.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/transplant.py	Mon Jun 21 13:41:11 2010 -0500
@@ -16,7 +16,7 @@
 from mercurial.i18n import _
 import os, tempfile
 from mercurial import bundlerepo, changegroup, cmdutil, hg, merge, match
-from mercurial import patch, revlog, util, error
+from mercurial import patch, revlog, util, error, discovery
 
 class transplantentry(object):
     def __init__(self, lnode, rnode):
@@ -341,7 +341,7 @@
                 node = revlog.bin(line[10:])
             elif line.startswith('# Parent '):
                 parents.append(revlog.bin(line[9:]))
-            elif not line.startswith('#'):
+            elif not line.startswith('# '):
                 inmsg = True
                 message.append(line)
         return (node, user, date, '\n'.join(message), parents)
@@ -453,7 +453,7 @@
     transplanted, otherwise you will be prompted to select the
     changesets you want.
 
-    hg transplant --branch REVISION --all will rebase the selected
+    :hg:`transplant --branch REVISION --all` will rebase the selected
     branch (up to the named revision) onto your current working
     directory.
 
@@ -462,17 +462,18 @@
     of a merged transplant, and you can merge descendants of them
     normally instead of transplanting them.
 
-    If no merges or revisions are provided, hg transplant will start
-    an interactive changeset browser.
+    If no merges or revisions are provided, :hg:`transplant` will
+    start an interactive changeset browser.
 
     If a changeset application fails, you can fix the merge by hand
-    and then resume where you left off by calling hg transplant
-    --continue/-c.
+    and then resume where you left off by calling :hg:`transplant
+    --continue/-c`.
     '''
     def getremotechanges(repo, url):
         sourcerepo = ui.expandpath(url)
         source = hg.repository(ui, sourcerepo)
-        common, incoming, rheads = repo.findcommonincoming(source, force=True)
+        tmp = discovery.findcommonincoming(repo, source, force=True)
+        common, incoming, rheads = tmp
         if not incoming:
             return (source, None, None)
 
@@ -591,15 +592,20 @@
 cmdtable = {
     "transplant":
         (transplant,
-         [('s', 'source', '', _('pull patches from REPOSITORY')),
-          ('b', 'branch', [], _('pull patches from branch BRANCH')),
+         [('s', 'source', '',
+           _('pull patches from REPO'), _('REPO')),
+          ('b', 'branch', [],
+           _('pull patches from branch BRANCH'), _('BRANCH')),
           ('a', 'all', None, _('pull all changesets up to BRANCH')),
-          ('p', 'prune', [], _('skip over REV')),
-          ('m', 'merge', [], _('merge at REV')),
+          ('p', 'prune', [],
+           _('skip over REV'), _('REV')),
+          ('m', 'merge', [],
+           _('merge at REV'), _('REV')),
           ('', 'log', None, _('append transplant info to log message')),
           ('c', 'continue', None, _('continue last transplant session '
                                     'after repair')),
-          ('', 'filter', '', _('filter changesets through FILTER'))],
-         _('hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] '
+          ('', 'filter', '',
+           _('filter changesets through command'), _('CMD'))],
+         _('hg transplant [-s REPO] [-b BRANCH [-a]] [-p REV] '
            '[-m REV] [REV]...'))
 }
--- a/hgext/win32text.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/win32text.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,6 +7,14 @@
 
 '''perform automatic newline conversion
 
+  Deprecation: The win32text extension requires each user to configure
+  the extension again and again for each clone since the configuration
+  is not copied when cloning.
+
+  We have therefore made the ``eol`` as an alternative. The ``eol``
+  uses a version controlled file for its configuration and each clone
+  will therefore use the right settings from the start.
+
 To perform automatic newline conversion, use::
 
   [extensions]
--- a/hgext/zeroconf/__init__.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgext/zeroconf/__init__.py	Mon Jun 21 13:41:11 2010 -0500
@@ -23,7 +23,9 @@
   zc-test = http://example.com:8000/test
 '''
 
-import Zeroconf, socket, time, os
+import socket, time, os
+
+import Zeroconf
 from mercurial import ui, hg, encoding
 from mercurial import extensions
 from mercurial.hgweb import hgweb_mod
@@ -98,16 +100,17 @@
     server.registerService(svc)
 
 class hgwebzc(hgweb_mod.hgweb):
-    def __init__(self, repo, name=None):
-        super(hgwebzc, self).__init__(repo, name)
-        name = self.reponame or os.path.basename(repo.root)
+    def __init__(self, repo, name=None, baseui=None):
+        super(hgwebzc, self).__init__(repo, name=name, baseui=baseui)
+        name = self.reponame or os.path.basename(self.repo.root)
         path = self.repo.ui.config("web", "prefix", "").strip('/')
         desc = self.repo.ui.config("web", "description", name)
-        publish(name, desc, path, int(repo.ui.config("web", "port", 8000)))
+        publish(name, desc, path,
+                int(self.repo.ui.config("web", "port", 8000)))
 
 class hgwebdirzc(hgwebdir_mod.hgwebdir):
     def __init__(self, conf, baseui=None):
-        super(hgwebdirzc, self).__init__(conf, baseui)
+        super(hgwebdirzc, self).__init__(conf, baseui=baseui)
         prefix = self.ui.config("web", "prefix", "").strip('/') + '/'
         for repo, path in self.repos:
             u = self.ui.copy()
--- a/hgweb.cgi	Tue Jun 08 13:19:22 2010 +0200
+++ b/hgweb.cgi	Mon Jun 21 13:41:11 2010 -0500
@@ -1,28 +1,17 @@
 #!/usr/bin/env python
 #
-# An example CGI script to use hgweb, edit as necessary
+# An example hgweb CGI script, edit as necessary
 
-# adjust python path if not a system-wide install:
-#import sys
-#sys.path.insert(0, "/path/to/python/lib")
+# Path to repo or hgweb config to serve (see 'hg help hgweb')
+config = "/path/to/repo/or/config"
 
-# enable importing on demand to reduce startup time
-from mercurial import demandimport; demandimport.enable()
+# Uncomment and adjust if Mercurial is not installed system-wide:
+#import sys; sys.path.insert(0, "/path/to/python/lib")
 
 # Uncomment to send python tracebacks to the browser if an error occurs:
-#import cgitb
-#cgitb.enable()
+#import cgitb; cgitb.enable()
 
-# If you'd like to serve pages with UTF-8 instead of your default
-# locale charset, you can do so by uncommenting the following lines.
-# Note that this will cause your .hgrc files to be interpreted in
-# UTF-8 and all your repo files to be displayed using UTF-8.
-#
-#import os
-#os.environ["HGENCODING"] = "UTF-8"
-
-from mercurial.hgweb.hgweb_mod import hgweb
-import mercurial.hgweb.wsgicgi as wsgicgi
-
-application = hgweb("/path/to/repo", "repository name")
+from mercurial import demandimport; demandimport.enable()
+from mercurial.hgweb import hgweb, wsgicgi
+application = hgweb(config)
 wsgicgi.launch(application)
--- a/hgwebdir.cgi	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#!/usr/bin/env python
-#
-# An example CGI script to export multiple hgweb repos, edit as necessary
-
-# adjust python path if not a system-wide install:
-#import sys
-#sys.path.insert(0, "/path/to/python/lib")
-
-# enable importing on demand to reduce startup time
-from mercurial import demandimport; demandimport.enable()
-
-# Uncomment to send python tracebacks to the browser if an error occurs:
-#import cgitb
-#cgitb.enable()
-
-# If you'd like to serve pages with UTF-8 instead of your default
-# locale charset, you can do so by uncommenting the following lines.
-# Note that this will cause your .hgrc files to be interpreted in
-# UTF-8 and all your repo files to be displayed using UTF-8.
-#
-#import os
-#os.environ["HGENCODING"] = "UTF-8"
-
-from mercurial.hgweb.hgwebdir_mod import hgwebdir
-import mercurial.hgweb.wsgicgi as wsgicgi
-
-# The config file looks like this.  You can have paths to individual
-# repos, collections of repos in a directory tree, or both.
-#
-# [paths]
-# virtual/path1 = /real/path1
-# virtual/path2 = /real/path2
-# virtual/root = /real/root/*
-# / = /real/root2/*
-# virtual/root2 = /real/root2/**
-#
-# [collections]
-# /prefix/to/strip/off = /root/of/tree/full/of/repos
-#
-# paths example:
-#
-# * First two lines mount one repository into one virtual path, like
-# '/real/path1' into 'virtual/path1'.
-#
-# * The third entry mounts every mercurial repository found in '/real/root'
-# in 'virtual/root'. This format is preferred over the [collections] one,
-# since using absolute paths as configuration keys is not supported on every
-# platform (especially on Windows).
-#
-# * The fourth entry is a special case mounting all repositories in
-# /'real/root2' in the root of the virtual directory.
-#
-# * The fifth entry recursively finds all repositories under the real root,
-# and mounts them using their relative path (to given real root) under the
-# virtual root.
-#
-# collections example: say directory tree /foo contains repos /foo/bar,
-# /foo/quux/baz.  Give this config section:
-#   [collections]
-#   /foo = /foo
-# Then repos will list as bar and quux/baz.
-#
-# Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
-# or use a dictionary with entries like 'virtual/path': '/real/path'
-
-application = hgwebdir('hgweb.config')
-wsgicgi.launch(application)
--- a/i18n/da.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/da.po	Mon Jun 21 13:41:11 2010 -0500
@@ -1,9 +1,9 @@
 # Danish translations for Mercurial
 # Danske oversættelser for Mercurial
 # Copyright (C) 2009, 2010 Matt Mackall and others
-#
+# 
 # Translation dictionary:
-#
+# 
 # changeset           ændring
 # commit              deponere
 # merge               sammenføje
@@ -12,14 +12,14 @@
 # revision            revision
 # tag                 mærkat
 # working directory   arbejdskatalog
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2010-05-08 22:29+0200\n"
-"PO-Revision-Date: 2010-05-08 23:40+0200\n"
-"Last-Translator:  <mg@lazybytes.net>\n"
+"POT-Creation-Date: 2010-04-05 01:22+0200\n"
+"PO-Revision-Date: 2010-06-18 00:44+0200\n"
+"Last-Translator: <mg@lazybytes.net>\n"
 "Language-Team: Danish\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -36,62 +36,72 @@
 msgid "Commands"
 msgstr "Kommandoer"
 
-msgid ""
-"    options:\n"
-"\n"
-msgstr ""
-"    tilvalg:\n"
-"\n"
-
-#, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    aliaser %s:\n"
-"\n"
-
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "    options:"
+msgstr "    tilvalg:"
+
+#, python-format
+msgid "    aliases: %s"
+msgstr "    aliaser %s:"
+
+msgid "hooks for controlling repository access"
+msgstr ""
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
@@ -101,45 +111,53 @@
 
 #, python-format
 msgid "config error - hook type \"%s\" cannot stop incoming changesets"
-msgstr ""
-"konfigurationsfejl - hook type \"%s\" kan ikke stoppe indgående ændringer"
+msgstr "konfigurationsfejl - hook type \"%s\" kan ikke stoppe indgående ændringer"
 
 #, python-format
 msgid "acl: access denied for changeset %s"
 msgstr "acl: adgang nægtet til ændring %s"
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr ""
+
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
@@ -183,117 +201,171 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr "hg bookmarks [-f] [-d] [-m NAVN] [-r REV] [NAVN]"
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+
+msgid ""
 "The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
-"\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+
+msgid ""
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
-"\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+
+msgid ""
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
-"\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "password\n"
-"  Password to use to access MySQL server.\n"
-"\n"
+"  Password to use to access MySQL server."
+msgstr ""
+
+msgid ""
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
-"\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+
+msgid ""
 "version\n"
 "  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
 "  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
-"\n"
+"  to 2.18."
+msgstr ""
+
+msgid ""
 "bzuser\n"
 "  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
-"\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+
+msgid ""
 "bzdir\n"
 "   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
-"\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+
+msgid ""
 "notify\n"
 "  The command to run to get Bugzilla to send bug change notification\n"
 "  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
 "  and 'user' (committer bugzilla email). Default depends on version;\n"
 "  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
-"\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+
+msgid ""
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
 "  Must contain one \"()\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
-"\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+
+msgid ""
 "style\n"
-"  The style file to use when formatting comments.\n"
-"\n"
+"  The style file to use when formatting comments."
+msgstr ""
+
+msgid ""
 "template\n"
 "  Template to use when formatting comments. Overrides style if\n"
 "  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
+"  extension specifies::"
+msgstr ""
+
+msgid ""
 "    {bug}       The Bugzilla bug ID.\n"
 "    {root}      The full pathname of the Mercurial repository.\n"
 "    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+
+msgid ""
 "  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+
+msgid ""
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
-"\n"
+"  {webroot}. Default 0."
+msgstr ""
+
+msgid ""
 "usermap\n"
 "  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
 "  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+
+msgid ""
 "The [usermap] section is used to specify mappings of Mercurial\n"
 "committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
-"\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+
+msgid ""
 "baseurl\n"
 "  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
-"\n"
+"  templates as {hgweb}."
+msgstr ""
+
+msgid "Activating the extension::"
+msgstr ""
+
+msgid ""
 "    [extensions]\n"
-"    bugzilla =\n"
-"\n"
+"    bugzilla ="
+msgstr ""
+
+msgid ""
 "    [hooks]\n"
 "    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+
+msgid "Example configuration:"
+msgstr ""
+
+msgid ""
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
-"\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+
+msgid ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -303,20 +375,28 @@
 "    template=Changeset {node|short} in {root|basename}.\n"
 "             {hgweb}/{webroot}/rev/{node|short}\\n\n"
 "             {desc}\\n\n"
-"    strip=5\n"
-"\n"
+"    strip=5"
+msgstr ""
+
+msgid ""
 "    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+
+msgid ""
 "    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+
+msgid ""
 "    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+
+msgid "    Changeset commit comment. Bug 1234.\n"
 msgstr ""
 
 #, python-format
@@ -384,7 +464,7 @@
 
 #, python-format
 msgid "hook type %s does not pass a changeset id"
-msgstr "hook type %s overfører ikke noget ændrings-ID"
+msgstr ""
 
 #, python-format
 msgid "database error: %s"
@@ -393,9 +473,10 @@
 msgid "command to display child changesets"
 msgstr "kommando til at vise børne-ændringer"
 
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr "vis børnene til arbejdskataloget eller en given revision"
+
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -403,8 +484,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"vis børnene til arbejdskataloget eller en given revision\n"
-"\n"
 "    Udskriv arbejdskatalogets børnerevisioner. Hvis en revision er\n"
 "    angivet med -r/--rev, udskrives børnene til denne revision.\n"
 "    Hvis en fil er angivet, udskrives revisionen i hvilken filen sidst\n"
@@ -425,77 +504,80 @@
 msgid "Revision %d is a merge, ignoring...\n"
 msgstr "Revision %d er en sammenføjning; ignorerer...\n"
 
-#, python-format
-msgid "generating stats: %d%%"
-msgstr "genererer statistik: %d%%"
-
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "analyzing"
+msgstr ""
+
+msgid "histogram of changes to the repository"
+msgstr "histogram over ændringer i depotet"
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
-"    Statistics are based on the number of changed lines, or\n"
-"    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
-"      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
-"      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
-"      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
-"      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
-"    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
-"    Such a file may be specified with the --aliases option, otherwise\n"
-"    a .hgchurn file will be looked for in the working directory root.\n"
-"    "
-msgstr ""
-"histogram over ændringer i depotet\n"
-"\n"
+"    date instead."
+msgstr ""
 "    Denne kommando vil vise et histogram som repræsenterer antallet af\n"
 "    ændrede linier eller revisioner, grupperet efter en given\n"
 "    skabelon. Standardskabelonen vil gruppere ændringer efter\n"
 "    forfatter. Med --dateformat tilvalget kan resultaterne i stedet\n"
-"    grupperes efter dato.\n"
-"\n"
+"    grupperes efter dato."
+
+msgid ""
+"    Statistics are based on the number of changed lines, or\n"
+"    alternatively the number of matching revisions if the\n"
+"    --changesets option is specified."
+msgstr ""
 "    Statistikken er basseret på antallet af ændrede linier eller\n"
 "    alternativt på antallet af matchende revisioner, hvis --changesets\n"
-"    tilvalget er specificeret.\n"
-"\n"
-"    Eksempler::\n"
-"\n"
+"    tilvalget er specificeret."
+
+msgid "    Examples::"
+msgstr "    Eksempler::"
+
+msgid ""
+"      # display count of changed lines for every committer\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
 "      # viser antaller af ændrede linier for hver bruger\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+
+msgid ""
+"      # display daily activity graph\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
 "      # viser graf over daglig aktivitet\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+
+msgid ""
+"      # display activity of developers by month\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
 "      # viser månedlig aktivitet af udviklerne\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+
+msgid ""
+"      # display count of lines changed in every year\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
 "      # viser antallet af linier ændret hvert år\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+
+msgid ""
+"    It is possible to map alternate email addresses to a main address\n"
+"    by providing a file using the following format::"
+msgstr ""
 "    Det er muligt at afbilde alternative e-mail-adresser til\n"
-"    hoved-adresser ved at bruge en fil med følgende format::\n"
-"\n"
-"      <alias email> <faktisk email>\n"
-"\n"
+"    hoved-adresser ved at bruge en fil med følgende format::"
+
+msgid "      <alias email> <actual email>"
+msgstr "      <alias email> <faktisk email>"
+
+msgid ""
+"    Such a file may be specified with the --aliases option, otherwise\n"
+"    a .hgchurn file will be looked for in the working directory root.\n"
+"    "
+msgstr ""
 "    En sådan fil kan angivet med --aliases tilvalget. Som standard\n"
 "    bruges .hgchurn i arbejdskatalogets rod, hvis denne findes.\n"
 "    "
@@ -524,45 +606,77 @@
 msgid "file with email aliases"
 msgstr "fil med email-aliaser"
 
-msgid "show progress"
-msgstr "vis fremskridt"
-
-msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
-msgstr "hg churn [-d DATO] [-r REV] [--aliases FIL] [--progress] [FIL]"
-
-msgid ""
-"colorize output from some commands\n"
-"\n"
-"This extension modifies the status and resolve commands to add color to "
-"their\n"
+msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [FILE]"
+msgstr "hg churn [-d DATO] [-r REV] [--aliases FIL] [FIL]"
+
+msgid "colorize output from some commands"
+msgstr "farvelæg output for nogle kommandoer"
+
+msgid ""
+"This extension modifies the status and resolve commands to add color to their\n"
 "output to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+"Denne udvidelse ændrer status- og resolve-kommandoerne så de tilføjer\n"
+"farve til deres output for at afspejle filstatus, qseries-kommandoen\n"
+"så den tilføjer farve for at afspejle status for rettelsen (anvendt,\n"
+"ikke-anvendt, manglende), og diff-relaterede kommandoer så de\n"
+"fremhæver tilføjelser, fjernelser, diff-hoveder og mellemrum i\n"
+"slutningen af linier."
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+"Ud over farver er der også andre effekter tilgængelig, såsom fed og\n"
+"understreget tekst. Effekterne bliver renderet med ECMA-48 SGR\n"
+"kontrolfunktionen (aka ANSI escape codes). Dette modul indeholder også\n"
+"render_text funktionen som kan bruges til at tilføje effekter til\n"
+"vilkårlig tekst."
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr "Standardeffekterne som kan overskrives fra en .hgrc fil::"
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold"
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+"  # 'none' slår alle effekter fra\n"
+"  status.clean = none\n"
+"  status.copied = none"
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold"
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -571,46 +685,8 @@
 "  diff.deleted = red\n"
 "  diff.inserted = green\n"
 "  diff.changed = white\n"
-"  diff.trailingwhitespace = bold red_background\n"
-"\n"
-"  resolve.unresolved = red bold\n"
-"  resolve.resolved = green bold\n"
-"\n"
-"  bookmarks.current = green\n"
-msgstr ""
-"farvelæg output for nogle kommandoer\n"
-"\n"
-"Denne udvidelse ændrer status- og resolve-kommandoerne så de tilføjer\n"
-"farve til deres output for at afspejle filstatus, qseries-kommandoen\n"
-"så den tilføjer farve for at afspejle status for rettelsen (anvendt,\n"
-"ikke-anvendt, manglende), og diff-relaterede kommandoer så de\n"
-"fremhæver tilføjelser, fjernelser, diff-hoveder og mellemrum i\n"
-"slutningen af linier.\n"
-"\n"
-"Ud over farver er der også andre effekter tilgængelig, såsom fed og\n"
-"understreget tekst. Effekterne bliver renderet med ECMA-48 SGR\n"
-"kontrolfunktionen (aka ANSI escape codes). Dette modul indeholder også\n"
-"render_text funktionen som kan bruges til at tilføje effekter til\n"
-"vilkårlig tekst.\n"
-"\n"
-"Standardeffekterne som kan overskrives fra en .hgrc fil::\n"
-"\n"
-"  [color]\n"
-"  status.modified = blue bold underline red_background\n"
-"  status.added = green bold\n"
-"  status.removed = red bold blue_background\n"
-"  status.deleted = cyan bold underline\n"
-"  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
-"  # 'none' slår alle effekter fra\n"
-"  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
-"  qseries.applied = blue bold underline\n"
-"  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  diff.trailingwhitespace = bold red_background"
+msgstr ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -619,12 +695,17 @@
 "  diff.deleted = red\n"
 "  diff.inserted = green\n"
 "  diff.changed = white\n"
-"  diff.trailingwhitespace = bold red_background\n"
-"\n"
-"  resolve.unresolved = red bold\\n\"\n"
-"  resolve.resolved = green bold\\n\"\n"
-"\n"
-"  bookmarks.current = green\n"
+"  diff.trailingwhitespace = bold red_background"
+
+msgid ""
+"  resolve.unresolved = red bold\n"
+"  resolve.resolved = green bold"
+msgstr ""
+"  resolve.unresolved = red bold\n"
+"  resolve.resolved = green bold"
+
+msgid "  bookmarks.current = green\n"
+msgstr "  bookmarks.current = green\n"
 
 msgid "when to colorize (always, auto, or never)"
 msgstr "hvornår der skal farvelægges (altid, automatisk eller aldrig)"
@@ -639,11 +720,13 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr "importer revisioner fra fremmede VCS depoter ind i Mercurial"
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -652,72 +735,103 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
+"    - Perforce [p4]"
+msgstr ""
+
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+
+msgid "      <source ID> <destination ID>"
+msgstr ""
+
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+
+msgid "      include path/to/file"
+msgstr ""
+
+msgid "      exclude path/to/file"
+msgstr ""
+
+msgid "      rename from/file to/file"
+msgstr ""
+
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -730,8 +844,10 @@
 "    should be used as the new parents for that node. For example, if\n"
 "    you have merged \"release-1.0\" into \"trunk\", then you should\n"
 "    specify the revision on \"trunk\" as the first parent and the one on\n"
-"    the \"release-1.0\" branch as the second.\n"
-"\n"
+"    the \"release-1.0\" branch as the second."
+msgstr ""
+
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -741,11 +857,15 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -754,11 +874,15 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -767,10 +891,13 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+
+msgid "    The options shown are the defaults."
+msgstr ""
+
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -797,16 +924,22 @@
 "        Specify a Python function to be called after the changesets\n"
 "        are calculated from the the CVS log. The function is passed\n"
 "        a list with the changeset entries, and can modify the changesets\n"
-"        in-place, or add or delete them.\n"
-"\n"
+"        in-place, or add or delete them."
+msgstr ""
+
+msgid ""
 "    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
 "    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
+"    the command help for more details."
+msgstr ""
+
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -816,58 +949,80 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+
+msgid "    "
+msgstr ""
+
+msgid "create changeset information from CVS"
+msgstr ""
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
@@ -940,16 +1095,7 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr "hg debugcvsps [TILVALG]... [STI]..."
 
-#, python-format
-msgid "%s does not look like a Bazaar repository"
-msgstr "%s ser ikke ud som et Bazaar depot"
-
-msgid "Bazaar modules could not be loaded"
-msgstr "Bazaar-modulerne kunne ikke indlæses"
-
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
 msgstr ""
 
 msgid "bzr source type could not be determined\n"
@@ -1058,12 +1204,8 @@
 msgstr "--sourcesort er ikke supporteret at denne datakilde"
 
 #, python-format
-msgid "%s does not look like a CVS checkout"
-msgstr "%s ser ikke ud som et CVS arbejdskatalog"
-
-#, python-format
 msgid "revision %s is not a patchset number"
-msgstr "revision %s er ikke et patchset-nummer"
+msgstr ""
 
 #, python-format
 msgid "connecting to %s\n"
@@ -1073,10 +1215,8 @@
 msgstr "CVS pserver godkendelse fejlede"
 
 #, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
-msgstr ""
-"uventet svar fra CVS serveren (forventede \"Valid-requests\", men fik %r)"
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgstr "uventet svar fra CVS serveren (forventede \"Valid-requests\", men fik %r)"
 
 #, python-format
 msgid "%d bytes missing from remote file"
@@ -1096,9 +1236,6 @@
 msgid "collecting CVS rlog\n"
 msgstr "samler CVS rlog\n"
 
-msgid "not a CVS sandbox"
-msgstr ""
-
 #, python-format
 msgid "reading cvs log cache %s\n"
 msgstr "læser cvs log-mellemlager %s\n"
@@ -1127,9 +1264,6 @@
 msgid "revision must be followed by date line"
 msgstr "revision skal efterfølges af datolinje"
 
-msgid "log cache overlaps with new log entries, re-run without cache."
-msgstr ""
-
 #, python-format
 msgid "writing cvs log cache %s\n"
 msgstr "skriver cvs log-mellemlager %s\n"
@@ -1157,10 +1291,6 @@
 msgstr "%d ændringer\n"
 
 #, python-format
-msgid "%s does not look like a darcs repository"
-msgstr "%s ser ikke ud som et darcs depot"
-
-#, python-format
 msgid "darcs version 2.1 or newer needed (found %r)"
 msgstr "kræver darcs version 2.1 eller nyere (fandt %r)"
 
@@ -1185,26 +1315,7 @@
 msgstr "kildedepot understøtter ikke --filemap"
 
 #, python-format
-msgid "%s does not look like a Git repository"
-msgstr "%s ser ikke ud som et Git depot"
-
-msgid "cannot retrieve git heads"
-msgstr "kan ikke hente git-hoveder"
-
-#, python-format
-msgid "cannot read %r object at %s"
-msgstr "kan ikke læse %r objekt ved %s"
-
-#, python-format
-msgid "cannot read changes in %s"
-msgstr "kan ikke læse ændringer i %s"
-
-#, python-format
-msgid "cannot read tags from %s"
-msgstr "kan ikke læse mærkater fra %s"
-
-#, python-format
-msgid "%s does not look like a GNU Arch repository"
+msgid "%s does not look like a GNU Arch repo"
 msgstr "%s ser ikke ud som et GNU Arch depot"
 
 msgid "cannot find a GNU Arch tool"
@@ -1215,8 +1326,7 @@
 msgstr "analyserer træ version %s...\n"
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr ""
 
 #, python-format
@@ -1224,7 +1334,7 @@
 msgstr "kan ikke parse cat-log af %s"
 
 #, python-format
-msgid "%s is not a local Mercurial repository"
+msgid "%s is not a local Mercurial repo"
 msgstr "%s er ikke et lokalt Mercurial depot"
 
 #, python-format
@@ -1232,10 +1342,6 @@
 msgstr "initialiserer mål %s depot\n"
 
 #, python-format
-msgid "could not create hg repository %s as sink"
-msgstr "kunne ikke oprette hg depot %s som mål"
-
-#, python-format
 msgid "pulling from %s into %s\n"
 msgstr "hiver fra %s ind i %s\n"
 
@@ -1254,17 +1360,13 @@
 msgstr "ignorerer: %s\n"
 
 #, python-format
-msgid "%s does not look like a monotone repository"
+msgid "%s does not look like a monotone repo"
 msgstr "%s ser ikke ud som et monotone depot"
 
 #, python-format
 msgid "copying file in renamed directory from '%s' to '%s'"
 msgstr "kopierer fil i omdøbt katalog fra '%s' til '%s'"
 
-#, python-format
-msgid "%s does not look like a P4 repository"
-msgstr "%s ser ikke ud som et P4 depot"
-
 msgid "reading p4 views\n"
 msgstr "læser p4 views\n"
 
@@ -1274,14 +1376,8 @@
 msgid "Mercurial failed to run itself, check hg executable is in PATH"
 msgstr "Mercurial kunne ikke køre sig selv, kontroller om hg er i PATH"
 
-msgid ""
-"svn: cannot probe remote repository, assume it could be a subversion "
-"repository. Use --source-type if you know better.\n"
-msgstr ""
-
-#, python-format
-msgid "%s does not look like a Subversion repository"
-msgstr "%s ser ikke ud som et Subversion depot"
+msgid "svn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better.\n"
+msgstr ""
 
 msgid "Subversion python bindings could not be loaded"
 msgstr "Subversion python bindingerne kunne ikke indlæses"
@@ -1349,11 +1445,11 @@
 msgstr "svn: gren har ikke nogen revision %s"
 
 #, python-format
-msgid "initializing svn repository %r\n"
+msgid "initializing svn repo %r\n"
 msgstr "initialiserer svn depot %r\n"
 
 #, python-format
-msgid "initializing svn working copy %r\n"
+msgid "initializing svn wc %r\n"
 msgstr "initialiserer svn arbejdskatalog %r\n"
 
 msgid "unexpected svn output:\n"
@@ -1365,37 +1461,50 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr "XXX MÆRKATER ER IKKE IMPLEMENTERET ENDNU\n"
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr ""
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
+
+msgid ""
 "  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+msgstr ""
+
+msgid ""
 "  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+msgstr ""
+
+msgid ""
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+
+msgid ""
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
 "diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
@@ -1416,18 +1525,23 @@
 msgid "cleaning up temp directory\n"
 msgstr "rydder midlertidigt katalog op\n"
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr ""
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
@@ -1448,17 +1562,13 @@
 msgstr "hg extdiff [TILVALG]... [FIL]..."
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr ""
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
-"    the %(path)s program.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent."
+"    the %(path)s program."
 msgstr ""
 
 #, python-format
@@ -1468,31 +1578,35 @@
 msgid "pull, update and merge in one command"
 msgstr "træk, opdater og sammenføj i en kommando"
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
+
+msgid ""
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
 
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
-msgstr ""
-"arbejdskataloget er ikke ved gren-spidsen (brug \"hg update\" for at hente "
-"gren-spidsen)"
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgstr "arbejdskataloget er ikke ved gren-spidsen (brug \"hg update\" for at hente gren-spidsen)"
 
 msgid "outstanding uncommitted merge"
 msgstr "udestående udeponeret sammenføjning"
@@ -1503,30 +1617,19 @@
 msgid "working directory is missing some files"
 msgstr "arbejdskataloget mangler nogle filer"
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
-msgstr ""
-"flere hoveder i denne gren (brug \"hg heads .\" og \"hg merge\" for at "
-"sammenføje)"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgstr "flere hoveder i denne gren (brug \"hg heads .\" og \"hg merge\" for at sammenføje)"
 
 #, python-format
 msgid "pulling from %s\n"
 msgstr "hiver fra %s\n"
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-"Det andet depot understøtter ikke revisionsopslag, så en revision kan ikke "
-"angives."
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
-msgstr ""
-"sammenføjer ikke med %d andre nye gren-hoveder (brug \"hg heads .\" og \"hg "
-"merge\" for at sammenføje dem)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr "Det andet depot understøtter ikke revisionsopslag, så en revision kan ikke angives."
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
+msgstr "sammenføjer ikke med %d andre nye gren-hoveder (brug \"hg heads .\" og \"hg merge\" for at sammenføje dem)\n"
 
 #, python-format
 msgid "updating to %d:%s\n"
@@ -1587,22 +1690,15 @@
 msgid "No valid signature for %s\n"
 msgstr "Ingen gyldig signatur for %s\n"
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr "tilføj en underskrift til den aktuelle eller en given revision"
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"tilføj en underskrift til den aktuelle eller en given revision\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
 "    Hvis der ikke angives en revision, så bruges forældren til\n"
-"    arbejdskataloget, eller tip, hvis der ikke er hentet en revision.\n"
-"\n"
-"    Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n"
-"    "
+"    arbejdskataloget, eller tip, hvis der ikke er hentet en revision."
 
 msgid "uncommitted merge - please provide a specific revision"
 msgstr "udeponeret sammenføjning - angiv venligst en specifik revision"
@@ -1614,12 +1710,8 @@
 msgid "Error while signing"
 msgstr "Fejl ved underskrivning"
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
-msgstr ""
-"arbejdskopien af .hgsigs er ændret (deponer venligst .hgsigs manuelt eller "
-"brug --force)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
+msgstr "arbejdskopien af .hgsigs er ændret (deponer venligst .hgsigs manuelt eller brug --force)"
 
 msgid "unknown signature version"
 msgstr "ukendt underskrift-version"
@@ -1648,15 +1740,14 @@
 msgid "hg sigs"
 msgstr "hg sigs"
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr "kommando til at se revisionsgrafer fra en kommandofortolker"
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
 msgstr ""
-"kommando til at se revisionsgrafer fra en kommandofortolker\n"
-"\n"
 "Denne udvidelser tilføjer et --graph tilvalg til incoming-, outgoing-\n"
 "og log-kommandoerne. Når dette tilvalg bruges, så vil en\n"
 "ASCII-repræsentation af revisionsgrafen også blive vist.\n"
@@ -1665,21 +1756,21 @@
 msgid "--graph option is incompatible with --%s"
 msgstr "--graph tilvalget er ikke kompatibelt med --%s"
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr "vis revisionshistorie ved siden af en ASCII revisionsgraf"
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr ""
+"    Udskriver en revisionshistorie ved siden af en revisionsgraf\n"
+"    tegnet med ASCII-tegn."
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
 msgstr ""
-"vis revisionshistorie ved siden af en ASCII revisionsgraf\n"
-"\n"
-"    Udskriver en revisionshistorie ved siden af en revisionsgraf\n"
-"    tegnet med ASCII-tegn.\n"
-"\n"
 "    Knuder udskrevet med et @-tegn er forældre til arbejdskataloget.\n"
 "    "
 
@@ -1705,12 +1796,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr "hg glog [TILVALG]... [FIL]"
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -1730,13 +1824,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -1753,32 +1851,45 @@
 msgid "email.from must be defined when sending by email"
 msgstr "email.from skal være defineret ved afsendelse af email"
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -1864,18 +1975,76 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr "hg debug-rev-list [TILVALG]... REV..."
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
+#, fuzzy
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+"syntaksfarvelægning til hgweb (kræver Pygments)\n"
+"\n"
+"Det afhænger af Pygments biblioteket til syntaksfarvelægning:\n"
+"http://pygments.org/\n"
+"\n"
+"Der er en enkelt konfigurationsmulighed::\n"
 "\n"
+"  [web]\n"
+"  pygments_style = <stil>\n"
+"\n"
+"Standardstilen er 'colorful'.\n"
+"\n"
+
+#, fuzzy
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
+"http://pygments.org/"
+msgstr ""
+"syntaksfarvelægning til hgweb (kræver Pygments)\n"
+"\n"
+"Det afhænger af Pygments biblioteket til syntaksfarvelægning:\n"
 "http://pygments.org/\n"
 "\n"
-"There is a single configuration option::\n"
+"Der er en enkelt konfigurationsmulighed::\n"
+"\n"
+"  [web]\n"
+"  pygments_style = <stil>\n"
+"\n"
+"Standardstilen er 'colorful'.\n"
+"\n"
+
+#, fuzzy
+msgid "There is a single configuration option::"
+msgstr ""
+"syntaksfarvelægning til hgweb (kræver Pygments)\n"
+"\n"
+"Det afhænger af Pygments biblioteket til syntaksfarvelægning:\n"
+"http://pygments.org/\n"
+"\n"
+"Der er en enkelt konfigurationsmulighed::\n"
 "\n"
 "  [web]\n"
-"  pygments_style = <style>\n"
+"  pygments_style = <stil>\n"
+"\n"
+"Standardstilen er 'colorful'.\n"
+"\n"
+
+#, fuzzy
+msgid ""
+"  [web]\n"
+"  pygments_style = <style>"
+msgstr ""
+"syntaksfarvelægning til hgweb (kræver Pygments)\n"
 "\n"
-"The default is 'colorful'.\n"
+"Det afhænger af Pygments biblioteket til syntaksfarvelægning:\n"
+"http://pygments.org/\n"
+"\n"
+"Der er en enkelt konfigurationsmulighed::\n"
+"\n"
+"  [web]\n"
+"  pygments_style = <stil>\n"
+"\n"
+"Standardstilen er 'colorful'.\n"
+"\n"
+
+#, fuzzy
+msgid "The default is 'colorful'.\n"
 msgstr ""
 "syntaksfarvelægning til hgweb (kræver Pygments)\n"
 "\n"
@@ -1896,14 +2065,13 @@
 msgid "start an inotify server for this repository"
 msgstr "start en inotify server for dette depot"
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr "fejlsøgningsinformation til inotify udvidelsen"
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
-"fejlsøgningsinformation til inotify udvidelsen\n"
-"\n"
 "    Udskriver listen af kataloger som bliver overvåget af inotify\n"
 "    serveren.\n"
 "    "
@@ -1957,14 +2125,10 @@
 
 #, python-format
 msgid "*** the current per-user limit on the number of inotify watches is %s\n"
-msgstr ""
-"*** den nuværende grænse pr bruger for antallet af inotify overvågninger er %"
-"s\n"
+msgstr "*** den nuværende grænse pr bruger for antallet af inotify overvågninger er %s\n"
 
 msgid "*** this limit is too low to watch every directory in this repository\n"
-msgstr ""
-"*** denne grænse er for lille til at overvåge alle biblioteker i dette "
-"depot\n"
+msgstr "*** denne grænse er for lille til at overvåge alle biblioteker i dette depot\n"
 
 msgid "*** counting directories: "
 msgstr "*** tæller kataloger: "
@@ -2040,11 +2204,9 @@
 msgstr "genskanner på grund af ændring af .hgignore\n"
 
 msgid "cannot start: socket is already bound"
-msgstr "kan ikke starte: soklen er allede bundet"
-
-msgid ""
-"cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/"
-"inotify.sock already exists"
+msgstr ""
+
+msgid "cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/inotify.sock already exists"
 msgstr ""
 
 #, python-format
@@ -2059,35 +2221,34 @@
 msgid "unrecognized query type: %s\n"
 msgstr "genkendte ikke forespørgselstype: %s\n"
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr "ekspander udtryk i historikken og sammendrag"
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+"Denne udvidelse gør det muligt at bruge en speciel syntaks i\n"
+"sammendrag som automatisk vil blive ekspanderet til links eller et\n"
+"vilkårligt andet udtryk, ligesom InterWiki gør."
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+"Et par eksempler (link til fejldatabase, etc.) som kan bruges i din\n"
+"hgrc::"
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
-"ekspander udtryk i historikken og sammendrag\n"
-"\n"
-"Denne udvidelse gør det muligt at bruge en speciel syntaks i\n"
-"sammendrag som automatisk vil blive ekspanderet til links eller et\n"
-"vilkårligt andet udtryk, ligesom InterWiki gør.\n"
-"\n"
-"Et par eksempler (link til fejldatabase, etc.) som kan bruges i din\n"
-"hgrc::\n"
-"\n"
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 
 #, python-format
@@ -2098,52 +2259,76 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr "interhg: ugyldig regexp for %s: %s\n"
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr ""
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+
+msgid "Example::"
+msgstr ""
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
@@ -2163,17 +2348,23 @@
 msgid "no [keyword] patterns configured"
 msgstr "ingen [keyword] mønstre konfigureret"
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr ""
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
@@ -2220,9 +2411,6 @@
 "\n"
 "nøgleord skrevet til %s:\n"
 
-msgid "unhooked all commit hooks\n"
-msgstr ""
-
 msgid "hg keyword configuration and expansion example"
 msgstr "eksempel på konfiguration og ekspansion af nøgleord"
 
@@ -2233,38 +2421,44 @@
 "\n"
 "\tnøgleord udvidet\n"
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr "udvid nøgleord i arbejdskataloget"
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr "    Kør efter at at keyword-udvidelsen er blevet (gen)aktiveret."
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
-"udvid nøgleord i arbejdskataloget\n"
-"\n"
-"    Kør efter at at keyword-udvidelsen er blevet (gen)aktiveret.\n"
-"\n"
-"    kwexpand nægter at køre hvis de angivne filer indeholder lokale "
-"ændringer.\n"
-"    "
-
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+"    kwexpand nægter at køre hvis de angivne filer indeholder lokale ændringer.\n"
+"    "
+
+msgid "show files configured for keyword expansion"
+msgstr ""
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
@@ -2272,20 +2466,20 @@
 "    "
 msgstr ""
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr "før ekspanderede nøgleord tilbge i arbejdskataloget"
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+"    Brug denne kommando før du ændrer/deaktiverer nøgleord eller hvis\n"
+"    du oplever problemer med \"hg import\" eller \"hg merge\"."
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
-"før ekspanderede nøgleord tilbge i arbejdskataloget\n"
-"\n"
-"    Brug denne kommando før du ændrer/deaktiverer nøgleord eller hvis\n"
-"    du oplever problemer med \"hg import\" eller \"hg merge\".\n"
-"\n"
 "    kwshrink nægter at køre hvis de angivne filer indeholder lokale\n"
 "    ændringer.\n"
 "    "
@@ -2311,83 +2505,82 @@
 msgid "only show unknown (not tracked) files"
 msgstr "vis kun ukendte (ikke-fulgte) filer"
 
-msgid "show keyword status flags of all files (DEPRECATED)"
-msgstr "vis keyword status for alle filer (FORÆLDET)"
-
-msgid "only show untracked files (DEPRECATED)"
-msgstr "vis kun ikke-fulgte filer (FORÆLDET)"
-
 msgid "hg kwfiles [OPTION]... [FILE]..."
 msgstr "hg kwfiles [TILVALG]... [FIL]..."
 
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr "hg kwshrink [TILVALG]... [FIL]..."
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr "håndter en stak af rettelser"
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+"Denne udvidelse lader dig arbejde med en stak af rettelser (patches) i\n"
+"et Mercurial repository. Den håndterer to stakke af rettelser - alle\n"
+"kendte rettelser og alle anvendte rettelser (en delmængde af de kendte\n"
+"rettelser)."
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+"Kendte rettelser er repræsenteret som rettelse-filer i .hg/patches\n"
+"biblioteket. Anvendte rettelser er både rettelse-filer og Mercurial\n"
+"ændringer."
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr "Almindelige opgaver (brug \"hg help kommado\" for flere detaljer)::"
+
+msgid ""
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+"  opret ny rettelse                                  qnew\n"
+"  importer eksisterende rettelse                     qimport"
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+"  list rettelse-serien                               qseries\n"
+"  list anvendte rettelser                            qapplied"
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
-"  refresh contents of top applied patch     qrefresh\n"
-"\n"
+"  refresh contents of top applied patch     qrefresh"
+msgstr ""
+"  anvend og put rettelse på stakken                  qpush\n"
+"  fjern rettelse fra stakken                         qpop\n"
+"  genopfrisk indholdet af den øverste rettelse       qrefresh"
+
+msgid ""
 "By default, mq will automatically use git patches when required to\n"
 "avoid losing file mode changes, copy records, binary files or empty\n"
-"files creations or deletions. This behaviour can be configured with::\n"
-"\n"
+"files creations or deletions. This behaviour can be configured with::"
+msgstr ""
+"Som udgangspunkt vil mq automatisk bruge git rettelser når det er\n"
+"nødvendigt for at undgå at miste information om ændring af\n"
+"filrettigheder, information om kopier, binære filer eller oprettelse\n"
+"og sletning af tomme filer. Dette kan konfigureres med::"
+
+msgid ""
 "  [mq]\n"
-"  git = auto/keep/yes/no\n"
-"\n"
+"  git = auto/keep/yes/no"
+msgstr ""
+"  [mq]\n"
+"  git = auto/keep/yes/no"
+
+msgid ""
 "If set to 'keep', mq will obey the [diff] section configuration while\n"
 "preserving existing git patches upon qrefresh. If set to 'yes' or\n"
 "'no', mq will override the [diff] section and always generate git or\n"
 "regular patches, possibly losing data in the second case.\n"
 msgstr ""
-"håndter en stak af rettelser\n"
-"\n"
-"Denne udvidelse lader dig arbejde med en stak af rettelser (patches) i\n"
-"et Mercurial repository. Den håndterer to stakke af rettelser - alle\n"
-"kendte rettelser og alle anvendte rettelser (en delmængde af de kendte\n"
-"rettelser).\n"
-"\n"
-"Kendte rettelser er repræsenteret som rettelse-filer i .hg/patches\n"
-"biblioteket. Anvendte rettelser er både rettelse-filer og Mercurial\n"
-"ændringer.\n"
-"\n"
-"Almindelige opgaver (brug \"hg help kommado\" for flere detaljer)::\n"
-"\n"
-"  opret ny rettelse                                  qnew\n"
-"  importer eksisterende rettelse                     qimport\n"
-"\n"
-"  list rettelse-serien                               qseries\n"
-"  list anvendte rettelser                            qapplied\n"
-"\n"
-"  anvend og put rettelse på stakken                  qpush\n"
-"  fjern rettelse fra stakken                         qpop\n"
-"  genopfrisk indholdet af den øverste rettelse       qrefresh\n"
-"\n"
-"Som udgangspunkt vil mq automatisk bruge git rettelser når det er\n"
-"nødvendigt for at undgå at miste information om ændring af\n"
-"filrettigheder, information om kopier, binære filer eller oprettelse\n"
-"og sletning af tomme filer. Dette kan konfigureres med::\n"
-"\n"
-"  [mq]\n"
-"  git = auto/keep/yes/no\n"
-"\n"
 "Hvis tilvalget er sat til 'keep', så vil mq adlyde [diff] sektionen\n"
 "samtidig med at den bevarer eksisterende git rettelser ved qrefresh.\n"
 "Hvis det sættes til 'yes' eller 'no', så vil mq ignorere [diff]\n"
@@ -2491,7 +2684,7 @@
 msgstr "rettelse fejlede, afvisninger er efterladt i arbejdskataloget\n"
 
 msgid "fuzz found when applying patch, stopping\n"
-msgstr "fandt fnidder ved anvendelsen af rettelsen, stopper\n"
+msgstr ""
 
 #, python-format
 msgid "revision %d is not managed"
@@ -2627,9 +2820,7 @@
 msgid "cannot refresh a revision with children"
 msgstr "kan ikke genopfriske en revision som har børn"
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
 msgstr ""
 
 msgid "patch queue directory already exists"
@@ -2640,7 +2831,7 @@
 msgstr "rettelsen %s er ikke i series filen"
 
 msgid "No saved patch data found\n"
-msgstr "Fandt ingen gemt rettelsesdata\n"
+msgstr ""
 
 #, python-format
 msgid "restoring status: %s\n"
@@ -2723,13 +2914,15 @@
 msgid "adding %s to series file\n"
 msgstr "tilføjer %s til series filen\n"
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr ""
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
@@ -2746,96 +2939,105 @@
 msgid "all patches applied\n"
 msgstr "alle rettelser er anvendt\n"
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr "importer en patch"
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+"    Patchen sættes ind i serien efter den sidste anvendte patch. Hvis\n"
+"    der ikker er anvendt nogen patches, indsætter qimport patches\n"
+"    først i serien."
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+"    Patchen vil have samme navn som dens kildefil, med mindre du\n"
+"    angiver et nyt med -n/--name."
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+"    Du kan registrere en eksisterende patch inden i patch kataloget\n"
+"    med -e/--existing tilvalget."
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr ""
+"    Med -f/--force vil en allerede eksisterende patch med samme navn\n"
+"    blive overskrevet."
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
-"    To import a patch from standard input, pass - as the patch file.\n"
-"    When importing from standard input, a patch name must be specified\n"
-"    using the --name flag.\n"
-"    "
-msgstr ""
-"importer en patch\n"
-"\n"
-"    Patchen sættes ind i serien efter den sidste anvendte patch. Hvis\n"
-"    der ikker er anvendt nogen patches, indsætter qimport patches\n"
-"    først i serien.\n"
-"\n"
-"    Patchen vil have samme navn som dens kildefil, med mindre du\n"
-"    angiver et nyt med -n/--name.\n"
-"\n"
-"    Du kan registrere en eksisterende patch inden i patch kataloget\n"
-"    med -e/--existing tilvalget.\n"
-"\n"
-"    Med -f/--force vil en allerede eksisterende patch med samme navn\n"
-"    blive overskrevet.\n"
-"\n"
+"    changes."
+msgstr ""
 "    En eksisterende ændrin kan blive sat under mq kontrol med -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch vil sætte tip under mq kontrol).\n"
 "    Med -g/--git vil patches importeret med --rev bruge git diff\n"
 "    formatet. Se 'hg help diffs' for mere information om hvorfor dette\n"
 "    er vigtigt for at bevare omdøbnings/kopierings-information og\n"
-"    ændriner i rettigheder.\n"
-"\n"
+"    ændriner i rettigheder."
+
+msgid ""
+"    To import a patch from standard input, pass - as the patch file.\n"
+"    When importing from standard input, a patch name must be specified\n"
+"    using the --name flag.\n"
+"    "
+msgstr ""
 "    Brug - som patch filnavn for at importere en patch fra standard\n"
 "    indput. NÃ¥r der importeres fra standard indput skal der angivet et\n"
 "    patchnavn med --name tilvalget.\n"
 "    "
 
-msgid ""
-"init a new queue repository (DEPRECATED)\n"
-"\n"
+msgid "init a new queue repository (DEPRECATED)"
+msgstr "opret et nyt kø-depot (FORÆLDET)"
+
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
 "    an unversioned patch repository into a versioned one). You can use\n"
-"    qcommit to commit changes to this queue repository.\n"
-"\n"
-"    This command is deprecated. Without -c, it's implied by other relevant\n"
-"    commands. With -c, use hg init --mq instead."
-msgstr ""
-"opret et nyt kø-depot (FORÆLDET)\n"
-"\n"
+"    qcommit to commit changes to this queue repository."
+msgstr ""
 "    Kø-depotet er uversioneret som standard. Hvis -c/--create-repo\n"
 "    bruges, så vil qinit oprettet et separat indlejret depot til\n"
 "    patches (qinit -c kan også bruges senere for at konvertere et\n"
 "    uversioneret patch depot til et versioneret et). Du kan bruge\n"
-"    qcommit for at deponere ændringer i dette kø-depot.\n"
-"\n"
+"    qcommit for at deponere ændringer i dette kø-depot."
+
+msgid ""
+"    This command is deprecated. Without -c, it's implied by other relevant\n"
+"    commands. With -c, use hg init --mq instead."
+msgstr ""
 "    Denne kommando er forældet. Uden -c er kommandoen ikke nødvendig,\n"
 "    med -c bør hg init --mq bruges i stedet."
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr ""
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
+
+msgid ""
 "    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
+"    default. Use -p <url> to change."
+msgstr ""
+
+msgid ""
 "    The patch directory must be a nested Mercurial repository, as\n"
 "    would be created by init --mq.\n"
 "    "
@@ -2856,10 +3058,10 @@
 msgid "updating destination repository\n"
 msgstr "opdaterer destinationsdepotet\n"
 
-msgid ""
-"commit changes in the queue repository (DEPRECATED)\n"
-"\n"
-"    This command is deprecated; use hg commit --mq instead."
+msgid "commit changes in the queue repository (DEPRECATED)"
+msgstr ""
+
+msgid "    This command is deprecated; use hg commit --mq instead."
 msgstr ""
 
 msgid "print the entire series file"
@@ -2874,24 +3076,31 @@
 msgid "print the name of the previous patch"
 msgstr "udskriver navnet på den forgående rettelse"
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr ""
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). The patch will be initialized with any outstanding changes\n"
 "    in the working directory. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
+
+msgid ""
 "    -u/--user and -d/--date can be used to set the (given) user and\n"
 "    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
+"    to current user and date to current date."
+msgstr ""
+
+msgid ""
 "    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
 "    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to keep the patch in the git extended diff\n"
 "    format. Read the diffs help topic for more information on why this\n"
 "    is important for preserving permission changes and copy/rename\n"
@@ -2899,31 +3108,32 @@
 "    "
 msgstr ""
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr "opdater den aktuelle patch"
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+"    Hvis der angives filer, så vil den opdaterede patch kun indeholde\n"
+"    modifikationer som matcher disse filer; de andre ændringer vil\n"
+"    forblive i arbejdskataloget."
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+"    Hvis -s/--short angivet, så vil filer som allerede er i patches\n"
+"    blive opdateret ligesom matchede filer og forblive i patchen."
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
 "    git diff format.\n"
 "    "
 msgstr ""
-"opdater den aktuelle patch\n"
-"\n"
-"    Hvis der angives filer, så vil den opdaterede patch kun indeholde\n"
-"    modifikationer som matcher disse filer; de andre ændringer vil\n"
-"    forblive i arbejdskataloget.\n"
-"\n"
-"    Hvis -s/--short angivet, så vil filer som allerede er i patches\n"
-"    blive opdateret ligesom matchede filer og forblive i patchen.\n"
-"\n"
 "    hg add/remove/copy/rename virker som sædvanlig, dog vil du måske\n"
 "    bruge git-patches (-g/--git eller [diff] git=1) for at følge\n"
 "    kopier og omdøbninger. Se 'hg help diffs' for mere information om\n"
@@ -2933,43 +3143,46 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr "tilvalg \"-e\" er inkompatibelt med \"-m\" eller \"-l\""
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr "forskelle mellem den nuværende patch og efterfølgende modifikationer"
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+"    Viser forskelle fra den nuværende patch og eventuelle\n"
+"    efterfølgende ændringer i arbejdskataloget siden sidste refresh\n"
+"    (dermed ser man hvad den nuværende patch vil blive efter en\n"
+"    qrefresh)"
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
 "    qrefresh.\n"
 "    "
 msgstr ""
-"forskelle mellem den nuværende patch og efterfølgende modifikationer\n"
-"\n"
-"    Viser forskelle fra den nuværende patch og eventuelle\n"
-"    efterfølgende ændringer i arbejdskataloget siden sidste refresh\n"
-"    (dermed ser man hvad den nuværende patch vil blive efter en\n"
-"    qrefresh)\n"
-"\n"
 "    Brug 'hg diff' hvis du kun vil se ændringer lavet siden den sidste\n"
 "    qrefresh, eller 'hg export qtip' hvis du vil se ændringer lavet af\n"
 "    den nuværende patch uden at inkludere ændringer lavet siden\n"
 "    qrefresh.\n"
 "    "
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr ""
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
+"    removed afterwards."
+msgstr ""
+
+msgid ""
 "    The header for each folded patch will be concatenated with the\n"
 "    current patch header, separated by a line of '* * *'."
 msgstr ""
@@ -2993,43 +3206,41 @@
 msgstr "Fejl ved foldning af rettelse %s"
 
 msgid "push or pop patches until named patch is at top of stack"
-msgstr ""
-"tilføj eller fjern rettelser indtil den navngivne rettelser er på toppen af "
-"stakken"
-
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgstr "tilføj eller fjern rettelser indtil den navngivne rettelser er på toppen af stakken"
+
+msgid "set or print guards for a patch"
+msgstr "sæt eller vis filtre for en rettelse"
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
-"    With no arguments, print the currently active guards.\n"
-"    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
-"    To set guards on another patch::\n"
-"\n"
-"      hg qguard other.patch -- +2.6.17 -stable\n"
-"    "
-msgstr ""
-"sæt eller vis filtre for en rettelse\n"
-"\n"
+"    has activated it."
+msgstr ""
 "    Filtre kontrollerer hvorvidt en rettelse kan blive skubbet på\n"
 "    stakken. En rettelse uden filtre kan altid skubbes. En rettelse\n"
 "    med et positivt filter (\"+foo\") bliver kun skubbet hvis\n"
 "    qselect-kommandoen har aktiveret det. En rettelse med et negativt\n"
 "    filter (\"-foo\") bliver aldrig skubbet hvis qselect-kommandoen har\n"
-"    aktiveret det.\n"
-"\n"
+"    aktiveret det."
+
+msgid ""
+"    With no arguments, print the currently active guards.\n"
+"    With arguments, set guards for the named patch.\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
 "    Uden argumenter vises de nuværende aktive filtre.\n"
 "    Med argumenter sættes filtre for den navngivne rettelse.\n"
-"    BEMÆRK: negative filtre skal nu specificeres med '--'.\n"
-"\n"
-"    For at sætte filtre på en anden rettelse::\n"
-"\n"
+"    BEMÆRK: negative filtre skal nu specificeres med '--'."
+
+msgid "    To set guards on another patch::"
+msgstr "    For at sætte filtre på en anden rettelse::"
+
+msgid ""
+"      hg qguard other.patch -- +2.6.17 -stable\n"
+"    "
+msgstr ""
 "      hg qguard other.patch -- +2.6.17 -stable\n"
 "    "
 
@@ -3046,15 +3257,14 @@
 msgid "print the header of the topmost or specified patch"
 msgstr "udskriv hovedet af den øverste eller den angivne rettelse"
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr "skub den næste rettelse på stakken"
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
 msgstr ""
-"skub den næste rettelse på stakken\n"
-"\n"
 "    Når -f/--force er angivet, så vil alle lokale ændringer i de\n"
 "    rettede filer gå tabt.\n"
 "    "
@@ -3066,16 +3276,15 @@
 msgid "merging with queue at: %s\n"
 msgstr "sammenføjer med kø ved: %s\n"
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr "fjern den aktuelle rettelse fra stakken"
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
 "    "
 msgstr ""
-"fjern den aktuelle rettelse fra stakken\n"
-"\n"
 "    Som standard fjernes toppen af stakken. Hvis der angives en\n"
 "    rettelse, så vil der blive fjernet rettelser indtil den angivne\n"
 "    rettelse er på toppen af stakken.\n"
@@ -3085,14 +3294,13 @@
 msgid "using patch queue: %s\n"
 msgstr "bruger rettelse-kø: %s\n"
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr "omdøb en rettelse"
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
-"omdøb en rettelse\n"
-"\n"
 "    Med et argument omdøbes den nuværende rettelse til RETTELSE1. Med\n"
 "    to argumenter omdøbes RETTELSE1 til RETTELSE2."
 
@@ -3108,16 +3316,13 @@
 msgid "renaming %s to %s\n"
 msgstr "omdøber %s til %s\n"
 
-msgid ""
-"restore the queue state saved by a revision (DEPRECATED)\n"
-"\n"
-"    This command is deprecated, use rebase --mq instead."
-msgstr ""
-
-msgid ""
-"save current queue state (DEPRECATED)\n"
-"\n"
-"    This command is deprecated, use rebase --mq instead."
+msgid "restore the queue state saved by a revision (DEPRECATED)"
+msgstr ""
+
+msgid "    This command is deprecated, use rebase --mq instead."
+msgstr ""
+
+msgid "save current queue state (DEPRECATED)"
 msgstr ""
 
 #, python-format
@@ -3132,98 +3337,91 @@
 msgid "copy %s to %s\n"
 msgstr "kopier %s til %s\n"
 
-msgid ""
-"strip a changeset and all its descendants from the repository\n"
-"\n"
-"    The strip command removes all changesets whose local revision\n"
-"    number is greater than or equal to REV, and then restores any\n"
-"    changesets that are not descendants of REV. If the working\n"
-"    directory has uncommitted changes, the operation is aborted unless\n"
-"    the --force flag is supplied.\n"
-"\n"
-"    If a parent of the working directory is stripped, then the working\n"
-"    directory will automatically be updated to the most recent\n"
-"    available ancestor of the stripped parent after the operation\n"
-"    completes.\n"
-"\n"
-"    Any stripped changesets are stored in ``.hg/strip-backup`` as a\n"
-"    bundle (see ``hg help bundle`` and ``hg help unbundle``). They can\n"
-"    be restored by running ``hg unbundle .hg/strip-backup/BUNDLE``,\n"
-"    where BUNDLE is the bundle file created by the strip. Note that\n"
-"    the local revision numbers will in general be different after the\n"
-"    restore.\n"
-"\n"
-"    Use the --nobackup option to discard the backup bundle once the\n"
-"    operation completes.\n"
-"    "
-msgstr ""
-
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr "strip en revision og alle dens efterkommere fra depotet"
+
+msgid ""
+"    If one of the working directory's parent revisions is stripped, the\n"
+"    working directory will be updated to the parent of the stripped\n"
+"    revision.\n"
+"    "
+msgstr ""
+"    Hvis en af arbejdskatalogets forælder-revisioner bliver strippet,\n"
+"    så vil arbejdskataloget blive opdateret til forældren af den\n"
+"    strippede revision.\n"
+"    "
+
+msgid "set or print guarded patches to push"
+msgstr "sæt eller vis filtrerede rettelser der skal skubbes"
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example::\n"
-"\n"
-"        qguard foo.patch -stable    (negative guard)\n"
-"        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
-"    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
-"    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
-"    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
-"    Use -n/--none to deactivate guards (no other arguments needed).\n"
-"    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
-"    qselect can change the guards on applied patches. It does not pop\n"
-"    guarded patches by default. Use --pop to pop back to the last\n"
-"    applied patch that is not guarded. Use --reapply (which implies\n"
-"    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
-"    Use -s/--series to print a list of all guards in the series file\n"
-"    (no other arguments needed). Use -v for more information."
-msgstr ""
-"sæt eller vis filtrerede rettelser der skal skubbes\n"
-"\n"
+"    match the current guard. For example::"
+msgstr ""
 "    Brug qguard-kommandoen til at sætte eller vise filtre for en\n"
 "    rettelse og brug så qselect til at fortælle mq hvilke filtre der\n"
 "    skal bruges. En rettelse vil blive skubbet på stakken hvis den\n"
 "    ikke har er nogen filtre tilknyttet eller hvis et positivt filter\n"
 "    matcher det aktuelle filter. En rettelse bliver ikke skubbet hvis\n"
 "    den har et negativt filter som matcher det aktuelle filter. For\n"
-"    eksempel::\n"
-"\n"
+"    eksempel::"
+
+msgid ""
+"        qguard foo.patch -stable    (negative guard)\n"
+"        qguard bar.patch +stable    (positive guard)\n"
+"        qselect stable"
+msgstr ""
 "        qguard foo.patch -stable    (negativt filter)\n"
 "        qguard bar.patch +stable    (positivt filter)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+
+msgid ""
+"    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
+"    it has a negative match) but push bar.patch (because it has a\n"
+"    positive match)."
+msgstr ""
 "    Dette aktiverer \"stable\"-filtret. mq vil springer over foo.patch\n"
 "    (fordi den matcher et negativt filter) men skubbe bar.patch (fordi\n"
-"    den matcher et positivt filter).\n"
-"\n"
+"    den matcher et positivt filter)."
+
+msgid ""
+"    With no arguments, prints the currently active guards.\n"
+"    With one argument, sets the active guard."
+msgstr ""
 "    Uden argumenter vises de aktiverede filtre.\n"
-"    Med et argument sættes det aktive filter.\n"
-"\n"
+"    Med et argument sættes det aktive filter."
+
+msgid ""
+"    Use -n/--none to deactivate guards (no other arguments needed).\n"
+"    When no guards are active, patches with positive guards are\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
 "    Brug -n/--none for at deaktivere filtre (kræver ingen andre\n"
 "    argumenter). Når ingen filtre er aktive, så vil rettelser med\n"
 "    positive filtre bliver sprunget over og rettelser med negative\n"
-"    filtre blive skubbet.\n"
-"\n"
+"    filtre blive skubbet."
+
+msgid ""
+"    qselect can change the guards on applied patches. It does not pop\n"
+"    guarded patches by default. Use --pop to pop back to the last\n"
+"    applied patch that is not guarded. Use --reapply (which implies\n"
+"    --pop) to push back to the current patch afterwards, but skip\n"
+"    guarded patches."
+msgstr ""
 "    qselect kan ændre filtreringen af anvendte rettelser. Den fjerner\n"
 "    som standard ikke filtrerede rettelser. Brug --pop for at fjerne\n"
 "    rettelser indtil der ikke er flere filtrerede rettelser tilbage på\n"
 "    stakken. Brug --reapply (som medfører --pop) for at skubbe\n"
 "    ufiltrerede rettelser på stakken indtil den nuværende rettelse\n"
-"    igen er øverst.\n"
-"\n"
+"    igen er øverst."
+
+msgid ""
+"    Use -s/--series to print a list of all guards in the series file\n"
+"    (no other arguments needed). Use -v for more information."
+msgstr ""
 "    Brug -s/--series for at vise en liste med alle filtre i\n"
 "    rettelsesserien (kræver ingen andre argumenter). Brug -v for mere\n"
 "    information."
@@ -3233,14 +3431,11 @@
 
 #, python-format
 msgid "number of unguarded, unapplied patches has changed from %d to %d\n"
-msgstr ""
-"antallet af ufiltrerede og ikke-anvendte rettelser har ændret sig fra %d til "
-"%d\n"
+msgstr "antallet af ufiltrerede og ikke-anvendte rettelser har ændret sig fra %d til %d\n"
 
 #, python-format
 msgid "number of guarded, applied patches has changed from %d to %d\n"
-msgstr ""
-"antallet af filtrerede og anvendte rettelser har ændret sig fra %d til %d\n"
+msgstr "antallet af filtrerede og anvendte rettelser har ændret sig fra %d til %d\n"
 
 msgid "guards in series file:\n"
 msgstr "filtre i seriefilen:\n"
@@ -3260,18 +3455,23 @@
 msgid "reapplying unguarded patches\n"
 msgstr "anvender ufiltrerede rettelser\n"
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr ""
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
@@ -3415,8 +3615,8 @@
 msgid "add \"Date: <given date>\" to patch"
 msgstr "tilføj \"Date: <given dato>\" til rettelsen"
 
-msgid "hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]..."
-msgstr "hg qnew [-e] [-m TEKST] [-l FIL] RETTELSE [FIL]..."
+msgid "hg qnew [-e] [-m TEXT] [-l FILE] [-f] PATCH [FILE]..."
+msgstr "hg qnew [-e] [-m TEKST] [-l FIL] [-f] RETTELSE [FIL]..."
 
 msgid "hg qnext [-s]"
 msgstr "hg qnext [-s]"
@@ -3440,7 +3640,7 @@
 msgstr ""
 
 msgid "list patch name in commit text"
-msgstr "put rettelsens navn ind i deponeringsbeskeden"
+msgstr ""
 
 msgid "apply all patches"
 msgstr "anvend alle rettelser"
@@ -3479,7 +3679,7 @@
 msgstr ""
 
 msgid "update queue working directory"
-msgstr "opdater arbejdskataloget for kø-depotet"
+msgstr ""
 
 msgid "hg qrestore [-d] [-u] REV"
 msgstr "hg qrestore [-d] [-u] REV"
@@ -3520,14 +3720,10 @@
 msgid "hg qseries [-ms]"
 msgstr "hg qseries [-ms]"
 
-msgid ""
-"force removal of changesets even if the working directory has uncommitted "
-"changes"
-msgstr ""
-
-msgid ""
-"bundle only changesets with local revision number greater than REV which are "
-"not descendants of REV (DEPRECATED)"
+msgid "force removal with local changes"
+msgstr "gennemtving fjernelse af rettelse med lokale ændringer"
+
+msgid "bundle unrelated changesets"
 msgstr ""
 
 msgid "no backups"
@@ -3551,33 +3747,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr "hg qfinish [-a] [REV]..."
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -3588,31 +3798,40 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -3628,163 +3847,208 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
 msgstr ""
 "\n"
-"ændringer (afkortet fra %d til %d linier):\n"
-"\n"
+"ændringer (afkortet fra %d til %d linier):"
 
 #, python-format
 msgid ""
 "\n"
-"diffs (%d lines):\n"
-"\n"
+"diffs (%d lines):"
 msgstr ""
 "\n"
-"ændringer (%d linier):\n"
-"\n"
+"ændringer (%d linier):"
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr "notify: udelader notifikation for sammenføjning %d:%s\n"
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend. Below is the default list of commands to be paged::\n"
-"\n"
+"pager.attend. Below is the default list of commands to be paged::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = annotate, cat, diff, export, glog, log, qdiff\n"
-"\n"
+"  attend = annotate, cat, diff, export, glog, log, qdiff"
+msgstr ""
+
+msgid ""
 "Setting pager.attend to an empty value will cause all commands to be\n"
-"paged.\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"paged."
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr "fortolk suffikser for at referere til forfader-revisioner"
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+"Denne udvidelse lader dig bruge suffikser i stil med git for at\n"
+"referere til forfædrerne til en bestemt revision."
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr "For eksempel, hvis du har referere til en revision som \"foo\", så::"
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+"  foo^N = N'te forældre til foo\n"
+"  foo^0 = foo\n"
+"  foo^1 = første forældre til foo\n"
+"  foo^2 = anden forældre til foo\n"
+"  foo^  = foo^1"
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
-"fortolk suffikser for at referere til forfader-revisioner\n"
-"\n"
-"Denne udvidelse lader dig bruge suffikser i stil med git for at\n"
-"referere til forfædrerne til en bestemt revision.\n"
-"\n"
-"For eksempel, hvis du har referere til en revision som \"foo\", så::\n"
-"\n"
-"  foo^N = N'te forældre til foo\n"
-"  foo^0 = foo\n"
-"  foo^1 = første forældre til foo\n"
-"  foo^2 = anden forældre til foo\n"
-"  foo^  = foo^1\n"
-"\n"
 "  foo~N = N'te første bedsteforældre til foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = første forældre til foo\n"
 "  foo~2 = foo^1^1 = foo^^ = første forældre til første forældre til foo\n"
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+msgid "command to send changesets as (a series of) patch emails"
+msgstr ""
+
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+
+msgid ""
 "Use ``[patchbomb]`` as configuration section name if you need to\n"
-"override global ``[email]`` address settings.\n"
-"\n"
+"override global ``[email]`` address settings."
+msgstr ""
+
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
+
+msgid ""
 "The -m/--mbox option is also very useful. Instead of previewing each\n"
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"files, e.g. with mutt::"
+msgstr ""
+
+msgid "  % mutt -R -f mbox"
+msgstr ""
+
+msgid ""
 "When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
+"package), to send each message out::"
+msgstr ""
+
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr ""
+
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr ""
+
+msgid ""
 "You can also either configure the method option in the email section\n"
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
@@ -3805,53 +4069,66 @@
 msgid "diffstat rejected"
 msgstr "diffstat afvist"
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr ""
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
+
+msgid ""
 "    By default the patch is included as text in the email body for\n"
 "    easy reviewing. Using the -a/--attach option will instead create\n"
 "    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
+"    will be created."
+msgstr ""
+
+msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
 "    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
+
+msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    will be sent."
+msgstr ""
+
+msgid ""
 "      hg email -r 3000          # send patch 3000 only\n"
 "      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
 "      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
+
+msgid ""
 "      hg email -o               # send all patches not in default\n"
 "      hg email -o DEST          # send all patches not in DEST\n"
 "      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
 "    "
@@ -3861,9 +4138,7 @@
 msgstr "angiv mindst en ændring med -r eller -o"
 
 msgid "--outgoing mode always on with --bundle; do not re-specify --outgoing"
-msgstr ""
-"--outgoing tilvalget er altid aktivt med --bundle; undlad at angive --"
-"outgoing igen"
+msgstr "--outgoing tilvalget er altid aktivt med --bundle; undlad at angive --outgoing igen"
 
 msgid "too many destinations"
 msgstr "for mange destinationer"
@@ -3873,20 +4148,14 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
+"Write the introductory message for the patch series."
 msgstr ""
 "\n"
-"Skriv introduktionsbeskeden for rettelsesserien.\n"
-"\n"
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
-msgstr ""
-"Denne rettelsesserie består af %d rettelser.\n"
-"\n"
+"Skriv introduktionsbeskeden for rettelsesserien."
+
+#, python-format
+msgid "This patch series consists of %d patches."
+msgstr "Denne rettelsesserie består af %d rettelser."
 
 msgid "Final summary:\n"
 msgstr "Endeligt sammendrag:\n"
@@ -3969,16 +4238,20 @@
 msgid "hg email [OPTION]... [DEST]..."
 msgstr "hg email [TILVALG]... [MÃ…L]..."
 
-msgid ""
-"show progress bars for some actions\n"
-"\n"
+msgid "show progress bars for some actions"
+msgstr ""
+
+msgid ""
 "This extension uses the progress information logged by hg commands\n"
 "to draw progress bars that are as informative as possible. Some progress\n"
 "bars only offer indeterminate information, while others have a definite\n"
-"end point.\n"
-"\n"
-"The following settings are available::\n"
-"\n"
+"end point."
+msgstr ""
+
+msgid "The following settings are available::"
+msgstr ""
+
+msgid ""
 "  [progress]\n"
 "  delay = 3 # number of seconds (float) before showing the progress bar\n"
 "  refresh = 0.1 # time in seconds between refreshes of the progress bar\n"
@@ -3988,8 +4261,10 @@
 "  clear-complete = True # clear the progress bar after it's done\n"
 "  disable = False # if true, don't show a progress bar\n"
 "  assume-tty = False # if true, ALWAYS show a progress bar, unless\n"
-"                     # disable is given\n"
-"\n"
+"                     # disable is given"
+msgstr ""
+
+msgid ""
 "Valid entries for the format field are topic, bar, number, unit, and\n"
 "item. item defaults to the last 20 characters of the item, but this\n"
 "can be changed by adding either ``-<num>`` which would take the last\n"
@@ -3999,27 +4274,38 @@
 msgid "command to delete untracked files from the working directory"
 msgstr "kommando til at slette filer fra arbejdskataloget som ikke følges"
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+
+msgid "    This means that purge will delete:"
+msgstr ""
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+
+msgid "    But it will leave untouched:"
+msgstr ""
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -4058,36 +4344,41 @@
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr "hg purge [TILVALG]... [KATALOG]..."
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr "kommando til at flytte revisioner til en anden forfader"
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+"Denne udvidelse lader dig omplante deponeringer i et eksisterende\n"
+"Mercurial depot."
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
-"kommando til at flytte revisioner til en anden forfader\n"
-"\n"
-"Denne udvidelse lader dig omplante deponeringer i et eksisterende\n"
-"Mercurial depot.\n"
-"\n"
 "For mere information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr ""
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history (the source) onto another (the destination). This can be\n"
 "    useful for linearizing local changes relative to a master\n"
-"    development tree.\n"
-"\n"
+"    development tree."
+msgstr ""
+
+msgid ""
 "    If you don't specify a destination changeset (``-d/--dest``),\n"
 "    rebase uses the tipmost head of the current named branch as the\n"
 "    destination. (The destination changeset is not modified by\n"
-"    rebasing, but new changesets are added as its descendants.)\n"
-"\n"
+"    rebasing, but new changesets are added as its descendants.)"
+msgstr ""
+
+msgid ""
 "    You can specify which changesets to rebase in two ways: as a\n"
 "    \"source\" changeset or as a \"base\" changeset. Both are shorthand\n"
 "    for a topologically related set of changesets (the \"source\n"
@@ -4098,21 +4389,27 @@
 "    ``-b`` is less precise but more convenient than ``-s``: you can\n"
 "    specify any changeset in the source branch, and rebase will select\n"
 "    the whole branch. If you specify neither ``-s`` nor ``-b``, rebase\n"
-"    uses the parent of the working directory as the base.\n"
-"\n"
+"    uses the parent of the working directory as the base."
+msgstr ""
+
+msgid ""
 "    By default, rebase recreates the changesets in the source branch\n"
 "    as descendants of dest and then destroys the originals. Use\n"
 "    ``--keep`` to preserve the original source changesets. Some\n"
 "    changesets in the source branch (e.g. merges from the destination\n"
-"    branch) may be dropped if they no longer contribute any change.\n"
-"\n"
+"    branch) may be dropped if they no longer contribute any change."
+msgstr ""
+
+msgid ""
 "    One result of the rules for selecting the destination changeset\n"
 "    and source branch is that, unlike ``merge``, rebase will do\n"
 "    nothing if you are at the latest (tipmost) head of a named branch\n"
 "    with two heads. You need to explicitly specify source and/or\n"
 "    destination (or ``update`` to the other head, if it's the head of\n"
-"    the intended source branch).\n"
-"\n"
+"    the intended source branch)."
+msgstr ""
+
+msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a.\n"
 "    "
@@ -4196,9 +4493,7 @@
 msgid "rebase from the specified changeset"
 msgstr ""
 
-msgid ""
-"rebase from the base of the specified changeset (up to greatest common "
-"ancestor of base and dest)"
+msgid "rebase from the base of the specified changeset (up to greatest common ancestor of base and dest)"
 msgstr ""
 
 msgid "rebase onto the specified changeset"
@@ -4290,53 +4585,54 @@
 msgid "record change %d/%d to %r?"
 msgstr "optag ændring %d/%d i %r?"
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr "vælg ændringer interaktivt til deponering"
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+"    Hvis en liste af filer er udeladt, så vil alle ændringer\n"
+"    rapporteret af \"hg status\" være kandidater til at blive optaget."
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr "    Se 'hg help dates' for en liste af gyldige formater til -d/--date."
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
+"    possible::"
+msgstr ""
+"    Du vil blive spurgt om hvorvidt der skal optages ændringer for\n"
+"    hver ændret fil. For filer med flere ændringer spørges der til\n"
+"    hver ændring. For hvert spørgsmål er der følgende mulige svar::"
+
+msgid ""
 "      y - record this change\n"
-"      n - skip this change\n"
-"\n"
+"      n - skip this change"
+msgstr ""
+"      j - optag denne ændring\n"
+"      n - spring denne ændring over"
+
+msgid ""
 "      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
+"      f - record remaining changes to this file"
+msgstr ""
+"      s - spring tilbageværende ændringer over i denne fil\n"
+"      o - optag tilbageværende ændringer i denne fil"
+
+msgid ""
 "      d - done, skip remaining changes and files\n"
 "      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
-msgstr ""
-"vælg ændringer interaktivt til deponering\n"
-"\n"
-"    Hvis en liste af filer er udeladt, så vil alle ændringer\n"
-"    rapporteret af \"hg status\" være kandidater til at blive optaget.\n"
-"\n"
-"    Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n"
-"\n"
-"    Du vil blive spurgt om hvorvidt der skal optages ændringer for\n"
-"    hver ændret fil. For filer med flere ændringer spørges der til\n"
-"    hver ændring. For hvert spørgsmål er der følgende mulige svar::\n"
-"\n"
-"      j - optag denne ændring\n"
-"      n - spring denne ændring over\n"
-"\n"
-"      s - spring tilbageværende ændringer over i denne fil\n"
-"      o - optag tilbageværende ændringer i denne fil\n"
-"\n"
+"      q - quit, recording no changes"
+msgstr ""
 "      f - færdig, spring tilbageværende ændringer og filer over\n"
 "      a - optag alle ændringer i alle tilbageværende filer\n"
-"      i - afbryd og optag ingen ændringer\n"
-"\n"
-"      ? - vis hjælp"
+"      i - afbryd og optag ingen ændringer"
+
+msgid "      ? - display help"
+msgstr "      ? - vis hjælp"
 
 msgid "'mq' extension not loaded"
 msgstr "'mq' udvidelsen er ikke indlæst"
@@ -4357,29 +4653,40 @@
 msgstr "hg qrecord [TILVALG]... RETTELSE [FIL]..."
 
 msgid "recreates hardlinks between repository clones"
-msgstr "genopret hårde lænker mellem depot-kloner"
-
-msgid ""
-"recreate hardlinks between two repositories\n"
-"\n"
+msgstr ""
+
+msgid "recreate hardlinks between two repositories"
+msgstr ""
+
+msgid ""
 "    When repositories are cloned locally, their data files will be\n"
-"    hardlinked so that they only use the space of a single repository.\n"
-"\n"
+"    hardlinked so that they only use the space of a single repository."
+msgstr ""
+
+msgid ""
 "    Unfortunately, subsequent pulls into either repository will break\n"
 "    hardlinks for any files touched by the new changesets, even if\n"
-"    both repositories end up pulling the same changes.\n"
-"\n"
+"    both repositories end up pulling the same changes."
+msgstr ""
+
+msgid ""
 "    Similarly, passing --rev to \"hg clone\" will fail to use any\n"
 "    hardlinks, falling back to a complete copy of the source\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    This command lets you recreate those hardlinks and reclaim that\n"
-"    wasted space.\n"
-"\n"
+"    wasted space."
+msgstr ""
+
+msgid ""
 "    This repository will be relinked to share space with ORIGIN, which\n"
 "    must be on the same local disk. If ORIGIN is omitted, looks for\n"
-"    \"default-relink\", then \"default\", in [paths].\n"
-"\n"
+"    \"default-relink\", then \"default\", in [paths]."
+msgstr ""
+
+msgid ""
 "    Do not attempt any read operations on this repository while the\n"
 "    command is running. (Both repositories will be locked against\n"
 "    writes.)\n"
@@ -4416,45 +4723,61 @@
 
 #, python-format
 msgid "relinked %d files (%d bytes reclaimed)\n"
-msgstr "genlænkede %d filer (%d byte indvundet)\n"
+msgstr ""
 
 msgid "[ORIGIN]"
 msgstr "[KILDE]"
 
-msgid ""
-"extend schemes with shortcuts to repository swarms\n"
-"\n"
+msgid "extend schemes with shortcuts to repository swarms"
+msgstr ""
+
+msgid ""
 "This extension allows you to specify shortcuts for parent URLs with a\n"
-"lot of repositories to act like a scheme, for example::\n"
-"\n"
+"lot of repositories to act like a scheme, for example::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
-"  py = http://code.python.org/hg/\n"
-"\n"
-"After that you can use it like::\n"
-"\n"
-"  hg clone py://trunk/\n"
-"\n"
+"  py = http://code.python.org/hg/"
+msgstr ""
+
+msgid "After that you can use it like::"
+msgstr ""
+
+msgid "  hg clone py://trunk/"
+msgstr ""
+
+msgid ""
 "Additionally there is support for some more complex schemas, for\n"
-"example used by Google Code::\n"
-"\n"
+"example used by Google Code::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
-"  gcode = http://{1}.googlecode.com/hg/\n"
-"\n"
+"  gcode = http://{1}.googlecode.com/hg/"
+msgstr ""
+
+msgid ""
 "The syntax is taken from Mercurial templates, and you have unlimited\n"
 "number of variables, starting with ``{1}`` and continuing with\n"
 "``{2}``, ``{3}`` and so on. This variables will receive parts of URL\n"
 "supplied, split by ``/``. Anything not specified as ``{part}`` will be\n"
-"just appended to an URL.\n"
-"\n"
-"For convenience, the extension adds these schemes by default::\n"
-"\n"
+"just appended to an URL."
+msgstr ""
+
+msgid "For convenience, the extension adds these schemes by default::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
 "  py = http://hg.python.org/\n"
 "  bb = https://bitbucket.org/\n"
 "  bb+ssh = ssh://hg@bitbucket.org/\n"
 "  gcode = https://{1}.googlecode.com/hg/\n"
-"  kiln = https://{1}.kilnhg.com/Repo/\n"
-"\n"
+"  kiln = https://{1}.kilnhg.com/Repo/"
+msgstr ""
+
+msgid ""
 "You can override a predefined scheme by defining a new scheme with the\n"
 "same name.\n"
 msgstr ""
@@ -4462,12 +4785,15 @@
 msgid "share a common history between several working directories"
 msgstr "del en fælles historie mellem flere arbejdsbiblioteker"
 
-msgid ""
-"create a new shared repository\n"
-"\n"
+msgid "create a new shared repository"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: using rollback or extensions that destroy/modify history\n"
 "    (mq, rebase, etc.) can cause considerable confusion with shared\n"
 "    clones. In particular, if two shared clones are both updated to\n"
@@ -4486,11 +4812,13 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr "[-U] KILDE [DESTINATION]"
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr ""
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr ""
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
@@ -4558,38 +4886,52 @@
 msgid "no such option\n"
 msgstr "tilvalget findes ikke\n"
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr ""
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr ""
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
+"    changesets you want."
+msgstr ""
+
+msgid ""
 "    hg transplant --branch REVISION --all will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
+"    directory."
+msgstr ""
+
+msgid ""
 "    You can optionally mark selected transplanted changesets as merge\n"
 "    changesets. You will not be prompted to transplant any ancestors\n"
 "    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
+"    normally instead of transplanting them."
+msgstr ""
+
+msgid ""
 "    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
+"    an interactive changeset browser."
+msgstr ""
+
+msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
 "    and then resume where you left off by calling hg transplant\n"
 "    --continue/-c.\n"
@@ -4641,44 +4983,57 @@
 msgid "filter changesets through FILTER"
 msgstr "filtrer ændringer igennem FILTER"
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
 msgstr "hg transplant [-s DEPOT] [-b GREN [-a]] [-p REV] [-m REV] [REV]..."
 
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr ""
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
+"operation."
+msgstr ""
+
+msgid "This extension is useful for:"
+msgstr ""
+
+msgid ""
 "- Japanese Windows users using shift_jis encoding.\n"
 "- Chinese Windows users using big5 encoding.\n"
 "- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
+"  case-insensitive file system."
+msgstr ""
+
+msgid "This extension is not needed for:"
+msgstr ""
+
+msgid ""
 "- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
-"- You should use single encoding in one repository.\n"
-"\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr ""
+
+msgid "- You should use single encoding in one repository."
+msgstr ""
+
+msgid ""
 "\n"
 "By default, win32mbcs uses encoding.encoding decided by Mercurial.\n"
-"You can specify the encoding by config option::\n"
-"\n"
+"You can specify the encoding by config option::"
+msgstr ""
+
+msgid ""
 " [win32mbcs]\n"
-" encoding = sjis\n"
-"\n"
-"It is useful for the users who want to commit with UTF-8 log message.\n"
+" encoding = sjis"
+msgstr ""
+
+msgid "It is useful for the users who want to commit with UTF-8 log message.\n"
 msgstr ""
 
 #, python-format
@@ -4688,31 +5043,41 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr "[win32mbcs] kan ikke aktiveres på denn platform.\n"
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr ""
+
+msgid "To perform automatic newline conversion, use::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+msgstr ""
+
+msgid ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+msgstr ""
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -4728,8 +5093,7 @@
 
 #, python-format
 msgid "Attempt to commit or push text file(s) using %s line endings\n"
-msgstr ""
-"Forsøg på at deponere eller skubbe tekstfiler som bruge %s linieskift\n"
+msgstr "Forsøg på at deponere eller skubbe tekstfiler som bruge %s linieskift\n"
 
 #, python-format
 msgid "in %s: %s\n"
@@ -4739,13 +5103,21 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+
+#, python-format
+msgid "and also consider adding:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -4754,21 +5126,29 @@
 "** = %sdecode:\n"
 msgstr ""
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr ""
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
@@ -4843,6 +5223,9 @@
 msgid "invalid format spec '%%%s' in output filename"
 msgstr "ugyldig formatspecifikation '%%%s' i output filnavn"
 
+msgid "searching"
+msgstr "søger"
+
 #, python-format
 msgid "adding %s\n"
 msgstr "tilføjer %s\n"
@@ -4889,9 +5272,7 @@
 
 #, python-format
 msgid "%s has not been committed yet, so no copy data will be stored for %s.\n"
-msgstr ""
-"%s er endnu ikke comitted, så der vil ikke blive gemt kopieringsdata for %"
-"s.\n"
+msgstr "%s er endnu ikke comitted, så der vil ikke blive gemt kopieringsdata for %s.\n"
 
 msgid "no source or destination specified"
 msgstr "ingen kilde eller destination angivet"
@@ -4900,8 +5281,7 @@
 msgstr "ingen destination angivet"
 
 msgid "with multiple sources, destination must be an existing directory"
-msgstr ""
-"destinationen skal være en eksisterende mappe når der angivet flere kilder"
+msgstr "destinationen skal være en eksisterende mappe når der angivet flere kilder"
 
 #, python-format
 msgid "destination %s is not a directory"
@@ -4974,7 +5354,7 @@
 
 #, python-format
 msgid "%s: no key named '%s'"
-msgstr "%s: ingen nøgle ved navn '%s'"
+msgstr ""
 
 #, python-format
 msgid "%s: %s"
@@ -4995,8 +5375,7 @@
 msgstr "kan kun følge kopier/omdøbninger for eksplicitte filnavne"
 
 msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
-msgstr ""
-"HG: Skriv deponeringsbesked. Linier som starter med 'HG:' bliver fjernet."
+msgstr "HG: Skriv deponeringsbesked. Linier som starter med 'HG:' bliver fjernet."
 
 msgid "HG: Leave message empty to abort commit."
 msgstr "HG: Efterlad beskeden tom for at afbryde deponeringen."
@@ -5034,22 +5413,37 @@
 msgid "empty commit message"
 msgstr "tom deponeringsbesked"
 
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr "tilføj de angivne filer ved næste deponering"
+
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    Opskriv filer til at blive versionsstyret og tilføjet til depotet."
+
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
-"    If no names are given, add all files to the repository.\n"
-"\n"
-"    .. container:: verbose\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+"    Filerne vil bliver tilføjet til depotet ved næste deponering. For\n"
+"    at omgøre en tilføjelse før det, se hg forget."
+
+msgid "    If no names are given, add all files to the repository."
+msgstr ""
+"    Hvis der ikke er angivet nogen navne tilføjes alle filer til\n"
+"    depotet."
+
+msgid "    .. container:: verbose"
+msgstr "    .. container:: verbose"
+
+msgid ""
 "       An example showing how new (unknown) files are added\n"
-"       automatically by ``hg add``::\n"
-"\n"
+"       automatically by ``hg add``::"
+msgstr ""
+"       An example showing how new (unknown) files are added\n"
+"       automatically by ``hg add``::"
+
+msgid ""
 "         $ ls\n"
 "         foo.c\n"
 "         $ hg status\n"
@@ -5060,21 +5454,6 @@
 "         A foo.c\n"
 "    "
 msgstr ""
-"tilføj de angivne filer ved næste deponering\n"
-"\n"
-"    Opskriv filer til at blive versionsstyret og tilføjet til depotet.\n"
-"\n"
-"    Filerne vil bliver tilføjet til depotet ved næste deponering. For\n"
-"    at omgøre en tilføjelse før det, se hg forget.\n"
-"\n"
-"    Hvis der ikke er angivet nogen navne tilføjes alle filer til\n"
-"    depotet.\n"
-"\n"
-"    .. container:: verbose\n"
-"\n"
-"       An example showing how new (unknown) files are added\n"
-"       automatically by ``hg add``::\n"
-"\n"
 "         $ ls\n"
 "         foo.c\n"
 "         $ hg status\n"
@@ -5085,16 +5464,24 @@
 "         A foo.c\n"
 "    "
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr "tilføj alle nye filer, fjern alle manglende filer"
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    Tilføj alle nye filer og fjern alle manglende filer fra depotet."
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+"    Nye filer bliver ignoreret hvis de matcher et af mønstrene i\n"
+"    .hgignore. Som ved add, så træder disse ændringer først i kræft\n"
+"    ved næste commit."
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -5103,14 +5490,6 @@
 "    can be expensive.\n"
 "    "
 msgstr ""
-"tilføj alle nye filer, fjern alle manglende filer\n"
-"\n"
-"    Tilføj alle nye filer og fjern alle manglende filer fra depotet.\n"
-"\n"
-"    Nye filer bliver ignoreret hvis de matcher et af mønstrene i\n"
-"    .hgignore. Som ved add, så træder disse ændringer først i kræft\n"
-"    ved næste commit.\n"
-"\n"
 "    Brug -s/--similarity tilvalget for at opdage omdøbte filer. Med en\n"
 "    parameter større end 0 bliver hver fjernet fil sammenlignet med\n"
 "    enhver tilføjet fil og filer der er tilstrækkelig ens bliver\n"
@@ -5125,29 +5504,30 @@
 msgid "similarity must be between 0 and 100"
 msgstr "lighedsgrad skal være mellem 0 og 100"
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr "vis information om ændringer pr linie for hver fil"
+
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr ""
+"    Vis ændringer i filer ved at vise revisions ID'et som er\n"
+"    ansvarligt for hver linie"
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr ""
+"    Denne kommando er nyttig til at opdage hvornår en ændring blev\n"
+"    foretaget og af hvem."
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
 "    nor desirable.\n"
 "    "
 msgstr ""
-"vis information om ændringer pr linie for hver fil\n"
-"\n"
-"    Vis ændringer i filer ved at vise revisions ID'et som er\n"
-"    ansvarligt for hver linie\n"
-"\n"
-"    Denne kommando er nyttig til at opdage hvornår en ændring blev\n"
-"    foretaget og af hvem.\n"
-"\n"
 "    Uden -a/--text tilvalget vil annotate undgå at behandle filer som\n"
 "    den detekterer som binære. Med -a vil annotate generere en\n"
 "    annotering alligevel, selvom resultatet sandsynligvis vil være\n"
@@ -5164,25 +5544,37 @@
 msgid "%s: binary file\n"
 msgstr "%s: binær fil\n"
 
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr ""
+
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
-"    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are:\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+
+msgid ""
+"    The archive type is automatically detected based on file\n"
+"    extension (or override using -t/--type)."
+msgstr ""
+
+msgid "    Valid types are:"
+msgstr ""
+
+msgid ""
 "    :``files``: a directory full of files (default)\n"
 "    :``tar``:   tar archive, uncompressed\n"
 "    :``tbz2``:  tar archive, compressed using bzip2\n"
 "    :``tgz``:   tar archive, compressed using gzip\n"
 "    :``uzip``:  zip archive, uncompressed\n"
-"    :``zip``:   zip archive, compressed using deflate\n"
-"\n"
+"    :``zip``:   zip archive, compressed using deflate"
+msgstr ""
+
+msgid ""
 "    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
+
+msgid ""
 "    Each member added to an archive file has a directory prefix\n"
 "    prepended. Use -p/--prefix to specify a format string for the\n"
 "    prefix. The default is the basename of the archive, with suffixes\n"
@@ -5199,42 +5591,37 @@
 msgid "cannot archive plain files to stdout"
 msgstr "flade filer kan ikke arkiveres til standarduddata"
 
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgid "reverse effect of earlier changeset"
+msgstr "omgør effekten af tidligere ændringer"
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+"    Deponerer de omgjorte ændringer som en ny ændring. Den nye ændring\n"
+"    er et barn af den omgjorte ændring."
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+"    Hvis du omgør en ændring som ikke er spidsen, så vil et der blive\n"
+"    lavet et nyt hoved. Dette hoved vil være den nye spids og du bør\n"
+"    sammenføje denne omgjorte ændring med et andet hoved (det\n"
+"    nuværende hoved som standard)."
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"omgør effekten af tidligere ændringer\n"
-"\n"
-"    Deponerer de omgjorte ændringer som en ny ændring. Den nye ændring\n"
-"    er et barn af den omgjorte ændring.\n"
-"\n"
-"    Hvis du omgør en ændring som ikke er spidsen, så vil et der blive\n"
-"    lavet et nyt hoved. Dette hoved vil være den nye spids og du bør\n"
-"    sammenføje denne omgjorte ændring med et andet hoved (det\n"
-"    nuværende hoved som standard).\n"
-"\n"
+"    The result of this merge is not committed, as with a normal merge."
+msgstr ""
 "    Med --merge tilvalget vil forælderen til arbejdskataloget blive\n"
 "    husket og det nye hoved vil blive sammenføjet med denne ændring\n"
 "    bagefter. Dette sparer dig for at lave sammenføjningen selv.\n"
 "    Resultatet af denne sammenføjning er ikke lagt i depot, som ved en\n"
-"    normal sammenføjning.\n"
-"\n"
-"    Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n"
-"    "
+"    normal sammenføjning."
 
 msgid "please specify just one revision"
 msgstr "angiv venligst kun en revision"
@@ -5272,9 +5659,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr "(brug \"backout --merge\" hvis du vil sammenføje automatisk)\n"
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr ""
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -5282,11 +5670,15 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
+
+msgid ""
 "    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
+
+msgid ""
 "    If you supply a command, it will be used for automatic bisection.\n"
 "    Its exit status will be used to mark revisions as good or bad:\n"
 "    status 0 means good, 125 means to skip the revision, 127\n"
@@ -5302,14 +5694,10 @@
 msgstr "Den første dårlige revision er:\n"
 
 msgid "Due to skipped revisions, the first good revision could be any of:\n"
-msgstr ""
-"På grund af oversprungne revisioner kan den første gode revision være en "
-"hvilken som helst af:\n"
+msgstr "På grund af oversprungne revisioner kan den første gode revision være en hvilken som helst af:\n"
 
 msgid "Due to skipped revisions, the first bad revision could be any of:\n"
-msgstr ""
-"På grund af oversprungne revisioner kan den første dårlige revision være en "
-"hvilken som helst af:\n"
+msgstr "På grund af oversprungne revisioner kan den første dårlige revision være en hvilken som helst af:\n"
 
 msgid "cannot bisect (no known good revisions)"
 msgstr "kan ikke halvere (kender ingen gode revisioner)"
@@ -5339,39 +5727,41 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr "Tester ændring %d:%s (%d ændringer tilbage, ~%d test)\n"
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr "angiv eller vis navnet på den aktuelle gren"
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
-"    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
-"    Use -C/--clean to reset the working directory branch to that of\n"
-"    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch. Use\n"
-"    'hg commit --close-branch' to mark this branch as closed.\n"
-"    "
-msgstr ""
-"angiv eller vis navnet på den aktuelle gren\n"
-"\n"
+"    branch."
+msgstr ""
 "    Uden noget argument vises navnet på den nuværende gren. Med et\n"
 "    argument angives arbejdskatalogets grennavn (grenen eksisterer\n"
 "    ikke i depotet før næste deponering). Det anbefales at den primære\n"
-"    udvikling foretages på 'default' grenen.\n"
-"\n"
+"    udvikling foretages på 'default' grenen."
+
+msgid ""
+"    Unless -f/--force is specified, branch will not let you set a\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
 "    Med mindre -f/--force bruges, så vil branch ikke lade dig bruge et\n"
-"    grennavn som allerede eksisterer, selv hvis det er inaktivt.\n"
-"\n"
+"    grennavn som allerede eksisterer, selv hvis det er inaktivt."
+
+msgid ""
+"    Use -C/--clean to reset the working directory branch to that of\n"
+"    the parent of the working directory, negating a previous branch\n"
+"    change."
+msgstr ""
 "    Brug -C/--clean for at nulstille arbejdskatalogs gren til samme\n"
-"    gren dets forældre-ændring og derved negere end tidligere ændring.\n"
-"\n"
+"    gren dets forældre-ændring og derved negere end tidligere ændring."
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch. Use\n"
+"    'hg commit --close-branch' to mark this branch as closed.\n"
+"    "
+msgstr ""
 "    Brug kommandoen 'hg update' for at skifte til en eksisterende\n"
 "    gren. Brug 'hg commit --close-branch' for at markere denne gren\n"
 "    som lukket.\n"
@@ -5381,38 +5771,36 @@
 msgid "reset working directory to branch %s\n"
 msgstr "nulstil arbejdskataloget til gren %s\n"
 
-msgid ""
-"a branch of the same name already exists (use 'hg update' to switch to it)"
-msgstr ""
-"en gren af samme navn eksisterer allerede (brug 'hg update' for at skifte "
-"til den)"
+msgid "a branch of the same name already exists (use 'hg update' to switch to it)"
+msgstr "en gren af samme navn eksisterer allerede (brug 'hg update' for at skifte til den)"
 
 #, python-format
 msgid "marked working directory as branch %s\n"
 msgstr "markerede arbejdskataloget som gren %s\n"
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr "vis navngivne grene i depotet"
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
-"    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-msgstr ""
-"vis navngivne grene i depotet\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
 "    Viser depotets navngivne grene og indikerer hvilke der er\n"
 "    inaktive. Hvis -c/--closed er angivet, så vises lukkede grene også\n"
-"    (se hg commit --close-branch).\n"
-"\n"
+"    (se hg commit --close-branch)."
+
+msgid ""
+"    If -a/--active is specified, only show active branches. A branch\n"
+"    is considered active if it contains repository heads."
+msgstr ""
 "    Hvis -a/--active er angivet, da vises kun aktive grene. En gren er\n"
-"    anses for at være aktiv hvis den indeholder depothoveder.\n"
-"\n"
+"    anses for at være aktiv hvis den indeholder depothoveder."
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch.\n"
+"    "
+msgstr ""
 "    Brug kommandoen 'hg update' for at skifte til en eksisterende\n"
 "    gren.\n"
 "    "
@@ -5423,26 +5811,35 @@
 msgid " (inactive)"
 msgstr " (inaktiv)"
 
-msgid ""
-"create a changegroup file\n"
-"\n"
+msgid "create a changegroup file"
+msgstr ""
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+
+msgid ""
 "    If you omit the destination repository, then hg assumes the\n"
 "    destination will have all the nodes you specify with --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
+
+msgid ""
 "    Applying bundles preserves all changeset contents including\n"
 "    permissions, copy/rename information, and revision history.\n"
 "    "
@@ -5454,56 +5851,74 @@
 msgid "unknown bundle type specified with --type"
 msgstr "ukendt bundt-type angivet med --type"
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr "udskriv den aktuelle eller en given revision af filer"
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+"    Udskriver de angivne filer som de så ud ved den givne revision.\n"
+"    Hvis der ikke angves en revision, så bruges forældre-revisionen\n"
+"    til arbejdskataloget, eller spidsen hvis der ikke er hentet noget\n"
+"    arbejdskatalog."
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions:\n"
-"\n"
+"    for the export command, with the following additions:"
+msgstr ""
+"    Output kan gemmes i en fil hvis navn angives med et formatstreng.\n"
+"    Reglerne for formatteringen er de samme som for export-kommandoen\n"
+"    med følgende tilføjelser:"
+
+msgid ""
 "    :``%s``: basename of file being printed\n"
 "    :``%d``: dirname of file being printed, or '.' if in repository root\n"
 "    :``%p``: root-relative path name of file being printed\n"
 "    "
 msgstr ""
-"udskriv den aktuelle eller en given revision af filer\n"
-"\n"
-"    Udskriver de angivne filer som de så ud ved den givne revision.\n"
-"    Hvis der ikke angves en revision, så bruges forældre-revisionen\n"
-"    til arbejdskataloget, eller spidsen hvis der ikke er hentet noget\n"
-"    arbejdskatalog.\n"
-"\n"
-"    Output kan gemmes i en fil hvis navn angives med et formatstreng.\n"
-"    Reglerne for formatteringen er de samme som for export-kommandoen\n"
-"    med følgende tilføjelser:\n"
-"\n"
 "    :``%s``: grundnavn for filen som udskrives\n"
 "    :``%d``: katalognavn for filen som blvier udskrevet\n"
 "             eller '.' hvis filen er i katalogets rod\n"
 "    :``%p``: rod-relativ sti for filen som bliver udkrevet\n"
 "    "
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+msgid "make a copy of an existing repository"
+msgstr "lav en kopi af et eksisterende depot"
+
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr "    Lav en kopi af et eksisterende depot i en ny mappe."
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr ""
+"    Hvis der ikke angivet et navn til destinationen, så bruges\n"
+"    grundnavnet for kilden."
+
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+"    Placeringen af kilden tilføjes til det nye depots .hg/hgrc fil som\n"
+"    den nye standard for fremtidige kald til 'hg pull'."
+
+msgid "    See 'hg help urls' for valid source format details."
+msgstr "    Se 'hg help urls' for detaljer om gyldige formatter for kilden."
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ``ssh://`` URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ``ssh://`` URLs."
+msgstr ""
+"    Det er muligt at specificere en ``ssh://`` URL som destination,\n"
+"    men der vil ikke bliver oprettet nogen .hg/hgrc fil eller noget\n"
+"    arbejdskatalog på den anden side. Se venligst 'hg help urls' for\n"
+"    vigtige detaljer om ``ssh://`` URLer."
+
+msgid ""
 "    A set of changesets (tags, or branch names) to pull may be specified\n"
 "    by listing each changeset (tag, or branch name) with -r/--rev.\n"
 "    If -r/--rev is used, the cloned repository will contain only a subset\n"
@@ -5511,33 +5926,73 @@
 "    defined by all -r/--rev options (including all their ancestors)\n"
 "    will be pulled into the destination repository.\n"
 "    No subsequent changesets (including subsequent tags) will be present\n"
-"    in the destination.\n"
-"\n"
+"    in the destination."
+msgstr ""
+"    Der kan angives en mængde af ændringer (mærkater eller navne på\n"
+"    grene) som skal hives ved at angive hver ændring (mærkat eller\n"
+"    grennavn) med -r/--rev. Hvis -r/--rev tilvalget bruges, så vil det\n"
+"    klonede depot kun indeholde en delmængde af ændringerne i\n"
+"    kildedepotet. Det er kun mængden af ændringer defineret af alle\n"
+"    -r/--rev tilvalgene (inklusiv alle deres forfædre) som vil blive\n"
+"    hevet ind i destinationsdepotet. Ingen efterfølgende revisioner\n"
+"    (inklusiv efterfølgende mærkater) vil findes i destinationen."
+
+msgid ""
 "    Using -r/--rev (or 'clone src#rev dest') implies --pull, even for\n"
-"    local source repositories.\n"
-"\n"
+"    local source repositories."
+msgstr ""
+"    Brug af -r/--rev (eller 'clone kilde#rev destination') medfører\n"
+"    --pull, selv ved lokale depoter."
+
+msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
 "    to the repository data, not to the working directory). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
+"    avoid hardlinking."
+msgstr ""
+"    Af effektivitetsgrunde bruges hårde lænker ved kloning når kilden\n"
+"    og destinationen er på det samme filsystem (bemærk at dette kun\n"
+"    gælder for depotdata og ikke for de arbejdsbiblioteket). Nogle\n"
+"    filsystemer, såsom AFS, implementerer ikke hårde lænker korrekt,\n"
+"    men rapporterer ingen fejl. I disse tilfælde skal --pull bruges\n"
+"    for at undgå hårde lænker."
+
+msgid ""
 "    In some cases, you can clone repositories and the working directory\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    using full hardlinks with ::"
+msgstr ""
+"    I nogle tilfælde kan du klone depoter og arbejdsbiblioteket og\n"
+"    bruge hårde lænker til alle filer med ::"
+
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr "      $ cp -al DEPOT DEPOTKLON"
+
+msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
 "    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
 "    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
+"    metadata under the .hg directory, such as mq."
+msgstr ""
+"    Dette er den hurtigste måde at klone på, men det er ikke altid\n"
+"    sikkert. Operationen er ikke atomisk (det er op til dig at sikre\n"
+"    at DEPOT ikke bliver modificeret undervejs) og du skal selv sørge\n"
+"    for at din tekstbehandler bryder hårde lænker (Emacs og de fleste\n"
+"    Linux Kernel værktøjer gør det). Dette er desuden ikke kompatibelt\n"
+"    med visse udvidelser som placerer deres metadata under .hg mappen,\n"
+"    såsom mq."
+
+msgid ""
 "    Mercurial will update the working directory to the first applicable\n"
-"    revision from this list:\n"
-"\n"
+"    revision from this list:"
+msgstr ""
+"    Mercurial vil opdatere arbejdsbiblioteket til den første brugbare\n"
+"    revision fra denne liste:"
+
+msgid ""
 "    a) null if -U or the source repository has no changesets\n"
 "    b) if -u . and the source repository is local, the first parent of\n"
 "       the source repository's working directory\n"
@@ -5550,58 +6005,6 @@
 "    h) tip\n"
 "    "
 msgstr ""
-"lav en kopi af et eksisterende depot\n"
-"\n"
-"    Lav en kopi af et eksisterende depot i en ny mappe.\n"
-"\n"
-"    Hvis der ikke angivet et navn til destinationen, så bruges\n"
-"    grundnavnet for kilden.\n"
-"\n"
-"    Placeringen af kilden tilføjes til det nye depots .hg/hgrc fil som\n"
-"    den nye standard for fremtidige kald til 'hg pull'.\n"
-"\n"
-"    Se 'hg help urls' for detaljer om gyldige formatter for kilden.\n"
-"\n"
-"    Det er muligt at specificere en ``ssh://`` URL som destination,\n"
-"    men der vil ikke bliver oprettet nogen .hg/hgrc fil eller noget\n"
-"    arbejdskatalog på den anden side. Se venligst 'hg help urls' for\n"
-"    vigtige detaljer om ``ssh://`` URLer.\n"
-"\n"
-"    Der kan angives en mængde af ændringer (mærkater eller navne på\n"
-"    grene) som skal hives ved at angive hver ændring (mærkat eller\n"
-"    grennavn) med -r/--rev. Hvis -r/--rev tilvalget bruges, så vil det\n"
-"    klonede depot kun indeholde en delmængde af ændringerne i\n"
-"    kildedepotet. Det er kun mængden af ændringer defineret af alle\n"
-"    -r/--rev tilvalgene (inklusiv alle deres forfædre) som vil blive\n"
-"    hevet ind i destinationsdepotet. Ingen efterfølgende revisioner\n"
-"    (inklusiv efterfølgende mærkater) vil findes i destinationen.\n"
-"\n"
-"    Brug af -r/--rev (eller 'clone kilde#rev destination') medfører\n"
-"    --pull, selv ved lokale depoter.\n"
-"\n"
-"    Af effektivitetsgrunde bruges hårde lænker ved kloning når kilden\n"
-"    og destinationen er på det samme filsystem (bemærk at dette kun\n"
-"    gælder for depotdata og ikke for de arbejdsbiblioteket). Nogle\n"
-"    filsystemer, såsom AFS, implementerer ikke hårde lænker korrekt,\n"
-"    men rapporterer ingen fejl. I disse tilfælde skal --pull bruges\n"
-"    for at undgå hårde lænker.\n"
-"\n"
-"    I nogle tilfælde kan du klone depoter og arbejdsbiblioteket og\n"
-"    bruge hårde lænker til alle filer med ::\n"
-"\n"
-"      $ cp -al DEPOT DEPOTKLON\n"
-"\n"
-"    Dette er den hurtigste måde at klone på, men det er ikke altid\n"
-"    sikkert. Operationen er ikke atomisk (det er op til dig at sikre\n"
-"    at DEPOT ikke bliver modificeret undervejs) og du skal selv sørge\n"
-"    for at din tekstbehandler bryder hårde lænker (Emacs og de fleste\n"
-"    Linux Kernel værktøjer gør det). Dette er desuden ikke kompatibelt\n"
-"    med visse udvidelser som placerer deres metadata under .hg mappen,\n"
-"    såsom mq.\n"
-"\n"
-"    Mercurial vil opdatere arbejdsbiblioteket til den første brugbare\n"
-"    revision fra denne liste:\n"
-"\n"
 "    a) null, hvis -U tilvalget er brugt eller hvis kildedepotet ikke\n"
 "       indeholder nogen ændringer\n"
 "    b) den første forælder til kildedepotets arbejdsbiblioteket hvis\n"
@@ -5619,42 +6022,38 @@
 msgid "cannot specify both --noupdate and --updaterev"
 msgstr "man kan ikke angive både --noupdate og --updaterev"
 
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr "lægger de specificerede filer eller alle udestående ændringer i depot"
+
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
-"    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
-"    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"lægger de specificerede filer eller alle udestående ændringer i depot\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr ""
 "    Deponerer ændringer i de angivne filer ind i depotet. Dette er en\n"
 "    lokal operation, i modsætning til et centraliseret RCS. Se hg push\n"
-"    for en måde til aktivt distribuere dine ændringer.\n"
-"\n"
+"    for en måde til aktivt distribuere dine ændringer."
+
+msgid ""
+"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    will be committed."
+msgstr ""
 "    Hvis en liste af filer udelades vil alle ændringer rapporteret af\n"
-"    \"hg status\" blive deponeret.\n"
-"\n"
+"    \"hg status\" blive deponeret."
+
+msgid ""
+"    If you are committing the result of a merge, do not provide any\n"
+"    filenames or -I/-X filters."
+msgstr ""
 "    Hvis du deponerer resultatet af en sammenføjning, undlad da at\n"
-"    angive filnavne eller -I/-X filtre.\n"
-"\n"
+"    angive filnavne eller -I/-X filtre."
+
+msgid ""
+"    If no commit message is specified, the configured editor is\n"
+"    started to prompt you for a message."
+msgstr ""
 "    Hvis der ikke angives en deponeringsbesked, så starten den\n"
-"    konfigurerede editor for at bede dig om en besked.\n"
-"\n"
-"    Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n"
-"    "
+"    konfigurerede editor for at bede dig om en besked."
 
 msgid "nothing changed\n"
 msgstr "ingen ændringer\n"
@@ -5666,17 +6065,22 @@
 msgid "committed changeset %d:%s\n"
 msgstr "deponerede ændring %d:%s\n"
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr ""
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
@@ -5714,20 +6118,25 @@
 msgstr ""
 
 msgid ".hg/dirstate inconsistent with current parent's manifest"
-msgstr ""
-".hg/dirstate er inkonsistent i forhold til den nuværende forælders manifest"
-
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgstr ".hg/dirstate er inkonsistent i forhold til den nuværende forælders manifest"
+
+msgid "show combined config settings from all hgrc files"
+msgstr ""
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr ""
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
@@ -5736,9 +6145,10 @@
 msgid "only one config item permitted"
 msgstr ""
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr ""
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
@@ -5781,10 +6191,10 @@
 msgstr "Kontrollerer udvidelser...\n"
 
 msgid " One or more extensions could not be found"
-msgstr " En eller flere udvidelser blev ikke fundet"
+msgstr ""
 
 msgid " (check that you compiled the extensions)\n"
-msgstr " (kontroller at du har kompileret udvidelserne)\n"
+msgstr ""
 
 msgid "Checking templates...\n"
 msgstr ""
@@ -5793,25 +6203,21 @@
 msgstr ""
 
 msgid "Checking patch...\n"
-msgstr "Kontrollerer patch...\n"
+msgstr ""
 
 msgid " patch call failed:\n"
-msgstr " kaldet til patch fejlede:\n"
+msgstr ""
 
 msgid " unexpected patch output!\n"
-msgstr " uventet output fra patch!\n"
+msgstr ""
 
 msgid " patch test failed!\n"
-msgstr " patch testen fejlede!\n"
-
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
-msgstr " (Det nuværende patch-værktøj er måske inkompatibelt med patch eller konfigureret forkert. Undersøg venligst din .hgrc-fil)\n"
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
+msgstr ""
+
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr ""
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
 msgstr ""
 
 msgid "Checking commit editor...\n"
@@ -5828,20 +6234,20 @@
 msgstr ""
 
 msgid "Checking username...\n"
-msgstr "Kontrollerer brugernavn...\n"
+msgstr ""
 
 msgid " (specify a username in your .hgrc file)\n"
-msgstr " (angiv et brugernavn i din .hgrc-fil)\n"
+msgstr ""
 
 msgid "No problems detected\n"
 msgstr "Fandt ingen problemer\n"
 
 #, python-format
 msgid "%s problems detected, please check your install!\n"
-msgstr "fandt %s problemer, kontroller venligst din installation!\n"
+msgstr ""
 
 msgid "dump rename information"
-msgstr "dump information om omdøbninger"
+msgstr ""
 
 #, python-format
 msgid "%s renamed from %s:%s\n"
@@ -5854,77 +6260,84 @@
 msgid "show how files match on given patterns"
 msgstr ""
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr "find ændringer i hele depotet (eller udvalgte filer)"
+
+msgid "    Show differences between revisions for the specified files."
+msgstr "    Vis ændringer mellem revisioner for de udvalgte filer."
+
+msgid "    Differences between files are shown using the unified diff format."
+msgstr "    Ændringerne mellem filerne vises i unified diff-formatet."
+
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
-"    Alternatively you can specify -c/--change with a revision to see\n"
-"    the changes in that changeset relative to its first parent.\n"
-"\n"
-"    Without the -a/--text option, diff will avoid generating diffs of\n"
-"    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. For more information, read 'hg help diffs'.\n"
-"    "
-msgstr ""
-"find ændringer i hele depotet (eller udvalgte filer)\n"
-"\n"
-"    Vis ændringer mellem revisioner for de udvalgte filer.\n"
-"\n"
-"    Ændringerne mellem filerne vises i unified diff-formatet.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
 "    BEMÆRK: diff kan generere overraskende resultater for\n"
 "    sammenføjninger, idet den som udgangspunkt vil sammenligne med\n"
 "    arbejdskatalogets første forælder, hvis der ikke angivet en\n"
-"    revision.\n"
-"\n"
-"    Når der gives to revisioner som argumenter, så vises ændringer\n"
-"    mellem disse. Hvis der kun angives en revision, så sammenlignes\n"
-"    denne revision med arbejdskataloget, og når der ikke angives nogen\n"
-"    revisioner, så sammenlignes arbejdskataloget med dennes forælder.\n"
-"\n"
+"    revision."
+
+msgid ""
+"    Alternatively you can specify -c/--change with a revision to see\n"
+"    the changes in that changeset relative to its first parent."
+msgstr ""
 "    Du kan alternativt angive -c/--change med en revision for at se\n"
-"    ændringerne i den revision relativt til dens første forælder.\n"
-"\n"
+"    ændringerne i den revision relativt til dens første forælder."
+
+msgid ""
+"    Without the -a/--text option, diff will avoid generating diffs of\n"
+"    files it detects as binary. With -a, diff will generate a diff\n"
+"    anyway, probably with undesirable results."
+msgstr ""
 "    Uden -a/--text tilvalget vil diff undgå at generere ændringer for\n"
 "    filer som den detekterer som binære. Med -a vil diff generere\n"
-"    ændringer alligevel, sandsynligvis med uønskede resultater.\n"
-"\n"
+"    ændringer alligevel, sandsynligvis med uønskede resultater."
+
+msgid ""
+"    Use the -g/--git option to generate diffs in the git extended diff\n"
+"    format. For more information, read 'hg help diffs'.\n"
+"    "
+msgstr ""
 "    Brug -g/--git tilvalget for at generere ændringer i det udvidede\n"
 "    git diff-format. For mere information, læs hg help diffs.\n"
 "    "
 
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr "dump hovedet og ændringerne for en eller flere ændringer"
+
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr ""
+"    Udskriv ændrings-hovedet og ændringerne for en eller flere\n"
+"    revisioner."
+
+msgid ""
 "    The information shown in the changeset header is: author, date,\n"
 "    branch name (if non-default), changeset hash, parent(s) and commit\n"
-"    comment.\n"
-"\n"
+"    comment."
+msgstr ""
+"    Informationen som vises i ændrings-hovedet er: forfatter, dato,\n"
+"    grennavn (hvis forskellig fra default), ændringshash, forældrene\n"
+"    og deponeringsbeskeden."
+
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+"    BEMÆRK: export kan generere uventet diff uddata for\n"
+"    sammenføjningsændringer idet den kun vil sammenligne\n"
+"    sammenføjningsændringen med dennes første forælder."
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:\n"
-"\n"
+"    given using a format string. The formatting rules are as follows:"
+msgstr ""
+"    Uddata kan gemmes i en fil, og filnavnet er givet ved en\n"
+"    format-streng. Formatteringsreglerne er som følger:"
+
+msgid ""
 "    :``%%``: literal \"%\" character\n"
 "    :``%H``: changeset hash (40 bytes of hexadecimal)\n"
 "    :``%N``: number of patches being generated\n"
@@ -5932,35 +6345,8 @@
 "    :``%b``: basename of the exporting repository\n"
 "    :``%h``: short-form changeset hash (12 bytes of hexadecimal)\n"
 "    :``%n``: zero-padded sequence number, starting at 1\n"
-"    :``%r``: zero-padded changeset revision number\n"
-"\n"
-"    Without the -a/--text option, export will avoid generating diffs\n"
-"    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
-"    With the --switch-parent option, the diff will be against the\n"
-"    second parent. It can be useful to review a merge.\n"
-"    "
-msgstr ""
-"dump hovedet og ændringerne for en eller flere ændringer\n"
-"\n"
-"    Udskriv ændrings-hovedet og ændringerne for en eller flere\n"
-"    revisioner.\n"
-"\n"
-"    Informationen som vises i ændrings-hovedet er: forfatter, dato,\n"
-"    grennavn (hvis forskellig fra default), ændringshash, forældrene\n"
-"    og deponeringsbeskeden.\n"
-"\n"
-"    BEMÆRK: export kan generere uventet diff uddata for\n"
-"    sammenføjningsændringer idet den kun vil sammenligne\n"
-"    sammenføjningsændringen med dennes første forælder.\n"
-"\n"
-"    Uddata kan gemmes i en fil, og filnavnet er givet ved en\n"
-"    format-streng. Formatteringsreglerne er som følger:\n"
-"\n"
+"    :``%r``: zero-padded changeset revision number"
+msgstr ""
 "    :``%%``: litteral \"%\" tegn\n"
 "    :``%H``: ændringshash (40 byte heksadecimal)\n"
 "    :``%N``: antallet af rettelser som bliver genereret\n"
@@ -5968,15 +6354,29 @@
 "    :``%b``: grundnavn for det eksporterede depot\n"
 "    :``%h``: kortform ændringshash (12 byte heksadecimal)\n"
 "    :``%n``: nul-fyldt sekvensnummer, startende ved 1\n"
-"    :``%r``: nul-fyldt revisionsnummer for ændringen\n"
-"\n"
+"    :``%r``: nul-fyldt revisionsnummer for ændringen"
+
+msgid ""
+"    Without the -a/--text option, export will avoid generating diffs\n"
+"    of files it detects as binary. With -a, export will generate a\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
 "    Uden -a/--text tilvalget vil annotate undgå at behandle filer som\n"
 "    den detekterer som binære. Med -a vil annotate generere en\n"
-"    annotering alligevel, sandsynligvis med et uønsket resultat.\n"
-"\n"
+"    annotering alligevel, sandsynligvis med et uønsket resultat."
+
+msgid ""
+"    Use the -g/--git option to generate diffs in the git extended diff\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
 "    Brug -g/--git tilvalget for at generere ændringer i det udvidede\n"
-"    git diff-format. Se 'hg help diffs' for mere information.\n"
-"\n"
+"    git diff-format. Se 'hg help diffs' for mere information."
+
+msgid ""
+"    With the --switch-parent option, the diff will be against the\n"
+"    second parent. It can be useful to review a merge.\n"
+"    "
+msgstr ""
 "    Med --switch-parent tilvalget vil ændringerne blive beregnet i\n"
 "    forhold til den anden forælder. Dette kan være nyttigt til at\n"
 "    gennemse en sammenføjning.\n"
@@ -5986,33 +6386,34 @@
 msgstr ""
 
 msgid "exporting patches:\n"
-msgstr "eksporterer rettelser:\n"
+msgstr ""
 
 msgid "exporting patch:\n"
-msgstr "eksporterer rettelse:\n"
-
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgstr ""
+
+msgid "forget the specified files on the next commit"
+msgstr "glem de angivne filer ved næste deponering"
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+"    Marker de angivne filer sådan at de ikke længere vil fulgt ved\n"
+"    næste deponering."
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
-"    To undo a forget before the next commit, see hg add.\n"
-"    "
-msgstr ""
-"glem de angivne filer ved næste deponering\n"
-"\n"
-"    Marker de angivne filer sådan at de ikke længere vil fulgt ved\n"
-"    næste deponering.\n"
-"\n"
+"    working directory."
+msgstr ""
 "    Dette fjerner kun filerne fra den aktuelle gren, ikke fra hele\n"
 "    projektets historie, og det sletter dem heller ikke fra\n"
-"    arbejdskataloget.\n"
-"\n"
+"    arbejdskataloget."
+
+msgid ""
+"    To undo a forget before the next commit, see hg add.\n"
+"    "
+msgstr ""
 "    For at omgøre forget før næste deponering, se hg add.\n"
 "    "
 
@@ -6023,16 +6424,20 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr "fjerner ikke %s: filen følges ikke\n"
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr ""
+
+msgid "    Search revisions of files for a regular expression."
+msgstr ""
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -6045,27 +6450,36 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr "grep: ugyldigt søgemønster: %s\n"
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository branch heads.\n"
-"\n"
+msgid "show current repository heads or show branch heads"
+msgstr ""
+
+msgid "    With no arguments, show all repository branch heads."
+msgstr ""
+
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
 "    for update and merge operations. Branch heads are changesets that have\n"
-"    no child changeset on the same branch.\n"
-"\n"
+"    no child changeset on the same branch."
+msgstr ""
+
+msgid ""
 "    If one or more REVs are given, only branch heads on the branches\n"
-"    associated with the specified changesets are shown.\n"
-"\n"
+"    associated with the specified changesets are shown."
+msgstr ""
+
+msgid ""
 "    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
+"    (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If STARTREV is specified, only those heads that are descendants of\n"
-"    STARTREV will be displayed.\n"
-"\n"
-"    If -t/--topo is specified, named branch mechanics will be ignored and "
-"only\n"
+"    STARTREV will be displayed."
+msgstr ""
+
+msgid ""
+"    If -t/--topo is specified, named branch mechanics will be ignored and only\n"
 "    changesets without children will be shown.\n"
 "    "
 msgstr ""
@@ -6078,11 +6492,13 @@
 msgid " (started at %s)"
 msgstr " (startet ved %s)"
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr ""
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr ""
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
@@ -6094,9 +6510,7 @@
 msgstr "brug \"hg help\" for den fulde liste af kommandoer"
 
 msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
-msgstr ""
-"brug \"hg help\" for den fulde liste af kommandoer eller \"hg -v\" for "
-"detaljer"
+msgstr "brug \"hg help\" for den fulde liste af kommandoer eller \"hg -v\" for detaljer"
 
 #, python-format
 msgid "use \"hg -v help%s\" to show aliases and global options"
@@ -6106,12 +6520,8 @@
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "brug \"hg -v help %s\" for at vise globale valgmuligheder"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"liste af kommandoer:\n"
-"\n"
+msgid "list of commands:"
+msgstr "liste af kommandoer:"
 
 #, python-format
 msgid ""
@@ -6125,14 +6535,12 @@
 msgstr "(ingen hjælpetekst tilgængelig)"
 
 #, python-format
-msgid ""
-"alias for: hg %s\n"
-"\n"
-"%s"
-msgstr ""
-"alias for: hg %s\n"
-"\n"
-"%s"
+msgid "alias for: hg %s"
+msgstr "alias for: hg %s"
+
+#, python-format
+msgid "%s"
+msgstr "%s"
 
 #, python-format
 msgid ""
@@ -6152,54 +6560,49 @@
 msgstr "ingen hjælpetekst tilgængelig"
 
 #, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
-msgstr ""
-"%s udvidelse - %s\n"
-"\n"
+msgid "%s extension - %s"
+msgstr "%s udvidelse - %s"
 
 msgid "use \"hg help extensions\" for information on enabling extensions\n"
-msgstr "brug \"hg help extensions\" for at få mere information om hvordan man slår udvidelser til\n"
+msgstr ""
 
 #, python-format
 msgid "'%s' is provided by the following extension:"
-msgstr "'%s' er i denne udvidelse:"
+msgstr ""
 
 msgid "Mercurial Distributed SCM\n"
 msgstr "Mercurial Distribueret SCM\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"basale kommandoer:\n"
-"\n"
+msgid "basic commands:"
+msgstr "basale kommandoer:"
 
 msgid "enabled extensions:"
 msgstr "aktiverede udvidelser:"
 
 msgid "DEPRECATED"
-msgstr "FORÆLDET"
+msgstr ""
 
 msgid ""
 "\n"
-"additional help topics:\n"
-"\n"
+"additional help topics:"
 msgstr ""
 "\n"
-"yderligere hjælpeemner:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+"yderligere hjælpeemner:"
+
+msgid "identify the working copy or specified revision"
+msgstr ""
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
@@ -6207,36 +6610,49 @@
 "    "
 msgstr ""
 
-msgid ""
-"import an ordered set of patches\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr ""
+
+msgid ""
 "    Import a list of patches and commit them individually (unless\n"
-"    --no-commit is specified).\n"
-"\n"
+"    --no-commit is specified)."
+msgstr ""
+
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
+"    message."
+msgstr ""
+
+msgid ""
 "    If the imported patch was generated by hg export, user and\n"
 "    description from patch override values from message headers and\n"
 "    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
+"    override these."
+msgstr ""
+
+msgid ""
 "    If --exact is specified, import will set the working directory to\n"
 "    the parent of each patch before applying it, and will abort if the\n"
 "    resulting changeset has a different ID than the one recorded in\n"
 "    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
+"    deficiencies in the text patch format."
+msgstr ""
+
+msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
+
+msgid ""
 "    To read a patch from standard input, use \"-\" as the patch name. If\n"
 "    a URL is specified, the patch will be downloaded from it.\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
@@ -6262,57 +6678,69 @@
 msgid "no diffs found"
 msgstr "fandt ingen ændringer"
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr ""
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
+
+msgid ""
 "    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
+
+msgid ""
 "    See pull for valid source format details.\n"
 "    "
 msgstr ""
 
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr "opret et nyt depot i det givne katalog"
+
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+"    Initialiser et nyt depot i det givne katalog. Hvis det givne\n"
+"    katalog ikke findes vil det blive oprettet."
+
+msgid "    If no directory is given, the current directory is used."
+msgstr ""
+"    Hvis intet katalog er angivet vil det nuværende katalog bliver\n"
+"    anvendt."
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"opret et nyt depot i det givne katalog\n"
-"\n"
-"    Initialiser et nyt depot i det givne katalog. Hvis det givne\n"
-"    katalog ikke findes vil det blive oprettet.\n"
-"\n"
-"    Hvis intet katalog er angivet vil det nuværende katalog bliver\n"
-"    anvendt.\n"
-"\n"
 "    Det er muligt at angive en ``ssh://`` URL som destination.\n"
 "    Se 'hg help urls' for mere information.\n"
 "    "
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr ""
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
@@ -6320,102 +6748,105 @@
 "    "
 msgstr ""
 
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
+msgid "show revision history of entire repository or files"
+msgstr "vis revisionhistorik for hele depotet eller udvalgte filer"
+
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
+"    project."
+msgstr ""
+"    Viser revisionshistorikken for de angivne filer eller hele\n"
+"    projektet."
+
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
-"    If no revision range is specified, the default is tip:0 unless\n"
-"    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
-"    By default this command prints revision number and changeset id,\n"
-"    tags, non-trivial parents, user, date and time, and a summary for\n"
-"    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
-"    NOTE: 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:.\n"
-"    "
-msgstr ""
-"vis revisionhistorik for hele depotet eller udvalgte filer\n"
-"\n"
-"    Viser revisionshistorikken for de angivne filer eller hele\n"
-"    projektet.\n"
-"\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
 "    Filhistorik vises uden at følge omdøbninger eller kopieringer.\n"
 "    Brug -f/--follow med et filnavn for at følge historien hen over\n"
 "    omdøbninger og kopieringer. --follow uden et filnavn vil kun vise\n"
 "    forfædre eller efterkommere af startrevisionen. --follow-first\n"
-"    følger kun den første forældre for sammenføjningsrevisioner.\n"
-"\n"
+"    følger kun den første forældre for sammenføjningsrevisioner."
+
+msgid ""
+"    If no revision range is specified, the default is tip:0 unless\n"
+"    --follow is set, in which case the working directory parent is\n"
+"    used as the starting revision."
+msgstr ""
 "    Hvis der ikke angives et revisionsinterval, da bruges tip:0 som\n"
 "    standard, med mindre --follow er brugt, i hvilket tilfælde\n"
-"    arbejdskatalogets forælder bruges som startrevision.\n"
-"\n"
-"    Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n"
-"\n"
+"    arbejdskatalogets forælder bruges som startrevision."
+
+msgid ""
+"    By default this command prints revision number and changeset id,\n"
+"    tags, non-trivial parents, user, date and time, and a summary for\n"
+"    each commit. When the -v/--verbose switch is used, the list of\n"
+"    changed files and full commit message are shown."
+msgstr ""
 "    Som standard udskriver denne kommando revisionsnummer og ændrings\n"
 "    ID, mærkater, ikke-trivielle forældre, bruger, dato og tid, og et\n"
 "    uddrag for hver ændring. Når -v/--verbose tilvalget bruges vises\n"
-"    listen af ændrede filer og den fulde deponeringsbesked.\n"
-"\n"
+"    listen af ændrede filer og den fulde deponeringsbesked."
+
+msgid ""
+"    NOTE: 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:.\n"
+"    "
+msgstr ""
 "    BEMÆRK: log -p/--patch kan generere uventet diff output for\n"
 "    sammenføjningsændringer idet den kun sammenligner ændringen med\n"
 "    dennes første forælder. Ydermere vises kun filer som er\n"
 "    forskellige fra BEGGE forældre i files:.\n"
 "    "
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr ""
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr "sammenføj arbejdskataloget med en anden revision"
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+"    Det nuværende arbejdskatalog opdateres med alle ændringer lavet i\n"
+"    den ønskede revision siden den sidste fælles foregående revision."
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+"    Filer som ændrede sig i forhold til en af forældrene bliver\n"
+"    markeret som ændret med hensyn til næste deponering, og en\n"
+"    deponering skal laves før yderligere opdateringer er tilladt. Den\n"
+"    næste deponerede ændring får to forældre."
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
 "    explicit revision with which to merge with must be provided.\n"
 "    "
 msgstr ""
-"sammenføj arbejdskataloget med en anden revision\n"
-"\n"
-"    Det nuværende arbejdskatalog opdateres med alle ændringer lavet i\n"
-"    den ønskede revision siden den sidste fælles foregående revision.\n"
-"\n"
-"    Filer som ændrede sig i forhold til en af forældrene bliver\n"
-"    markeret som ændret med hensyn til næste deponering, og en\n"
-"    deponering skal laves før yderligere opdateringer er tilladt. Den\n"
-"    næste deponerede ændring får to forældre.\n"
-"\n"
 "    Hvis ingen revision angives og arbejdskatalogets forælder er en\n"
 "    hovedrevision og den nuværende gren indeholder præcis et andet\n"
 "    hoved, så sammenføjes der med dette hoved som standard. Ellers\n"
@@ -6424,18 +6855,14 @@
 
 #, python-format
 msgid "abort: branch '%s' has %d heads - please merge with an explicit rev\n"
-msgstr ""
-"afbrudt: gren '%s' har %d hoveder - sammenføj venligst med en eksplicit "
-"revision\n"
+msgstr "afbrudt: gren '%s' har %d hoveder - sammenføj venligst med en eksplicit revision\n"
 
 msgid "(run 'hg heads .' to see heads)\n"
 msgstr "(kør 'hg heads .' for at se hoveder)\n"
 
 #, python-format
 msgid "abort: branch '%s' has one head - please merge with an explicit rev\n"
-msgstr ""
-"afbrudt: gren '%s' har et hoved - sammenføj venligst med en eksplicit "
-"revision\n"
+msgstr "afbrudt: gren '%s' har et hoved - sammenføj venligst med en eksplicit revision\n"
 
 msgid "(run 'hg heads' to see all heads)\n"
 msgstr "(kør 'hg heads' for at se alle hoveder)\n"
@@ -6447,27 +6874,27 @@
 msgid "%s - use \"hg update\" instead"
 msgstr "%s - brug \"hg update\" istedet"
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
-msgstr ""
-"arbejdskataloget er ikke ved en hovedrevision - brug \"hg update\" eller "
-"sammenføj med en eksplicit revision"
-
-msgid ""
-"show changesets not found in the destination\n"
-"\n"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
+msgstr "arbejdskataloget er ikke ved en hovedrevision - brug \"hg update\" eller sammenføj med en eksplicit revision"
+
+msgid "show changesets not found in the destination"
+msgstr ""
+
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
+
+msgid ""
 "    See pull for details of valid destination formats.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr "vis forældrene til arbejdskataloget eller en revision"
+
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -6475,8 +6902,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"vis forældrene til arbejdskataloget eller en revision\n"
-"\n"
 "    Udskriv arbejdskatalogets forældrerevisioner. Hvis en revision\n"
 "    angivet med -r/--rev, så udskrives forældren til denne revision.\n"
 "    Hvis en fil er angivet, udskrives revisionen i hvilken filen sidst\n"
@@ -6485,32 +6910,26 @@
 "    "
 
 msgid "can only specify an explicit filename"
-msgstr "kan kun angive et eksplicit filnavn"
+msgstr ""
 
 #, python-format
 msgid "'%s' not found in manifest!"
 msgstr "'%s' ikke fundet i manifest!"
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr ""
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
-"    The path names ``default`` and ``default-push`` have a special\n"
-"    meaning.  When performing a push or pull operation, they are used\n"
-"    as fallbacks if no location is specified on the command-line.\n"
-"    When ``default-push`` is set, it will be used for push and\n"
-"    ``default`` will be used for pull; otherwise ``default`` is used\n"
-"    as the fallback for both.  When cloning a repository, the clone\n"
-"    source is written as ``default`` in ``.hg/hgrc``.  Note that\n"
-"    ``default`` and ``default-push`` apply to all inbound (e.g. ``hg\n"
-"    incoming``) and outbound (e.g. ``hg outgoing``, ``hg email`` and\n"
-"    ``hg bundle``) operations.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
+
+msgid ""
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
@@ -6527,82 +6946,84 @@
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(kør 'hg update' for at få en arbejdskopi)\n"
 
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+msgid "pull changes from the specified source"
+msgstr "hent ændringer fra den angivne kilde"
+
+msgid "    Pull changes from a remote repository to a local one."
+msgstr "    Hiver ændringer fra et fjert depot til et lokalt."
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
+"    Dette finder alle ændringer fra depotet på den specificerede sti\n"
+"    eller URL og tilføjer dem til et lokalt depot (det nuværende depot\n"
+"    med mindre -R er angivet). Som standard opdateres arbejdskataloget\n"
+"    ikke."
+
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
-"    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"hent ændringer fra den angivne kilde\n"
-"\n"
-"    Hiver ændringer fra et fjert depot til et lokalt.\n"
-"\n"
-"    Dette finder alle ændringer fra depotet på den specificerede sti\n"
-"    eller URL og tilføjer dem til et lokalt depot (det nuværende depot\n"
-"    med mindre -R er angivet). Som standard opdateres arbejdskataloget\n"
-"    ikke.\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
 "    Brug hg incoming for at se hvad der ville være blevet tilføjet på\n"
 "    det tidspunkt du udførte kommandoen. Hvis du derefter beslutter at\n"
 "    tilføje disse ændringer til depotet, så bør du bruge pull -r X\n"
-"    hvor X er den sidste ændring nævnt af hg incoming.\n"
-"\n"
+"    hvor X er den sidste ændring nævnt af hg incoming."
+
+msgid ""
+"    If SOURCE is omitted, the 'default' path will be used.\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    Hvis KILDE udelades, så bruges 'default' stien.\n"
 "    Se 'hg help urls' for mere information.\n"
 "    "
 
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the specified destination.\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr "skub ændringer til den angivne destination"
+
+msgid "    Push changes from the local repository to the specified destination."
+msgstr ""
+"    Skubber ændringer fra det lokale depot til den angivne\n"
+"    destination."
+
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
-"    By default, push will refuse to run if it detects the result would\n"
-"    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
-"    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
-"    Please see 'hg help urls' for important details about ``ssh://``\n"
-"    URLs. If DESTINATION is omitted, a default path will be used.\n"
-"    "
-msgstr ""
-"skub ændringer til den angivne destination\n"
-"\n"
-"    Skubber ændringer fra det lokale depot til den angivne\n"
-"    destination.\n"
-"\n"
+"    current one."
+msgstr ""
 "    Dette er den symmetriske operation for pull. Den flytter ændringer\n"
 "    fra det nuværende depot til et andet. Hvis destinationen er lokal,\n"
 "    så er dette identisk til et pull i destinationen af det nuværende\n"
-"    depot.\n"
-"\n"
+"    depot."
+
+msgid ""
+"    By default, push will refuse to run if it detects the result would\n"
+"    increase the number of remote heads. This generally indicates the\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
 "    Som standard vil push nægte af køre hvis den detekterer at den vil\n"
 "    øge antallet af hoveder i destinationen. Dette indikerer normalt\n"
 "    at brugeren har glemt at hente og sammenføje ændringerne før\n"
-"    skubningen.\n"
-"\n"
+"    skubningen."
+
+msgid ""
+"    If -r/--rev is used, the named revision and all its ancestors will\n"
+"    be pushed to the remote repository."
+msgstr ""
 "    Hvis -r/--rev bruges, så vil den navngivne revision og alle dets\n"
-"    forfædre bliver skubbet til det andet depot.\n"
-"\n"
+"    forfædre bliver skubbet til det andet depot."
+
+msgid ""
+"    Please see 'hg help urls' for important details about ``ssh://``\n"
+"    URLs. If DESTINATION is omitted, a default path will be used.\n"
+"    "
+msgstr ""
 "    Se venligst 'hg help urls' for vigtige detaljer om ``ssh://``\n"
 "    URL'er. Hvis DESTINATION udelades vil en standard sti blive brugt.\n"
 "    "
@@ -6611,66 +7032,69 @@
 msgid "pushing to %s\n"
 msgstr "skubber til %s\n"
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr ""
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr ""
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
 
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr "fjern de angivne filer ved næste deponering"
+
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr "    Planlæg de angivne filer til sletning fra depotet."
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+"    Dette fjerner kun filerne fra den nuværende gren, ikke fra hele\n"
+"    projektets historie. -A/--after kan bruges til kun at fjerne filer\n"
+"    som allerede er slettet, -f/--force kan bruges for at gennemtvinge\n"
+"    en sletning, og -Af kan bruges til at fjerne filer fra næste\n"
+"    revision uden at slette dem fra arbejdskataloget."
+
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
+"    Den følgende tabel viser opførslen af remove for forskellige\n"
+"    filtilstande (søjler) og kombinationer af tilvalg (rækker). Mulige\n"
+"    filtilstande er tilføjet [A], ren [C], ændret [M] og manglende [!]\n"
+"    (som rapporteret af hg status). Handlingerne er Warn, Remove (fra\n"
+"    gren) og Delete (fra disk)::"
+
+msgid ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
-msgstr ""
-"fjern de angivne filer ved næste deponering\n"
-"\n"
-"    Planlæg de angivne filer til sletning fra depotet.\n"
-"\n"
-"    Dette fjerner kun filerne fra den nuværende gren, ikke fra hele\n"
-"    projektets historie. -A/--after kan bruges til kun at fjerne filer\n"
-"    som allerede er slettet, -f/--force kan bruges for at gennemtvinge\n"
-"    en sletning, og -Af kan bruges til at fjerne filer fra næste\n"
-"    revision uden at slette dem fra arbejdskataloget.\n"
-"\n"
-"    Den følgende tabel viser opførslen af remove for forskellige\n"
-"    filtilstande (søjler) og kombinationer af tilvalg (rækker). Mulige\n"
-"    filtilstande er tilføjet [A], ren [C], ændret [M] og manglende [!]\n"
-"    (som rapporteret af hg status). Handlingerne er Warn, Remove (fra\n"
-"    gren) og Delete (fra disk)::\n"
-"\n"
+"      -Af    R  R  R  R"
+msgstr ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
+"      -Af    R  R  R  R"
+
+msgid ""
+"    This command schedules the files to be removed at the next commit.\n"
+"    To undo a remove before that, see hg revert.\n"
+"    "
+msgstr ""
 "    Denne kommando planlægger filerne til at blive fjernet ved næste\n"
 "    deponering. For at omgøre en fjernelse før det, se hg revert.\n"
 "    "
@@ -6692,34 +7116,37 @@
 msgid "has been marked for add"
 msgstr "er markeret som tilføjet"
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr ""
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+
+msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
 
-msgid ""
-"various operations to help finish a merge\n"
-"\n"
+msgid "various operations to help finish a merge"
+msgstr ""
+
+msgid ""
 "    This command includes several actions that are often useful while\n"
 "    performing a merge, after running ``merge`` but before running\n"
 "    ``commit``.  (It is only meaningful if your working directory has\n"
 "    two parents.)  It is most relevant for merges with unresolved\n"
 "    conflicts, which are typically a result of non-interactive merging with\n"
-"    ``internal:merge`` or a command-line merge tool like ``diff3``.\n"
-"\n"
-"    The available actions are:\n"
-"\n"
+"    ``internal:merge`` or a command-line merge tool like ``diff3``."
+msgstr ""
+
+msgid "    The available actions are:"
+msgstr ""
+
+msgid ""
 "      1) list files that were merged with conflicts (U, for unresolved)\n"
 "         and without conflicts (R, for resolved): ``hg resolve -l``\n"
 "         (this is like ``status`` for merges)\n"
@@ -6729,8 +7156,10 @@
 "         ``hg resolve -u [file ...]`` (default: unmark all resolved files)\n"
 "      4) discard your current attempt(s) at resolving conflicts and\n"
 "         restart the merge from scratch: ``hg resolve file...``\n"
-"         (or ``-a`` for all unresolved files)\n"
-"\n"
+"         (or ``-a`` for all unresolved files)"
+msgstr ""
+
+msgid ""
 "    Note that Mercurial will not let you commit files with unresolved merge\n"
 "    conflicts.  You must use ``hg resolve -m ...`` before you can commit\n"
 "    after a conflicting merge.\n"
@@ -6744,40 +7173,51 @@
 msgstr "kan ikke angive --all og mønstre"
 
 msgid "no files or directories specified; use --all to remerge all files"
-msgstr ""
-"ingen filer eller mapper specificeret; brug --all for at gen-sammenføje alle "
-"filerne"
-
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgstr "ingen filer eller mapper specificeret; brug --all for at gen-sammenføje alle filerne"
+
+msgid "restore individual files or directories to an earlier state"
+msgstr ""
+
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify a\n"
-"    revision.\n"
-"\n"
+"    revision."
+msgstr ""
+
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
+"    afterwards."
+msgstr ""
+
+msgid ""
 "    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
+"    of a file was changed, it is reset."
+msgstr ""
+
+msgid ""
 "    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
+
+msgid ""
 "    Modified files are saved with a .orig suffix before reverting.\n"
 "    To disable these backups, use --no-backup.\n"
 "    "
@@ -6787,9 +7227,7 @@
 msgstr "du kan ikke specificeret en revision og en dato"
 
 msgid "no files or directories specified; use --all to revert the whole repo"
-msgstr ""
-"ingen filer eller mapper specificeret; brug --all for at føre hele repo'et "
-"tilbage"
+msgstr "ingen filer eller mapper specificeret; brug --all for at føre hele repo'et tilbage"
 
 #, python-format
 msgid "forgetting %s\n"
@@ -6815,26 +7253,33 @@
 msgid "no changes needed to %s\n"
 msgstr "%s behøver ingen ændringer\n"
 
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr ""
+
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back:\n"
-"\n"
+"    and their effects can be rolled back:"
+msgstr ""
+
+msgid ""
 "    - commit\n"
 "    - import\n"
 "    - pull\n"
 "    - push (with this repository as the destination)\n"
-"    - unbundle\n"
-"\n"
+"    - unbundle"
+msgstr ""
+
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -6844,82 +7289,97 @@
 "    "
 msgstr ""
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr ""
+
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
-"print roden (toppen) af det nuværende arbejdskatalog\n"
-"\n"
-"    Print rod-kataloget for det nuværende depot.\n"
-"    "
-
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server. You can use\n"
-"    this for ad-hoc sharing and browing of repositories. It is\n"
-"    recommended to use a real web server to serve a repository for\n"
-"    longer periods of time.\n"
-"\n"
-"    Please note that the server does not implement access control.\n"
-"    This means that, by default, anybody can read from the server and\n"
-"    nobody can write to it by default. Set the ``web.allow_push``\n"
-"    option to ``*`` to allow everybody to push to the server. You\n"
-"    should use a real web server if you need to authenticate users.\n"
-"\n"
+
+msgid "export the repository via HTTP"
+msgstr "eksporter depotet via HTTP"
+
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr "    Start en lokal HTTP depotbrowser og pull-server."
+
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
-"    files.\n"
-"    "
-msgstr ""
-"eksporter depotet via HTTP\n"
-"\n"
-"    Start en lokal HTTP depotbrowser og pull-server. Du kan bruge\n"
-"    denne til ad-hoc deling og browsning af depoter. Det anbefales at\n"
-"    man bruger en rigtig web-server for at serve et depot for længere\n"
-"    tidsrum.\n"
-"\n"
-"    Bemærk venligst at serveren ikke implementerer adgangskontrol.\n"
-"    Dette betyder at alle som udgangspunkt kan læse fra serveren og at\n"
-"    ingen kan skrive til den. Sæt ``web.allow_push`` til ``*`` for at\n"
-"    tillade at enhver skubber ændringer til serveren. Du skal bruge en\n"
-"    rigtig web-server hvis du har behov for at autentificere brugere.\n"
-"\n"
+"    files."
+msgstr ""
 "    Som standard logger serveren forespørgsler til stdout og fejl til\n"
 "    stderr. Brug -A/--accesslog og -E/--errorlog tilvalgene for at\n"
 "    logge til filer."
 
+msgid ""
+"    To have the server choose a free port number to listen on, specify\n"
+"    a port number of 0; in this case, the server will print the port\n"
+"    number it uses.\n"
+"    "
+msgstr ""
+"    For at få serveren til at vælge et frit portnummer at lytte til,\n"
+"    angiv da portnummer 0; så vil serveren skrive det portnummer den\n"
+"    bruger.\n"
+"    "
+
 #, python-format
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr "lytter på http://%s%s/%s (bundet til %s:%d)\n"
 
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr "vis ændrede filer i arbejdskataloget"
+
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+"    Vis status for filer i depotet. Hvis der angivet navne, så vil kun\n"
+"    disse filer blive vist. Filer som er rene eller ignorerede eller\n"
+"    kilden i en kopierings/flytnings operation vises ikke med mindre\n"
+"    -c/--clear, -i/--ignored, -C/--copies eller -A/--all er angivet.\n"
+"    Med mindre tilvalgene beskrevet med \"vis kun ...\" bruges, så\n"
+"    bruges -mardu tilvalgene."
+
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+"    Tilvalget -q/--quiet skjuler filer som ikke bliver fulgt (ukendte\n"
+"    eller ignorerede filer) med mindre disse eksplicit vælges med\n"
+"    -u/--unknown eller -i/--ignored."
+
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+"    BEMÆRK: status kan tilsyneladende være forskellig fra diff hvis\n"
+"    rettigheder er blevet ændret eller hvis en sammenføjning har\n"
+"    fundet sted. Det normale diff-format rapporterer ikke ændringer i\n"
+"    rettigheder og diff rapporterer kun ænringer relativt til en\n"
+"    sammenføjningsforældre."
+
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
 "    shown. The --change option can also be used as a shortcut to list\n"
-"    the changed files of a revision from its first parent.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    the changed files of a revision from its first parent."
+msgstr ""
+"    Hvis der angivet en revision bruges denne som en basisrevision.\n"
+"    Hvis der angives to revisioner, da vises forskellene mellem dem.\n"
+"    Brug --change tilvalget som en genvej til at vise ændrede filer\n"
+"    mellem en revision og dens første forælder."
+
+msgid "    The codes used to show the status of files are::"
+msgstr "    Koderne som bruges til at vise status for filerne er::"
+
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -6930,32 +7390,6 @@
 "        = origin of the previous file listed as A (added)\n"
 "    "
 msgstr ""
-"vis ændrede filer i arbejdskataloget\n"
-"\n"
-"    Vis status for filer i depotet. Hvis der angivet navne, så vil kun\n"
-"    disse filer blive vist. Filer som er rene eller ignorerede eller\n"
-"    kilden i en kopierings/flytnings operation vises ikke med mindre\n"
-"    -c/--clear, -i/--ignored, -C/--copies eller -A/--all er angivet.\n"
-"    Med mindre tilvalgene beskrevet med \"vis kun ...\" bruges, så\n"
-"    bruges -mardu tilvalgene.\n"
-"\n"
-"    Tilvalget -q/--quiet skjuler filer som ikke bliver fulgt (ukendte\n"
-"    eller ignorerede filer) med mindre disse eksplicit vælges med\n"
-"    -u/--unknown eller -i/--ignored.\n"
-"\n"
-"    BEMÆRK: status kan tilsyneladende være forskellig fra diff hvis\n"
-"    rettigheder er blevet ændret eller hvis en sammenføjning har\n"
-"    fundet sted. Det normale diff-format rapporterer ikke ændringer i\n"
-"    rettigheder og diff rapporterer kun ænringer relativt til en\n"
-"    sammenføjningsforældre.\n"
-"\n"
-"    Hvis der angivet en revision bruges denne som en basisrevision.\n"
-"    Hvis der angives to revisioner, da vises forskellene mellem dem.\n"
-"    Brug --change tilvalget som en genvej til at vise ændrede filer\n"
-"    mellem en revision og dens første forælder.\n"
-"\n"
-"    Koderne som bruges til at vise status for filerne er::\n"
-"\n"
 "      M = ændret\n"
 "      A = tilføjet\n"
 "      R = fjernet\n"
@@ -6966,12 +7400,15 @@
 "        = den foregående fil markeret som A (tilføjet) stammer herfra\n"
 "    "
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr ""
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
@@ -7060,26 +7497,29 @@
 msgid "remote: (synced)\n"
 msgstr "fjernsystem: (synkroniseret)\n"
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr ""
+
+msgid "    Name a particular revision using <name>."
+msgstr ""
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    shared among repositories)."
 msgstr ""
 
 msgid "tag names must be unique"
@@ -7104,26 +7544,28 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr "mærkaten '%s' eksisterer allerede (brug -f for at gennemtvinge)"
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr "vis depotmærkater"
+
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
-"vis depotmærkater\n"
-"\n"
 "    Viser både normale og lokale mærkater. Når -v/--verbose flaget\n"
 "    bruges, udskrives en tredje kolonne \"local\" for lokale mærkater.\n"
 "    "
 
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr ""
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
@@ -7131,27 +7573,41 @@
 "    "
 msgstr ""
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr ""
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
 
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr "opdater arbejdskataloget"
+
+msgid ""
 "    Update the repository's working directory to the specified\n"
-"    changeset.\n"
-"\n"
+"    changeset."
+msgstr "    Opdater depotets arbejdskatalog til den angivne ændring."
+
+msgid ""
 "    If no changeset is specified, attempt to update to the head of the\n"
 "    current branch. If this head is a descendant of the working\n"
-"    directory's parent, update to it, otherwise abort.\n"
-"\n"
+"    directory's parent, update to it, otherwise abort."
+msgstr ""
+"    Hvis der ikke er angivet nogen ændring, forsøg da at opdatere til\n"
+"    spidsen af den nuværende gren. Hvis dette hoved nedstammer fra\n"
+"    arbejdskatalogets forælder, da opdateres der til det, ellers\n"
+"    afbrydes der."
+
+msgid ""
 "    The following rules apply when the working directory contains\n"
-"    uncommitted changes:\n"
-"\n"
+"    uncommitted changes:"
+msgstr ""
+"    De følgende regler gælder når arbejdskataloget indeholder\n"
+"    udeponerede ændringer:"
+
+msgid ""
 "    1. If neither -c/--check nor -C/--clean is specified, and if\n"
 "       the requested changeset is an ancestor or descendant of\n"
 "       the working directory's parent, the uncommitted changes\n"
@@ -7159,35 +7615,8 @@
 "       result is left uncommitted. If the requested changeset is\n"
 "       not an ancestor or descendant (that is, it is on another\n"
 "       branch), the update is aborted and the uncommitted changes\n"
-"       are preserved.\n"
-"\n"
-"    2. With the -c/--check option, the update is aborted and the\n"
-"       uncommitted changes are preserved.\n"
-"\n"
-"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
-"       the working directory is updated to the requested changeset.\n"
-"\n"
-"    Use null as the changeset to remove the working directory (like 'hg\n"
-"    clone -U').\n"
-"\n"
-"    If you want to update just one file to an older changeset, use 'hg "
-"revert'.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"opdater arbejdskataloget\n"
-"\n"
-"    Opdater depotets arbejdskatalog til den angivne ændring.\n"
-"\n"
-"    Hvis der ikke er angivet nogen ændring, forsøg da at opdatere til\n"
-"    spidsen af den nuværende gren. Hvis dette hoved nedstammer fra\n"
-"    arbejdskatalogets forælder, da opdateres der til det, ellers\n"
-"    afbrydes der.\n"
-"\n"
-"    De følgende regler gælder når arbejdskataloget indeholder\n"
-"    udeponerede ændringer:\n"
-"\n"
+"       are preserved."
+msgstr ""
 "    1. Hvis hverken -c/--check eller -C/--clean er angivet og hvis den\n"
 "       ønskede ændring er en forfar til eller nedstammer fra\n"
 "       arbejdskatalogets forældre, så bliver udeponerede ændringer\n"
@@ -7195,22 +7624,33 @@
 "       bliver efterlad udeponeret. Hvis den ønskede ændring ikke er\n"
 "       forfar til eller nedstammer fra forældreændringen (det vil\n"
 "       sige, den er på en anden gren), så vil opdateringen blive\n"
-"       afbrudt og de udeponerede ændringer bliver bevaret.\n"
-"\n"
+"       afbrudt og de udeponerede ændringer bliver bevaret."
+
+msgid ""
+"    2. With the -c/--check option, the update is aborted and the\n"
+"       uncommitted changes are preserved."
+msgstr ""
 "    2. Med -c/--check tilvalget vil opdateringen blive afbrudt og de\n"
-"       udeponerede ændringer bliver bevaret.\n"
-"\n"
+"       udeponerede ændringer bliver bevaret."
+
+msgid ""
+"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
+"       the working directory is updated to the requested changeset."
+msgstr ""
 "    3. Med -C/--clean tilvalget bliver udeponerede ændringer kasseret\n"
-"       og arbejdskataloget bliver opdateret til den ønskede ændring.\n"
-"\n"
+"       og arbejdskataloget bliver opdateret til den ønskede ændring."
+
+msgid ""
+"    Use null as the changeset to remove the working directory (like 'hg\n"
+"    clone -U')."
+msgstr ""
 "    Brug null som ændring for at fjerne arbejdskataloget (ligesom 'hg\n"
-"    clone -U').\n"
-"\n"
+"    clone -U')."
+
+msgid "    If you want to update just one file to an older changeset, use 'hg revert'."
+msgstr ""
 "    Hvis du vil opdatere blot en enkelt fil til en ældre revision,\n"
-"    brug da revert.\n"
-"\n"
-"    Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n"
-"    "
+"    brug da revert."
 
 msgid "cannot specify both -c/--check and -C/--clean"
 msgstr "man kan ikke angive både -c/--check og -C/--clean"
@@ -7218,21 +7658,19 @@
 msgid "uncommitted local changes"
 msgstr "udeponerede lokale ændringer"
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr "verificer depotets integritet"
+
+msgid "    Verify the integrity of the current repository."
+msgstr "    Verificer integreteten af det aktuelle depot."
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
 "    integrity of their crosslinks and indices.\n"
 "    "
 msgstr ""
-"verificer depotets integritet\n"
-"\n"
-"    Verificer integreteten af det aktuelle depot.\n"
-"\n"
 "    Dette vil lave en udførlig kontrol af depotets integritet.\n"
 "    Hashværdier og tjeksummer valideres for hver indgang i\n"
 "    historikfilen, manifæstet og fulgte filer. Desuden valideres\n"
@@ -7363,7 +7801,7 @@
 msgstr "antal linier kontekst der skal vises"
 
 msgid "output diffstat-style summary of changes"
-msgstr "vis en opsummering af ændringerne i stil med diffstat"
+msgstr ""
 
 msgid "guess renamed files by similarity (0<=s<=100)"
 msgstr "gæt omdøbte filer ud fra enshed (0<=s<=100)"
@@ -7611,8 +8049,8 @@
 msgid "print matching line numbers"
 msgstr "udskriv matchende linienumre"
 
-msgid "only search files changed within revision range"
-msgstr "søg kun i filer som er ændret i det angivne interval"
+msgid "search in given revision range"
+msgstr "søg i det angivne interval"
 
 msgid "[OPTION]... PATTERN [FILE]..."
 msgstr "[TILVALG]... MØNSTER [FIL]..."
@@ -7653,9 +8091,7 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr "[-nibt] [-r REV] [KILDE]"
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
 msgstr ""
 
 msgid "base path"
@@ -7838,7 +8274,7 @@
 msgid "name of error log file to write to"
 msgstr "navn på fejlllog fil der skrives til"
 
-msgid "port to listen on (default: 8000)"
+msgid "port to listen on (default: 8000"
 msgstr "port der skal lyttes på (standard: 8000)"
 
 msgid "address to listen on (default: all interfaces)"
@@ -8052,6 +8488,10 @@
 msgid "hg: unknown command '%s'\n"
 msgstr "hg: ukendt kommando '%s'\n"
 
+#, python-format
+msgid "abort: could not import module %s!\n"
+msgstr "afbrudt: kunne ikke importere modul %s!\n"
+
 msgid "(did you forget to compile extensions?)\n"
 msgstr "(glemte du at kompilere udvidelserne?)\n"
 
@@ -8121,12 +8561,8 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr "Tilvalget --cwd må ikke forkortes!"
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
-msgstr ""
-"Tilvalget -R skal adskilles fra andre tilvalg (fx ikke -qR) og --repository "
-"må kun forkortes som --repo!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
+msgstr "Tilvalget -R skal adskilles fra andre tilvalg (fx ikke -qR) og --repository må kun forkortes som --repo!"
 
 #, python-format
 msgid "Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n"
@@ -8143,12 +8579,8 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr "profileringsformat '%s' ikke genkendt - Ignoreret\n"
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
-msgstr ""
-"lsprof er ikke tilgængelig - installer fra http://codespeak.net/svn/user/"
-"arigo/hack/misc/lsprof/"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
+msgstr "lsprof er ikke tilgængelig - installer fra http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
 
 #, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
@@ -8253,10 +8685,25 @@
 
 msgid ""
 "Mercurial reads configuration data from several files, if they exist.\n"
-"Below we list the most specific file first.\n"
-"\n"
-"On Windows, these configuration files are read:\n"
-"\n"
+"Below we list the most specific file first."
+msgstr ""
+"Mercurial læser konfigurationsdata fra flere filer, hvis de\n"
+"eksisterer. Filerne er angivet nedenfor med den mest specifikke fil\n"
+"først."
+
+msgid "On Windows, these configuration files are read:"
+msgstr "På Windows læses disse konfigurationsfiler:"
+
+msgid ""
+"- ``<repo>\\.hg\\hgrc``\n"
+"- ``%USERPROFILE%\\.hgrc``\n"
+"- ``%USERPROFILE%\\Mercurial.ini``\n"
+"- ``%HOME%\\.hgrc``\n"
+"- ``%HOME%\\Mercurial.ini``\n"
+"- ``C:\\Mercurial\\Mercurial.ini``\n"
+"- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
+"- ``<install-dir>\\Mercurial.ini``"
+msgstr ""
 "- ``<repo>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -8264,79 +8711,74 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<install-dir>\\Mercurial.ini``\n"
-"\n"
-"On Unix, these files are read:\n"
-"\n"
+"- ``<install-dir>\\Mercurial.ini``"
+
+msgid "On Unix, these files are read:"
+msgstr "På Unix læses disse filer:"
+
+msgid ""
+"- ``<repo>/.hg/hgrc``\n"
+"- ``$HOME/.hgrc``\n"
+"- ``/etc/mercurial/hgrc``\n"
+"- ``/etc/mercurial/hgrc.d/*.rc``\n"
+"- ``<install-root>/etc/mercurial/hgrc``\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+msgstr ""
 "- ``<repo>/.hg/hgrc``\n"
 "- ``$HOME/.hgrc``\n"
 "- ``/etc/mercurial/hgrc``\n"
 "- ``/etc/mercurial/hgrc.d/*.rc``\n"
 "- ``<install-root>/etc/mercurial/hgrc``\n"
-"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+
+msgid ""
 "The configuration files for Mercurial use a simple ini-file format. A\n"
 "configuration file consists of sections, led by a ``[section]`` header\n"
-"and followed by ``name = value`` entries::\n"
-"\n"
+"and followed by ``name = value`` entries::"
+msgstr ""
+"Konfigurationsfilerne til Mercurial bruger et simpelt ini-filformat.\n"
+"En konfigurationsfil består af sektioner, som startes af et\n"
+"``[sektion]`` hovede og efterfølges af ``navn = værdi`` indgange::"
+
+msgid ""
 "  [ui]\n"
 "  username = Firstname Lastname <firstname.lastname@example.net>\n"
-"  verbose = True\n"
-"\n"
+"  verbose = True"
+msgstr ""
+"  [ui]\n"
+"  username = Fornavn Efternavn <fornavn.efternavn@example.net>\n"
+"  verbose = True"
+
+msgid ""
 "This above entries will be referred to as ``ui.username`` and\n"
 "``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
-"description of the possible configuration values:\n"
-"\n"
+"description of the possible configuration values:"
+msgstr ""
+"Indgangene ovenfor vil blive refereret til som henholdsvis\n"
+"``ui.username`` og ``ui.verbose``. Se venligst hgrc manualsiden for en\n"
+"fuld beskrivelse af de mulige konfigurationsværdier:"
+
+msgid ""
 "- on Unix-like systems: ``man hgrc``\n"
 "- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
 msgstr ""
-"Mercurial læser konfigurationsdata fra flere filer, hvis de\n"
-"eksisterer. Filerne er angivet nedenfor med den mest specifikke fil\n"
-"først.\n"
-"\n"
-"På Windows læses disse konfigurationsfiler:\n"
-"\n"
-"- ``<repo>\\.hg\\hgrc``\n"
-"- ``%USERPROFILE%\\.hgrc``\n"
-"- ``%USERPROFILE%\\Mercurial.ini``\n"
-"- ``%HOME%\\.hgrc``\n"
-"- ``%HOME%\\Mercurial.ini``\n"
-"- ``C:\\Mercurial\\Mercurial.ini``\n"
-"- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<install-dir>\\Mercurial.ini``\n"
-"\n"
-"På Unix læses disse filer:\n"
-"\n"
-"- ``<repo>/.hg/hgrc``\n"
-"- ``$HOME/.hgrc``\n"
-"- ``/etc/mercurial/hgrc``\n"
-"- ``/etc/mercurial/hgrc.d/*.rc``\n"
-"- ``<install-root>/etc/mercurial/hgrc``\n"
-"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
-"Konfigurationsfilerne til Mercurial bruger et simpelt ini-filformat.\n"
-"En konfigurationsfil består af sektioner, som startes af et\n"
-"``[sektion]`` hovede og efterfølges af ``navn = værdi`` indgange::\n"
-"\n"
-"  [ui]\n"
-"  username = Fornavn Efternavn <fornavn.efternavn@example.net>\n"
-"  verbose = True\n"
-"\n"
-"Indgangene ovenfor vil blive refereret til som henholdsvis\n"
-"``ui.username`` og ``ui.verbose``. Se venligst hgrc manualsiden for en\n"
-"fuld beskrivelse af de mulige konfigurationsværdier:\n"
-"\n"
 "- på Unix-agtige systemer: ``man hgrc``\n"
 "- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
 
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr "Nogle kommandoer tillader brugeren at specificere en dato, f.eks.:"
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples:\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+"- backout, commit, import, tag: specificer commit-datoen.\n"
+"- log, revert, update: vælg revisioner efter dato."
+
+msgid "Many date formats are valid. Here are some examples:"
+msgstr "Der er mange gyldige datoformater. Her er nogle eksempler:"
+
+msgid ""
 "- ``Wed Dec 6 13:18:29 2006`` (local timezone assumed)\n"
 "- ``Dec 6 13:18 -0600`` (year assumed, time offset provided)\n"
 "- ``Dec 6 13:18 UTC`` (UTC and GMT are aliases for +0000)\n"
@@ -8349,31 +8791,8 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format:\n"
-"\n"
-"- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
-"This is the internal representation format for dates. unixtime is the\n"
-"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
-"the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges:\n"
-"\n"
-"- ``<{datetime}`` - at or before a given date/time\n"
-"- ``>{datetime}`` - on or after a given date/time\n"
-"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
-"- ``-{days}`` - within a given number of days of today\n"
-msgstr ""
-"Nogle kommandoer tillader brugeren at specificere en dato, f.eks.:\n"
-"\n"
-"- backout, commit, import, tag: specificer commit-datoen.\n"
-"- log, revert, update: vælg revisioner efter dato.\n"
-"\n"
-"Der er mange gyldige datoformater. Her er nogle eksempler:\n"
-"\n"
+"- ``12/6/6`` (Dec 6 2006)"
+msgstr ""
 "- ``Wed Dec 6 13:18:29 2006`` (antager lokal tidszone)\n"
 "- ``Dec 6 13:18 -0600`` (antager år, tidszone er angivet)\n"
 "- ``Dec 6 13:18 UTC`` (UTC og GMT er aliaser for +0000)\n"
@@ -8386,19 +8805,34 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (6. dec. 2006)\n"
-"\n"
-"Endelig er der Mercurials interne format:\n"
-"\n"
-"- ``1165432709 0`` (Ons 6. dec. 13:18:29 2006 UTC)\n"
-"\n"
+"- ``12/6/6`` (6. dec. 2006)"
+
+msgid "Lastly, there is Mercurial's internal format:"
+msgstr "Endelig er der Mercurials interne format:"
+
+msgid "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr "- ``1165432709 0`` (Ons 6. dec. 13:18:29 2006 UTC)"
+
+msgid ""
+"This is the internal representation format for dates. unixtime is the\n"
+"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
+"the offset of the local timezone, in seconds west of UTC (negative if\n"
+"the timezone is east of UTC)."
+msgstr ""
 "Dette er den interne repræsentation af datoer. unixtime er\n"
 "antallet af sekunder siden begyndelsen af epoken (1970-01-01 00:00\n"
 "UTC). offset er den lokale tidszone, angivet i antal sekunder vest\n"
-"for UTC (negativ hvis tidszonen er øst for UTC).\n"
-"\n"
-"Kommandoen log accepterer også datointervaller:\n"
-"\n"
+"for UTC (negativ hvis tidszonen er øst for UTC)."
+
+msgid "The log command also accepts date ranges:"
+msgstr "Kommandoen log accepterer også datointervaller:"
+
+msgid ""
+"- ``<{datetime}`` - at or before a given date/time\n"
+"- ``>{datetime}`` - on or after a given date/time\n"
+"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
+"- ``-{days}`` - within a given number of days of today\n"
+msgstr ""
 "- ``<{date}`` - på eller før den angivne dato/tidspunkt\n"
 "- ``>{date}`` - på eller efter den angivne dato/tidspunkt\n"
 "- ``{date} to {date}`` - et datointerval, inklusiv endepunkterne\n"
@@ -8407,29 +8841,39 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr ""
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
+"format for communicating changes."
+msgstr ""
+
+msgid ""
 "To make Mercurial produce the git extended diff format, use the --git\n"
 "option available for many commands, or set 'git = True' in the [diff]\n"
 "section of your hgrc. You do not need to set this option when\n"
@@ -8442,84 +8886,112 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use .hgrc)"
+msgstr ""
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
+
+msgid ""
 "HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    ancestor file."
+msgstr ""
+
+msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
+"    from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
 "    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
 "HGPLAIN\n"
 "    When set, this disables any options in .hgrc that might change\n"
 "    Mercurial's default output. This includes encoding, defaults,\n"
 "    verbose mode, debug mode, quiet mode, tracebacks, and\n"
 "    localization. This can be useful when scripting against Mercurial\n"
-"    in the face of existing user configuration.\n"
-"\n"
+"    in the face of existing user configuration."
+msgstr ""
+
+msgid ""
 "    Equivalent options set via command line flags or environment\n"
-"    variables are not overridden.\n"
-"\n"
+"    variables are not overridden."
+msgstr ""
+
+msgid ""
 "HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
+"    available values will be considered in this order:"
+msgstr ""
+
+msgid ""
 "    - HGUSER (deprecated)\n"
 "    - hgrc files from the HGRCPATH\n"
 "    - EMAIL\n"
 "    - interactive prompt\n"
-"    - LOGNAME (with ``@hostname`` appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    - LOGNAME (with ``@hostname`` appended)"
+msgstr ""
+
+msgid ""
 "EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
 "EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
 "    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
 "    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
+"    defaults to 'vi'."
+msgstr ""
+
+msgid ""
 "PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
@@ -8529,64 +9001,69 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+"Det er muligt at tilføje nye funktionalitet til Mercurial ved brug af\n"
+"udvidelser. Udvidelser kan tilføje nye kommandoer, tilføje tilvalg til\n"
+"eksisterende kommandoer ændre standardopførslen for kommandoer eller\n"
+"implementere \"hooks\"."
+
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
+"needed."
+msgstr ""
+"Udvidelser bliver ikke indlæst som standard af flere årsager: de øger\n"
+"opstartstiden, de kan potentielt komme med farlig funktionalitet\n"
+"(såsom at lade dig ødelægge eller ændre historien), de er måske ikke\n"
+"klart til prime time, eller de ændrer måske opførslen af en standard\n"
+"Mercurial. Det er derfor op til brugeren at aktivere udvidelser efter\n"
+"behov."
+
+msgid ""
 "To enable the \"foo\" extension, either shipped with Mercurial or in\n"
 "the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+"For at aktivere \"foo\" udvidelsen, som enten er kommet sammen med\n"
+"Mercurial eller lagt i Pythons søgesti, lav da en indgang for den i\n"
+"din hgrc::"
+
+msgid ""
+"  [extensions]\n"
+"  foo ="
+msgstr ""
 "  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
+"  foo ="
+
+msgid "You may also specify the full path to an extension::"
+msgstr "Du kan også specificere den fulde sti til en udvidelse::"
+
+msgid ""
+"  [extensions]\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
 "  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"  myfeature = ~/.hgext/myfeature.py"
+
+msgid ""
 "To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
+"scope, prepend its path with !::"
+msgstr ""
+"For eksplicit at deaktivere en udvidelse som er slået til i en mere\n"
+"bredt dækkende hgrc-fil, så skal man sætte et ! foran dens sti::"
+
+msgid ""
 "  [extensions]\n"
 "  # disabling extension bar residing in /path/to/extension/bar.py\n"
 "  bar = !/path/to/extension/bar.py\n"
 "  # ditto, but no path was supplied for extension baz\n"
 "  baz = !\n"
 msgstr ""
-"Det er muligt at tilføje nye funktionalitet til Mercurial ved brug af\n"
-"udvidelser. Udvidelser kan tilføje nye kommandoer, tilføje tilvalg til\n"
-"eksisterende kommandoer ændre standardopførslen for kommandoer eller\n"
-"implementere \"hooks\".\n"
-"\n"
-"Udvidelser bliver ikke indlæst som standard af flere årsager: de øger\n"
-"opstartstiden, de kan potentielt komme med farlig funktionalitet\n"
-"(såsom at lade dig ødelægge eller ændre historien), de er måske ikke\n"
-"klart til prime time, eller de ændrer måske opførslen af en standard\n"
-"Mercurial. Det er derfor op til brugeren at aktivere udvidelser efter\n"
-"behov.\n"
-"\n"
-"For at aktivere \"foo\" udvidelsen, som enten er kommet sammen med\n"
-"Mercurial eller lagt i Pythons søgesti, lav da en indgang for den i\n"
-"din hgrc::\n"
-"\n"
-"  [extensions]\n"
-"  foo =\n"
-"\n"
-"Du kan også specificere den fulde sti til en udvidelse::\n"
-"\n"
-"  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
-"For eksplicit at deaktivere en udvidelse som er slået til i en mere\n"
-"bredt dækkende hgrc-fil, så skal man sætte et ! foran dens sti::\n"
-"\n"
 "  [extensions]\n"
 "  # deaktiverer udvidelse bar placeretligger i /path/to/extension/bar.py\n"
 "  bar = !/path/to/extension/bar.py\n"
@@ -8596,104 +9073,138 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+"Når Mercurial accepterer mere end en revision, så kan de angives\n"
+"individuelt eller angives som et topologisk sammenhængende interval,\n"
+"adskildt af et \":\" tegn."
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
-"A range acts as a closed interval. This means that a range of 3:5\n"
-"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
-msgstr ""
-"Når Mercurial accepterer mere end en revision, så kan de angives\n"
-"individuelt eller angives som et topologisk sammenhængende interval,\n"
-"adskildt af et \":\" tegn.\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
 "Syntaksen for intervalnotationen er [START]:[SLUT] hvor START og SLUT\n"
 "identificerer revisioner. BÃ¥de START og SLUT er valgfri. Hvis START\n"
 "ikke angivet, så bruges revision nummer 0 som standard. Hvis SLUT ikke\n"
 "angives, så bruges tip som standard. Intervallet \":\" betyder således\n"
-"\"alle revisioner\".\n"
-"\n"
+"\"alle revisioner\"."
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
 "Hvis START er større end SLUT, så behandles revisionerne i omvendt\n"
-"rækkefølge.\n"
-"\n"
+"rækkefølge."
+
+msgid ""
+"A range acts as a closed interval. This means that a range of 3:5\n"
+"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
+msgstr ""
 "Intervaller er lukkede. Det betyder at et interval 3:5 giver 3, 4 og\n"
 "5. Ligeledes giver intervallet 9:6 revisionerne 9, 8, 7, 6.\n"
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr ""
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr ""
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+
+msgid "Plain examples::"
+msgstr ""
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+
+msgid "Glob examples::"
+msgstr ""
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"                 including itself."
+msgstr ""
+
+msgid "Regexp examples::"
+msgstr ""
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr ""
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr ""
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr ""
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
@@ -8704,217 +9215,328 @@
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
-"Four styles are packaged with Mercurial: default (the style used\n"
-"when no explicit preference is passed), compact, changelog,\n"
-"and xml.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+
+msgid ""
+"Three styles are packaged with Mercurial: default (the style used\n"
+"when no explicit preference is passed), compact and changelog.\n"
+"Usage::"
+msgstr ""
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
+"expansion::"
+msgstr ""
+
+msgid ""
 "    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
-":author: String. The unmodified author of the changeset.\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+
+msgid ":author: String. The unmodified author of the changeset."
+msgstr ""
+
+msgid ""
 ":branches: String. The name of the branch on which the changeset was\n"
-"    committed. Will be empty if the branch name was default.\n"
-"\n"
-":date: Date information. The date when the changeset was committed.\n"
-"\n"
-":desc: String. The text of the changeset description.\n"
-"\n"
+"    committed. Will be empty if the branch name was default."
+msgstr ""
+
+msgid ":date: Date information. The date when the changeset was committed."
+msgstr ""
+
+msgid ":desc: String. The text of the changeset description."
+msgstr ""
+
+msgid ""
 ":diffstat: String. Statistics of changes with the following format:\n"
-"    \"modified files: +added/-removed lines\"\n"
-"\n"
+"    \"modified files: +added/-removed lines\""
+msgstr ""
+
+msgid ""
 ":files: List of strings. All files modified, added, or removed by this\n"
-"    changeset.\n"
-"\n"
-":file_adds: List of strings. Files added by this changeset.\n"
-"\n"
+"    changeset."
+msgstr ""
+
+msgid ":file_adds: List of strings. Files added by this changeset."
+msgstr ""
+
+msgid ""
 ":file_copies: List of strings. Files copied in this changeset with\n"
-"    their sources.\n"
-"\n"
+"    their sources."
+msgstr ""
+
+msgid ""
 ":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
-"    only if the --copied switch is set.\n"
-"\n"
-":file_mods: List of strings. Files modified by this changeset.\n"
-"\n"
-":file_dels: List of strings. Files removed by this changeset.\n"
-"\n"
+"    only if the --copied switch is set."
+msgstr ""
+
+msgid ":file_mods: List of strings. Files modified by this changeset."
+msgstr ""
+
+msgid ":file_dels: List of strings. Files removed by this changeset."
+msgstr ""
+
+msgid ""
 ":node: String. The changeset identification hash, as a 40-character\n"
-"    hexadecimal string.\n"
-"\n"
-":parents: List of strings. The parents of the changeset.\n"
-"\n"
-":rev: Integer. The repository-local changeset revision number.\n"
-"\n"
-":tags: List of strings. Any tags associated with the changeset.\n"
-"\n"
+"    hexadecimal string."
+msgstr ""
+
+msgid ":parents: List of strings. The parents of the changeset."
+msgstr ""
+
+msgid ":rev: Integer. The repository-local changeset revision number."
+msgstr ""
+
+msgid ":tags: List of strings. Any tags associated with the changeset."
+msgstr ""
+
+msgid ""
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
-"    changeset.\n"
-"\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+"    changeset."
+msgstr ""
+
+msgid ":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. Be sure to use the stringify filter first when you're\n"
 "applying a string-input filter to a list-like input variable.\n"
-"You can also use a chain of filters to get the desired output::\n"
-"\n"
+"You can also use a chain of filters to get the desired output::"
+msgstr ""
+
+msgid ""
 "   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
+
+msgid "List of filters:"
+msgstr ""
+
+msgid ""
 ":addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
-"    every line except the last.\n"
-"\n"
+"    every line except the last."
+msgstr ""
+
+msgid ""
 ":age: Date. Returns a human-readable date/time difference between the\n"
-"    given date/time and the current date/time.\n"
-"\n"
+"    given date/time and the current date/time."
+msgstr ""
+
+msgid ""
 ":basename: Any text. Treats the text as a path, and returns the last\n"
 "    component of the path after splitting by the path separator\n"
 "    (ignoring trailing separators). For example, \"foo/bar/baz\" becomes\n"
-"    \"baz\" and \"foo/bar//\" becomes \"bar\".\n"
-"\n"
+"    \"baz\" and \"foo/bar//\" becomes \"bar\"."
+msgstr ""
+
+msgid ""
 ":stripdir: Treat the text as path and strip a directory level, if\n"
-"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\".\n"
-"\n"
+"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\"."
+msgstr ""
+
+msgid ""
 ":date: Date. Returns a date in a Unix date format, including the\n"
-"    timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
-"\n"
+"    timezone: \"Mon Sep 04 15:13:13 2006 0700\"."
+msgstr ""
+
+msgid ""
 ":domain: Any text. Finds the first string that looks like an email\n"
 "    address, and extracts just the domain component. Example: ``User\n"
-"    <user@example.com>`` becomes ``example.com``.\n"
-"\n"
+"    <user@example.com>`` becomes ``example.com``."
+msgstr ""
+
+msgid ""
 ":email: Any text. Extracts the first string that looks like an email\n"
 "    address. Example: ``User <user@example.com>`` becomes\n"
-"    ``user@example.com``.\n"
-"\n"
+"    ``user@example.com``."
+msgstr ""
+
+msgid ""
 ":escape: Any text. Replaces the special XML/XHTML characters \"&\", \"<\"\n"
-"    and \">\" with XML entities.\n"
-"\n"
-":fill68: Any text. Wraps the text to fit in 68 columns.\n"
-"\n"
-":fill76: Any text. Wraps the text to fit in 76 columns.\n"
-"\n"
-":firstline: Any text. Returns the first line of text.\n"
-"\n"
-":nonempty: Any text. Returns '(none)' if the string is empty.\n"
-"\n"
+"    and \">\" with XML entities."
+msgstr ""
+
+msgid ":fill68: Any text. Wraps the text to fit in 68 columns."
+msgstr ""
+
+msgid ":fill76: Any text. Wraps the text to fit in 76 columns."
+msgstr ""
+
+msgid ":firstline: Any text. Returns the first line of text."
+msgstr ""
+
+msgid ":nonempty: Any text. Returns '(none)' if the string is empty."
+msgstr ""
+
+msgid ""
 ":hgdate: Date. Returns the date as a pair of numbers: \"1157407993\n"
-"    25200\" (Unix timestamp, timezone offset).\n"
-"\n"
+"    25200\" (Unix timestamp, timezone offset)."
+msgstr ""
+
+msgid ""
 ":isodate: Date. Returns the date in ISO 8601 format: \"2009-08-18 13:00\n"
-"    +0200\".\n"
-"\n"
+"    +0200\"."
+msgstr ""
+
+msgid ""
 ":isodatesec: Date. Returns the date in ISO 8601 format, including\n"
 "    seconds: \"2009-08-18 13:00:13 +0200\". See also the rfc3339date\n"
-"    filter.\n"
-"\n"
-":localdate: Date. Converts a date to local date.\n"
-"\n"
+"    filter."
+msgstr ""
+
+msgid ":localdate: Date. Converts a date to local date."
+msgstr ""
+
+msgid ""
 ":obfuscate: Any text. Returns the input text rendered as a sequence of\n"
-"    XML entities.\n"
-"\n"
-":person: Any text. Returns the text before an email address.\n"
-"\n"
+"    XML entities."
+msgstr ""
+
+msgid ":person: Any text. Returns the text before an email address."
+msgstr ""
+
+msgid ""
 ":rfc822date: Date. Returns a date using the same format used in email\n"
-"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
-"\n"
+"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\"."
+msgstr ""
+
+msgid ""
 ":rfc3339date: Date. Returns a date using the Internet date format\n"
-"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n"
-"\n"
+"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\"."
+msgstr ""
+
+msgid ""
 ":short: Changeset hash. Returns the short form of a changeset hash,\n"
-"    i.e. a 12-byte hexadecimal string.\n"
-"\n"
-":shortdate: Date. Returns a date like \"2006-09-18\".\n"
-"\n"
-":strip: Any text. Strips all leading and trailing whitespace.\n"
-"\n"
+"    i.e. a 12-byte hexadecimal string."
+msgstr ""
+
+msgid ":shortdate: Date. Returns a date like \"2006-09-18\"."
+msgstr ""
+
+msgid ":strip: Any text. Strips all leading and trailing whitespace."
+msgstr ""
+
+msgid ""
 ":tabindent: Any text. Returns the text, with every line except the\n"
-"     first starting with a tab character.\n"
-"\n"
+"     first starting with a tab character."
+msgstr ""
+
+msgid ""
 ":urlescape: Any text. Escapes all \"special\" characters. For example,\n"
-"    \"foo bar\" becomes \"foo%20bar\".\n"
-"\n"
-":user: Any text. Returns the user portion of an email address.\n"
-msgstr ""
-
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+"    \"foo bar\" becomes \"foo%20bar\"."
+msgstr ""
+
+msgid ":user: Any text. Returns the user portion of an email address.\n"
+msgstr ""
+
+msgid "Valid URLs are of the form::"
+msgstr ""
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
+
+msgid ""
 "Paths in the local filesystem can either point to Mercurial\n"
 "repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
+"incoming --bundle')."
+msgstr ""
+
+msgid ""
 "An optional identifier after # indicates a particular branch, tag, or\n"
 "changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
+"revisions'."
+msgstr ""
+
+msgid ""
 "Some features, such as pushing to http:// and https:// URLs are only\n"
 "possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
+"server."
+msgstr ""
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr ""
+
+msgid ""
 "- SSH requires an accessible shell account on the destination machine\n"
 "  and a copy of hg in the remote path or specified with as remotecmd.\n"
 "- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
+
+msgid "    ssh://example.com//tmp/repository"
+msgstr ""
+
+msgid ""
 "- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
+
+msgid ""
 "    Host *.mylocalnetwork.example.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+msgstr ""
+
+msgid ""
 "  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
+"  with the --ssh command line option."
+msgstr ""
+
+msgid ""
 "These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
+"[paths] section like so::"
+msgstr ""
+
+msgid ""
 "  [paths]\n"
 "  alias1 = URL1\n"
 "  alias2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+msgstr ""
+
+msgid ""
 "You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' will be treated as 'hg pull URL1').\n"
-"\n"
+"example 'hg pull alias1' will be treated as 'hg pull URL1')."
+msgstr ""
+
+msgid ""
 "Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
+"you do not provide the URL to a command:"
+msgstr ""
+
+msgid ""
 "default:\n"
 "  When you create a repository with hg clone, the clone command saves\n"
 "  the location of the source repository as the new repository's\n"
 "  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
+
+msgid ""
 "default-push:\n"
 "  The push command will look for a path named 'default-push', and\n"
 "  prefer it over 'default' if both are defined.\n"
@@ -8944,9 +9566,7 @@
 msgid "destination '%s' is not empty"
 msgstr "målet '%s' er ikke tomt"
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
 msgstr ""
 
 msgid "clone from remote to remote not supported"
@@ -8957,19 +9577,14 @@
 msgstr "opdaterer til gren %s\n"
 
 #, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
 msgstr ""
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr "brug 'hg resolve' for at prøve at sammenføje uløste filer igen\n"
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
-msgstr ""
-"brug 'hg resolve' for at prøve at sammenføje uløste filer igen eller 'hg up -"
-"C' for at opgive\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
+msgstr "brug 'hg resolve' for at prøve at sammenføje uløste filer igen eller 'hg up -C' for at opgive\n"
 
 msgid "(branch merge, don't forget to commit)\n"
 msgstr "(grensammenføjning, glem ikke at deponere)\n"
@@ -9160,8 +9775,7 @@
 
 #, python-format
 msgid "Named branch could not be reset, current branch still is: %s\n"
-msgstr ""
-"Navngiven gren kunne ikke nulstilles, den nuværende gren er stadig: %s\n"
+msgstr "Navngiven gren kunne ikke nulstilles, den nuværende gren er stadig: %s\n"
 
 msgid "no rollback information available\n"
 msgstr "ingen tilbagerulningsinformation til stede\n"
@@ -9179,9 +9793,7 @@
 msgstr "arbejdskatalog for %s"
 
 msgid "cannot partially commit a merge (do not specify files or patterns)"
-msgstr ""
-"kan ikke deponere en sammenføjning partielt (undgå at specificere filer "
-"eller mønstre)"
+msgstr "kan ikke deponere en sammenføjning partielt (undgå at specificere filer eller mønstre)"
 
 msgid "file not found!"
 msgstr "filen blev ikke fundet!"
@@ -9219,8 +9831,7 @@
 
 #, python-format
 msgid "%s not added: only files and symlinks supported currently\n"
-msgstr ""
-"%s ikke tilføjet: i øjeblikket understøttes kun filer og symbolske lænker\n"
+msgstr "%s ikke tilføjet: i øjeblikket understøttes kun filer og symbolske lænker\n"
 
 #, python-format
 msgid "%s already tracked!\n"
@@ -9252,9 +9863,6 @@
 msgid "queries"
 msgstr ""
 
-msgid "searching"
-msgstr "søger"
-
 msgid "already have changeset "
 msgstr "har allerede ændringen "
 
@@ -9267,9 +9875,7 @@
 msgid "requesting all changes\n"
 msgstr "anmoder om alle ændringer\n"
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
 msgstr ""
 
 #, python-format
@@ -9279,12 +9885,12 @@
 msgid "abort: push creates new remote heads!\n"
 msgstr "afbrudt: skub laver nye fjern-hoveder!\n"
 
+msgid "(did you forget to merge? use push -f to force)\n"
+msgstr "(glemte du at sammenføje? brug push -f for at gennemtvinge)\n"
+
 msgid "(you should pull and merge or use push -f to force)\n"
 msgstr "(du skal hive og sammenføje eller bruge -f for at gennemtvinge)\n"
 
-msgid "(did you forget to merge? use push -f to force)\n"
-msgstr "(glemte du at sammenføje? brug push -f for at gennemtvinge)\n"
-
 #, python-format
 msgid "abort: push creates new remote branches: %s!\n"
 msgstr "afbrudt: skub laver nye grene i fjerndepotet: %s!\n"
@@ -9423,9 +10029,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr ""
 
 #, python-format
@@ -9498,15 +10102,10 @@
 msgstr "intet at sammenføje (brug 'hg update' eller kontroller 'hg heads')"
 
 msgid "outstanding uncommitted changes (use 'hg status' to list changes)"
-msgstr ""
-"udestående ikke-deponerede ændringer (brug 'hg status' for at se ændringer)"
-
-msgid ""
-"crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard "
-"changes)"
-msgstr ""
-"krydser grene (brug 'hg merge' for at sammenføje eller 'hg update -C' for at "
-"kassere ændringerne)"
+msgstr "udestående ikke-deponerede ændringer (brug 'hg status' for at se ændringer)"
+
+msgid "crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)"
+msgstr "krydser grene (brug 'hg merge' for at sammenføje eller 'hg update -C' for at kassere ændringerne)"
 
 msgid "crosses branches (use 'hg merge' or use 'hg update -c')"
 msgstr "krydser grene (brug 'hg merge' eller 'hg update -c')"
@@ -9589,6 +10188,15 @@
 msgid "Unsupported line endings type: %s"
 msgstr "Linieendelse %s understøttes ikke"
 
+msgid ""
+"internal patcher failed\n"
+"please report details to http://mercurial.selenic.com/bts/\n"
+"or mercurial@selenic.com\n"
+msgstr ""
+"intern lappe-funktionalitet fejlede\n"
+"angiv venligst fejldetaljer på http://mercurial.selenic.com/bts/\n"
+"eller mercurial@selenic.com\n"
+
 #, python-format
 msgid " %d files changed, %d insertions(+), %d deletions(-)\n"
 msgstr "%d filer ændret, %d indsættelser(+), %d sletninger(-)\n"
@@ -9736,8 +10344,8 @@
 msgstr "fjerner underdepot %s\n"
 
 #, python-format
-msgid "pulling subrepo %s\n"
-msgstr "hiver fra underdepot %s\n"
+msgid "pulling subrepo %s from %s\n"
+msgstr "hiver underdepot %s fra %s\n"
 
 #, python-format
 msgid "pushing subrepo %s\n"
--- a/i18n/de.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/de.po	Mon Jun 21 13:41:11 2010 -0500
@@ -1,7 +1,7 @@
 # German translations for Mercurial
 # Deutsche Übersetzungen für Mercurial
 # Copyright (C) 2009 Matt Mackall and others
-#
+# 
 # Ãœbersetzungen
 # =============
 # branch	Zweig/Verzweigung
@@ -17,7 +17,7 @@
 # notation	Schreibweise
 # repository	(Projekt)archiv
 # manage/track  versionieren
-#
+# 
 # Die Koordination der Ãœbersetzung erfolgt auf https://bitbucket.org/FabianKreutz/hg-i18n-de/
 msgid ""
 msgstr ""
@@ -42,27 +42,25 @@
 msgid "Commands"
 msgstr "Befehle"
 
-msgid ""
-"    options:\n"
-"\n"
-msgstr ""
-"    Optionen:\n"
-"\n"
-
-#, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    Aliase: %s\n"
-"\n"
+msgid "    options:"
+msgstr "    Optionen:"
+
+#, python-format
+msgid "    aliases: %s"
+msgstr "    Aliase: %s"
 
 msgid ""
 "Mercurial reads configuration data from several files, if they exist.\n"
-"Below we list the most specific file first.\n"
-"\n"
-"On Windows, these configuration files are read:\n"
-"\n"
+"Below we list the most specific file first."
+msgstr ""
+"Mercurial liest die Konfiguration aus mehreren Dateien, falls diese\n"
+"existieren. Es folgen Listen, die von der jeweils archivspezifischen\n"
+"Datei angeführt werden."
+
+msgid "On Windows, these configuration files are read:"
+msgstr "Unter Windows werden diese Dateien gelesen:"
+
+msgid ""
 "- ``<repo>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -70,38 +68,8 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<install-dir>\\Mercurial.ini``\n"
-"\n"
-"On Unix, these files are read:\n"
-"\n"
-"- ``<repo>/.hg/hgrc``\n"
-"- ``$HOME/.hgrc``\n"
-"- ``/etc/mercurial/hgrc``\n"
-"- ``/etc/mercurial/hgrc.d/*.rc``\n"
-"- ``<install-root>/etc/mercurial/hgrc``\n"
-"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
-"The configuration files for Mercurial use a simple ini-file format. A\n"
-"configuration file consists of sections, led by a ``[section]`` header\n"
-"and followed by ``name = value`` entries::\n"
-"\n"
-"  [ui]\n"
-"  username = Firstname Lastname <firstname.lastname@example.net>\n"
-"  verbose = True\n"
-"\n"
-"This above entries will be referred to as ``ui.username`` and\n"
-"``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
-"description of the possible configuration values:\n"
-"\n"
-"- on Unix-like systems: ``man hgrc``\n"
-"- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
-msgstr ""
-"Mercurial liest die Konfiguration aus mehreren Dateien, falls diese\n"
-"existieren. Es folgen Listen, die von der jeweils archivspezifischen\n"
-"Datei angeführt werden.\n"
-"\n"
-"Unter Windows werden diese Dateien gelesen:\n"
-"\n"
+"- ``<install-dir>\\Mercurial.ini``"
+msgstr ""
 "- ``<archiv>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -109,40 +77,74 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<installation-pfad>\\Mercurial.ini``\n"
-"\n"
-"Unter Unix werden diese Dateien gelesen:\n"
-"\n"
+"- ``<installation-pfad>\\Mercurial.ini``"
+
+msgid "On Unix, these files are read:"
+msgstr "Unter Unix werden diese Dateien gelesen:"
+
+msgid ""
+"- ``<repo>/.hg/hgrc``\n"
+"- ``$HOME/.hgrc``\n"
+"- ``/etc/mercurial/hgrc``\n"
+"- ``/etc/mercurial/hgrc.d/*.rc``\n"
+"- ``<install-root>/etc/mercurial/hgrc``\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+msgstr ""
 "- ``<archiv>/.hg/hgrc``\n"
 "- ``$HOME/.hgrc``\n"
 "- ``/etc/mercurial/hgrc``\n"
 "- ``/etc/mercurial/hgrc.d/*.rc``\n"
 "- ``<installation-pfad>/etc/mercurial/hgrc``\n"
-"- ``<installation-pfad>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
+"- ``<installation-pfad>/etc/mercurial/hgrc.d/*.rc``"
+
+msgid ""
+"The configuration files for Mercurial use a simple ini-file format. A\n"
+"configuration file consists of sections, led by a ``[section]`` header\n"
+"and followed by ``name = value`` entries::"
+msgstr ""
 "Für die Konfigurationsdateien wird ein einfaches ini-Dateiformat verwendet.\n"
 "Die Datei enthält Sektionen (durch ``[Sektionsname]`` eingeleitet), welche\n"
-"ihrerseits Zeilen der Form ``name = wert`` enthalten::\n"
-"\n"
+"ihrerseits Zeilen der Form ``name = wert`` enthalten::"
+
+msgid ""
+"  [ui]\n"
+"  username = Firstname Lastname <firstname.lastname@example.net>\n"
+"  verbose = True"
+msgstr ""
 "  [ui]\n"
 "  username = Vorname Nachname <vorname.nachname@example.net>\n"
-"  verbose = True\n"
-"\n"
+"  verbose = True"
+
+msgid ""
+"This above entries will be referred to as ``ui.username`` and\n"
+"``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
+"description of the possible configuration values:"
+msgstr ""
 "Die obigen Beispieleinträge werden als ``ui.username`` bzw. ``ui.verbose``\n"
 "bezeichnet. Der hgrc man-Eintrag listet und beschreibt alle Konfigurations-\n"
-"werte auf:\n"
-"\n"
+"werte auf:"
+
+msgid ""
+"- on Unix-like systems: ``man hgrc``\n"
+"- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
+msgstr ""
 "- auf Unix-ähnlichen Systemen: ``man hgrc``\n"
 "- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
 
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr "Einige Befehle erlauben dem Benutzer ein Datum anzugeben, z.B.:"
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples::\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+"- backout, commit, import, tag: Angabe des Versionsdatums.\n"
+"- log, revert, update: Selektion von Revisionen anhand ihres Datums."
+
+msgid "Many date formats are valid. Here are some examples::"
+msgstr "Viele Datumsformate sind erlaubt. Hier einige Beispiele::"
+
+msgid ""
 "  \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
 "  \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
 "  \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
@@ -155,31 +157,8 @@
 "  \"2006-12-6\"\n"
 "  \"12-6\"\n"
 "  \"12/6\"\n"
-"  \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format::\n"
-"\n"
-"  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
-"This is the internal representation format for dates. unixtime is the\n"
-"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
-"the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges::\n"
-"\n"
-"  \"<{datetime}\" - at or before a given date/time\n"
-"  \">{datetime}\" - on or after a given date/time\n"
-"  \"{datetime} to {datetime}\" - a date range, inclusive\n"
-"  \"-{days}\" - within a given number of days of today\n"
-msgstr ""
-"Einige Befehle erlauben dem Benutzer ein Datum anzugeben, z.B.:\n"
-"\n"
-"- backout, commit, import, tag: Angabe des Versionsdatums.\n"
-"- log, revert, update: Selektion von Revisionen anhand ihres Datums.\n"
-"\n"
-"Viele Datumsformate sind erlaubt. Hier einige Beispiele::\n"
-"\n"
+"  \"12/6/6\" (Dec 6 2006)"
+msgstr ""
 "  \"Wed Dec 6 13:18:29 2006\" (Lokale Zeitzone angenommen)\n"
 "  \"Dec 6 13:18 -0600\" (Jahr angenommen, Zeitverschiebung angegeben)\n"
 "  \"Dec 6 13:18 UTC\" (UTC und GMT sind Aliase für +0000)\n"
@@ -192,19 +171,34 @@
 "  \"2006-12-6\"\n"
 "  \"12-6\"\n"
 "  \"12/6\"\n"
-"  \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"Schließlich gibt es Mercurials internes Format::\n"
-"\n"
-"  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
+"  \"12/6/6\" (Dec 6 2006)"
+
+msgid "Lastly, there is Mercurial's internal format::"
+msgstr "Schließlich gibt es Mercurials internes Format::"
+
+msgid "  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr "  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)"
+
+msgid ""
+"This is the internal representation format for dates. unixtime is the\n"
+"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
+"the offset of the local timezone, in seconds west of UTC (negative if\n"
+"the timezone is east of UTC)."
+msgstr ""
 "Dies ist das interne Darstellungsformat für Daten. \"Unixzeit\" ist die\n"
 "Anzahl von Sekunden seit der UNIX Epoche (1970-01-01 00:00 UTC).\n"
 "Abgesetzt davon steht die Verschiebung zur lokalen Zeitzone in Sekunden\n"
-"westlich der UTC (negativ wenn die Zeitzone östlich der UTC ist).\n"
-"\n"
-"Der log-Befehl akzeptiert auch Datumsbereiche::\n"
-"\n"
+"westlich der UTC (negativ wenn die Zeitzone östlich der UTC ist)."
+
+msgid "The log command also accepts date ranges::"
+msgstr "Der log-Befehl akzeptiert auch Datumsbereiche::"
+
+msgid ""
+"  \"<{datetime}\" - at or before a given date/time\n"
+"  \">{datetime}\" - on or after a given date/time\n"
+"  \"{datetime} to {datetime}\" - a date range, inclusive\n"
+"  \"-{days}\" - within a given number of days of today\n"
+msgstr ""
 "  \"<{datetime}\" - an oder vor einem/r angegebenen Datum/Uhrzeit\n"
 "  \">{datetime}\" - zu oder nach einem/r angegebenen Datum/Uhrzeit\n"
 "  \"{datetime} to {datetime}\" - ein Datumsbereich, inklusive\n"
@@ -213,29 +207,39 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr ""
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
+"format for communicating changes."
+msgstr ""
+
+msgid ""
 "To make Mercurial produce the git extended diff format, use the --git\n"
 "option available for many commands, or set 'git = True' in the [diff]\n"
 "section of your hgrc. You do not need to set this option when\n"
@@ -248,74 +252,98 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use .hgrc)"
+msgstr ""
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
+
+msgid ""
 "HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    ancestor file."
+msgstr ""
+
+msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
+"    from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
 "    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
 "HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
+"    available values will be considered in this order:"
+msgstr ""
+
+msgid ""
 "    - HGUSER (deprecated)\n"
 "    - hgrc files from the HGRCPATH\n"
 "    - EMAIL\n"
 "    - interactive prompt\n"
-"    - LOGNAME (with ``@hostname`` appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    - LOGNAME (with ``@hostname`` appended)"
+msgstr ""
+
+msgid ""
 "EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
 "EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
 "    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
 "    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
+"    defaults to 'vi'."
+msgstr ""
+
+msgid ""
 "PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
@@ -325,31 +353,44 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
+"needed."
+msgstr ""
+
+msgid ""
 "To enable the \"foo\" extension, either shipped with Mercurial or in\n"
 "the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
+"  foo ="
+msgstr ""
+
+msgid "You may also specify the full path to an extension::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
+
+msgid ""
 "To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
+"scope, prepend its path with !::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  # disabling extension bar residing in /path/to/extension/bar.py\n"
 "  bar = !/path/to/extension/bar.py\n"
@@ -360,178 +401,183 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+"Wenn Mercurial mehr als eine Revision annimmt, können sie einzeln oder als\n"
+"topologisch kontinuierlicher Bereich getrennt durch das \":\" Zeichen\n"
+"angegeben werden."
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
-"A range acts as a closed interval. This means that a range of 3:5\n"
-"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
-msgstr ""
-"Wenn Mercurial mehr als eine Revision annimmt, können sie einzeln oder als\n"
-"topologisch kontinuierlicher Bereich getrennt durch das \":\" Zeichen\n"
-"angegeben werden.\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
 "Die Syntax der Bereichs-Notation ist [ANFANG]:[ENDE], wobei ANFANG und ENDE\n"
 "Revisions-Identifikatoren sind. Sowohl ANFANG als auch ENDE sind optional.\n"
 "Sollte ANFANG nicht angegeben werden, wird standardmäßig die Revision 0\n"
 "angenommen. Wenn ENDE nicht angegeben wird, wird standardmäßig die Spitze\n"
-"genommen. Der Bereich \":\" bedeutet daher \"alle Revisionen\".\n"
-"\n"
+"genommen. Der Bereich \":\" bedeutet daher \"alle Revisionen\"."
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
 "Wenn ANFANG größer als ENDE ist, werden die Revisionen in umgekehrter\n"
-"Reihenfolge betrachtet.\n"
-"\n"
+"Reihenfolge betrachtet."
+
+msgid ""
+"A range acts as a closed interval. This means that a range of 3:5\n"
+"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
+msgstr ""
 "Ein Bereich fungiert als geschlossenes Intervall. Das heißt, dass der\n"
 "Bereich 3:5 die Revisionen 3, 4 und 5 enthält. Ebenso enthält der Bereich\n"
 "9:6 die Revisionen 9, 8, 7 und 6.\n"
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr ""
+"Mercurial akzeptiert verschiedene Schreibweisen zur Identifikation einer\n"
+"oder mehrerer Dateien gleichzeitig."
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+"Standardmäßig behandelt Mercurial Dateinamen wie erweiterte \"Glob\"-Muster\n"
+"der Shell (shell-style extended glob patterns)."
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr "Andere Schreibweisen von Mustern müssen explizit angegeben werden."
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+"Mit dem Prefix ``path:`` wird ein Pfad relativ zur Wurzel des Projektarchivs\n"
+"ohne Mustererkennung angenommen."
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+"Für erweiterte Glob-Muster muss das Muster mit ``glob:`` beginnen. Globs\n"
+"sind am aktuellen Verzeichnis verankert; ein Glob-Muster wie ````*.c````\n"
+"stimmt nur mit Dateien im aktuellen Verzeichnis überein, die mit ``.c``\n"
+"enden."
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+"Die unterstützen Erweiterungen der Glob-Syntax sind ``**`` für\n"
+"Zeichenketten über Pfadtrenner hinweg und ``{a,b}`` in der Bedeutung \"a\n"
+"oder b\"."
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+"Zur Nutzung von regulären Ausdrücken (Perl/Python) beginne einen Namen mit\n"
+"``re:``. Erkennung mit regulären Ausdrücken ist relativ zur Wurzel des\n"
+"Projektarchivs."
+
+msgid "Plain examples::"
+msgstr "Einfache Beispiele::"
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+"  path:foo/bar   eine Datei bar in einem Verzeichnis foo an der Wurzel\n"
+"                 des Projektarchivs\n"
+"  path:path:name eine Datei oder ein Verzeichnis mit dem Namen \"path:name\""
+
+msgid "Glob examples::"
+msgstr "Glob-Beispiele::"
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-"Mercurial akzeptiert verschiedene Schreibweisen zur Identifikation einer\n"
-"oder mehrerer Dateien gleichzeitig.\n"
-"\n"
-"Standardmäßig behandelt Mercurial Dateinamen wie erweiterte \"Glob\"-Muster\n"
-"der Shell (shell-style extended glob patterns).\n"
-"\n"
-"Andere Schreibweisen von Mustern müssen explizit angegeben werden.\n"
-"\n"
-"Mit dem Prefix ``path:`` wird ein Pfad relativ zur Wurzel des "
-"Projektarchivs\n"
-"ohne Mustererkennung angenommen.\n"
-"\n"
-"Für erweiterte Glob-Muster muss das Muster mit ``glob:`` beginnen. Globs\n"
-"sind am aktuellen Verzeichnis verankert; ein Glob-Muster wie ````*.c````\n"
-"stimmt nur mit Dateien im aktuellen Verzeichnis überein, die mit ``.c``\n"
-"enden.\n"
-"\n"
-"Die unterstützen Erweiterungen der Glob-Syntax sind ``**`` für\n"
-"Zeichenketten über Pfadtrenner hinweg und ``{a,b}`` in der Bedeutung \"a\n"
-"oder b\".\n"
-"\n"
-"Zur Nutzung von regulären Ausdrücken (Perl/Python) beginne einen Namen mit\n"
-"``re:``. Erkennung mit regulären Ausdrücken ist relativ zur Wurzel des\n"
-"Projektarchivs.\n"
-"\n"
-"Einfache Beispiele::\n"
-"\n"
-"  path:foo/bar   eine Datei bar in einem Verzeichnis foo an der Wurzel\n"
-"                 des Projektarchivs\n"
-"  path:path:name eine Datei oder ein Verzeichnis mit dem Namen \"path:name"
-"\"\n"
-"\n"
-"Glob-Beispiele::\n"
-"\n"
+"                 including itself."
+msgstr ""
 "  glob:*.c       jeder Name endend mit \".c\" im aktuellen Verzeichnis\n"
 "  *.c            jeder Name endend mit \".c\" im aktuellen Verzeichnis\n"
 "  **.c           jeder Name endend mit \".c\" im aktuellen Verzeichnis\n"
 "                 und jedem Unterverzeichnis\n"
 "  foo/*.c        jeder Name endend mit \".c\" im Verzeichnis foo\n"
 "  foo/**.c       jeder Name endend mit \".c\" im Verzeichnis foo\n"
-"                 und jedem Unterverzeichnis.\n"
-"\n"
-"Beispiel mit regulärem Ausdruck::\n"
-"\n"
-"  re:.*\\.c$     jeder Name endend mit \".c\" überall im Projektarchiv\n"
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"                 und jedem Unterverzeichnis."
+
+msgid "Regexp examples::"
+msgstr "Beispiel mit regulärem Ausdruck::"
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr "  re:.*\\.c$     jeder Name endend mit \".c\" überall im Projektarchiv\n"
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr "Mercurial unterstützt mehrere Arten individuelle Revisionen anzugeben."
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+"Eine einfache Ganzzahl wird als Revisionsnummer behandelt. Negative Zahlen\n"
+"beschreiben den topologischen Abstand von der Spitze (tip), wobei -1 die\n"
+"Spitze selbst, und -2 dessen direkter Vorfahr ist."
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr "Eine 40-stellige Hexadezimalzahl gilt als eindeutige Revisions-ID."
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+"Eine Hexadezimalzahl mit weniger als 40 Zeichen gilt als Kurzform der ID,\n"
+"wenn sie ein Präfix der Langform einer Revisions-ID ist."
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+"Jede andere Zeichenfolge wird als Name eines Etiketts oder Zweigs behandelt.\n"
+"Ein Etikett ist ein symbolischer Name für eine Revisions-ID. Ein Zweigname\n"
+"bezeichnet hier die jüngsten Kopfrevision des Zweigs. Etiketten und\n"
+"Zweignamen dürfen das Zeichen \":\" nicht enthalten."
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+"Der reservierte Name \"tip\" ist ein spezielles Etikett, welches immer auf\n"
+"die jüngste Revision verweist."
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+"Der reservierte Name \"null\" bezeichnet die null-Revision. Sie ist die\n"
+"Revision eines leeren Projektarchivs und der Vorgänger der Version 0."
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
 "parent.\n"
 msgstr ""
-"Mercurial unterstützt mehrere Arten individuelle Revisionen anzugeben.\n"
-"\n"
-"Eine einfache Ganzzahl wird als Revisionsnummer behandelt. Negative Zahlen\n"
-"beschreiben den topologischen Abstand von der Spitze (tip), wobei -1 die\n"
-"Spitze selbst, und -2 dessen direkter Vorfahr ist.\n"
-"\n"
-"Eine 40-stellige Hexadezimalzahl gilt als eindeutige Revisions-ID.\n"
-"\n"
-"Eine Hexadezimalzahl mit weniger als 40 Zeichen gilt als Kurzform der ID,\n"
-"wenn sie ein Präfix der Langform einer Revisions-ID ist.\n"
-"\n"
-"Jede andere Zeichenfolge wird als Name eines Etiketts oder Zweigs "
-"behandelt.\n"
-"Ein Etikett ist ein symbolischer Name für eine Revisions-ID. Ein Zweigname\n"
-"bezeichnet hier die jüngsten Kopfrevision des Zweigs. Etiketten und\n"
-"Zweignamen dürfen das Zeichen \":\" nicht enthalten.\n"
-"\n"
-"Der reservierte Name \"tip\" ist ein spezielles Etikett, welches immer auf\n"
-"die jüngste Revision verweist.\n"
-"\n"
-"Der reservierte Name \"null\" bezeichnet die null-Revision. Sie ist die\n"
-"Revision eines leeren Projektarchivs und der Vorgänger der Version 0.\n"
-"\n"
 "Der reservierte Name \".\" bezeichnete die Vorgängerversion des\n"
 "Arbeitsverzeichnisses. Falls das Arbeitsverzeichnis leer ist, ist diese\n"
 "äquivalent zu \"null\". Falls eine nicht versionierte Zusammenführung\n"
@@ -541,27 +587,40 @@
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+
+msgid ""
 "Three styles are packaged with Mercurial: default (the style used\n"
 "when no explicit preference is passed), compact and changelog.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"Usage::"
+msgstr ""
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
+"expansion::"
+msgstr ""
+
+msgid ""
 "    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+
+msgid ""
 ":author:    String. The unmodified author of the changeset.\n"
 ":branches:  String. The name of the branch on which the changeset\n"
 "            was committed. Will be empty if the branch name was\n"
@@ -585,19 +644,26 @@
 "            changeset.\n"
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
 "            changeset.\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. You can also use a chain of filters to get the desired\n"
-"output::\n"
-"\n"
+"output::"
+msgstr ""
+
+msgid ""
 "   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
+
+msgid "List of filters:"
+msgstr ""
+
+msgid ""
 ":addbreaks:   Any text. Add an XHTML \"<br />\" tag before the end of\n"
 "              every line except the last.\n"
 ":age:         Date. Returns a human-readable date/time difference\n"
@@ -653,228 +719,242 @@
 "              address.\n"
 msgstr ""
 
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+msgid "Valid URLs are of the form::"
+msgstr "Gültige URLs haben folgende Form::"
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
-"Paths in the local filesystem can either point to Mercurial\n"
-"repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
-"An optional identifier after # indicates a particular branch, tag, or\n"
-"changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
-"Some features, such as pushing to http:// and https:// URLs are only\n"
-"possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
-"- SSH requires an accessible shell account on the destination machine\n"
-"  and a copy of hg in the remote path or specified with as remotecmd.\n"
-"- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
-"- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
-"    Host *.mylocalnetwork.example.com\n"
-"      Compression no\n"
-"    Host *\n"
-"      Compression yes\n"
-"\n"
-"  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
-"These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
-"  [paths]\n"
-"  alias1 = URL1\n"
-"  alias2 = URL2\n"
-"  ...\n"
-"\n"
-"You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' will be treated as 'hg pull URL1').\n"
-"\n"
-"Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
-"default:\n"
-"  When you create a repository with hg clone, the clone command saves\n"
-"  the location of the source repository as the new repository's\n"
-"  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
-"default-push:\n"
-"  The push command will look for a path named 'default-push', and\n"
-"  prefer it over 'default' if both are defined.\n"
-msgstr ""
-"Gültige URLs haben folgende Form::\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
 "  lokales/dateisystem/pfad\n"
 "  file://lokales/dateisystem/pfad\n"
 "  http://[nutzer[:pass]@]host[:port]/[pfad]\n"
 "  https://[nutzer[:pass]@]host[:port]/[pfad]\n"
-"  ssh://[nutzer[:pass]@]host[:port]/[pfad]\n"
-"\n"
+"  ssh://[nutzer[:pass]@]host[:port]/[pfad]"
+
+msgid ""
+"Paths in the local filesystem can either point to Mercurial\n"
+"repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
+"incoming --bundle')."
+msgstr ""
 "Pfade im lokalen Dateisystem können auf ein Mercurial-Archiv oder Bündel-\n"
 "dateien verweisen (wie sie von 'hg bundle' oder 'hg incoming --bundle'\n"
-"erzeugt werden).\n"
-"\n"
+"erzeugt werden)."
+
+msgid ""
+"An optional identifier after # indicates a particular branch, tag, or\n"
+"changeset to use from the remote repository. See also 'hg help\n"
+"revisions'."
+msgstr ""
 "Ein optionaler Bezeichner nach # verweist auf einen bestimmten Zweig,\n"
 "Etikett oder Änderungssatz des anderen Projektarchivs. Siehe auch\n"
-"\"hg help revisions\".\n"
-"\n"
+"\"hg help revisions\"."
+
+msgid ""
+"Some features, such as pushing to http:// and https:// URLs are only\n"
+"possible if the feature is explicitly enabled on the remote Mercurial\n"
+"server."
+msgstr ""
 "Einige Funktionen, wie das Ãœbertragen an http:// und https:// URLs, sind\n"
 "nur dann möglich, wenn diese Funktionen explizit auf dem entfernten\n"
-"Mercurial-Server aktiviert sind.\n"
-"\n"
-"Einige Hinweise zur Nutzung von SSH mit Mercurial:\n"
-"\n"
+"Mercurial-Server aktiviert sind."
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr "Einige Hinweise zur Nutzung von SSH mit Mercurial:"
+
+msgid ""
+"- SSH requires an accessible shell account on the destination machine\n"
+"  and a copy of hg in the remote path or specified with as remotecmd.\n"
+"- path is relative to the remote user's home directory by default. Use\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
 "- SSH benötigt einen nutzbaren Shell-Zugang auf der Zielmaschine und eine\n"
 "  Kopie von hg im Pfad der entfernten Maschine oder in der Konfiguration\n"
 "  remotecmd angegeben.\n"
 "- Der Pfad ist standardmäßig relativ vom Home-Verzeichnis des entfernten\n"
 "  Nutzer. Nutze einen zusätzlichen Schrägstrich um einen absoluen Pfad\n"
-"  anzugeben::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
-"- Mercurial nutzt keine eigene Kompressionsmechanismen über SSH; hier "
-"sollte\n"
-"  man die Kompression über ~/.ssh/config aktivieren, z.B.::\n"
-"\n"
+"  anzugeben::"
+
+msgid "    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"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
+"- Mercurial nutzt keine eigene Kompressionsmechanismen über SSH; hier sollte\n"
+"  man die Kompression über ~/.ssh/config aktivieren, z.B.::"
+
+msgid ""
+"    Host *.mylocalnetwork.example.com\n"
+"      Compression no\n"
+"    Host *\n"
+"      Compression yes"
+msgstr ""
 "    Host *.mylocalnetwork.example.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+
+msgid ""
+"  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
+"  with the --ssh command line option."
+msgstr ""
 "  Alternativ kann \"ssh -C\" als dein SSH-Befehl in der hgrc oder mit der\n"
-"  --ssh Befehlszeilenoption angegeben werden.\n"
-"\n"
+"  --ssh Befehlszeilenoption angegeben werden."
+
+msgid ""
+"These URLs can all be stored in your hgrc with path aliases under the\n"
+"[paths] section like so::"
+msgstr ""
 "Diese URLs können alle in der hgrc als Aliase unter der Sektion [paths]\n"
-"abgelegt werden::\n"
-"\n"
+"abgelegt werden::"
+
+msgid ""
+"  [paths]\n"
+"  alias1 = URL1\n"
+"  alias2 = URL2\n"
+"  ..."
+msgstr ""
 "  [paths]\n"
 "  alias1 = URL1\n"
 "  alias2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+
+msgid ""
+"You can then use the alias for any command that uses a URL (for\n"
+"example 'hg pull alias1' will be treated as 'hg pull URL1')."
+msgstr ""
 "Diese Aliase können dann bei jedem Befehl genutzt werden der URLs nutzt\n"
-"(z.B. 'hg pull alias1' würde als 'hg pull URL1' gewertet werden).\n"
-"\n"
+"(z.B. 'hg pull alias1' würde als 'hg pull URL1' gewertet werden)."
+
+msgid ""
+"Two path aliases are special because they are used as defaults when\n"
+"you do not provide the URL to a command:"
+msgstr ""
 "Es gibt zwei besondere Pfad-Aliase, die standardmäßig genutzt\n"
-"werden wenn einem Befehl keine URL übergeben wurde:\n"
-"\n"
+"werden wenn einem Befehl keine URL übergeben wurde:"
+
+msgid ""
+"default:\n"
+"  When you create a repository with hg clone, the clone command saves\n"
+"  the location of the source repository as the new repository's\n"
+"  'default' path. This is then used when you omit path from push- and\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
 "default:\n"
-"  Bei Erstellung eines Projektarchivs mit hg clone, sichert der clone-"
-"Befehl\n"
-"  die Herkunft des Quellarchivs als 'default'-Pfad des neuen Archivs. "
-"Dieser\n"
+"  Bei Erstellung eines Projektarchivs mit hg clone, sichert der clone-Befehl\n"
+"  die Herkunft des Quellarchivs als 'default'-Pfad des neuen Archivs. Dieser\n"
 "  Pfad wird immer dann genutzt, wenn bei 'push' oder 'pull'-ähnlichen\n"
-"  Befehlen der Pfad nicht angegeben wurde (auch 'incoming' und 'outgoing').\n"
-"\n"
+"  Befehlen der Pfad nicht angegeben wurde (auch 'incoming' und 'outgoing')."
+
+msgid ""
+"default-push:\n"
+"  The push command will look for a path named 'default-push', and\n"
+"  prefer it over 'default' if both are defined.\n"
+msgstr ""
 "default-push:\n"
 "  Der 'push'-Befehl sucht nach dem 'default-push'-Alias und zieht\n"
 "  diesen dem 'default'-Alias vor, wenn beide definiert sind.\n"
 
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "hooks for controlling repository access"
+msgstr "Einhängeaktionen zur Zugriffsverwaltung"
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+"Mit dieser Einhängeaktion kann man den Schreibezugriff auf Teile des\n"
+"Projektarchivs erlauben oder verbietet."
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+"Die Autorisation basiert auf dem lokalen Benutzernamen in dem System\n"
+"wo die Aktion gestartet wird und nicht auf der rein informativen Angabe\n"
+"über die Person(en), die die Übernahme der Änderungen ausgeführt hat."
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+"Diese Aktion nutzt man am besten in Verbindung mit einer eingeschränkten\n"
+"shell, wie der hgsh. So wird verhindert, dass die Benutzer etwas anderes\n"
+"als eine Schiebe- bzw. Holaktion ausführen, wie z.B. diese Einhängeaktion\n"
+"zu deaktivieren. Unsicher ist es auch, wenn mehrere Benutzer denselben\n"
+"Zugriff auf dem Zielsystem haben, da sie nicht unterschieden werden können."
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
+"Zur Benutzung muss die acl Erweiterung folgendermaßen in der hgrc\n"
+"konfiguriert werden::"
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+"  [extensions]\n"
+"  acl ="
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+"  [hooks]\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+"  [acl]\n"
+"  # Prüfe nur diese Aktionen als Quellen der neuen Änderungen\n"
+"  # (\"serve\" == ssh oder http, \"push\", \"pull\", \"bundle\")\n"
+"  sources = serve"
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+"Die Abschnitte \"allow\" und \"deny\" enthalten glob-Muster zur Angabe\n"
+"der geschützten Dateien assoziiert mit einer Kommaliste von Benutzernamen.\n"
+"Die \"deny\"- (Verbots-)liste wird vor der \"allow\"- (Erlaubnis-)Liste\n"
+"geprüft. ::"
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+"  [acl.allow]\n"
+"  # Ist dieser Abschnitt nicht angegeben, haben alle Benutzer standardmäßig\n"
+"  # Schreibeerlaubnis. Existiert der Abschnitt, ist aber leer, so gilt dies\n"
+"  # als Verbot für alle.\n"
+"  docs/** = dokumentator\n"
+"  .hgtags = release_engineer"
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
 "  glob pattern = user4, user5\n"
 "   ** = user6\n"
 msgstr ""
-"Einhängeaktionen zur Zugriffsverwaltung\n"
-"\n"
-"Mit dieser Einhängeaktion kann man den Schreibezugriff auf Teile des\n"
-"Projektarchivs erlauben oder verbietet.\n"
-"\n"
-"Die Autorisation basiert auf dem lokalen Benutzernamen in dem System\n"
-"wo die Aktion gestartet wird und nicht auf der rein informativen Angabe\n"
-"über die Person(en), die die Übernahme der Änderungen ausgeführt hat.\n"
-"\n"
-"Diese Aktion nutzt man am besten in Verbindung mit einer eingeschränkten\n"
-"shell, wie der hgsh. So wird verhindert, dass die Benutzer etwas anderes\n"
-"als eine Schiebe- bzw. Holaktion ausführen, wie z.B. diese Einhängeaktion\n"
-"zu deaktivieren. Unsicher ist es auch, wenn mehrere Benutzer denselben\n"
-"Zugriff auf dem Zielsystem haben, da sie nicht unterschieden werden können.\n"
-"\n"
-"Zur Benutzung muss die acl Erweiterung folgendermaßen in der hgrc\n"
-"konfiguriert werden::\n"
-"\n"
-"  [extensions]\n"
-"  acl =\n"
-"\n"
-"  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
-"  [acl]\n"
-"  # Prüfe nur diese Aktionen als Quellen der neuen Änderungen\n"
-"  # (\"serve\" == ssh oder http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
-"Die Abschnitte \"allow\" und \"deny\" enthalten glob-Muster zur Angabe\n"
-"der geschützten Dateien assoziiert mit einer Kommaliste von Benutzernamen.\n"
-"Die \"deny\"- (Verbots-)liste wird vor der \"allow\"- (Erlaubnis-)Liste\n"
-"geprüft. ::\n"
-"\n"
-"  [acl.allow]\n"
-"  # Ist dieser Abschnitt nicht angegeben, haben alle Benutzer standardmäßig\n"
-"  # Schreibeerlaubnis. Existiert der Abschnitt, ist aber leer, so gilt dies\n"
-"  # als Verbot für alle.\n"
-"  docs/** = dokumentator\n"
-"  .hgtags = release_engineer\n"
-"\n"
 "  [acl.deny]\n"
 "  # Ist dieser Abschnitt nicht angegeben oder ist leer, so ist kein Verbot\n"
 "  # definiert und alle Benutzer haben Schreiberlaubnis.\n"
@@ -891,57 +971,67 @@
 msgid "acl: access denied for changeset %s"
 msgstr "acl: Zugriff verweigert auf die Version %s"
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+#, fuzzy
+msgid "track a line of development with movable markers"
+msgstr "Folgt einem Entwicklungsstrang mit einer beweglichen Markierung\n"
+
+#, fuzzy
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr "Folgt einem Entwicklungsstrang mit einer beweglichen Markierung\n"
+
+#, fuzzy
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr "Folgt einem Entwicklungsstrang mit einer beweglichen Markierung\n"
+
+#, fuzzy
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr "Folgt einem Entwicklungsstrang mit einer beweglichen Markierung\n"
+
+#, fuzzy
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr "Folgt einem Entwicklungsstrang mit einer beweglichen Markierung\n"
+
+#, fuzzy
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr "Folgt einem Entwicklungsstrang mit einer beweglichen Markierung\n"
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+"    Lesezeichen sind Zeiger auf bestimmte Versionen, die mitwandern,\n"
+"    wenn eine neuen Version erzeugt wird. Lesezeichen sind nur lokal.\n"
+"    Sie können umbenannt, kopiert und gelöscht werden. Es ist möglich\n"
+"    Lesezeichen bei 'hg merge' und 'hg update' zu nutzen, um auf das\n"
+"    angegebene Lesezeichen zu aktualisieren."
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
 "    the bookmark is assigned to that revision.\n"
 "    "
 msgstr ""
-"Folgt einem Entwicklungsstrang mit einer beweglichen Markierung\n"
-"\n"
-"    Lesezeichen sind Zeiger auf bestimmte Versionen, die mitwandern,\n"
-"    wenn eine neuen Version erzeugt wird. Lesezeichen sind nur lokal.\n"
-"    Sie können umbenannt, kopiert und gelöscht werden. Es ist möglich\n"
-"    Lesezeichen bei 'hg merge' und 'hg update' zu nutzen, um auf das\n"
-"    angegebene Lesezeichen zu aktualisieren.\n"
-"\n"
 "    Man kann 'hg bookmark NAME' aufrufen, um ein Lesezeichen mit dem\n"
-"    angegeben Namen auf der aktuellen Spitze (tip) zu setzen. Bei Angabe "
-"einer\n"
-"    Revision mit -r REV (REV kann ein vorhandenes Lesezeichen sein) wird "
-"das\n"
+"    angegeben Namen auf der aktuellen Spitze (tip) zu setzen. Bei Angabe einer\n"
+"    Revision mit -r REV (REV kann ein vorhandenes Lesezeichen sein) wird das\n"
 "    Lesezeichen auf dieser Revision gesetzt.\n"
 "    "
 
@@ -961,8 +1051,7 @@
 msgstr "Ein Lesezeichenname darf keine Zeilenumbrüche enthalten"
 
 msgid "a bookmark cannot have the name of an existing branch"
-msgstr ""
-"Ein Lesezeichen darf nicht denselben Namen wie ein existierender Zweig haben"
+msgstr "Ein Lesezeichen darf nicht denselben Namen wie ein existierender Zweig haben"
 
 msgid "force"
 msgstr "erzwinge"
@@ -979,117 +1068,244 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr ""
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr "Bugzilla integration"
+
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+"Diese Erweiterung (falls als Einhänge-Aktion aktiviert) überträgt Versions-\n"
+"meldungen als Kommentare in Bugzilla, wenn sie eine Bugzilla ID enthalten.\n"
+"Der Status des Bugs wird nicht verändert."
+
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+"Die Bugzilla-Datenbank wird direkt verändert, daher werden nur Instanzen mit\n"
+"MySQL als Datenspeicher unterstützt."
+
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+"Intern wird ein Bugzilla-Skript zum Senden von Hinweis-Emails verwendet.\n"
+"Dies ist 'processmail' in Versionen vor 2.18 und 'config/sendbugmail.pl'\n"
+"danach. Mercurial führt dies unter der User-ID des Überträgers aus, daher\n"
+"müssen die Dateirechte dieses Skripts entsprechend gesetzt sein."
+
+msgid ""
 "The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
-"\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+"Die Erweiterung wird durch drei Abschnitte in der hgrc konfiguriert. Der\n"
+"Abschnitt [bugzilla] kann die folgenden Einträge enthalten:"
+
+msgid ""
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
-"\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+"host\n"
+"  Hostname des Servers auf dem die Bugzilla MySQL-DB läuft."
+
+msgid ""
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+"db\n"
+"  Name der Bugzilla Datebank in MySQL. Standard: 'bugs'."
+
+msgid ""
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
-"\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+"user\n"
+"  Benutzername zum Zugriff auf den MySQL-Server. Standard: 'bugs'."
+
+msgid ""
 "password\n"
-"  Password to use to access MySQL server.\n"
-"\n"
+"  Password to use to access MySQL server."
+msgstr ""
+"password\n"
+"  Password zum Zugriff auf den MySQL-Server."
+
+msgid ""
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
-"\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+"timeout\n"
+"  Datenbank Verbindungs-Zeitgrenze (in Sekunden). Standard: 5."
+
+msgid ""
 "version\n"
 "  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
 "  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
-"\n"
+"  to 2.18."
+msgstr ""
+"version\n"
+"  Bugzilla Version. '3.0' für Bugzilla Versionen nach und inklusive 3.0,\n"
+"  '2.18' für Versionen seit 2.18 und '2.16' für Versionen davor."
+
+msgid ""
 "bzuser\n"
 "  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
-"\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+"bzuser\n"
+"  Ausweich-Benutzername zum Setzen von Kommentaren, falls der Überträger\n"
+"  der Änderungen kein Benutzer in Bugzilla ist."
+
+msgid ""
 "bzdir\n"
 "   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
-"\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+"bzdir\n"
+"  Bugzilla Installationsverzeichnis. Notwendig für die Standard\n"
+"  'notify'-Aktion; Standard: '/var/www/html/bugzilla'."
+
+msgid ""
 "notify\n"
 "  The command to run to get Bugzilla to send bug change notification\n"
 "  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
 "  and 'user' (committer bugzilla email). Default depends on version;\n"
 "  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
-"\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+"notify\n"
+"  Das Kommando um Hinweisemails zu versenden. Die drei Schlüssel 'bzdir',\n"
+"  'id' (Bug ID) und 'user' (Überträger) werden ersetzt.\n"
+"  Der Standard hängt von der Version ab. Ab 2.18 ist es\n"
+"    'cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s'"
+
+msgid ""
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
 "  Must contain one \"()\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
-"\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+"regexp\n"
+"  Der Reguläre Ausdruck, mit dem Bug IDs in der Versionsmeldung erkannt\n"
+"  werden. Er muss mindestens eine '()' Gruppe enthalten. Der Standardwert\n"
+"  erkennt: 'Bug 1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678',\n"
+"  'Bug 1234 and 5678' und Variationen. Großschreibung wird ignoriert."
+
+msgid ""
 "style\n"
-"  The style file to use when formatting comments.\n"
-"\n"
+"  The style file to use when formatting comments."
+msgstr ""
+"style\n"
+"  Stil-Datei für das Formatieren der Kommentare."
+
+msgid ""
 "template\n"
 "  Template to use when formatting comments. Overrides style if\n"
 "  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
+"  extension specifies::"
+msgstr ""
+"template\n"
+"  Vorlagetext für die Bugzilla Kommentare (anstelle der Stil-\n"
+"  Datei). Zusätzlich zu den Mercurial-Schlüsselworten gibt es::"
+
+msgid ""
 "    {bug}       The Bugzilla bug ID.\n"
 "    {root}      The full pathname of the Mercurial repository.\n"
 "    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+"    {bug}       Die Bugzilla Bug ID.\n"
+"    {root}      Der volle Pfad des Mercurial Archivs.\n"
+"    {webroot}   Angepasster Pfad des Mercurial Archivs.\n"
+"    {hgweb}     Basis-URL für alle Mercurial Archive."
+
+msgid ""
 "  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+"  Standard: 'Änderung {node|short} in Archiv {root} erwähnt Bug {bug}.\\n'\n"
+"            'Details:\\n\\t{desc|tabindent}'"
+
+msgid ""
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
-"\n"
+"  {webroot}. Default 0."
+msgstr ""
+"strip\n"
+"  Anzahl der Schrägstriche, die vom Beginn von {root} entfernt werden, um\n"
+"  {webroot} zu erhalten. Standard: 0."
+
+msgid ""
 "usermap\n"
 "  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
 "  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+"usermap\n"
+"  Pfad zu einer Datei, die Mercurial Benutzern eine Bugzilla-BenutzerID\n"
+"  zuweist. Falls angegeben, sollte jede Zeile der Form\n"
+"    'Mercurial Benutzer'='Bugzilla Benutzer'\n"
+"  entsprechen. Siehe auch die [usermap] Sektion."
+
+msgid ""
 "The [usermap] section is used to specify mappings of Mercurial\n"
 "committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
-"\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+"Einträge in dieser [usermap] Sektion weisen Mercurial Benutzern eine\n"
+"Bugzilla-BenutzerID zu. Siehe auch Option [bugzilla].usermap.\n"
+"    'Mercurial Benutzer'='Bugzilla Benutzer'"
+
+msgid "Finally, the [web] section supports one entry:"
+msgstr "Letztlich definiert der Abschnitt [web] noch einen Eintrag:"
+
+msgid ""
 "baseurl\n"
 "  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
-"\n"
+"  templates as {hgweb}."
+msgstr ""
+"baseurl\n"
+"  Basis-URL für alle Mercurial Archive. Kann in Kommentar-Vorlagen als\n"
+"  {hgweb} verwendet werden."
+
+msgid "Activating the extension::"
+msgstr "Um diese Erweiterung zu aktivieren::"
+
+msgid ""
 "    [extensions]\n"
-"    bugzilla =\n"
-"\n"
+"    bugzilla ="
+msgstr ""
+"    [extensions]\n"
+"    bugzilla ="
+
+msgid ""
 "    [hooks]\n"
 "    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+"    [hooks]\n"
+"    # führt Einhängeaktion für jede Änderung aus, die hierher geholt oder\n"
+"    # geschoben wird\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+
+msgid "Example configuration:"
+msgstr "Beispielkonfiguration:"
+
+msgid ""
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
-"\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+"Dieses Beispiel geht von einer lokalen Bugzilla 3.2 Installation im Verzeichnis\n"
+"/opt/bugzilla-3.2 und Mercurial Archiven in /var/local/hg/repos/ aus. ::"
+
+msgid ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -1099,129 +1315,8 @@
 "    template=Changeset {node|short} in {root|basename}.\n"
 "             {hgweb}/{webroot}/rev/{node|short}\\n\n"
 "             {desc}\\n\n"
-"    strip=5\n"
-"\n"
-"    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
-"    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
-"    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
-msgstr ""
-"Bugzilla integration\n"
-"\n"
-"Diese Erweiterung (falls als Einhänge-Aktion aktiviert) überträgt Versions-\n"
-"meldungen als Kommentare in Bugzilla, wenn sie eine Bugzilla ID enthalten.\n"
-"Der Status des Bugs wird nicht verändert.\n"
-"\n"
-"Die Bugzilla-Datenbank wird direkt verändert, daher werden nur Instanzen "
-"mit\n"
-"MySQL als Datenspeicher unterstützt.\n"
-"\n"
-"Intern wird ein Bugzilla-Skript zum Senden von Hinweis-Emails verwendet.\n"
-"Dies ist 'processmail' in Versionen vor 2.18 und 'config/sendbugmail.pl'\n"
-"danach. Mercurial führt dies unter der User-ID des Überträgers aus, daher\n"
-"müssen die Dateirechte dieses Skripts entsprechend gesetzt sein.\n"
-"\n"
-"Die Erweiterung wird durch drei Abschnitte in der hgrc konfiguriert. Der\n"
-"Abschnitt [bugzilla] kann die folgenden Einträge enthalten:\n"
-"\n"
-"host\n"
-"  Hostname des Servers auf dem die Bugzilla MySQL-DB läuft.\n"
-"\n"
-"db\n"
-"  Name der Bugzilla Datebank in MySQL. Standard: 'bugs'.\n"
-"\n"
-"user\n"
-"  Benutzername zum Zugriff auf den MySQL-Server. Standard: 'bugs'.\n"
-"\n"
-"password\n"
-"  Password zum Zugriff auf den MySQL-Server.\n"
-"\n"
-"timeout\n"
-"  Datenbank Verbindungs-Zeitgrenze (in Sekunden). Standard: 5.\n"
-"\n"
-"version\n"
-"  Bugzilla Version. '3.0' für Bugzilla Versionen nach und inklusive 3.0,\n"
-"  '2.18' für Versionen seit 2.18 und '2.16' für Versionen davor.\n"
-"\n"
-"bzuser\n"
-"  Ausweich-Benutzername zum Setzen von Kommentaren, falls der Überträger\n"
-"  der Änderungen kein Benutzer in Bugzilla ist.\n"
-"\n"
-"bzdir\n"
-"  Bugzilla Installationsverzeichnis. Notwendig für die Standard\n"
-"  'notify'-Aktion; Standard: '/var/www/html/bugzilla'.\n"
-"\n"
-"notify\n"
-"  Das Kommando um Hinweisemails zu versenden. Die drei Schlüssel 'bzdir',\n"
-"  'id' (Bug ID) und 'user' (Überträger) werden ersetzt.\n"
-"  Der Standard hängt von der Version ab. Ab 2.18 ist es\n"
-"    'cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s'\n"
-"\n"
-"regexp\n"
-"  Der Reguläre Ausdruck, mit dem Bug IDs in der Versionsmeldung erkannt\n"
-"  werden. Er muss mindestens eine '()' Gruppe enthalten. Der Standardwert\n"
-"  erkennt: 'Bug 1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678',\n"
-"  'Bug 1234 and 5678' und Variationen. Großschreibung wird ignoriert.\n"
-"\n"
-"style\n"
-"  Stil-Datei für das Formatieren der Kommentare.\n"
-"\n"
-"template\n"
-"  Vorlagetext für die Bugzilla Kommentare (anstelle der Stil-\n"
-"  Datei). Zusätzlich zu den Mercurial-Schlüsselworten gibt es::\n"
-"\n"
-"    {bug}       Die Bugzilla Bug ID.\n"
-"    {root}      Der volle Pfad des Mercurial Archivs.\n"
-"    {webroot}   Angepasster Pfad des Mercurial Archivs.\n"
-"    {hgweb}     Basis-URL für alle Mercurial Archive.\n"
-"\n"
-"  Standard: 'Änderung {node|short} in Archiv {root} erwähnt Bug {bug}.\\n'\n"
-"            'Details:\\n\\t{desc|tabindent}'\n"
-"\n"
-"strip\n"
-"  Anzahl der Schrägstriche, die vom Beginn von {root} entfernt werden, um\n"
-"  {webroot} zu erhalten. Standard: 0.\n"
-"\n"
-"usermap\n"
-"  Pfad zu einer Datei, die Mercurial Benutzern eine Bugzilla-BenutzerID\n"
-"  zuweist. Falls angegeben, sollte jede Zeile der Form\n"
-"    'Mercurial Benutzer'='Bugzilla Benutzer'\n"
-"  entsprechen. Siehe auch die [usermap] Sektion.\n"
-"\n"
-"Einträge in dieser [usermap] Sektion weisen Mercurial Benutzern eine\n"
-"Bugzilla-BenutzerID zu. Siehe auch Option [bugzilla].usermap.\n"
-"    'Mercurial Benutzer'='Bugzilla Benutzer'\n"
-"\n"
-"Letztlich definiert der Abschnitt [web] noch einen Eintrag:\n"
-"\n"
-"baseurl\n"
-"  Basis-URL für alle Mercurial Archive. Kann in Kommentar-Vorlagen als\n"
-"  {hgweb} verwendet werden.\n"
-"\n"
-"Um diese Erweiterung zu aktivieren::\n"
-"\n"
-"    [extensions]\n"
-"    bugzilla =\n"
-"\n"
-"    [hooks]\n"
-"    # führt Einhängeaktion für jede Änderung aus, die hierher geholt oder\n"
-"    # geschoben wird\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Beispielkonfiguration:\n"
-"\n"
-"Dieses Beispiel geht von einer lokalen Bugzilla 3.2 Installation im "
-"Verzeichnis\n"
-"/opt/bugzilla-3.2 und Mercurial Archiven in /var/local/hg/repos/ aus. ::\n"
-"\n"
+"    strip=5"
+msgstr ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -1230,20 +1325,34 @@
 "    bzdir=/opt/bugzilla-3.2\n"
 "    template=Änderung {node|short} in Archiv {root|basename}.\\n\n"
 "{hgweb}/{webroot}/rev/{node|short}\\n\\n{desc}\\n\n"
-"    strip=5\n"
-"\n"
+"    strip=5"
+
+msgid ""
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
 "    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
+"    baseurl=http://dev.domain.com/hg"
+
+msgid ""
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
 "    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Eine neue Änderung führt dann zu einem solchen Bugzilla-Kommentar::\n"
-"\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr "Eine neue Änderung führt dann zu einem solchen Bugzilla-Kommentar::"
+
+msgid ""
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
 "    Änderung 3b16791d6642 in Archiv MyProject.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Setze Zähler am Schleifenende zurück. Bug 1234.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+
+msgid "    Changeset commit comment. Bug 1234.\n"
+msgstr "    Setze Zähler am Schleifenende zurück. Bug 1234.\n"
 
 #, python-format
 msgid "connecting to %s:%s as %s, password %s\n"
@@ -1322,9 +1431,10 @@
 msgid "command to display child changesets"
 msgstr "Zum Anzeigen von Kindrevisionen"
 
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr "Zeigt die Kinder der übergebenen Revision oder des Arbeitsverzeichnisses an"
+
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -1332,13 +1442,9 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"Zeigt die Kinder der übergebenen Revision oder des Arbeitsverzeichnisses an\n"
-"\n"
 "    Zeigt die Kinder der Revision des Arbeitsverzeichnisses an.\n"
-"    Wenn eine Revision durch -r/--rev angegeben wird, werden die Kinder "
-"dieser\n"
-"    Revision angezeigt. Wenn eine Datei als Argument angegeben wird, zeige "
-"die\n"
+"    Wenn eine Revision durch -r/--rev angegeben wird, werden die Kinder dieser\n"
+"    Revision angezeigt. Wenn eine Datei als Argument angegeben wird, zeige die\n"
 "    Revision an, in der die Datei zuletzt geändert wurde (nachfolgend der\n"
 "    Revision des Arbeitsverzeichnisses oder wenn angegeben dem Argument von\n"
 "    --rev).\n"
@@ -1361,46 +1467,150 @@
 msgid "generating stats: %d%%"
 msgstr "Generiere Statistiken: %d%%"
 
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+#, fuzzy
+msgid "histogram of changes to the repository"
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
+"    date instead."
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Statistics are based on the number of changed lines, or\n"
 "    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
-"      # display count of changed lines for every committer\n"
+"    --changesets option is specified."
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
 "      hg churn -t '{author|email}'\n"
 "\n"
-"      # display daily activity graph\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
 "      hg churn -f '%H' -s -c\n"
 "\n"
-"      # display activity of developers by month\n"
+"      # Zeigt Aktivität pro Monat\n"
 "      hg churn -f '%Y-%m' -s -c\n"
 "\n"
-"      # display count of lines changed in every year\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
 "      hg churn -f '%Y' -s\n"
 "\n"
-"    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
-"    Such a file may be specified with the --aliases option, otherwise\n"
-"    a .hgchurn file will be looked for in the working directory root.\n"
-"    "
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid "    Examples::"
 msgstr ""
 "Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
 "\n"
-"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen "
-"Gruppierung\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid ""
+"      # display count of changed lines for every committer\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
 "    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
 "    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
 "\n"
@@ -1420,8 +1630,210 @@
 "      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
 "      hg churn -f '%Y' -s\n"
 "\n"
-"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird "
-"standardmäßig\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid ""
+"      # display daily activity graph\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid ""
+"      # display activity of developers by month\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid ""
+"      # display count of lines changed in every year\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    It is possible to map alternate email addresses to a main address\n"
+"    by providing a file using the following format::"
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid "      <alias email> <actual email>"
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"      <alias Email> <echte Email>\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Such a file may be specified with the --aliases option, otherwise\n"
+"    a .hgchurn file will be looked for in the working directory root.\n"
+"    "
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird standardmäßig\n"
 "    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
 "    verändert diese Vorgabe. Das Format ist recht einfach::\n"
 "\n"
@@ -1458,38 +1870,73 @@
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 msgstr "hg churn [-d DATUM] [-r REV] [--aliases DATEI] [--progress] [DATEI]"
 
-msgid ""
-"colorize output from some commands\n"
-"\n"
+msgid "colorize output from some commands"
+msgstr "Färbt die Ausgabe von status, qseries und diff-ähnlichen Kommandos"
+
+msgid ""
 "This extension modifies the status command to add color to its output\n"
 "to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+"Diese Erweiterung färbt die Ausgabe des Kommandos 'status' anhand des\n"
+"Dateistatus, die Ausgabe von 'qseries' anhand des Patchstatus\n"
+"(angewendet, nicht angewendet, fehlend) und die Ausgabe von\n"
+"diff-ähnlichen Kommandos anhand der Änderung (hinzugefügte oder\n"
+"entfernte Zeilen, Dateistatus und abschliessende Leerstellen) ein."
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+"Neben Farbänderungen sind auch andere Effekte wie Fettschreibung oder\n"
+"Unterstreichung möglich. Die Effekte werden durch die ECMA-48 SGR\n"
+"Funktionen (ANSI Escape Codes) realisiert. Die in diesem Module zu\n"
+"findende Funktion 'render_text' kann auch von anderen Modulen verwendet\n"
+"werden, um Texteffekte zu erzeugen."
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr "Standardeffekte können durch die .hgrc Datei verändert werden::"
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold"
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+"  # 'none' deaktiviert alle Effekte\n"
+"  status.clean = none\n"
+"  status.copied = none"
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold"
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -1500,38 +1947,6 @@
 "  diff.changed = white\n"
 "  diff.trailingwhitespace = bold red_background\n"
 msgstr ""
-"Färbt die Ausgabe von status, qseries und diff-ähnlichen Kommandos\n"
-"\n"
-"Diese Erweiterung färbt die Ausgabe des Kommandos 'status' anhand des\n"
-"Dateistatus, die Ausgabe von 'qseries' anhand des Patchstatus\n"
-"(angewendet, nicht angewendet, fehlend) und die Ausgabe von\n"
-"diff-ähnlichen Kommandos anhand der Änderung (hinzugefügte oder\n"
-"entfernte Zeilen, Dateistatus und abschliessende Leerstellen) ein.\n"
-"\n"
-"Neben Farbänderungen sind auch andere Effekte wie Fettschreibung oder\n"
-"Unterstreichung möglich. Die Effekte werden durch die ECMA-48 SGR\n"
-"Funktionen (ANSI Escape Codes) realisiert. Die in diesem Module zu\n"
-"findende Funktion 'render_text' kann auch von anderen Modulen verwendet\n"
-"werden, um Texteffekte zu erzeugen.\n"
-"\n"
-"Standardeffekte können durch die .hgrc Datei verändert werden::\n"
-"\n"
-"  [color]\n"
-"  status.modified = blue bold underline red_background\n"
-"  status.added = green bold\n"
-"  status.removed = red bold blue_background\n"
-"  status.deleted = cyan bold underline\n"
-"  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
-"  # 'none' deaktiviert alle Effekte\n"
-"  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
-"  qseries.applied = blue bold underline\n"
-"  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -1555,10 +1970,627 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr "Importiert Revisionen aus Archiven mit anderem VCS in Mercurial"
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
+#, fuzzy
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
 "\n"
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
@@ -1570,202 +2602,1015 @@
 "    - Bazaar [bzr]\n"
 "    - Perforce [p4]\n"
 "\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
-"    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
-"    By default, all sources except Mercurial will use --branchsort.\n"
-"    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
-"    --branchsort  convert from parent to child revision when possible,\n"
-"                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
-"    --datesort    sort revisions by date. Converted repositories have\n"
-"                  good-looking changelogs but are often an order of\n"
-"                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
-"    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
-"    If <REVMAP> isn't given, it will be put in a default location\n"
-"    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
-"    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
-"    If the file doesn't exist, it's automatically created. It's\n"
-"    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
-"    The [username mapping] file is a simple text file that maps each\n"
-"    source commit author to a destination commit author. It is handy\n"
-"    for source SCMs that use unix logins to identify authors (eg:\n"
-"    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
-"    The filemap is a file that allows filtering and remapping of files\n"
-"    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
-"    The 'include' directive causes a file, or all files under a\n"
-"    directory, to be included in the destination repository, and the\n"
-"    exclusion of all other files and directories not explicitly\n"
-"    included. The 'exclude' directive causes files or directories to\n"
-"    be omitted. The 'rename' directive renames a file or directory. To\n"
-"    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
-"    The splicemap is a file that allows insertion of synthetic\n"
-"    history, letting you specify the parents of a revision. This is\n"
-"    useful if you want to e.g. give a Subversion merge two parents, or\n"
-"    graft two disconnected series of history together. Each entry\n"
-"    contains a key, followed by a space, followed by one or two\n"
-"    comma-separated values. The key is the revision ID in the source\n"
-"    revision control system whose parents should be modified (same\n"
-"    format as a key in .hg/shamap). The values are the revision IDs\n"
-"    (in either the source or destination revision control system) that\n"
-"    should be used as the new parents for that node. For example, if\n"
-"    you have merged \"release-1.0\" into \"trunk\", then you should\n"
-"    specify the revision on \"trunk\" as the first parent and the one on\n"
-"    the \"release-1.0\" branch as the second.\n"
-"\n"
-"    The branchmap is a file that allows you to rename a branch when it is\n"
-"    being brought in from whatever external repository. When used in\n"
-"    conjunction with a splicemap, it allows for a powerful combination\n"
-"    to help fix even the most badly mismanaged repositories and turn them\n"
-"    into nicely structured Mercurial repositories. The branchmap contains\n"
-"    lines of the form \"original_branch_name new_branch_name\".\n"
-"    \"original_branch_name\" is the name of the branch in the source\n"
-"    repository, and \"new_branch_name\" is the name of the branch is the\n"
-"    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
-"    Mercurial Source\n"
-"    ----------------\n"
+"    (given in a format understood by the source)."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
 "\n"
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
-"        ignore integrity errors when reading. Use it to fix Mercurial\n"
-"        repositories with missing revlogs, by converting from and to\n"
-"        Mercurial.\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
 "    --config convert.hg.saverev=False         (boolean)\n"
-"        store original revision ID in changeset (forces target IDs to\n"
-"        change)\n"
-"    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
-"    CVS Source\n"
-"    ----------\n"
-"\n"
-"    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
-"    to indicate the starting point of what will be converted. Direct\n"
-"    access to the repository files is not needed, unless of course the\n"
-"    repository is :local:. The conversion uses the top level directory\n"
-"    in the sandbox to find the CVS repository, and then uses CVS rlog\n"
-"    commands to find files to convert. This means that unless a\n"
-"    filemap is given, all files under the starting directory will be\n"
-"    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source with '-hg' appended. If the destination\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
 "\n"
 "    --config convert.cvsps.cache=True         (boolean)\n"
-"        Set to False to disable remote log caching, for testing and\n"
-"        debugging purposes.\n"
-"    --config convert.cvsps.fuzz=60            (integer)\n"
-"        Specify the maximum time (in seconds) that is allowed between\n"
-"        commits with identical user and log message in a single\n"
-"        changeset. When very large files were checked in as part of a\n"
-"        changeset then the default may not be long enough.\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
 "    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
-"        Specify a regular expression to which commit log messages are\n"
-"        matched. If a match occurs, then the conversion process will\n"
-"        insert a dummy revision merging the branch on which this log\n"
-"        message occurs to the branch indicated in the regex.\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
 "    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
-"        Specify a regular expression to which commit log messages are\n"
-"        matched. If a match occurs, then the conversion process will\n"
-"        add the most recent revision on the branch indicated in the\n"
-"        regex as the second parent of the changeset.\n"
-"\n"
-"    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
-"    changeset merging code to be run without doing a conversion. Its\n"
-"    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
-"    Subversion Source\n"
-"    -----------------\n"
-"\n"
-"    Subversion source detects classical trunk/branches/tags layouts.\n"
-"    By default, the supplied \"svn://repo/path/\" source URL is\n"
-"    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
-"    replaces the default branch. If \"svn://repo/path/branches\" exists,\n"
-"    its subdirectories are listed as possible branches. If\n"
-"    \"svn://repo/path/tags\" exists, it is looked for tags referencing\n"
-"    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
-"    can be overridden with following options. Set them to paths\n"
-"    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
-"    --config convert.svn.branches=branches    (directory name)\n"
-"        specify the directory containing branches\n"
-"    --config convert.svn.tags=tags            (directory name)\n"
-"        specify the directory containing tags\n"
-"    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
-"    Source history can be retrieved starting at a specific revision,\n"
-"    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
-"    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
-"    Perforce Source\n"
-"    ---------------\n"
-"\n"
-"    The Perforce (P4) importer can be given a p4 depot path or a\n"
-"    client specification as source. It will convert all files in the\n"
-"    source to a flat Mercurial repository, ignoring labels, branches\n"
-"    and integrations. Note that when a depot path is given you then\n"
-"    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
-"    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
-"    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
-"    Mercurial Destination\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
 "    ---------------------\n"
 "\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
 "    --config convert.hg.clonebranches=False   (boolean)\n"
-"        dispatch source branches in separate clones.\n"
-"    --config convert.hg.tagsbranch=default    (branch name)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    By default, all sources except Mercurial will use --branchsort.\n"
+"    Mercurial uses --sourcesort to preserve original revision numbers\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --branchsort  convert from parent to child revision when possible,\n"
+"                  which means branches are usually converted one after\n"
+"                  the other. It generates more compact repositories."
 msgstr ""
 "Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
 "\n"
@@ -1800,13 +3645,217 @@
 "    Die Sortieroptionen haben folgende Effekte:\n"
 "\n"
 "    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
-"                  bedeutet, dass Zweige nacheinander konvertiert "
-"werden.                  Dies führt zu kompakteren Archiven.\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
 "\n"
 "    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
 "                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
-"                  eine Zehnerpotenz größer als mit \"branchsort\" "
-"erstellte.\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --datesort    sort revisions by date. Converted repositories have\n"
+"                  good-looking changelogs but are often an order of\n"
+"                  magnitude larger than the same ones generated by\n"
+"                  --branchsort."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
 "\n"
 "    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
 "                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
@@ -1829,8 +3878,211 @@
 "      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
 "\n"
 "    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
-"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen "
-"mit\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --sourcesort  try to preserve source revisions order, only\n"
+"                  supported by Mercurial sources."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
 "    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
 "\n"
 "      include pfad/zu/datei\n"
@@ -1842,20 +4094,424 @@
 "    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
 "    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
 "    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
-"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden "
-"sollen.\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
 "    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
 "    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
 "    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
 "\n"
 "    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
-"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter "
-"Subversion\n"
-"    der andere Vorfahr angegeben werden soll oder zwei ansonsten "
-"unabhängige\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
 "    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
-"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit "
-"Komma)\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If <REVMAP> isn't given, it will be put in a default location\n"
+"    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
+"    that maps each source commit ID to the destination ID for that\n"
+"    revision, like so::"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      <source ID> <destination ID>"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
 "    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
 "    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
 "    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
@@ -1884,11 +4540,421 @@
 "    CVS als Quelle\n"
 "    --------------\n"
 "\n"
-"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine "
-"Arbeitskopie)\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If the file doesn't exist, it's automatically created. It's\n"
+"    updated on each commit copied, so convert-repo can be interrupted\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
 "    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
-"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: "
-"Archiv.\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    The [username mapping] file is a simple text file that maps each\n"
+"    source commit author to a destination commit author. It is handy\n"
+"    for source SCMs that use unix logins to identify authors (eg:\n"
+"    CVS). One line per author mapping and the line format is:\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
 "    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
 "    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
 "    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
@@ -1904,8 +4970,212 @@
 "        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
 "        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
 "        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
-"        große Dateien übernommen wurden, ist der Standard vielleicht zu "
-"klein.\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    The filemap is a file that allows filtering and remapping of files\n"
+"    and directories. Comment lines start with '#'. Each line can\n"
+"    contain one of the following directives::"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
 "    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
 "        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
 "        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
@@ -1918,21 +5188,624 @@
 "        aktuellen Revision angenommen.\n"
 "\n"
 "    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
-"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps "
-"2.1\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      include path/to/file"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
 "    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
 "\n"
 "    Subversion als Quelle\n"
 "    ---------------------\n"
 "\n"
 "    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
-"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad"
-"\"\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
 "    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
 "    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
 "    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
-"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin "
-"unter-\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      exclude path/to/file"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      rename from/file to/file"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
 "    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
 "    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
 "    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
@@ -1979,13 +5852,4577 @@
 "\n"
 "    "
 
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+#, fuzzy
+msgid ""
+"    The 'include' directive causes a file, or all files under a\n"
+"    directory, to be included in the destination repository, and the\n"
+"    exclusion of all other files and directories not explicitly\n"
+"    included. The 'exclude' directive causes files or directories to\n"
+"    be omitted. The 'rename' directive renames a file or directory. To\n"
+"    rename from a subdirectory into the root of the repository, use\n"
+"    '.' as the path to rename to."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    The splicemap is a file that allows insertion of synthetic\n"
+"    history, letting you specify the parents of a revision. This is\n"
+"    useful if you want to e.g. give a Subversion merge two parents, or\n"
+"    graft two disconnected series of history together. Each entry\n"
+"    contains a key, followed by a space, followed by one or two\n"
+"    comma-separated values. The key is the revision ID in the source\n"
+"    revision control system whose parents should be modified (same\n"
+"    format as a key in .hg/shamap). The values are the revision IDs\n"
+"    (in either the source or destination revision control system) that\n"
+"    should be used as the new parents for that node. For example, if\n"
+"    you have merged \"release-1.0\" into \"trunk\", then you should\n"
+"    specify the revision on \"trunk\" as the first parent and the one on\n"
+"    the \"release-1.0\" branch as the second."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    The branchmap is a file that allows you to rename a branch when it is\n"
+"    being brought in from whatever external repository. When used in\n"
+"    conjunction with a splicemap, it allows for a powerful combination\n"
+"    to help fix even the most badly mismanaged repositories and turn them\n"
+"    into nicely structured Mercurial repositories. The branchmap contains\n"
+"    lines of the form \"original_branch_name new_branch_name\".\n"
+"    \"original_branch_name\" is the name of the branch in the source\n"
+"    repository, and \"new_branch_name\" is the name of the branch is the\n"
+"    destination repository. This can be used to (for instance) move code\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Mercurial Source\n"
+"    ----------------"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        ignore integrity errors when reading. Use it to fix Mercurial\n"
+"        repositories with missing revlogs, by converting from and to\n"
+"        Mercurial.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        store original revision ID in changeset (forces target IDs to\n"
+"        change)\n"
+"    --config convert.hg.startrev=0            (hg revision identifier)\n"
+"        convert start revision and its descendants"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    CVS Source\n"
+"    ----------"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
+"    to indicate the starting point of what will be converted. Direct\n"
+"    access to the repository files is not needed, unless of course the\n"
+"    repository is :local:. The conversion uses the top level directory\n"
+"    in the sandbox to find the CVS repository, and then uses CVS rlog\n"
+"    commands to find files to convert. This means that unless a\n"
+"    filemap is given, all files under the starting directory will be\n"
+"    converted, and that any directory reorganization in the CVS\n"
+"    sandbox is ignored."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    The options shown are the defaults."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Set to False to disable remote log caching, for testing and\n"
+"        debugging purposes.\n"
+"    --config convert.cvsps.fuzz=60            (integer)\n"
+"        Specify the maximum time (in seconds) that is allowed between\n"
+"        commits with identical user and log message in a single\n"
+"        changeset. When very large files were checked in as part of a\n"
+"        changeset then the default may not be long enough.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Specify a regular expression to which commit log messages are\n"
+"        matched. If a match occurs, then the conversion process will\n"
+"        insert a dummy revision merging the branch on which this log\n"
+"        message occurs to the branch indicated in the regex.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Specify a regular expression to which commit log messages are\n"
+"        matched. If a match occurs, then the conversion process will\n"
+"        add the most recent revision on the branch indicated in the\n"
+"        regex as the second parent of the changeset."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
+"    changeset merging code to be run without doing a conversion. Its\n"
+"    parameters and output are similar to that of cvsps 2.1. Please see\n"
+"    the command help for more details."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Subversion Source\n"
+"    -----------------"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Subversion source detects classical trunk/branches/tags layouts.\n"
+"    By default, the supplied \"svn://repo/path/\" source URL is\n"
+"    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
+"    replaces the default branch. If \"svn://repo/path/branches\" exists,\n"
+"    its subdirectories are listed as possible branches. If\n"
+"    \"svn://repo/path/tags\" exists, it is looked for tags referencing\n"
+"    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
+"    can be overridden with following options. Set them to paths\n"
+"    relative to the source URL, or leave them blank to disable auto\n"
+"    detection."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --config convert.svn.branches=branches    (directory name)\n"
+"        specify the directory containing branches\n"
+"    --config convert.svn.tags=tags            (directory name)\n"
+"        specify the directory containing tags\n"
+"    --config convert.svn.trunk=trunk          (directory name)\n"
+"        specify the name of the trunk branch"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Source history can be retrieved starting at a specific revision,\n"
+"    instead of being integrally converted. Only single branch\n"
+"    conversions are supported."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --config convert.svn.startrev=0           (svn revision number)\n"
+"        specify start Subversion revision."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Perforce Source\n"
+"    ---------------"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    The Perforce (P4) importer can be given a p4 depot path or a\n"
+"    client specification as source. It will convert all files in the\n"
+"    source to a flat Mercurial repository, ignoring labels, branches\n"
+"    and integrations. Note that when a depot path is given you then\n"
+"    usually should specify a target directory, because otherwise the\n"
+"    target may be named ...-hg."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    It is possible to limit the amount of source history to be\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --config convert.p4.startrev=0            (perforce changelist number)\n"
+"        specify initial Perforce revision."
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Mercurial Destination\n"
+"    ---------------------"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        dispatch source branches in separate clones.\n"
+"    --config convert.hg.tagsbranch=default    (branch name)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        preserve branch names"
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    "
+msgstr ""
+"Konvertiert Archive unter anderem VCS in ein Mercurial Archiv\n"
+"\n"
+"    Erkannte Quellformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Erlaubte Zielformate [Befehlsoption]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (Historie con Zweigen wird nicht erhalten)\n"
+"\n"
+"    Wenn keine Revision angegeben ist, werden alle konvertiert.\n"
+"    Andernfalls werden alle Revision bis zur angegebenen konvertiert.\n"
+"    Die Revisionsangabe muss für das Quellsystem verständlich sein.\n"
+"\n"
+"    Wenn kein Zielverzeichnisname angegeben ist, wird die Endung \"-hg\"\n"
+"    an den Namen der Quelle angehängt. Wenn das Ziel nicht existiert, wird\n"
+"    es erstellt.\n"
+"\n"
+"    Standardmäßig wird die Option \"--branchsort\" für alle Quellen ausser\n"
+"    Mercurial verwendet. Mercurial verwendet \"--sourcesort\", um die\n"
+"    ursprüngliche Reihenfolge der Revisionsnummern zu erhalten.\n"
+"    Die Sortieroptionen haben folgende Effekte:\n"
+"\n"
+"    --branchsort  Konvertiert von Vorfahr zum Kind wenn möglich. Das\n"
+"                  bedeutet, dass Zweige nacheinander konvertiert werden.                  Dies führt zu kompakteren Archiven.\n"
+"\n"
+"    --datesort    Sortiert die Revisionen nach Datum. Die fertigen Archive\n"
+"                  haben ein gut lesbares Meldungs-Logbuch, sind aber häufig\n"
+"                  eine Zehnerpotenz größer als mit \"branchsort\" erstellte.\n"
+"\n"
+"    --sourcesort  Versucht die Reihenfolge der Quellrevisionen zu erhalten.\n"
+"                  Dies ist nur von Mercurial als Quelle unterstützt.\n"
+"\n"
+"    Die Datei <REVMAP> (standardmäßig .hg/shamap im Zielarchiv) ist eine\n"
+"    einfache Textdatei, durch die jede Quellrevision per Id mit der Ziel-\n"
+"    revision assoziiert. Das Format ist::\n"
+"\n"
+"      <Quell ID> <Ziel ID>\n"
+"\n"
+"    Diese Datei wird erstellt, wenn sie nicht existiert. Sie wird durch\n"
+"    jeden konvertierten Änderungssatz erweitert, so dass unterbrochene\n"
+"    Konvertierungen durch erneuten Aufruf fortgesetzt werden können.\n"
+"\n"
+"    Die [Nutzernamen-Zuordnungsdatei] ist eine Textdatei die jeden Autor\n"
+"    von Revisionen in der Quelle einem Ziel-Autor zuweist. Dies ist\n"
+"    praktisch für VCS, die Unix-Login zur Identifikation von Autoren\n"
+"    verwenden, wie z.B. CVS. Das Format ist pro Zeile::\n"
+"\n"
+"      <Quellauthor>=<Zeichenkette, z.B. Email und Benutzername>\n"
+"\n"
+"    Eine weitere Abbildungsdatei für Dateinamen erlaubt eine Filterung und\n"
+"    Umbenennung von Dateien und Verzeichnissen. Kommentarzeilen beginnen mit\n"
+"    einem #. Jede Zeile kann eine der folgenden Direktiven enthalten::\n"
+"\n"
+"      include pfad/zu/datei\n"
+"\n"
+"      exclude pfad/zu/datei\n"
+"\n"
+"      rename von/datei zu/datei\n"
+"\n"
+"    Ist eine \"include\" Direktive angegeben, so werden genau diese Dateien\n"
+"    bzw. alle Dateien in diesen Verzeichnissen ins Zielarchiv übernommen\n"
+"    alle anderen nicht. Durch die \"exclude\" Direktive werden solche\n"
+"    Dateien oder Verzeichnisse angegeben, die nicht übernommen werden sollen.\n"
+"    Und \"rename\" schliesslich benennt eine Datei oder Verzeichnis um.\n"
+"    Um von einem Unterverzeichnis der Quelle in die Wurzel des Zielarchivs\n"
+"    umzubenennen, kann '.' als Pfad der Zieldatei angegeben werden.\n"
+"\n"
+"    Die Spleißdatei erlaubt die künstliche Einführung von Vorfahrver-\n"
+"    bindungen. Die ist nützlich, wenn einer Zusammenführung unter Subversion\n"
+"    der andere Vorfahr angegeben werden soll oder zwei ansonsten unabhängige\n"
+"    Entwicklungslinien verbunden werden sollen. Jeder Eintrag enthält eine\n"
+"    Revisions-ID des Quellarchivs, eine Leerstelle und eine oder (mit Komma)\n"
+"    zwei Revisions-IDs, die als Vorfahren der ersten angenommen werden\n"
+"    sollen. Wurde z.B. \"trunk\" mit \"release-1.0\" zusammengeführt, so\n"
+"    sollte die Revision aus \"trunk\" als erster und die aus dem Zweig\n"
+"    \"release-1.0\" als zweiter Vorfahr angegeben werden. Die Vorfahren-IDs\n"
+"    können entweder im Format der Quelle oder des Ziels angegeben werden.\n"
+"\n"
+"    Die Zweig-Abbildungsdatei erlaubt das Umbenennen von Zweigen. Zusammen\n"
+"    mit der Spleißdatei können so auch sehr unorganisierte Archive in\n"
+"    ein gute strukturiertes Mercurial-Archiv konvertiert werden.\n"
+"    Die Zeilen dieser Datei sind von der Form \"original neuer_name\".\n"
+"    Damit kann z.B. Code aus \"default\" eines Archivs in einen benannten\n"
+"    Zweig des Ziels gebracht werden.\n"
+"\n"
+"    Mercurial als Quelle\n"
+"    --------------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (boolean)\n"
+"        Ignoriert Integritätsfehler beim Lesen. Wir benutzt um Mercurial-\n"
+"        Archive ohne RevLog und eines mit RevLog zu konvertieren.\n"
+"    --config convert.hg.saverev=False         (boolean)\n"
+"        Speichert die Original-Revisions-ID im Änderunsgsatz (erzwingt\n"
+"        Änderung der Ziel-IDs)\n"
+"    --config convert.hg.startrev=0            (hg Revisions-ID)\n"
+"        Konvertiert alle Nachfahren ab Startrevision\n"
+"\n"
+"    CVS als Quelle\n"
+"    --------------\n"
+"\n"
+"    Mit CVS als Quelle wird eine Sandkastenumgebung (also eine Arbeitskopie)\n"
+"    verwenden, um den Beginn der Konversion anzuzeigen. Direkter Zugriff\n"
+"    auf das Archiv ist nicht nötig, es sei denn es ist ein :lokales: Archiv.\n"
+"    Die Konversion sucht das CVS Verzeichnis in der Wurzel der Arbeitskopie\n"
+"    und verwendet die CVS rlog Kommandos um alle Dateien für die Konversion\n"
+"    zu finden. Wird also keine Abbildungsdatei für Dateinamen verwendet, so\n"
+"    werden alle Dateien unterhalb des Startverzeichnisses konvertiert und\n"
+"    jegliche Verzeichnis-Umordnung im Sandkasten ignoriert.\n"
+"\n"
+"    Die oben folgenden Argumente entsprechend dem Standardaufruf.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Kann für Tests oder Debugging deaktiviert werden, um das Zwischen-\n"
+"        speichern des Quell-Logbuchs zu unterbinden.\n"
+"    --config convert.cvsps.fuzz=60            (Ganzzahl)\n"
+"        Spezifiziert die maximale Zeit (in Sekunden) die zwischen einzelnen\n"
+"        Dateiübernahmen mit selbem Benutzer und Meldung erlaubt sind, damit\n"
+"        sie in den gleichen Änderungssatz übernommen werden. Wenn sehr\n"
+"        große Dateien übernommen wurden, ist der Standard vielleicht zu klein.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird eine\n"
+"        künstliche Revision als Zusammenführung des aktuellen mit dem\n"
+"        gefunden Zweig eingefügt.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Spezifiziert Zweignamen durch einen Regulären Ausdruck, auf die hin\n"
+"        Versionsmeldungen untersucht werden. Bei Entsprechung wird die\n"
+"        jüngste Revision des angegebenen Zweigs als zweiter Vorfahr der\n"
+"        aktuellen Revision angenommen.\n"
+"\n"
+"    Das zusätzliche Kommando \"debugcvsps\" erlaubt es, die Zusammenführung\n"
+"    auch ohne Konversation ausführen. Die Parameter sind denen von cvsps 2.1\n"
+"    ähnlich. Für weitere Details siehe die Hilfe zu diesem Kommando.\n"
+"\n"
+"    Subversion als Quelle\n"
+"    ---------------------\n"
+"\n"
+"    Die trunk/branch/tag Konvention von Subversion wird erkannt:\n"
+"    Standardmäßig wird entweder die angegebene Quell-URL \"svn://repo/pfad\"\n"
+"    oder ein Unterverzeichnis 'trunk' (falls dies existiert) als einzelner\n"
+"    (default) Zweig angenommen. Wenn ein 'branches' Unterverzeichnis\n"
+"    gefunden wird, so werden dessen Unterverzeichnisse als mögliche Zweige\n"
+"    aufgenommen. Wenn 'tags' existiert, wird es auf Zweigverweise hin unter-\n"
+"    sucht. Die Standardwerte 'trunk', 'branches' und 'tags' können mit den\n"
+"    folgenden Optionen überschrieben werden. Sie können auf einen Pfad\n"
+"    relativ zur Quell-URL gesetzt oder leer gelassen werden, um die\n"
+"    automatische Erkennung zu verhindern.\n"
+"\n"
+"    --config convert.svn.branches=branches    (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für die Zweige\n"
+"    --config convert.svn.tags=tags            (Verzeichnisname)\n"
+"        Spezifiziert das Verzeichnis für Etiketten\n"
+"    --config convert.svn.trunk=trunk          (Verzeichnisname)\n"
+"        Spezifiziert den Namen des Hauptzweigs\n"
+"\n"
+"    Nur die Konversion von einzelnen Zweigen ist unterstützt. Die Quell-\n"
+"    historie kann vollständig oder ab einer gegebenen Startrevision erfasst\n"
+"    werden:\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn Revisionsnummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Perforce als Quelle\n"
+"    -------------------\n"
+"\n"
+"    Der Perforce (P4) Importierer kann einen p4 Depotpfad oder eine Client-\n"
+"    Spezifikation als Quelle annehmen. Alle Dateien werden in ein flaches\n"
+"    Mercurial-Archiv konvertiert und ignoriert dabei Label, Zweige und\n"
+"    Integrationen. Bei Angabe eines Depotpfads wollte auch ein Zielpfad\n"
+"    genannt werden, da dieser sonst als ...-hg ausfallen kann.\n"
+"\n"
+"    Es ist möglich die zu konvertierte Quellhistorie durch Angabe einer\n"
+"    Startrevision zu begrenzen.\n"
+"\n"
+"    --config convert.p4.startrev=0            (perforce changelist-Nummer)\n"
+"        Spezifiziert eine Startrevision\n"
+"\n"
+"    Mercurial als Ziel\n"
+"    ------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        Lagert Quellzweige in separaten Klonen ab.\n"
+"    --config convert.hg.tagsbranch=default    (Zweigname)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        Erhält die Zweignamen\n"
+"\n"
+"    "
+
+msgid "create changeset information from CVS"
+msgstr ""
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
@@ -2058,12 +10495,8 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr ""
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
-msgstr ""
-"Warnung: Leichte Arbeitskopien können zu Konversationsfehlern führen; erwäge "
-"einen regulären Zweig zu nutzen.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
+msgstr "Warnung: Leichte Arbeitskopien können zu Konversationsfehlern führen; erwäge einen regulären Zweig zu nutzen.\n"
 
 msgid "bzr source type could not be determined\n"
 msgstr "bzw Quelltyp konnte nicht ermittelt werden\n"
@@ -2174,10 +10607,8 @@
 msgstr "CVS pserver Authentifikation fehlgeschlagen"
 
 #, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
-msgstr ""
-"Unerwartete Antwort vom CVS Server: erwartete \"Valid-requsts\", war %r"
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgstr "Unerwartete Antwort vom CVS Server: erwartete \"Valid-requsts\", war %r"
 
 #, python-format
 msgid "%d bytes missing from remote file"
@@ -2284,10 +10715,8 @@
 msgstr "Analysiere Baumversion %s...\n"
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
-msgstr ""
-"Baumanalyse gestoppt, da er ein unregistriertes Archiv referenziert %s...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
+msgstr "Baumanalyse gestoppt, da er ein unregistriertes Archiv referenziert %s...\n"
 
 #, python-format
 msgid "could not parse cat-log of %s"
@@ -2336,9 +10765,7 @@
 msgid "Mercurial failed to run itself, check hg executable is in PATH"
 msgstr ""
 
-msgid ""
-"svn: cannot probe remote repository, assume it could be a subversion "
-"repository. Use --source if you know better.\n"
+msgid "svn: cannot probe remote repository, assume it could be a subversion repository. Use --source if you know better.\n"
 msgstr ""
 
 msgid "Subversion python bindings could not be loaded"
@@ -2346,13 +10773,10 @@
 
 #, python-format
 msgid "Subversion python bindings %d.%d found, 1.4 or later required"
-msgstr ""
-"Pythons Subversion-Unterstützung in Version %d.%d gefunden aber mind. 1.4 "
-"benötigt "
+msgstr "Pythons Subversion-Unterstützung in Version %d.%d gefunden aber mind. 1.4 benötigt "
 
 msgid "Subversion python bindings are too old, 1.4 or later required"
-msgstr ""
-"Pythons Subversion-Unterstützung ist zu alt. Mind. Version 1.4 benötigt "
+msgstr "Pythons Subversion-Unterstützung ist zu alt. Mind. Version 1.4 benötigt "
 
 #, python-format
 msgid "svn: revision %s is not an integer"
@@ -2426,73 +10850,76 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr ""
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr "Erlaubt externen Programmen, Revisionen zu vergleichen"
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+"Die extdiff Erweiterung erlaubt es, zwei Revisionen oder eine Revision mit\n"
+"dem Arbeitsverzeichnis durch ein externes Programm vergleichen zu lassen.\n"
+"Ein solches Programm wird mit konfigurierbaren Parameters und zwei nicht-\n"
+"Optionen aufgerufen. Dies sind die Pfad zu den zu vergleichenden Daten."
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+"Durch diese Erweiterung lassen sich auch neue hg-Kommandos definieren, damit\n"
+"man nicht immer \"hg extdiff -p kdiffs\" eintippen muss. ::"
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
-"  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
-"  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
-"  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
-"  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
-"  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
-"  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
-"You can use -I/-X and list of file or directory names like normal \"hg\n"
-"diff\" command. The extdiff extension makes snapshots of only needed\n"
-"files, so running the external diff program will actually be pretty\n"
-"fast (at least faster than having to compare the entire tree).\n"
-msgstr ""
-"Erlaubt externen Programmen, Revisionen zu vergleichen\n"
-"\n"
-"Die extdiff Erweiterung erlaubt es, zwei Revisionen oder eine Revision mit\n"
-"dem Arbeitsverzeichnis durch ein externes Programm vergleichen zu lassen.\n"
-"Ein solches Programm wird mit konfigurierbaren Parameters und zwei nicht-\n"
-"Optionen aufgerufen. Dies sind die Pfad zu den zu vergleichenden Daten.\n"
-"\n"
-"Durch diese Erweiterung lassen sich auch neue hg-Kommandos definieren, "
-"damit\n"
-"man nicht immer \"hg extdiff -p kdiffs\" eintippen muss. ::\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
 "  [extdiff]\n"
 "  # Fügt neues Kommando für GNU diff(1) im 'context diff' Modus hinzu\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## oder auf die alte Art:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+
+msgid ""
+"  # add new command called vdiff, runs kdiff3\n"
+"  vdiff = kdiff3"
+msgstr ""
 "  # Fügt neues Kommando \"vdiff\" hinzu, welches kdiff3 ausführt\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+
+msgid ""
+"  # add new command called meld, runs meld (no need to name twice)\n"
+"  meld ="
+msgstr ""
 "  # Fügt Kommando \"meld\" hinzu, welches meld ausführt (Name muss nicht\n"
 "  # wiederholt werden)\n"
-"  meld =\n"
-"\n"
-"  # Fügt Kommando \"vimdiff\" hinzu, welches gvimdiff mit dem DirDiff "
-"Plugin\n"
+"  meld ="
+
+msgid ""
+"  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
+"  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
+"  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
+"  # your .vimrc\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+"  # Fügt Kommando \"vimdiff\" hinzu, welches gvimdiff mit dem DirDiff Plugin\n"
 "  # ausführt. (http://www.vim.org/scripts/script.php?script_id=102).\n"
 "  # Die .vimrc sollte dazu \"let g:DirDiffDynamicDiffText = 1\" enthalten.\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+
+msgid ""
+"You can use -I/-X and list of file or directory names like normal \"hg\n"
+"diff\" command. The extdiff extension makes snapshots of only needed\n"
+"files, so running the external diff program will actually be pretty\n"
+"fast (at least faster than having to compare the entire tree).\n"
+msgstr ""
 "Neue Kommandos verstehen -I/-X und Dateilisten wie das übliche \"hg diff\".\n"
 "In den Schnappschüssen (die temporären Vergleichsdateien) sind nur die\n"
 "für den Vergleich notwendigen Dateien, damit die Ausführung des externen\n"
@@ -2513,37 +10940,37 @@
 msgid "cleaning up temp directory\n"
 msgstr "Säubere temporäres Verzeichnis\n"
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr "Externes Vergleichsprogramm für Archiv- oder Dateiänderungen"
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+"    Zeigt die Unterschiede zwischen den Revisionen der angegeben Dateien\n"
+"    durch Aufruf eines externen Programms. Standardmäßig ist dies \"diff\"\n"
+"    mit den Optionen \"-Npru\"."
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+"    Um ein anderes Programm zu verwenden, nutze die Option -p/--program.\n"
+"    Die zwei zu vergleichenden Verzeichnisse werden automatisch als Aufrufs-\n"
+"    parameter angenommen. Weitere Parameter können durch die Option\n"
+"    -o/--option hinzugefügt werden. Diese werden vor den Verzeichnisnamen\n"
+"    übergeben."
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
 "    revisions are specified, the working directory files are compared\n"
 "    to its parent."
 msgstr ""
-"Externes Vergleichsprogramm für Archiv- oder Dateiänderungen\n"
-"\n"
-"    Zeigt die Unterschiede zwischen den Revisionen der angegeben Dateien\n"
-"    durch Aufruf eines externen Programms. Standardmäßig ist dies \"diff\"\n"
-"    mit den Optionen \"-Npru\".\n"
-"\n"
-"    Um ein anderes Programm zu verwenden, nutze die Option -p/--program.\n"
-"    Die zwei zu vergleichenden Verzeichnisse werden automatisch als "
-"Aufrufs-\n"
-"    parameter angenommen. Weitere Parameter können durch die Option\n"
-"    -o/--option hinzugefügt werden. Diese werden vor den Verzeichnisnamen\n"
-"    übergeben.\n"
-"\n"
 "    Werden zwei Revisionen angegeben, dann werden die Änderungen zwischen\n"
 "    diesen angezeigt. Ist nur eine Revision angegeben, so wird diese\n"
 "    mit dem Arbeitsverzeichnis verglichen. Ohne Angabe einer Revision\n"
@@ -2563,24 +10990,24 @@
 msgstr "hg extdiff [OPT]... [DATEI]..."
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr "Verwendet %(path)s um Archiv- oder Dateirevisionen zu vergleichen"
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using the\n"
-"    %(path)s program.\n"
-"\n"
+"    %(path)s program."
+msgstr ""
+"    Zeigt die Unterschiede zwischen Revisionen der angegebenen Dateien\n"
+"    durch das Programm %(path)s an."
+
+#, python-format
+msgid ""
 "    When two revision arguments are given, then changes are shown between\n"
-"    those revisions. If only one revision is specified then that revision "
-"is\n"
-"    compared to the working directory, and, when no revisions are "
-"specified,\n"
+"    those revisions. If only one revision is specified then that revision is\n"
+"    compared to the working directory, and, when no revisions are specified,\n"
 "    the working directory files are compared to its parent."
 msgstr ""
-"Verwendet %(path)s um Archiv- oder Dateirevisionen zu vergleichen\n"
-"\n"
-"    Zeigt die Unterschiede zwischen Revisionen der angegebenen Dateien\n"
-"    durch das Programm %(path)s an.\n"
-"\n"
 "    Werden zwei Revisionen angegeben, dann werden die Änderungen zwischen\n"
 "    diesen angezeigt. Ist nur eine Revision angegeben, so wird diese\n"
 "    mit dem Arbeitsverzeichnis verglichen. Ohne Angabe einer Revision\n"
@@ -2594,49 +11021,47 @@
 msgid "pull, update and merge in one command"
 msgstr "Hole, aktualisiere und führe zusammen in einem Befehl"
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr "Holt Änderungen aus einem entfernten Projektarchiv, führt neue Änderungen zusammen wenn nötig."
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+"    Dies selektiert alle Änderungen des Projektarchivs am angegebenen Pfad\n"
+"    oder der URL und fügt sie dem lokalen Projektarchiv hinzu."
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+"    Wenn die geholten Änderungen einen neuen Zweigkopf erzeugen, wird dieser\n"
+"    Kopf automatisch zusammengeführt, und das Resultat der Zusammenführung\n"
+"    wird eine neue Version. Andernfalls wird das Arbeitsverzeichnis mit den\n"
+"    geholten Änderungen aktualisiert."
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"Holt Änderungen aus einem entfernten Projektarchiv, führt neue Änderungen "
-"zusammen wenn nötig.\n"
-"\n"
-"    Dies selektiert alle Änderungen des Projektarchivs am angegebenen Pfad\n"
-"    oder der URL und fügt sie dem lokalen Projektarchiv hinzu.\n"
-"\n"
-"    Wenn die geholten Änderungen einen neuen Zweigkopf erzeugen, wird "
-"dieser\n"
-"    Kopf automatisch zusammengeführt, und das Resultat der Zusammenführung\n"
-"    wird eine neue Version. Andernfalls wird das Arbeitsverzeichnis mit den\n"
-"    geholten Änderungen aktualisiert.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
 "    Sollte eine Zusammenführung ausgelöst werden, gelten die neu geholten\n"
 "    Änderungen als \"führend\"· Der Kopf der neuen Änderungen wird als\n"
 "    erste Vorgängerversion genutzt, die lokalen Änderungen darauffolgend.\n"
 "    Um die Reihenfolge der Zusammenführung zu ändern kann --switch-parent\n"
-"    genutzt werden.\n"
-"\n"
-"    Siehe 'hg help dates' für eine Liste gültiger Datumsformate für -d/--"
-"date.\n"
-"    "
-
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
+"    genutzt werden."
+
+msgid ""
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
+"    Siehe 'hg help dates' für eine Liste gültiger Datumsformate für -d/--date.\n"
+"    "
+
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
 msgstr ""
 "Arbeitsverzeichnis ist nicht Spitze (tip) des Zweiges (nutze 'hg update' um\n"
 "auf die Zweigspitze zu wechseln)"
@@ -2650,31 +11075,21 @@
 msgid "working directory is missing some files"
 msgstr "Im Arbeitsverzeichnis fehlen Dateien"
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
-msgstr ""
-"Mehrere Kopfversionen in diesem Zweig (Nutze \"hg heads .\" und \"hg merge"
-"\"\n"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgstr ""
+"Mehrere Kopfversionen in diesem Zweig (Nutze \"hg heads .\" und \"hg merge\"\n"
 "um zusammenzuführen)"
 
 #, python-format
 msgid "pulling from %s\n"
 msgstr "Hole von %s\n"
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-"Das andere Projektarchiv unterstützt keine Revisionsabfragen, daher kann "
-"keine Revision angegeben werden."
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
-msgstr ""
-"Führe %d andere neue Zweigköpfe nicht zusammen (Nutze \"hg heads .\" und "
-"\"hg merge\" um sie zusammenzuführen)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr "Das andere Projektarchiv unterstützt keine Revisionsabfragen, daher kann keine Revision angegeben werden."
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
+msgstr "Führe %d andere neue Zweigköpfe nicht zusammen (Nutze \"hg heads .\" und \"hg merge\" um sie zusammenzuführen)\n"
 
 #, python-format
 msgid "updating to %d:%s\n"
@@ -2686,8 +11101,7 @@
 
 #, python-format
 msgid "new changeset %d:%s merges remote changes with local\n"
-msgstr ""
-"Neuer Änderungssatz %d:%s führt entfernte Änderungen mit lokalen zusammen\n"
+msgstr "Neuer Änderungssatz %d:%s führt entfernte Änderungen mit lokalen zusammen\n"
 
 msgid "a specific revision you would like to pull"
 msgstr "Revision die geholt werden soll"
@@ -2736,23 +11150,16 @@
 msgid "No valid signature for %s\n"
 msgstr "Keine gültige Signatur für %s\n"
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr "Fügt der aktuellen oder gegebenen Revision eine Signatur hinzu"
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"Fügt der aktuellen oder gegebenen Revision eine Signatur hinzu\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
 "    Wenn keine Revision angegeben ist, wird der Vorgänger des Arbeits-\n"
 "    verzeichnisses verwendet, oder die Spitze des Archivs, falls keine\n"
-"    (die null-) Version geladen ist.\n"
-"\n"
-"    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
-"    "
+"    (die null-) Version geladen ist."
 
 msgid "uncommitted merge - please provide a specific revision"
 msgstr "Nicht versionierte Zusammenführung - bitte gib eine Revision an"
@@ -2760,12 +11167,8 @@
 msgid "Error while signing"
 msgstr "Fehler beim signieren"
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
-msgstr ""
-"Arbeitskopie der Datei .hgsigs wurde geändert (bitte manuell übernehmen "
-"oder--force verwendet)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
+msgstr "Arbeitskopie der Datei .hgsigs wurde geändert (bitte manuell übernehmen oder--force verwendet)"
 
 msgid "unknown signature version"
 msgstr "Unbekannte Version der Signatur"
@@ -2794,9 +11197,16 @@
 msgid "hg sigs"
 msgstr ""
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+#, fuzzy
+msgid "command to view revision graphs from a shell"
+msgstr ""
+"Zeigt ASCII Revisionsgraphen bei einigen Befehlen\n"
+"Diese Erweiterung fügt die Option --graph zu den Kommandos incoming,\n"
+"outgoing und log hinzu. Wenn die Option angegeben ist, wird eine ASCII-\n"
+"Repäsentation des Revisionsgraphen angezeigt.\n"
+
+#, fuzzy
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
@@ -2810,20 +11220,19 @@
 msgid "--graph option is incompatible with --%s"
 msgstr "Option --graph ist inkompatibel mit --%s"
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr "Zeigt die Revisionshistorie zusammen mit einem ASCII Revisionsgraphen"
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr "    Zeigt die Revisionshistorie und einen ASCII-Graphen."
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
 msgstr ""
-"Zeigt die Revisionshistorie zusammen mit einem ASCII Revisionsgraphen\n"
-"\n"
-"    Zeigt die Revisionshistorie und einen ASCII-Graphen.\n"
-"\n"
 "    Das @-Zeichen kennzeichnet die Vorgänger des Arbeitsverzeichnisses.\n"
 "    "
 
@@ -2849,12 +11258,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr "hg glog [OPTION]... [DATEI]"
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -2874,13 +11286,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -2893,32 +11309,45 @@
 msgid "email.from must be defined when sending by email"
 msgstr ""
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -3004,18 +11433,23 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr ""
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+
+msgid "There is a single configuration option::"
+msgstr ""
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
+"  pygments_style = <style>"
+msgstr ""
+
+msgid "The default is 'colorful'.\n"
 msgstr ""
 
 msgid "accelerate status report using Linux's inotify service"
@@ -3024,9 +11458,10 @@
 msgid "start an inotify server for this repository"
 msgstr ""
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr ""
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
@@ -3182,20 +11617,24 @@
 msgid "finished setup\n"
 msgstr ""
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr ""
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
@@ -3207,52 +11646,76 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr ""
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr ""
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+
+msgid "Example::"
+msgstr ""
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
@@ -3272,17 +11735,23 @@
 msgid "no [keyword] patterns configured"
 msgstr ""
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr ""
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
@@ -3329,31 +11798,42 @@
 "\tkeywords expanded\n"
 msgstr ""
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr ""
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr ""
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr ""
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
@@ -3361,12 +11841,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr ""
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
@@ -3404,48 +11887,50 @@
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr ""
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr "Patchverwaltung und -entwicklung"
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+"Diese Erweiterung verwaltet Änderungen des Archivs in Patch-Dateien und\n"
+"führt dazu zwei Stapel (stacks) ein: Alle bekannten und alle lokal\n"
+"angewendeten Patches (eine Untermenge der bekannten)."
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+"Die Patch Dateien sowie die Stapeldateien werden im Verzeichnis .hg/patches\n"
+"angelegt. Angewendete patches sind weiterhin auch als Änderungssätze in der\n"
+"üblichen Versionshistorie zu finden."
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr "Ãœbliche Anwendungen (mehr Details mit \"hg help KOMMANDO\")::"
+
+msgid ""
 "  prepare repository to work with patches   qinit\n"
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+"  Bereite Archiv auf Arbeit mit mq vor               qinit\n"
+"  Erstelle einen neuen Patch                         qnew\n"
+"  Ãœbernimm externen Patch als bekannt                qimport"
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+"  Zeige Patch Serien an                              qseries\n"
+"  Zeige angewendete Patches                          qapplied"
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
 "  refresh contents of top applied patch     qrefresh\n"
 msgstr ""
-"Patchverwaltung und -entwicklung\n"
-"\n"
-"Diese Erweiterung verwaltet Änderungen des Archivs in Patch-Dateien und\n"
-"führt dazu zwei Stapel (stacks) ein: Alle bekannten und alle lokal\n"
-"angewendeten Patches (eine Untermenge der bekannten).\n"
-"\n"
-"Die Patch Dateien sowie die Stapeldateien werden im Verzeichnis .hg/patches\n"
-"angelegt. Angewendete patches sind weiterhin auch als Änderungssätze in der\n"
-"üblichen Versionshistorie zu finden.\n"
-"\n"
-"Ãœbliche Anwendungen (mehr Details mit \"hg help KOMMANDO\")::\n"
-"\n"
-"  Bereite Archiv auf Arbeit mit mq vor               qinit\n"
-"  Erstelle einen neuen Patch                         qnew\n"
-"  Ãœbernimm externen Patch als bekannt                qimport\n"
-"\n"
-"  Zeige Patch Serien an                              qseries\n"
-"  Zeige angewendete Patches                          qapplied\n"
-"\n"
 "  Wende bekannten Patch an                           qpush\n"
 "  Nimm angewendeten Patch wieder zurück              qpop\n"
 "  Integriere lokale Änderungen in letzten Patch      qrefresh\n"
@@ -3620,9 +12105,7 @@
 
 #, python-format
 msgid "cannot push to a previous patch: %s"
-msgstr ""
-"Patch %s ist bereits angewendet. Nutze \"qpull\" um ihn an die Spitze zu "
-"bringen"
+msgstr "Patch %s ist bereits angewendet. Nutze \"qpull\" um ihn an die Spitze zu bringen"
 
 #, python-format
 msgid "qpush: %s is already at the top\n"
@@ -3675,9 +12158,7 @@
 msgstr "Versuche unbekannten Knoten %s zurückzunehmen"
 
 msgid "popping would remove a revision not managed by this patch queue"
-msgstr ""
-"qpop würde eine Revision entfernen, die nicht von dieser Patchschlange "
-"verwaltet wird"
+msgstr "qpop würde eine Revision entfernen, die nicht von dieser Patchschlange verwaltet wird"
 
 msgid "deletions found between repo revs"
 msgstr "Zwischen den Revisionen haben Löschungen stattgefunden"
@@ -3692,12 +12173,8 @@
 msgid "cannot refresh a revision with children"
 msgstr "Kann keine Revision mit Kindern aktualisieren"
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
-msgstr ""
-"Aktualisierung während einer Rücknahme unterbrochen! Nutze \"revert --all\" "
-"und \"qpush\" zum bergen.\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
+msgstr "Aktualisierung während einer Rücknahme unterbrochen! Nutze \"revert --all\" und \"qpush\" zum bergen.\n"
 
 msgid "patch queue directory already exists"
 msgstr "Patchschlangenverzeichnis existiert bereits"
@@ -3790,21 +12267,20 @@
 msgid "adding %s to series file\n"
 msgstr "Füge %s zur Seriendatei hinzu\n"
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr "Entfernt Patches aus der Patchschlange"
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+"    Die Patches dürfen nicht angewendet sein und mindestens einer muss\n"
+"    angegeben sein. Mit -k/--keep werden die Patchdateien erhalten."
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
-"Entfernt Patches aus der Patchschlange\n"
-"\n"
-"    Die Patches dürfen nicht angewendet sein und mindestens einer muss\n"
-"    angegeben sein. Mit -k/--keep werden die Patchdateien erhalten.\n"
-"\n"
 "    Um die Entwicklung eines Patches zu beenden und ihn in die permanente\n"
 "    Historie zu legen, nutze das Kommando qfinish."
 
@@ -3820,38 +12296,50 @@
 msgid "all patches applied\n"
 msgstr "Alle Patches angewendet\n"
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr ""
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr ""
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    To import a patch from standard input, pass - as the patch file.\n"
 "    When importing from standard input, a patch name must be specified\n"
 "    using the --name flag.\n"
 "    "
 msgstr ""
 
-msgid ""
-"init a new queue repository\n"
-"\n"
+msgid "init a new queue repository"
+msgstr ""
+
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
@@ -3859,18 +12347,23 @@
 "    qcommit to commit changes to this queue repository."
 msgstr ""
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr ""
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
+
+msgid ""
 "    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
+"    default. Use -p <url> to change."
+msgstr ""
+
+msgid ""
 "    The patch directory must be a nested Mercurial repository, as\n"
 "    would be created by qinit -c.\n"
 "    "
@@ -3906,25 +12399,32 @@
 msgid "print the name of the previous patch"
 msgstr ""
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr ""
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). It will refuse to run if there are any outstanding changes\n"
 "    unless -f/--force is specified, in which case the patch will be\n"
 "    initialized with them. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
+
+msgid ""
 "    -u/--user and -d/--date can be used to set the (given) user and\n"
 "    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
+"    to current user and date to current date."
+msgstr ""
+
+msgid ""
 "    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
 "    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to keep the patch in the git extended diff\n"
 "    format. Read the diffs help topic for more information on why this\n"
 "    is important for preserving permission changes and copy/rename\n"
@@ -3932,16 +12432,21 @@
 "    "
 msgstr ""
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr ""
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
@@ -3952,14 +12457,17 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr ""
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr ""
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
@@ -3967,16 +12475,19 @@
 "    "
 msgstr ""
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr ""
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
+"    removed afterwards."
+msgstr ""
+
+msgid ""
 "    The header for each folded patch will be concatenated with the\n"
 "    current patch header, separated by a line of '* * *'."
 msgstr ""
@@ -4002,21 +12513,27 @@
 msgid "push or pop patches until named patch is at top of stack"
 msgstr ""
 
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgid "set or print guards for a patch"
+msgstr ""
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
+"    has activated it."
+msgstr ""
+
+msgid ""
 "    With no arguments, print the currently active guards.\n"
 "    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
-"    To set guards on another patch::\n"
-"\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
+
+msgid "    To set guards on another patch::"
+msgstr ""
+
+msgid ""
 "      hg qguard -- other.patch +2.6.17 -stable\n"
 "    "
 msgstr ""
@@ -4034,9 +12551,10 @@
 msgid "print the header of the topmost or specified patch"
 msgstr ""
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr ""
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
@@ -4049,9 +12567,10 @@
 msgid "merging with queue at: %s\n"
 msgstr ""
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr ""
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
@@ -4062,9 +12581,10 @@
 msgid "using patch queue: %s\n"
 msgstr ""
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr ""
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
@@ -4095,45 +12615,59 @@
 msgid "copy %s to %s\n"
 msgstr ""
 
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr ""
+
+msgid ""
 "    If one of the working directory's parent revisions is stripped, the\n"
 "    working directory will be updated to the parent of the stripped\n"
 "    revision.\n"
 "    "
 msgstr ""
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr ""
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example::\n"
-"\n"
+"    match the current guard. For example::"
+msgstr ""
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
+"    guarded patches."
+msgstr ""
+
+msgid ""
 "    Use -s/--series to print a list of all guards in the series file\n"
 "    (no other arguments needed). Use -v for more information."
 msgstr ""
@@ -4167,18 +12701,23 @@
 msgid "reapplying unguarded patches\n"
 msgstr ""
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr ""
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
@@ -4445,33 +12984,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr ""
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -4482,31 +13035,40 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -4522,143 +13084,988 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
-msgstr ""
-"\n"
-"Unterschiede (Ausschnitt von %d bis %d Zeilen):\n"
-"\n"
-
-#, python-format
-msgid ""
-"\n"
-"diffs (%d lines):\n"
-"\n"
-msgstr ""
-"\n"
-"Unterschiede (%d Zeilen):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
+msgstr ""
+"\n"
+"Unterschiede (Ausschnitt von %d bis %d Zeilen):"
+
+#, python-format
+msgid ""
+"\n"
+"diffs (%d lines):"
+msgstr ""
+"\n"
+"Unterschiede (%d Zeilen):"
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr "notify: unterdrücke Benachrichtigung über Zusammenführung %d:%s\n"
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend. Below is the default list of commands to be paged::\n"
-"\n"
+"pager.attend. Below is the default list of commands to be paged::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = annotate, cat, diff, export, glog, log, qdiff\n"
-"\n"
+"  attend = annotate, cat, diff, export, glog, log, qdiff"
+msgstr ""
+
+msgid ""
 "Setting pager.attend to an empty value will cause all commands to be\n"
-"paged.\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"paged."
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr ""
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr ""
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+#, fuzzy
+msgid "command to send changesets as (a series of) patch emails"
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
 "  bcc = bcc1, bcc2, ...\n"
 "\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "The -m/--mbox option is also very useful. Instead of previewing each\n"
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"files, e.g. with mutt::"
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid "  % mutt -R -f mbox"
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
+"package), to send each message out::"
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
 "\n"
 "  % formail -s sendmail -bm -t < mbox\n"
 "\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr ""
+"Kommando um Änderungssätze als (Reihe von) patch emails zu versenden\n"
+"\n"
+"Serien von Änderungssätzen werden durch \"[PATCH 0 of N]\" eingeleitet.\n"
+"\n"
+"Die Betreffszeile jeder patch-Email besteht aus \"[PATCH M of N]\", gefolgt\n"
+"von der ersten Zeile der Versionsmeldung. Der Körper besteht aus zwei oder\n"
+"drei Teilen:\n"
+"\n"
+"- Eine Beschreibung des Änderungssatzes\n"
+"- [Optional] Das Ergebnis der Ausführung von diffstat auf den Patch\n"
+"- Den durch \"hg export\" erstellten Patch selber.\n"
+"\n"
+"Jede Nachricht referenziert die erste der Serie mit den In-Reply-To\n"
+"und References Kopfzeilen, so dass sie in strangorientierten Mailprogrammen\n"
+"und -archiven als zusammengehörig angezeigt werden.\n"
+"\n"
+"Mit der Option -d/--diffstat wird für jeden Änderungssatz interaktiv\n"
+"(mit Angabe der diffstat- und Patch-Zusammenfassungen) nachgefragt, damit\n"
+"die Sendung zuvor noch einmal geprüft wird.\n"
+"\n"
+"Standardwerte können durch die folgende Konfiguration geändert werden::\n"
+"\n"
+"  [email]\n"
+"  from = Mein Name <ich@email>\n"
+"  to = empfänger1, empfänger2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Sodann kann die \"Patchbombe\" durch das Kommando \"hg email\" verschickt\n"
+"werden.\n"
+"\n"
+"Um das Versenden falscher Patches zu verhindern, kann man das \"email\"\n"
+"Kommando mit der Option \"-n\" im Testmodus aufrufen. Die Empfängeradresse,\n"
+"Betreffszeile und die einführende Beschreibung der Patches wird interaktiv\n"
+"erfragt. Danach werden die Nachrichten nur angezeigt (mit dem PAGER, falls\n"
+"diese Umgebungsvariable gesetzt ist).\n"
+"\n"
+"Alternativ werden die Nachrichten mit der Option -m/--mbox in eine Datei\n"
+"geschrieben, die von jedem Emailprogramm, welches das UNIX mbox Format\n"
+"unterstützt, geprüft werden. Beispiel mutt::\n"
+"\n"
+"  % mutt -R -f dateiname\n"
+"\n"
+"Mit ``formail`` (häufig durch das procmail Paket installiert) können die\n"
+"Nachrichten dann aus der mbox-Datei versendet werden::\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Um direktes Senden von Emails durch diese Erweiterung zu ermöglichen, muss\n"
+"entweder die Konfigurationsoption email.method ein sendmail-kompatibles\n"
+"Programm bestimmen, oder die Sektion [smtp] zur Nutzung des Protokolls\n"
+"gefüllt werden. Siehe entsprechende Abschnitte in hgrc(5) für Details.\n"
+
+#, fuzzy
+msgid ""
 "You can also either configure the method option in the email section\n"
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
@@ -4731,97 +14138,98 @@
 msgid "diffstat rejected"
 msgstr "diffstat abgelehnt"
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr "Sende Änderungssätze per Email"
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+"    Standardmäßig werden Änderungen im \"hg export\"-Format gesendet,\n"
+"    je eine pro Nachricht. Eine Serie von Emails wird eingeleitet durch\n"
+"    \"[PATCH 0 of N]\"."
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
-"    By default the patch is included as text in the email body for\n"
-"    easy reviewing. Using the -a/--attach option will instead create\n"
-"    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
-"    With -o/--outgoing, emails will be generated for patches not found\n"
-"    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
-"    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
-"    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
-"      hg email -r 3000          # send patch 3000 only\n"
-"      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
-"      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
-"      hg email -o               # send all patches not in default\n"
-"      hg email -o DEST          # send all patches not in DEST\n"
-"      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
-"      hg email -b               # send bundle of all patches not in default\n"
-"      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
-"    Before using this command, you will need to enable email in your\n"
-"    hgrc. See the [email] section in hgrc(5) for details.\n"
-"    "
-msgstr ""
-"Sende Änderungssätze per Email\n"
-"\n"
-"    Standardmäßig werden Änderungen im \"hg export\"-Format gesendet,\n"
-"    je eine pro Nachricht. Eine Serie von Emails wird eingeleitet durch\n"
-"    \"[PATCH 0 of N]\".\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
 "    Die Betreffzeile jeder Patch-Email ist \"[PATCH M of N]\", gefolgt von\n"
 "    der ersten Zeile der Versionsmeldung. Im Körper folgen zwei oder drei\n"
 "    drei Teilen: Eine Beschreibung des Änderungssatzes, dann optional\n"
 "    das Ergebnis von diffstat des Patches (wenn das Programm diffstat\n"
 "    installiert ist und der Schalter -d/--diffstat angegeben ist) und\n"
-"    schliesslich der Patch selber, wie durch \"hg export\" generiert.\n"
-"\n"
+"    schliesslich der Patch selber, wie durch \"hg export\" generiert."
+
+msgid ""
+"    By default the patch is included as text in the email body for\n"
+"    easy reviewing. Using the -a/--attach option will instead create\n"
+"    an attachment for the patch. With -i/--inline an inline attachment\n"
+"    will be created."
+msgstr ""
 "    Standardmäßig ist der Patch direkt im Text der Email enthalten. Mit dem\n"
 "    Schalter -a/--attach wird er in einen Anhang verlegt. Der Schalter\n"
-"    -i/--inline erzeugt einen inline-Anhang.\n"
-"\n"
+"    -i/--inline erzeugt einen inline-Anhang."
+
+msgid ""
+"    With -o/--outgoing, emails will be generated for patches not found\n"
+"    in the destination repository (or only those which are ancestors\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
 "    Mit der Option -o/--outgoing werden nur solche Patches gesendet, die\n"
 "    sich nicht in einem Zielarchiv befinden (möglicherweise weiter begrenzt\n"
-"    durch solche, die mit -r/--rev gegeben sind).\n"
-"\n"
+"    durch solche, die mit -r/--rev gegeben sind)."
+
+msgid ""
+"    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
+"    single email containing a binary Mercurial bundle as an attachment\n"
+"    will be sent."
+msgstr ""
 "    Durch -b/--bundle werden Änderungssätze wie durch --outgoing gewählt,\n"
-"    aber in einer einzelnen Email als Binärbündel (als Anhang) gesendet.\n"
-"\n"
-"    Beispiele::\n"
-"\n"
+"    aber in einer einzelnen Email als Binärbündel (als Anhang) gesendet."
+
+msgid ""
+"      hg email -r 3000          # send patch 3000 only\n"
+"      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
+"      hg email -r 3000:3005     # send patches 3000 through 3005\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
 "      hg email -r 3000          # sendet nur Patch 3000\n"
 "      hg email -r 3000 -r 3001  # sendet Patches 3000 und 3001\n"
 "      hg email -r 3000:3005     # sendet Patches 3000 bis 3005\n"
-"      hg email 3000             # sendet Patch 3000 (veraltet)\n"
-"\n"
+"      hg email 3000             # sendet Patch 3000 (veraltet)"
+
+msgid ""
+"      hg email -o               # send all patches not in default\n"
+"      hg email -o DEST          # send all patches not in DEST\n"
+"      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
 "      hg email -o               # sendet alle Patches nicht im default-Ziel\n"
 "      hg email -o ZIEL          # sendet alle Patches nicht im ZIEL\n"
 "      hg email -o -r 3000       # Vorfahren von 3000 nicht im default-Ziel\n"
-"      hg email -o -r 3000 ZIEL  # Vorfahren von 3000 nicht im ZIEL\n"
-"\n"
+"      hg email -o -r 3000 ZIEL  # Vorfahren von 3000 nicht im ZIEL"
+
+msgid ""
+"      hg email -b               # send bundle of all patches not in default\n"
+"      hg email -b DEST          # send bundle of all patches not in DEST\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
 "      hg email -b               # bündelt alle Patches nicht im default-Ziel\n"
 "      hg email -b DEST          # bündelt alle Patches nicht im ZIEL\n"
-"      hg email -b -r 3000 ZIEL  # bündelt Vorfahren von 3000 nicht im ZIEL\n"
-"\n"
+"      hg email -b -r 3000 ZIEL  # bündelt Vorfahren von 3000 nicht im ZIEL"
+
+msgid ""
+"    Before using this command, you will need to enable email in your\n"
+"    hgrc. See the [email] section in hgrc(5) for details.\n"
+"    "
+msgstr ""
 "    Um dieses Kommando zu benutzen muss das Email-Versenden in der Sektion\n"
 "    [email] der Konfiguration aktiviert sein. Siehe hgrc(5) für Details.\n"
 "    "
@@ -4840,19 +14248,14 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
-msgstr ""
-"\n"
-"Bitte eine Einführung für die Patch-Serie eingeben.\n"
-"\n"
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
-msgstr ""
-"Diese Patch-Serie besteht aus %d Patchen.\n"
+"Write the introductory message for the patch series."
+msgstr ""
+"\n"
+"Bitte eine Einführung für die Patch-Serie eingeben."
+
+#, python-format, fuzzy
+msgid "This patch series consists of %d patches."
+msgstr "Diese Patch-Serie besteht aus %d Patchen.\n"
 
 msgid "Final summary:\n"
 msgstr "Zusammenfassung:\n"
@@ -4924,8 +14327,7 @@
 msgstr "Eine zu sendende Revision"
 
 msgid "run even when remote repository is unrelated (with -b/--bundle)"
-msgstr ""
-"Auch ausführen wenn das entfernte Archiv keinen Bezug hat (mit -b/--bundle)"
+msgstr "Auch ausführen wenn das entfernte Archiv keinen Bezug hat (mit -b/--bundle)"
 
 msgid "a base changeset to specify instead of a destination (with -b/--bundle)"
 msgstr "Eine Basisrevision anstelle eines Ziels (mit -b/--bundle)"
@@ -4939,27 +14341,38 @@
 msgid "command to delete untracked files from the working directory"
 msgstr "Löscht nicht versionierte Dateien aus dem Arbeitsverzeichnis"
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+
+msgid "    This means that purge will delete:"
+msgstr ""
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+
+msgid "    But it will leave untouched:"
+msgstr ""
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -4993,41 +14406,42 @@
 msgstr "Zeigt Dateinamen an, statt sie zu entfernen"
 
 msgid "end filenames with NUL, for use with xargs (implies -p/--print)"
-msgstr ""
-"Beendet Dateinamen mit NUL zur Nutzung mit xargs (implizert -p/--print)"
+msgstr "Beendet Dateinamen mit NUL zur Nutzung mit xargs (implizert -p/--print)"
 
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr ""
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr ""
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr "Verschiebt Versionen (und ihre Nachfolger) auf einen abweichenden Zweig"
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history onto another. This can be useful for linearizing local\n"
-"    changes relative to a master development tree.\n"
-"\n"
+"    changes relative to a master development tree."
+msgstr ""
+"    Rebase nutzt wiederholtes Zusammenführen um Versionen von einem Teil der\n"
+"    Versionshistorie auf einen anderen zu pfropfen. Dies ist nützlich, um\n"
+"    lokale Änderungen abhängig von einem Hauptentwicklunszweig zu\n"
+"    linearisieren."
+
+msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a.\n"
 "    "
 msgstr ""
-"Verschiebt Versionen (und ihre Nachfolger) auf einen abweichenden Zweig\n"
-"\n"
-"    Rebase nutzt wiederholtes Zusammenführen um Versionen von einem Teil "
-"der\n"
-"    Versionshistorie auf einen anderen zu pfropfen. Dies ist nützlich, um\n"
-"    lokale Änderungen abhängig von einem Hauptentwicklunszweig zu\n"
-"    linearisieren.\n"
-"\n"
 "    Sollte eine Verschiebung zwecks manueller Konfliktbehebung unterbrochen\n"
 "    werden, kann sie mit --continue wieder aufgenommen oder mit --abort\n"
 "    abgebrochen werden.\n"
@@ -5065,9 +14479,7 @@
 msgstr "%d Revisionen wurden übersprungen\n"
 
 msgid "fix unresolved conflicts with hg resolve then run hg rebase --continue"
-msgstr ""
-"Behebe ungelöste Konflikte mit hg resolve, dann führe hg rebase --continue "
-"aus"
+msgstr "Behebe ungelöste Konflikte mit hg resolve, dann führe hg rebase --continue aus"
 
 #, python-format
 msgid "no changes, revision %d skipped\n"
@@ -5075,9 +14487,7 @@
 
 #, python-format
 msgid "cannot use revision %d as base, result would have 3 parents"
-msgstr ""
-"Revision %d kann nicht als Basis genutzt werden, das Ergebnis hätte 3 "
-"Vorgänger"
+msgstr "Revision %d kann nicht als Basis genutzt werden, das Ergebnis hätte 3 Vorgänger"
 
 msgid "no rebase in progress"
 msgstr "Kein vorheriger Rebase zur Wiederaufnahme"
@@ -5098,8 +14508,7 @@
 msgstr "Quelle ist Nachfahr des Ziels"
 
 msgid "unable to collapse, there is more than one external parent"
-msgstr ""
-"Zusammenfalten nicht möglich: es gibt mehr als einen externen Vorgänger"
+msgstr "Zusammenfalten nicht möglich: es gibt mehr als einen externen Vorgänger"
 
 msgid "rebase working directory to branch head"
 msgstr "Führt Rebase zu einem Zweigkopf auf dem Arbeitsverzeichnis aus"
@@ -5128,9 +14537,7 @@
 msgid "abort an interrupted rebase"
 msgstr "Bricht einen unterbrochenen Rebase ab"
 
-msgid ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] "
-"| [-c] | [-a]"
+msgid "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | [-c] | [-a]"
 msgstr ""
 
 msgid "commands to interactively select changes for commit/qrefresh"
@@ -5194,53 +14601,54 @@
 msgid "record change %d/%d to %r?"
 msgstr "Übernehme die Änderung %d/%d an %r?"
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr "Interaktive Auswahl der Änderungen zur Übernahme ins Archiv"
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+"    Falls keine Liste von Dateien angegeben wird, gelten alle von\n"
+"    \"hg status\" gemeldeten Änderungen als Kandidaten für 'record'."
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr "    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date."
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
+"    possible::"
+msgstr ""
+"    Es erfolgt eine Abfrage für jede Datei, ob Änderungen übernommen\n"
+"    werden sollen. Bei Dateien mit mehreren Änderungen für jede einzelne\n"
+"    Änderung. Folgenden Antworten sind bei jeder Anfrage möglich::"
+
+msgid ""
 "      y - record this change\n"
-"      n - skip this change\n"
-"\n"
+"      n - skip this change"
+msgstr ""
+"      y - übernimmt diese Änderung\n"
+"      n - überspringt diese Änderung"
+
+msgid ""
 "      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
+"      f - record remaining changes to this file"
+msgstr ""
+"      s - überspringt verbleibende Änderungen dieser Datei\n"
+"      f - übernimmt verbleibende Änderungen dieser Datei"
+
+msgid ""
 "      d - done, skip remaining changes and files\n"
 "      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
-msgstr ""
-"Interaktive Auswahl der Änderungen zur Übernahme ins Archiv\n"
-"\n"
-"    Falls keine Liste von Dateien angegeben wird, gelten alle von\n"
-"    \"hg status\" gemeldeten Änderungen als Kandidaten für 'record'.\n"
-"\n"
-"    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
-"\n"
-"    Es erfolgt eine Abfrage für jede Datei, ob Änderungen übernommen\n"
-"    werden sollen. Bei Dateien mit mehreren Änderungen für jede einzelne\n"
-"    Änderung. Folgenden Antworten sind bei jeder Anfrage möglich::\n"
-"\n"
-"      y - übernimmt diese Änderung\n"
-"      n - überspringt diese Änderung\n"
-"\n"
-"      s - überspringt verbleibende Änderungen dieser Datei\n"
-"      f - übernimmt verbleibende Änderungen dieser Datei\n"
-"\n"
+"      q - quit, recording no changes"
+msgstr ""
 "      d - fertig, überspringt verbleibende Änderungen und Dateien\n"
 "      a - übernimmt alle Änderungen aller verbleibenden Dateien\n"
-"      q - beendet ohne Änderungen zu übernehmen\n"
-"\n"
-"      ? - zeigt Hilfe an"
+"      q - beendet ohne Änderungen zu übernehmen"
+
+msgid "      ? - display help"
+msgstr "      ? - zeigt Hilfe an"
 
 msgid "'mq' extension not loaded"
 msgstr "'mq' Erweiterung nicht geladen"
@@ -5263,34 +14671,38 @@
 msgid "recreates hardlinks between repository clones"
 msgstr ""
 
-msgid ""
-"recreate hardlinks between two repositories\n"
-"\n"
-"    When repositories are cloned locally, their data files will be "
-"hardlinked\n"
-"    so that they only use the space of a single repository.\n"
-"\n"
-"    Unfortunately, subsequent pulls into either repository will break "
-"hardlinks\n"
-"    for any files touched by the new changesets, even if both repositories "
-"end\n"
-"    up pulling the same changes.\n"
-"\n"
+msgid "recreate hardlinks between two repositories"
+msgstr ""
+
+msgid ""
+"    When repositories are cloned locally, their data files will be hardlinked\n"
+"    so that they only use the space of a single repository."
+msgstr ""
+
+msgid ""
+"    Unfortunately, subsequent pulls into either repository will break hardlinks\n"
+"    for any files touched by the new changesets, even if both repositories end\n"
+"    up pulling the same changes."
+msgstr ""
+
+msgid ""
 "    Similarly, passing --rev to \"hg clone\" will fail to use\n"
-"    any hardlinks, falling back to a complete copy of the source "
-"repository.\n"
-"\n"
+"    any hardlinks, falling back to a complete copy of the source repository."
+msgstr ""
+
+msgid ""
 "    This command lets you recreate those hardlinks and reclaim that wasted\n"
-"    space.\n"
-"\n"
-"    This repository will be relinked to share space with ORIGIN, which must "
-"be\n"
-"    on the same local disk. If ORIGIN is omitted, looks for \"default-relink"
-"\",\n"
-"    then \"default\", in [paths].\n"
-"\n"
-"    Do not attempt any read operations on this repository while the command "
-"is\n"
+"    space."
+msgstr ""
+
+msgid ""
+"    This repository will be relinked to share space with ORIGIN, which must be\n"
+"    on the same local disk. If ORIGIN is omitted, looks for \"default-relink\",\n"
+"    then \"default\", in [paths]."
+msgstr ""
+
+msgid ""
+"    Do not attempt any read operations on this repository while the command is\n"
 "    running. (Both repositories will be locked against writes.)\n"
 "    "
 msgstr ""
@@ -5330,12 +14742,15 @@
 msgid "share a common history between several working directories"
 msgstr ""
 
-msgid ""
-"create a new shared repository (experimental)\n"
-"\n"
+msgid "create a new shared repository (experimental)"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: actions that change history such as rollback or moving the\n"
 "    source may confuse sharers.\n"
 "    "
@@ -5347,11 +14762,13 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr "[-U] QUELLE [ZIEL]"
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr ""
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr ""
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
@@ -5406,38 +14823,52 @@
 msgid "apply changeset? [ynmpcq?]:"
 msgstr ""
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr ""
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr ""
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
+"    changesets you want."
+msgstr ""
+
+msgid ""
 "    hg transplant --branch REVISION --all will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
+"    directory."
+msgstr ""
+
+msgid ""
 "    You can optionally mark selected transplanted changesets as merge\n"
 "    changesets. You will not be prompted to transplant any ancestors\n"
 "    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
+"    normally instead of transplanting them."
+msgstr ""
+
+msgid ""
 "    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
+"    an interactive changeset browser."
+msgstr ""
+
+msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
 "    and then resume where you left off by calling hg transplant\n"
 "    --continue/-c.\n"
@@ -5489,38 +14920,49 @@
 msgid "filter changesets through FILTER"
 msgstr ""
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-msgstr ""
-
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgstr ""
+
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr ""
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
+"operation."
+msgstr ""
+
+msgid "This extension is useful for:"
+msgstr ""
+
+msgid ""
 "- Japanese Windows users using shift_jis encoding.\n"
 "- Chinese Windows users using big5 encoding.\n"
 "- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
+"  case-insensitive file system."
+msgstr ""
+
+msgid "This extension is not needed for:"
+msgstr ""
+
+msgid ""
 "- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr ""
+
+msgid ""
 "- You should use single encoding in one repository.\n"
 "- You should set same encoding for the repository by locale or\n"
-"  HGENCODING.\n"
-"\n"
+"  HGENCODING."
+msgstr ""
+
+msgid ""
 "Path encoding conversion are done between Unicode and\n"
 "encoding.encoding which is decided by Mercurial from current locale\n"
 "setting or HGENCODING.\n"
@@ -5533,31 +14975,41 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr ""
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr ""
+
+msgid "To perform automatic newline conversion, use::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+msgstr ""
+
+msgid ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+msgstr ""
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -5583,13 +15035,21 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+
+#, python-format
+msgid "and also consider adding:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -5598,21 +15058,29 @@
 "** = %sdecode:\n"
 msgstr ""
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr ""
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
@@ -5693,8 +15161,7 @@
 
 #, python-format
 msgid "recording removal of %s as rename to %s (%d%% similar)\n"
-msgstr ""
-"Interpretiere die Entfernung von %s als Umbenennung in %s (%d%% ähnlich)\n"
+msgstr "Interpretiere die Entfernung von %s als Umbenennung in %s (%d%% ähnlich)\n"
 
 #, python-format
 msgid "%s: not copying - file is not managed\n"
@@ -5730,9 +15197,7 @@
 
 #, python-format
 msgid "%s has not been committed yet, so no copy data will be stored for %s.\n"
-msgstr ""
-"%s ist nicht im Archiv, daher gilt %s als neu hinzugefügt (nicht als "
-"kopiert).\n"
+msgstr "%s ist nicht im Archiv, daher gilt %s als neu hinzugefügt (nicht als kopiert).\n"
 
 msgid "no source or destination specified"
 msgstr "Weder Quelle noch Ziel angegeben"
@@ -5829,13 +15294,10 @@
 msgstr "Kann fehlender Datei nicht folgen: \"%s\""
 
 msgid "can only follow copies/renames for explicit filenames"
-msgstr ""
-"Kopien/Umbenennungen können nur zu expliziten Dateinamen verfolgt werden"
+msgstr "Kopien/Umbenennungen können nur zu expliziten Dateinamen verfolgt werden"
 
 msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
-msgstr ""
-"HG: Bitte gib eine Versions-Meldung ein. Zeilen beginnend mit 'HG:' werden "
-"entfernt."
+msgstr "HG: Bitte gib eine Versions-Meldung ein. Zeilen beginnend mit 'HG:' werden entfernt."
 
 msgid "HG: Leave message empty to abort commit."
 msgstr "HG: Leere Versionsmeldung wird das Ãœbernehmen abbrechen."
@@ -5873,40 +15335,49 @@
 msgid "empty commit message"
 msgstr "Leere Versions-Meldung"
 
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr "Fügt die angegebenen Dateien der nächsten Version hinzu"
+
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    Merkt Dateien zur Versionskontrolle im Projektarchiv vor."
+
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+"    Die Dateien werden dem Projektarchiv beim nächsten Übernehmen (commit)\n"
+"    hinzugefügt. Um diese Aktion vorher rückgängig zu machen, siehe hg revert."
+
+msgid ""
 "    If no names are given, add all files to the repository.\n"
 "    "
 msgstr ""
-"Fügt die angegebenen Dateien der nächsten Version hinzu\n"
-"\n"
-"    Merkt Dateien zur Versionskontrolle im Projektarchiv vor.\n"
-"\n"
-"    Die Dateien werden dem Projektarchiv beim nächsten Übernehmen (commit)\n"
-"    hinzugefügt. Um diese Aktion vorher rückgängig zu machen, siehe hg "
-"revert.\n"
-"\n"
 "    Wenn keine Namen angegeben sind, füge alle Dateien dem Projektarchiv\n"
 "    hinzu.\n"
 "    "
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr "Fügt alle neuen Dateien hinzu, löscht alle fehlenden Dateien"
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    Füge alle neuen Dateien hinzu und lösche alle fehlenden Dateien aus\n"
+"    dem Projektarchiv."
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+"    Neue Dateien werden ignoriert, wenn sie einem der Muster aus .hgignore\n"
+"    entsprechen. Genau wie add, wirken diese Änderungen erst beim nächsten\n"
+"    Ãœbernehmen (commit)."
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -5915,18 +15386,8 @@
 "    can be expensive.\n"
 "    "
 msgstr ""
-"Fügt alle neuen Dateien hinzu, löscht alle fehlenden Dateien\n"
-"\n"
-"    Füge alle neuen Dateien hinzu und lösche alle fehlenden Dateien aus\n"
-"    dem Projektarchiv.\n"
-"\n"
-"    Neue Dateien werden ignoriert, wenn sie einem der Muster aus .hgignore\n"
-"    entsprechen. Genau wie add, wirken diese Änderungen erst beim nächsten\n"
-"    Ãœbernehmen (commit).\n"
-"\n"
 "    Nutze die Option -s um umbenannte Dateien zu entdecken. Mit einem\n"
-"    Parameter > 0 wird jede gelöschte Datei mit jeder hinzugefügten "
-"verglichen\n"
+"    Parameter > 0 wird jede gelöschte Datei mit jeder hinzugefügten verglichen\n"
 "    und bei genügender Ähnlichkeit als Umbenennung markiert. Diese Option\n"
 "    erwartet eine Prozentangabe zwischen 0 (deaktiviert) und 100 (Dateien\n"
 "    müssen identisch sein) als Parameter. Umbenennungen auf diese Weise zu\n"
@@ -5939,32 +15400,32 @@
 msgid "similarity must be between 0 and 100"
 msgstr "similarity muss zwischen 0 und 100 liegen"
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr "Zeigt Informationen über Änderungssätze pro Dateizeile an"
+
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr ""
+"    Listet Änderungen in Dateien mit der zugehörigen Revisions-Id für jede\n"
+"    Zeile auf"
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr ""
+"    Dieser Befehl ist nützlich, um herauszufinden wer eine Änderung gemacht\n"
+"    hat oder wann eine Änderung stattgefunden hat."
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
 "    nor desirable.\n"
 "    "
 msgstr ""
-"Zeigt Informationen über Änderungssätze pro Dateizeile an\n"
-"\n"
-"    Listet Änderungen in Dateien mit der zugehörigen Revisions-Id für jede\n"
-"    Zeile auf\n"
-"\n"
-"    Dieser Befehl ist nützlich, um herauszufinden wer eine Änderung gemacht\n"
-"    hat oder wann eine Änderung stattgefunden hat.\n"
-"\n"
 "    Ohne den Schalter -a/--text wird die Verarbeitung von Binärdateien\n"
-"    vermieden. Mit -a werden auch solche Dateien verarbeitet, "
-"wahrscheinlich\n"
+"    vermieden. Mit -a werden auch solche Dateien verarbeitet, wahrscheinlich\n"
 "    mit unerwünschtem Ergebnis.\n"
 "    "
 
@@ -5978,51 +15439,52 @@
 msgid "%s: binary file\n"
 msgstr "%s: Binärdatei\n"
 
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr "Erzeugt ein unversioniertes Archiv einer Projektarchiv-Revision"
+
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+"    Standardmäßig wird die Vorgängerversion der im Arbeitsverzeichnis gefundenen\n"
+"    verwendet. Eine andere Reversion kann mit \"-r/--rev\" angegeben werden."
+
+msgid ""
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are::\n"
-"\n"
+"    types are::"
+msgstr ""
+"    Um den Typ des Archivs anzugeben, nutze \"-t/--type\". Gültige\n"
+"    Typen sind::"
+
+msgid ""
 "      \"files\" (default): a directory full of files\n"
 "      \"tar\": tar archive, uncompressed\n"
 "      \"tbz2\": tar archive, compressed using bzip2\n"
 "      \"tgz\": tar archive, compressed using gzip\n"
 "      \"uzip\": zip archive, uncompressed\n"
-"      \"zip\": zip archive, compressed using deflate\n"
-"\n"
-"    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
-"    Each member added to an archive file has a directory prefix\n"
-"    prepended. Use -p/--prefix to specify a format string for the\n"
-"    prefix. The default is the basename of the archive, with suffixes\n"
-"    removed.\n"
-"    "
-msgstr ""
-"Erzeugt ein unversioniertes Archiv einer Projektarchiv-Revision\n"
-"\n"
-"    Standardmäßig wird die Vorgängerversion der im Arbeitsverzeichnis "
-"gefundenen\n"
-"    verwendet. Eine andere Reversion kann mit \"-r/--rev\" angegeben "
-"werden.\n"
-"\n"
-"    Um den Typ des Archivs anzugeben, nutze \"-t/--type\". Gültige\n"
-"    Typen sind::\n"
-"\n"
+"      \"zip\": zip archive, compressed using deflate"
+msgstr ""
 "      \"files\" (Standard): ein Verzeichnis voller Dateien\n"
 "      \"tar\": tar Archiv, unkomprimiert\n"
 "      \"tbz2\": tar Archiv, komprimiert mit bzip2\n"
 "      \"tgz\": tar Archiv, komprimiert mit gzip\n"
 "      \"uzip\": zip Archiv, unkomprimiert\n"
-"      \"zip\": zip Archiv, komprimiert mit deflate\n"
-"\n"
+"      \"zip\": zip Archiv, komprimiert mit deflate"
+
+msgid ""
+"    The exact name of the destination archive or directory is given\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
 "    Der exakte Name des Zielarchivs oder -verzeichnises wird mit\n"
-"    einem Format-String angegeben; siehe 'hg help export' für Details.\n"
-"\n"
+"    einem Format-String angegeben; siehe 'hg help export' für Details."
+
+msgid ""
+"    Each member added to an archive file has a directory prefix\n"
+"    prepended. Use -p/--prefix to specify a format string for the\n"
+"    prefix. The default is the basename of the archive, with suffixes\n"
+"    removed.\n"
+"    "
+msgstr ""
 "    Jedem Element des Archivs wird ein Verzeichnis-Präfix vorangestellt.\n"
 "    Nutze -p/--prefix um eine Format-String für das Präfix anzugeben.\n"
 "    Als Standard wird der Dateiname des Archive ohne Dateiendung genutzt.\n"
@@ -6035,46 +15497,36 @@
 msgstr "Projektarchiv-Wurzel kann nicht als Ziel angegeben werden"
 
 msgid "cannot archive plain files to stdout"
-msgstr ""
-"Ungepacktes Archiv kann nicht auf der Standardausgabe ausgegeben werden"
-
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgstr "Ungepacktes Archiv kann nicht auf der Standardausgabe ausgegeben werden"
+
+msgid "reverse effect of earlier changeset"
+msgstr "Macht einen vorangegangen Änderungssatzes rückgängig"
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+"    Bereits vollzogene Änderungen werden noch einmal rückwärts angewendet\n"
+"    und als neuer Änderungssatz (als Kind des rückgängig gemachten) übernommen."
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+"    Soll ein anderer Änderungssatz als die Spitze (tip) zurückgezogen werden,\n"
+"    so wird ein neuer Kopf erzeugt und dieser ist die neue Spitze."
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"Macht einen vorangegangen Änderungssatzes rückgängig\n"
-"\n"
-"    Bereits vollzogene Änderungen werden noch einmal rückwärts angewendet\n"
-"    und als neuer Änderungssatz (als Kind des rückgängig gemachten) "
-"übernommen.\n"
-"\n"
-"    Soll ein anderer Änderungssatz als die Spitze (tip) zurückgezogen "
-"werden,\n"
-"    so wird ein neuer Kopf erzeugt und dieser ist die neue Spitze.\n"
-"\n"
+"    The result of this merge is not committed, as with a normal merge."
+msgstr ""
 "    Die dadurch notwendige Zusammenführung kann durch die Option --merge\n"
-"    automatisch mit der Vorgängerversion des Arbeitsverzeichnisses "
-"durchgeführt\n"
-"    werden. Das Resultat dieser Zusammenführung wird wie üblich nicht "
-"sofort\n"
-"    übernommen, sondern existiert als lokale Änderung.\n"
-"\n"
-"    Siehe \"hg help dates\" für eine Liste gültiger Formate für -d/--date.\n"
-"    "
+"    automatisch mit der Vorgängerversion des Arbeitsverzeichnisses durchgeführt\n"
+"    werden. Das Resultat dieser Zusammenführung wird wie üblich nicht sofort\n"
+"    übernommen, sondern existiert als lokale Änderung."
 
 msgid "please specify just one revision"
 msgstr "Bitte nur eine Revision angeben"
@@ -6112,9 +15564,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr "(nutze \"backout --merge\" für eine automatische Zusammenführung)\n"
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr "Binäre Suche von Änderungssätzen"
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -6122,37 +15575,36 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
-"    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
-"    If you supply a command, it will be used for automatic bisection.\n"
-"    Its exit status will be used to mark revisions as good or bad:\n"
-"    status 0 means good, 125 means to skip the revision, 127\n"
-"    (command not found) will abort the bisection, and any other\n"
-"    non-zero exit status means the revision is bad.\n"
-"    "
-msgstr ""
-"Binäre Suche von Änderungssätzen\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
 "    Dieser Befehl hilft Änderungssätze zu finden, die Probleme eingeführt\n"
 "    haben. Dies geschieht, indem eine Revision nach der anderen geladen und\n"
 "    getestet wird, bis zwei aufeinanderfolgende Revisionen ohne und mit\n"
-"    Fehler gefunden wurden.\n"
-"\n"
+"    Fehler gefunden wurden."
+
+msgid ""
+"    As a shortcut, you can also use the revision argument to mark a\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
 "    Markiere zunächst die früheste Version, von der bekannt ist, dass der\n"
 "    Fehler dort auftritt und die entsprechende letzte fehlerfreie Version.\n"
 "    Bisect wird das Arbeitsverzeichnis dann auf eine zu testede Revision\n"
 "    bringen (es sei denn, die Option -U/--noupdate ist angegeben). Nachdem\n"
 "    der Test ausgeführt wurde, muss diese Revision als gut oder schlecht\n"
 "    markiert werden. Bisect wird dann zur nächsten Revision wechseln oder\n"
-"    das Ziel (die erste schlechte Revision) melden.\n"
-"\n"
+"    das Ziel (die erste schlechte Revision) melden."
+
+msgid ""
+"    If you supply a command, it will be used for automatic bisection.\n"
+"    Its exit status will be used to mark revisions as good or bad:\n"
+"    status 0 means good, 125 means to skip the revision, 127\n"
+"    (command not found) will abort the bisection, and any other\n"
+"    non-zero exit status means the revision is bad.\n"
+"    "
+msgstr ""
 "    Die Markierung kann automatisch durch einem Testprogramm stattfinden.\n"
 "    Ein Rückgabewert von 0 bedeutet dabei Erfolg, 125 Überspringen, 127\n"
-"    (Kommando nicht gefunden) Abbruch und jeder andere positive Wert "
-"Fehler.\n"
+"    (Kommando nicht gefunden) Abbruch und jeder andere positive Wert Fehler.\n"
 "    "
 
 msgid "The first good revision is:\n"
@@ -6199,43 +15651,43 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr "Teste Änderungssatz %d:%s (%d Änderungssätze verbleiben, ~%d Tests)\n"
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr "Setzt oder zeigt den Namen des aktuellen Zweigs"
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
-"    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
-"    Use -C/--clean to reset the working directory branch to that of\n"
-"    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch. Use\n"
-"    'hg commit --close-branch' to mark this branch as closed.\n"
-"    "
-msgstr ""
-"Setzt oder zeigt den Namen des aktuellen Zweigs\n"
-"\n"
+"    branch."
+msgstr ""
 "    Ohne Parameter wird der Name des aktuellen Zweiges angezeigt. Mit einem\n"
 "    Parameter wird der Zweigname des Arbeitsverzeichnisses gesetzt. Der\n"
 "    Zweig existiert nicht im Projektarchiv und muss erst übernommen werden.\n"
 "    Es wird empfohlen den 'default'-Zweig als Hauptentwicklungszweig zu\n"
-"    nutzen.\n"
-"\n"
+"    nutzen."
+
+msgid ""
+"    Unless -f/--force is specified, branch will not let you set a\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
 "    Außer bei Angabe von -f/--force lässt 'hg branch' nicht zu, einen Namen\n"
-"    zu vergeben, der einen existierenden Zweig überdeckt.\n"
-"\n"
-"    Nutze -C/--clean um den neuen Namen rückgängig zu machen. Die "
-"Arbeitskopie\n"
-"    hat dann wieder den selben Namen wie der Vorgänger im Projektarchiv.\n"
-"\n"
-"    Um auf einen anderen (existierenden) Zweig zu wechseln, siehe 'hg "
-"update'.\n"
+"    zu vergeben, der einen existierenden Zweig überdeckt."
+
+msgid ""
+"    Use -C/--clean to reset the working directory branch to that of\n"
+"    the parent of the working directory, negating a previous branch\n"
+"    change."
+msgstr ""
+"    Nutze -C/--clean um den neuen Namen rückgängig zu machen. Die Arbeitskopie\n"
+"    hat dann wieder den selben Namen wie der Vorgänger im Projektarchiv."
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch. Use\n"
+"    'hg commit --close-branch' to mark this branch as closed.\n"
+"    "
+msgstr ""
+"    Um auf einen anderen (existierenden) Zweig zu wechseln, siehe 'hg update'.\n"
 "    "
 
 #, python-format
@@ -6249,80 +15701,80 @@
 msgid "marked working directory as branch %s\n"
 msgstr "Arbeitsverzeichnis wurde als Zweig %s markiert\n"
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr "Zeigt alle benannten Zweige des Projektarchiv an"
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
-"    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-msgstr ""
-"Zeigt alle benannten Zweige des Projektarchiv an\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
 "    Listet die benannten Zweige des Projektarchiv auf und zeigt an, welche\n"
-"    inaktiv sind. Zweige, die durch \"hg commit --close-branch\" "
-"geschlossen\n"
-"    wurden, werden nur mit dem Schalter -c/--closed angezeigt.\n"
-"\n"
+"    inaktiv sind. Zweige, die durch \"hg commit --close-branch\" geschlossen\n"
+"    wurden, werden nur mit dem Schalter -c/--closed angezeigt."
+
+msgid ""
+"    If -a/--active is specified, only show active branches. A branch\n"
+"    is considered active if it contains repository heads."
+msgstr ""
 "    Mit der Option -a/--active werden nur aktive Zweige ausgegeben. Ein\n"
-"    Zweig gilt als aktiv, wenn er echte Köpfe besitzt.\n"
-"\n"
-"    Um auf einen anderen (existierenden) Zweig zu wechseln, siehe 'hg "
-"update'.\n"
-"    "
-
-msgid ""
-"create a changegroup file\n"
-"\n"
+"    Zweig gilt als aktiv, wenn er echte Köpfe besitzt."
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch.\n"
+"    "
+msgstr ""
+"    Um auf einen anderen (existierenden) Zweig zu wechseln, siehe 'hg update'.\n"
+"    "
+
+msgid "create a changegroup file"
+msgstr "Erzeugt eine Datei mit Änderungsgruppen"
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+"    Erzeuge eine gepackte Datei der Änderungsgruppen, die alle Änderungs-\n"
+"    sätze enthält, die in einem anderen Archiv nicht vorhanden sind."
+
+msgid ""
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+"    Falls kein Zielarchiv angegeben ist, wird angenommen, dass das Ziel\n"
+"    alle Knoten enthält, die durch einen oder mehrere --base Parameter\n"
+"    angegeben wurden. Um ein Bündel aller Änderungssätze zu erzeugen, nutze\n"
+"    -a/--all (oder --base null)."
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+"    Die angewendete Kompressionsmethode kann mit der Option -t/--type\n"
+"    gewählt werden: none (nicht komprimieren), bzip2 (standard) oder gzip."
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-msgstr ""
-"Erzeugt eine Datei mit Änderungsgruppen\n"
-"\n"
-"    Erzeuge eine gepackte Datei der Änderungsgruppen, die alle Änderungs-\n"
-"    sätze enthält, die in einem anderen Archiv nicht vorhanden sind.\n"
-"\n"
-"    Falls kein Zielarchiv angegeben ist, wird angenommen, dass das Ziel\n"
-"    alle Knoten enthält, die durch einen oder mehrere --base Parameter\n"
-"    angegeben wurden. Um ein Bündel aller Änderungssätze zu erzeugen, nutze\n"
-"    -a/--all (oder --base null).\n"
-"\n"
-"    Die angewendete Kompressionsmethode kann mit der Option -t/--type\n"
-"    gewählt werden: none (nicht komprimieren), bzip2 (standard) oder gzip.\n"
-"\n"
-"    Die Bündeldatei kann mit üblichen Mitteln transportiert und auf ein "
-"anderes\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
+"    Die Bündeldatei kann mit üblichen Mitteln transportiert und auf ein anderes\n"
 "    Archiv mit dem 'unbundle' oder 'pull'-Befehl angewandt werden.\n"
 "    Dies ist nützlich wenn ein direktes Schieben oder Herunterladen von\n"
 "    Änderungen nicht verfügbar ist oder der Export eines kompletten Archivs\n"
-"    unerwünscht ist.\n"
-"\n"
+"    unerwünscht ist."
+
+msgid ""
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+msgstr ""
 "    Die Anwendung von Bündeln bewahrt die Inhalte aller Änderungssätze,\n"
-"    Berechtigungen, Kopier/Umbennungs-Informationen und die "
-"Revisionshistorie.\n"
+"    Berechtigungen, Kopier/Umbennungs-Informationen und die Revisionshistorie.\n"
 "    "
 
 msgid "--base is incompatible with specifying a destination"
@@ -6331,68 +15783,97 @@
 msgid "unknown bundle type specified with --type"
 msgstr "Unbekannter Bündeltyp mit --type angegeben"
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr "Gibt den Inhalt von Dateien in der aktuellen oder angegebenen Revision aus"
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+"    Gibt die angegebenen Dateien aus, wie sie zur gegebenen Revision waren.\n"
+"    Wenn keine Revision angegeben wird, wird die Vorgängerversion des\n"
+"    Arbeitsverzeichnisses genutzt, oder die Spitze, falls keine\n"
+"    Revision geladen ist."
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions::\n"
-"\n"
+"    for the export command, with the following additions::"
+msgstr ""
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    der Datei mit einem Formatstring vorgegeben. Die Formatierungsregeln sind\n"
+"    dem 'export'-Befehl analog, mit folgenden Ergänzungen::"
+
+msgid ""
 "      %s   basename of file being printed\n"
 "      %d   dirname of file being printed, or '.' if in repository root\n"
 "      %p   root-relative path name of file being printed\n"
 "    "
 msgstr ""
-"Gibt den Inhalt von Dateien in der aktuellen oder angegebenen Revision aus\n"
-"\n"
-"    Gibt die angegebenen Dateien aus, wie sie zur gegebenen Revision waren.\n"
-"    Wenn keine Revision angegeben wird, wird die Vorgängerversion des\n"
-"    Arbeitsverzeichnisses genutzt, oder die Spitze, falls keine\n"
-"    Revision geladen ist.\n"
-"\n"
-"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
-"    der Datei mit einem Formatstring vorgegeben. Die Formatierungsregeln "
-"sind\n"
-"    dem 'export'-Befehl analog, mit folgenden Ergänzungen::\n"
-"\n"
 "      %s   Dateiname der ausgegebenen Datei\n"
 "      %d   Verzeichnisname der Datei oder '.' in der Wurzel des Archivs\n"
 "      %p   Pfad und Dateiname relativ zur Archiv-Wurzel\n"
 "    "
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+msgid "make a copy of an existing repository"
+msgstr "Erzeugt eine Kopie eines bestehenden Projektarchivs"
+
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr "    Kopiert ein bestehendes Projektarchiv in ein neues Verzeichnis."
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr "    Wird kein Zielverzeichnis angegeben, wird der Basisname der Quelle genutzt."
+
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+"    Die Adresse der Quelle wird der .hg/hgrc Datei des neuen Archivs\n"
+"    als Standard für entfernte Aktionen (pull/push) hinzugefügt."
+
+msgid "    See 'hg help urls' for valid source format details."
+msgstr "    Siehe 'hg help urls' für Details gültiger Quellformate."
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ``ssh://`` URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ``ssh://`` URLs."
+msgstr ""
+"    Es ist möglich eine ``ssh://`` URL als Ziel anzugeben, aber es werden weder\n"
+"    .hg/hgrc noch Arbeitsverzeichnis auf der entfernten Seite angelegt.\n"
+"    Wichtige Details zu URLs mit ``ssh://`` finden sich unter 'hg help urls'."
+
+msgid ""
 "    If the -U/--noupdate option is specified, the new clone will contain\n"
 "    only a repository (.hg) and no working copy (the working copy parent\n"
 "    will be the null changeset). Otherwise, clone will initially check\n"
-"    out (in order of precedence):\n"
-"\n"
+"    out (in order of precedence):"
+msgstr ""
+"    Wenn der Schalter -U/--noupdate angegeben ist, wird der Klon nur das\n"
+"    Archiv (.hg-Verzeichnis) aber keine Arbeitskopie enthalten. Der\n"
+"    Vorgänger dann ist die null-Revision. Ansonsten wird die Arbeitskopie\n"
+"    aktualisiert auf (die erste zutreffende):"
+
+msgid ""
 "      a) the changeset, tag or branch specified with -u/--updaterev\n"
 "      b) the changeset, tag or branch given with the first -r/--rev\n"
-"      c) the head of the default branch\n"
-"\n"
+"      c) the head of the default branch"
+msgstr ""
+"      a) Revision, Etikett oder Zweig durch -u/--updaterev angegeben\n"
+"      b) Revision, Etikett oder Zweig durch das erste -r/--rev gegeben\n"
+"      c) den Kopf des default-Zweigs"
+
+msgid ""
 "    Use 'hg clone -u . src dst' to checkout the source repository's\n"
-"    parent changeset (applicable for local source repositories only).\n"
-"\n"
+"    parent changeset (applicable for local source repositories only)."
+msgstr ""
+"    Bei lokalen Quellen kann man mit '-u .' den Vorgänger der Arbeitskopie\n"
+"    der Quelle im Klon aktualisieren lassen."
+
+msgid ""
 "    A set of changesets (tags, or branch names) to pull may be specified\n"
 "    by listing each changeset (tag, or branch name) with -r/--rev.\n"
 "    If -r/--rev is used, the cloned repository will contain only a subset\n"
@@ -6400,23 +15881,48 @@
 "    defined by all -r/--rev options (including all their ancestors)\n"
 "    will be pulled into the destination repository.\n"
 "    No subsequent changesets (including subsequent tags) will be present\n"
-"    in the destination.\n"
-"\n"
+"    in the destination."
+msgstr ""
+"    Eine Liste von Änderungssätzen (oder Etiketten/Zweignamen) kann durch\n"
+"    wiederholte Angabe der Option -r/--rev geklont werden. In diesem Fall\n"
+"    enthält das Ziel nur diese Untermenge von Änderungssätzen der Quelle,\n"
+"    einschliesslich ihrer Vorgänger. Nachfahren der aufgelisteten\n"
+"    Änderungssätze (und Etiketten die auf Nachfahren verweisen) werden\n"
+"    vollständig ausgelassen."
+
+msgid ""
 "    Using -r/--rev (or 'clone src#rev dest') implies --pull, even for\n"
-"    local source repositories.\n"
-"\n"
+"    local source repositories."
+msgstr ""
+"    Die Benutzung von -r/--rev (oder 'clone quelle#rev ziel') impliziert\n"
+"    in jedem Falle --pull, auch bei lokalen Archiven."
+
+msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
 "    to the repository data, not to the checked out files). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
+"    avoid hardlinking."
+msgstr ""
+"    Aus Effizienzgründen werden 'hardlinks' für das Klonen genutzt, wann immer\n"
+"    Quelle und Ziel auf dem selben Dateisystem liegen (dies gilt nur für die\n"
+"    Daten des Archivs, nicht für die Arbeitskopie). Einige Dateisyteme, wie\n"
+"    etwa AFS, implementieren 'hardlinks' fehlerhaft, erzeugen dabei aber keine\n"
+"    Fehlermeldung. In diesen Fällen muss die --pull Option genutzt werden,\n"
+"    um das Erzeugen von 'hardlinks' zu vermeiden."
+
+msgid ""
 "    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    using full hardlinks with ::"
+msgstr ""
+"    In einigen Fällen können Archiv und Arbeitskopie unter Nutzung\n"
+"    von 'hardlinks' kopiert werden mit ::"
+
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr "      $ cp -al REPO REPOCLONE"
+
+msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
@@ -6425,110 +15931,49 @@
 "    metadata under the .hg directory, such as mq.\n"
 "    "
 msgstr ""
-"Erzeugt eine Kopie eines bestehenden Projektarchivs\n"
-"\n"
-"    Kopiert ein bestehendes Projektarchiv in ein neues Verzeichnis.\n"
-"\n"
-"    Wird kein Zielverzeichnis angegeben, wird der Basisname der Quelle "
-"genutzt.\n"
-"\n"
-"    Die Adresse der Quelle wird der .hg/hgrc Datei des neuen Archivs\n"
-"    als Standard für entfernte Aktionen (pull/push) hinzugefügt.\n"
-"\n"
-"    Siehe 'hg help urls' für Details gültiger Quellformate.\n"
-"\n"
-"    Es ist möglich eine ``ssh://`` URL als Ziel anzugeben, aber es werden weder\n"
-"    .hg/hgrc noch Arbeitsverzeichnis auf der entfernten Seite angelegt.\n"
-"    Wichtige Details zu URLs mit ``ssh://`` finden sich unter 'hg help urls'.\n"
-"\n"
-"    Wenn der Schalter -U/--noupdate angegeben ist, wird der Klon nur das\n"
-"    Archiv (.hg-Verzeichnis) aber keine Arbeitskopie enthalten. Der\n"
-"    Vorgänger dann ist die null-Revision. Ansonsten wird die Arbeitskopie\n"
-"    aktualisiert auf (die erste zutreffende):\n"
-"\n"
-"      a) Revision, Etikett oder Zweig durch -u/--updaterev angegeben\n"
-"      b) Revision, Etikett oder Zweig durch das erste -r/--rev gegeben\n"
-"      c) den Kopf des default-Zweigs\n"
-"\n"
-"    Bei lokalen Quellen kann man mit '-u .' den Vorgänger der Arbeitskopie\n"
-"    der Quelle im Klon aktualisieren lassen.\n"
-"\n"
-"    Eine Liste von Änderungssätzen (oder Etiketten/Zweignamen) kann durch\n"
-"    wiederholte Angabe der Option -r/--rev geklont werden. In diesem Fall\n"
-"    enthält das Ziel nur diese Untermenge von Änderungssätzen der Quelle,\n"
-"    einschliesslich ihrer Vorgänger. Nachfahren der aufgelisteten\n"
-"    Änderungssätze (und Etiketten die auf Nachfahren verweisen) werden\n"
-"    vollständig ausgelassen.\n"
-"\n"
-"    Die Benutzung von -r/--rev (oder 'clone quelle#rev ziel') impliziert\n"
-"    in jedem Falle --pull, auch bei lokalen Archiven.\n"
-"\n"
-"    Aus Effizienzgründen werden 'hardlinks' für das Klonen genutzt, wann "
-"immer\n"
-"    Quelle und Ziel auf dem selben Dateisystem liegen (dies gilt nur für "
-"die\n"
-"    Daten des Archivs, nicht für die Arbeitskopie). Einige Dateisyteme, wie\n"
-"    etwa AFS, implementieren 'hardlinks' fehlerhaft, erzeugen dabei aber "
-"keine\n"
-"    Fehlermeldung. In diesen Fällen muss die --pull Option genutzt werden,\n"
-"    um das Erzeugen von 'hardlinks' zu vermeiden.\n"
-"\n"
-"    In einigen Fällen können Archiv und Arbeitskopie unter Nutzung\n"
-"    von 'hardlinks' kopiert werden mit ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
 "    Dies ist der schnellste Weg zu klonen, aber nicht immer sicher.\n"
 "    Diese Operation ist nicht atomar (das Archiv darf während der Operation\n"
 "    nicht modifiziert wird) und es muss sichergestellt werden, dass der\n"
 "    genutzte Editor 'hardlinks' auflöst (vim, emacs und die meisten Linux\n"
 "    Kernel Tools tun dies). Außerdem ist dies inkompatibel mit einigen\n"
-"    Erweiterungen, die Metadaten unter dem .hg Verzeichnis ablegen, z.B. "
-"mq.\n"
+"    Erweiterungen, die Metadaten unter dem .hg Verzeichnis ablegen, z.B. mq.\n"
 "    "
 
 msgid "cannot specify both --noupdate and --updaterev"
-msgstr ""
-"Es können nicht gleichzeitig --noupdate und --updaterev angegeben werden"
-
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgstr "Es können nicht gleichzeitig --noupdate und --updaterev angegeben werden"
+
+msgid "commit the specified files or all outstanding changes"
+msgstr "Übernimmt Änderungen der angegebenen Dateien oder alle ausstehenden Änderungen ins Archiv"
+
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
-"    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
-"    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"Übernimmt Änderungen der angegebenen Dateien oder alle ausstehenden "
-"Änderungen ins Archiv\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr ""
 "    Übernimmt Änderungen der angegebenen Dateien ins Archiv. Anders als\n"
 "    bei zentralen Versionsverwaltungssystem ist dies eine lokale Operation.\n"
-"    Vergleiche hg push für Wege zur aktiven Verteilung der Änderungen.\n"
-"\n"
+"    Vergleiche hg push für Wege zur aktiven Verteilung der Änderungen."
+
+msgid ""
+"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    will be committed."
+msgstr ""
 "    Sollten keine Dateien übergeben werden, werden alle von \"hg status\"\n"
-"    angezeigten Änderungen Bestandteil der neuen Revision.\n"
-"\n"
+"    angezeigten Änderungen Bestandteil der neuen Revision."
+
+msgid ""
+"    If you are committing the result of a merge, do not provide any\n"
+"    filenames or -I/-X filters."
+msgstr ""
 "    Wenn das Ergebnis einer Zusammenführung übernommen werden soll, dürfen\n"
-"    keine Dateinamen oder -I/-X Filter angegeben werden.\n"
-"\n"
+"    keine Dateinamen oder -I/-X Filter angegeben werden."
+
+msgid ""
+"    If no commit message is specified, the configured editor is\n"
+"    started to prompt you for a message."
+msgstr ""
 "    Wenn keine Versionsmeldung mit der Option -m angegeben wird, wird der\n"
-"    konfigurierte Editor für eine interaktive Eingabe gestartet.\n"
-"\n"
-"    Siehe 'hg help dates' für eine Liste aller gültigen Formate für -d/--"
-"date.\n"
-"    "
+"    konfigurierte Editor für eine interaktive Eingabe gestartet."
 
 msgid "nothing changed\n"
 msgstr "Keine Änderung\n"
@@ -6540,41 +15985,35 @@
 msgid "committed changeset %d:%s\n"
 msgstr "Änderungssatz %d erzeugt:%s\n"
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr "Markiert Dateien als Kopien bereits versionierter Dateien"
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+"    Markiert das Ziel als Kopie der Quelle, so dass es die Versionshistorie der\n"
+"    Quelle bis zu diesem Zeitpunkt teilt. Wenn mehrere Quellen angegeben sind,\n"
+"    muss das Ziel ein Verzeichnis sein."
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+"    Normalerweise kopiert dieser Befehl auch den Inhalt der Datei(en) wie sie\n"
+"    im Arbeitsverzeichnis vorliegt. Existiert das Ziel jedoch schon, so kann\n"
+"    dieses durch Angabe der Option -A/--after als Kopie nachträglich markiert\n"
+"    werden."
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
-"Markiert Dateien als Kopien bereits versionierter Dateien\n"
-"\n"
-"    Markiert das Ziel als Kopie der Quelle, so dass es die Versionshistorie "
-"der\n"
-"    Quelle bis zu diesem Zeitpunkt teilt. Wenn mehrere Quellen angegeben "
-"sind,\n"
-"    muss das Ziel ein Verzeichnis sein.\n"
-"\n"
-"    Normalerweise kopiert dieser Befehl auch den Inhalt der Datei(en) wie "
-"sie\n"
-"    im Arbeitsverzeichnis vorliegt. Existiert das Ziel jedoch schon, so "
-"kann\n"
-"    dieses durch Angabe der Option -A/--after als Kopie nachträglich "
-"markiert\n"
-"    werden.\n"
-"\n"
-"    Die neue Datei wird wie üblich nicht sofort übernommen, sondern "
-"existiert\n"
-"    als lokale  Änderung im Arbeitsverzeichnis. Sie kann durch \"hg revert"
-"\"\n"
+"    Die neue Datei wird wie üblich nicht sofort übernommen, sondern existiert\n"
+"    als lokale  Änderung im Arbeitsverzeichnis. Sie kann durch \"hg revert\"\n"
 "    rückgängig gemacht werden.\n"
 "    "
 
@@ -6590,14 +16029,13 @@
 msgid "returns the completion list associated with the given command"
 msgstr "Listet mögliche Befehle zu gegebener Abkürzung auf"
 
+#, fuzzy
 msgid "rebuild the dirstate as it would look like for the given revision"
 msgstr ""
 "Markiert aktuellen Status als Änderungen seit gegebener Revision\n"
 "\n"
-"    Interpretiert das Arbeitsverzeichnis als lokale Änderung seit der "
-"gegebenen\n"
-"    Revision. Die Vorgängerversion ist die gegebene und die Änderungen "
-"aller\n"
+"    Interpretiert das Arbeitsverzeichnis als lokale Änderung seit der gegebenen\n"
+"    Revision. Die Vorgängerversion ist die gegebene und die Änderungen aller\n"
 "    Versionen seit dem (oder bis dahin) sind vorgemerkt und können als neue\n"
 "    Revision (und Kopf) übernommen werden.\n"
 "    "
@@ -6624,32 +16062,33 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr ".hg/dirstate inkonsistent mit dem Manifest des aktuellen Vorgängers"
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr "Zeigt die kombinierten Konfigurationswerte aller hgrc-Dateien an"
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr ""
+"    Ohne Argumente werden die Namen und Werte aller Konfigurationseinträge\n"
+"    angezeigt."
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+"    Mit einem Argument der Form sektion.name wird nur der Wert dieses\n"
+"    Konfigurationseintrages angezeigt."
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+"    Mit mehreren Argumenten werden die Namen und Werte aller passenden\n"
+"    Konfigurationseinträge angezeigt."
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
 msgstr ""
-"Zeigt die kombinierten Konfigurationswerte aller hgrc-Dateien an\n"
-"\n"
-"    Ohne Argumente werden die Namen und Werte aller Konfigurationseinträge\n"
-"    angezeigt.\n"
-"\n"
-"    Mit einem Argument der Form sektion.name wird nur der Wert dieses\n"
-"    Konfigurationseintrages angezeigt.\n"
-"\n"
-"    Mit mehreren Argumenten werden die Namen und Werte aller passenden\n"
-"    Konfigurationseinträge angezeigt.\n"
-"\n"
 "    Mit dem --debug Schalter wird der Dateiname und die Zeilennummer der\n"
 "    Definitionsquelle mit jedem Eintrag ausgegeben.\n"
 "    "
@@ -6657,23 +16096,20 @@
 msgid "only one config item permitted"
 msgstr "Nur ein Konfigurationseintrag ist erlaubt"
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr "Setzt die Vorgängerversionen des Arbeitsverzeichnisses manuell"
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
 msgstr ""
-"Setzt die Vorgängerversionen des Arbeitsverzeichnisses manuell\n"
-"\n"
-"    Die kann für externe Konversionswerkzeuge nützlich sein, sollte aber "
-"mit\n"
+"    Die kann für externe Konversionswerkzeuge nützlich sein, sollte aber mit\n"
 "    großer Vorsicht angewendet werden.\n"
 "    "
 
 msgid "show the contents of the current dirstate"
-msgstr ""
-"Zeigt die interne Repräsentation der aktuellen Änderungen (dirstate) an"
+msgstr "Zeigt die interne Repräsentation der aktuellen Änderungen (dirstate) an"
 
 #, python-format
 msgid "copy: %s -> %s\n"
@@ -6732,19 +16168,11 @@
 msgid " patch test failed!\n"
 msgstr " patch Test gescheitert\n"
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
-msgstr ""
-" (Aktuelles patch Werkzeug könnte mit patch inkompatibel or fehlkonfiguriert "
-"sein. Prüfe die .hgrc Datei!)\n"
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
-msgstr ""
-"Fehlschlag des internen patch Werkzeugs. Bitte melden Sie diesen Fehler bei "
-"http://www.selenic.com/mercurial/bts\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr " (Aktuelles patch Werkzeug könnte mit patch inkompatibel or fehlkonfiguriert sein. Prüfe die .hgrc Datei!)\n"
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
+msgstr "Fehlschlag des internen patch Werkzeugs. Bitte melden Sie diesen Fehler bei http://www.selenic.com/mercurial/bts\n"
 
 msgid "Checking commit editor...\n"
 msgstr "Prüfe Editor für Versionsmeldungen...\n"
@@ -6786,27 +16214,144 @@
 msgid "show how files match on given patterns"
 msgstr ""
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+#, fuzzy
+msgid "diff repository (or selected files)"
+msgstr ""
+"Zeigt Änderungen des Projektarchiv oder angegebener Dateien an\n"
+"\n"
+"    Zeigt Unterschiede von Dateien zwischen Revisionen im unified-diff-\n"
+"    Format an.\n"
+"\n"
+"    HINWEIS: diff kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit einer (der ersten wenn keine Revision angegeben ist)\n"
+"    Vorgängerversion vergleicht.\n"
+"\n"
+"    Bei Angabe zweier Revisionen als Parameter werden Unterschiede\n"
+"    zwischen diesen beiden angezeigt. Wenn nur eine Revision angegeben\n"
+"    wurde, wird diese mit dem Arbeitsverzeichnis verglichen. Sollte keine\n"
+"    Revision angegeben worden sein, wird das Arbeitsverzeichnis mit der\n"
+"    Vorgängerversion verglichen.\n"
+"\n"
+"    Ohne die Option -a vermeidet export den Vergleich von binären Dateien.\n"
+"    Mit -a wird der Vergleich in jedem Fall durchgeführt, wahrscheinlich mit\n"
+"    unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option --git um Vergleiche im git-erweiterten diff-Format zu\n"
+"    erzeugen. Zur weiteren Information ist \"hg help diff\" aufschlussreich.\n"
+"    "
+
+#, fuzzy
+msgid "    Show differences between revisions for the specified files."
+msgstr ""
+"Zeigt Änderungen des Projektarchiv oder angegebener Dateien an\n"
+"\n"
+"    Zeigt Unterschiede von Dateien zwischen Revisionen im unified-diff-\n"
+"    Format an.\n"
+"\n"
+"    HINWEIS: diff kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit einer (der ersten wenn keine Revision angegeben ist)\n"
+"    Vorgängerversion vergleicht.\n"
+"\n"
+"    Bei Angabe zweier Revisionen als Parameter werden Unterschiede\n"
+"    zwischen diesen beiden angezeigt. Wenn nur eine Revision angegeben\n"
+"    wurde, wird diese mit dem Arbeitsverzeichnis verglichen. Sollte keine\n"
+"    Revision angegeben worden sein, wird das Arbeitsverzeichnis mit der\n"
+"    Vorgängerversion verglichen.\n"
+"\n"
+"    Ohne die Option -a vermeidet export den Vergleich von binären Dateien.\n"
+"    Mit -a wird der Vergleich in jedem Fall durchgeführt, wahrscheinlich mit\n"
+"    unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option --git um Vergleiche im git-erweiterten diff-Format zu\n"
+"    erzeugen. Zur weiteren Information ist \"hg help diff\" aufschlussreich.\n"
+"    "
+
+#, fuzzy
+msgid "    Differences between files are shown using the unified diff format."
+msgstr ""
+"Zeigt Änderungen des Projektarchiv oder angegebener Dateien an\n"
+"\n"
+"    Zeigt Unterschiede von Dateien zwischen Revisionen im unified-diff-\n"
+"    Format an.\n"
+"\n"
+"    HINWEIS: diff kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit einer (der ersten wenn keine Revision angegeben ist)\n"
+"    Vorgängerversion vergleicht.\n"
+"\n"
+"    Bei Angabe zweier Revisionen als Parameter werden Unterschiede\n"
+"    zwischen diesen beiden angezeigt. Wenn nur eine Revision angegeben\n"
+"    wurde, wird diese mit dem Arbeitsverzeichnis verglichen. Sollte keine\n"
+"    Revision angegeben worden sein, wird das Arbeitsverzeichnis mit der\n"
+"    Vorgängerversion verglichen.\n"
+"\n"
+"    Ohne die Option -a vermeidet export den Vergleich von binären Dateien.\n"
+"    Mit -a wird der Vergleich in jedem Fall durchgeführt, wahrscheinlich mit\n"
+"    unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option --git um Vergleiche im git-erweiterten diff-Format zu\n"
+"    erzeugen. Zur weiteren Information ist \"hg help diff\" aufschlussreich.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
+"Zeigt Änderungen des Projektarchiv oder angegebener Dateien an\n"
+"\n"
+"    Zeigt Unterschiede von Dateien zwischen Revisionen im unified-diff-\n"
+"    Format an.\n"
+"\n"
+"    HINWEIS: diff kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit einer (der ersten wenn keine Revision angegeben ist)\n"
+"    Vorgängerversion vergleicht.\n"
+"\n"
+"    Bei Angabe zweier Revisionen als Parameter werden Unterschiede\n"
+"    zwischen diesen beiden angezeigt. Wenn nur eine Revision angegeben\n"
+"    wurde, wird diese mit dem Arbeitsverzeichnis verglichen. Sollte keine\n"
+"    Revision angegeben worden sein, wird das Arbeitsverzeichnis mit der\n"
+"    Vorgängerversion verglichen.\n"
+"\n"
+"    Ohne die Option -a vermeidet export den Vergleich von binären Dateien.\n"
+"    Mit -a wird der Vergleich in jedem Fall durchgeführt, wahrscheinlich mit\n"
+"    unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option --git um Vergleiche im git-erweiterten diff-Format zu\n"
+"    erzeugen. Zur weiteren Information ist \"hg help diff\" aufschlussreich.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+"Zeigt Änderungen des Projektarchiv oder angegebener Dateien an\n"
+"\n"
+"    Zeigt Unterschiede von Dateien zwischen Revisionen im unified-diff-\n"
+"    Format an.\n"
+"\n"
+"    HINWEIS: diff kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit einer (der ersten wenn keine Revision angegeben ist)\n"
+"    Vorgängerversion vergleicht.\n"
+"\n"
+"    Bei Angabe zweier Revisionen als Parameter werden Unterschiede\n"
+"    zwischen diesen beiden angezeigt. Wenn nur eine Revision angegeben\n"
+"    wurde, wird diese mit dem Arbeitsverzeichnis verglichen. Sollte keine\n"
+"    Revision angegeben worden sein, wird das Arbeitsverzeichnis mit der\n"
+"    Vorgängerversion verglichen.\n"
+"\n"
+"    Ohne die Option -a vermeidet export den Vergleich von binären Dateien.\n"
+"    Mit -a wird der Vergleich in jedem Fall durchgeführt, wahrscheinlich mit\n"
+"    unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option --git um Vergleiche im git-erweiterten diff-Format zu\n"
+"    erzeugen. Zur weiteren Information ist \"hg help diff\" aufschlussreich.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
@@ -6816,8 +16361,7 @@
 "    Zeigt Unterschiede von Dateien zwischen Revisionen im unified-diff-\n"
 "    Format an.\n"
 "\n"
-"    HINWEIS: diff kann bei Zusammenführungen unerwartete Resultate "
-"anzeigen,\n"
+"    HINWEIS: diff kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
 "    da es nur mit einer (der ersten wenn keine Revision angegeben ist)\n"
 "    Vorgängerversion vergleicht.\n"
 "\n"
@@ -6828,30 +16372,192 @@
 "    Vorgängerversion verglichen.\n"
 "\n"
 "    Ohne die Option -a vermeidet export den Vergleich von binären Dateien.\n"
-"    Mit -a wird der Vergleich in jedem Fall durchgeführt, wahrscheinlich "
-"mit\n"
+"    Mit -a wird der Vergleich in jedem Fall durchgeführt, wahrscheinlich mit\n"
 "    unerwünschtem Resultat.\n"
 "\n"
 "    Nutze die Option --git um Vergleiche im git-erweiterten diff-Format zu\n"
-"    erzeugen. Zur weiteren Information ist \"hg help diff\" "
-"aufschlussreich.\n"
-"    "
-
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+"    erzeugen. Zur weiteren Information ist \"hg help diff\" aufschlussreich.\n"
+"    "
+
+#, fuzzy
+msgid "dump the header and diffs for one or more changesets"
+msgstr ""
+"Gibt Kopfzeilen und Änderungsverlauf einer oder mehrerer Versionen aus\n"
+"\n"
+"    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
+"    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
+"\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit der ersten Vorgängerversion vergleicht.\n"
+"\n"
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    für jede ausgegebene Revision anhand einer Formatangabe erzeugt::\n"
+"\n"
+"      %%   literales \"%\" Zeichen\n"
+"      %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
+"      %N   Anzahl der generierten Patches\n"
+"      %R   Revisionnummer des Änderungssatzes\n"
+"      %b   Basisname des exportierten Archivs\n"
+"      %h   Kurzform der Prüfsumme des Änderungssatzes (12 Byte hexadezimal)\n"
+"      %n   laufende Nummer mit führenden Nullen, beginnend bei 1\n"
+"      %r   Revisionsnummer mit führenden Nullen\n"
+"\n"
+"    Ohne die Option -a/--text vermeidet export den Vergleich von binären\n"
+"    Dateien. Mit -a wird der Vergleich in jedem Fall durchgeführt,\n"
+"    wahrscheinlich mit unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option -g/--git um Vergleiche im git-erweiterten diff-Format\n"
+"    zu erzeugen. Siehe dazu auch \"hg help diff\".\n"
+"\n"
+"    Mit dem Schalter --switch-parent kann im Falle einer Zusammenführung\n"
+"    mit dem zweiten Vorfahren verglichen werden.\n"
+"    "
+
+#, fuzzy
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr ""
+"Gibt Kopfzeilen und Änderungsverlauf einer oder mehrerer Versionen aus\n"
+"\n"
+"    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
+"    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
+"\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit der ersten Vorgängerversion vergleicht.\n"
+"\n"
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    für jede ausgegebene Revision anhand einer Formatangabe erzeugt::\n"
+"\n"
+"      %%   literales \"%\" Zeichen\n"
+"      %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
+"      %N   Anzahl der generierten Patches\n"
+"      %R   Revisionnummer des Änderungssatzes\n"
+"      %b   Basisname des exportierten Archivs\n"
+"      %h   Kurzform der Prüfsumme des Änderungssatzes (12 Byte hexadezimal)\n"
+"      %n   laufende Nummer mit führenden Nullen, beginnend bei 1\n"
+"      %r   Revisionsnummer mit führenden Nullen\n"
+"\n"
+"    Ohne die Option -a/--text vermeidet export den Vergleich von binären\n"
+"    Dateien. Mit -a wird der Vergleich in jedem Fall durchgeführt,\n"
+"    wahrscheinlich mit unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option -g/--git um Vergleiche im git-erweiterten diff-Format\n"
+"    zu erzeugen. Siehe dazu auch \"hg help diff\".\n"
+"\n"
+"    Mit dem Schalter --switch-parent kann im Falle einer Zusammenführung\n"
+"    mit dem zweiten Vorfahren verglichen werden.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment.\n"
-"\n"
+"    changeset hash, parent(s) and commit comment."
+msgstr ""
+"Gibt Kopfzeilen und Änderungsverlauf einer oder mehrerer Versionen aus\n"
+"\n"
+"    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
+"    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
+"\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit der ersten Vorgängerversion vergleicht.\n"
+"\n"
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    für jede ausgegebene Revision anhand einer Formatangabe erzeugt::\n"
+"\n"
+"      %%   literales \"%\" Zeichen\n"
+"      %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
+"      %N   Anzahl der generierten Patches\n"
+"      %R   Revisionnummer des Änderungssatzes\n"
+"      %b   Basisname des exportierten Archivs\n"
+"      %h   Kurzform der Prüfsumme des Änderungssatzes (12 Byte hexadezimal)\n"
+"      %n   laufende Nummer mit führenden Nullen, beginnend bei 1\n"
+"      %r   Revisionsnummer mit führenden Nullen\n"
+"\n"
+"    Ohne die Option -a/--text vermeidet export den Vergleich von binären\n"
+"    Dateien. Mit -a wird der Vergleich in jedem Fall durchgeführt,\n"
+"    wahrscheinlich mit unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option -g/--git um Vergleiche im git-erweiterten diff-Format\n"
+"    zu erzeugen. Siehe dazu auch \"hg help diff\".\n"
+"\n"
+"    Mit dem Schalter --switch-parent kann im Falle einer Zusammenführung\n"
+"    mit dem zweiten Vorfahren verglichen werden.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+"Gibt Kopfzeilen und Änderungsverlauf einer oder mehrerer Versionen aus\n"
+"\n"
+"    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
+"    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
+"\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit der ersten Vorgängerversion vergleicht.\n"
+"\n"
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    für jede ausgegebene Revision anhand einer Formatangabe erzeugt::\n"
+"\n"
+"      %%   literales \"%\" Zeichen\n"
+"      %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
+"      %N   Anzahl der generierten Patches\n"
+"      %R   Revisionnummer des Änderungssatzes\n"
+"      %b   Basisname des exportierten Archivs\n"
+"      %h   Kurzform der Prüfsumme des Änderungssatzes (12 Byte hexadezimal)\n"
+"      %n   laufende Nummer mit führenden Nullen, beginnend bei 1\n"
+"      %r   Revisionsnummer mit führenden Nullen\n"
+"\n"
+"    Ohne die Option -a/--text vermeidet export den Vergleich von binären\n"
+"    Dateien. Mit -a wird der Vergleich in jedem Fall durchgeführt,\n"
+"    wahrscheinlich mit unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option -g/--git um Vergleiche im git-erweiterten diff-Format\n"
+"    zu erzeugen. Siehe dazu auch \"hg help diff\".\n"
+"\n"
+"    Mit dem Schalter --switch-parent kann im Falle einer Zusammenführung\n"
+"    mit dem zweiten Vorfahren verglichen werden.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows::\n"
-"\n"
+"    given using a format string. The formatting rules are as follows::"
+msgstr ""
+"Gibt Kopfzeilen und Änderungsverlauf einer oder mehrerer Versionen aus\n"
+"\n"
+"    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
+"    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
+"\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit der ersten Vorgängerversion vergleicht.\n"
+"\n"
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    für jede ausgegebene Revision anhand einer Formatangabe erzeugt::\n"
+"\n"
+"      %%   literales \"%\" Zeichen\n"
+"      %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
+"      %N   Anzahl der generierten Patches\n"
+"      %R   Revisionnummer des Änderungssatzes\n"
+"      %b   Basisname des exportierten Archivs\n"
+"      %h   Kurzform der Prüfsumme des Änderungssatzes (12 Byte hexadezimal)\n"
+"      %n   laufende Nummer mit führenden Nullen, beginnend bei 1\n"
+"      %r   Revisionsnummer mit führenden Nullen\n"
+"\n"
+"    Ohne die Option -a/--text vermeidet export den Vergleich von binären\n"
+"    Dateien. Mit -a wird der Vergleich in jedem Fall durchgeführt,\n"
+"    wahrscheinlich mit unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option -g/--git um Vergleiche im git-erweiterten diff-Format\n"
+"    zu erzeugen. Siehe dazu auch \"hg help diff\".\n"
+"\n"
+"    Mit dem Schalter --switch-parent kann im Falle einer Zusammenführung\n"
+"    mit dem zweiten Vorfahren verglichen werden.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      %%   literal \"%\" character\n"
 "      %H   changeset hash (40 bytes of hexadecimal)\n"
 "      %N   number of patches being generated\n"
@@ -6859,15 +16565,114 @@
 "      %b   basename of the exporting repository\n"
 "      %h   short-form changeset hash (12 bytes of hexadecimal)\n"
 "      %n   zero-padded sequence number, starting at 1\n"
-"      %r   zero-padded changeset revision number\n"
-"\n"
+"      %r   zero-padded changeset revision number"
+msgstr ""
+"Gibt Kopfzeilen und Änderungsverlauf einer oder mehrerer Versionen aus\n"
+"\n"
+"    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
+"    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
+"\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit der ersten Vorgängerversion vergleicht.\n"
+"\n"
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    für jede ausgegebene Revision anhand einer Formatangabe erzeugt::\n"
+"\n"
+"      %%   literales \"%\" Zeichen\n"
+"      %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
+"      %N   Anzahl der generierten Patches\n"
+"      %R   Revisionnummer des Änderungssatzes\n"
+"      %b   Basisname des exportierten Archivs\n"
+"      %h   Kurzform der Prüfsumme des Änderungssatzes (12 Byte hexadezimal)\n"
+"      %n   laufende Nummer mit führenden Nullen, beginnend bei 1\n"
+"      %r   Revisionsnummer mit führenden Nullen\n"
+"\n"
+"    Ohne die Option -a/--text vermeidet export den Vergleich von binären\n"
+"    Dateien. Mit -a wird der Vergleich in jedem Fall durchgeführt,\n"
+"    wahrscheinlich mit unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option -g/--git um Vergleiche im git-erweiterten diff-Format\n"
+"    zu erzeugen. Siehe dazu auch \"hg help diff\".\n"
+"\n"
+"    Mit dem Schalter --switch-parent kann im Falle einer Zusammenführung\n"
+"    mit dem zweiten Vorfahren verglichen werden.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Without the -a/--text option, export will avoid generating diffs\n"
 "    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
+"Gibt Kopfzeilen und Änderungsverlauf einer oder mehrerer Versionen aus\n"
+"\n"
+"    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
+"    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
+"\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit der ersten Vorgängerversion vergleicht.\n"
+"\n"
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    für jede ausgegebene Revision anhand einer Formatangabe erzeugt::\n"
+"\n"
+"      %%   literales \"%\" Zeichen\n"
+"      %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
+"      %N   Anzahl der generierten Patches\n"
+"      %R   Revisionnummer des Änderungssatzes\n"
+"      %b   Basisname des exportierten Archivs\n"
+"      %h   Kurzform der Prüfsumme des Änderungssatzes (12 Byte hexadezimal)\n"
+"      %n   laufende Nummer mit führenden Nullen, beginnend bei 1\n"
+"      %r   Revisionsnummer mit führenden Nullen\n"
+"\n"
+"    Ohne die Option -a/--text vermeidet export den Vergleich von binären\n"
+"    Dateien. Mit -a wird der Vergleich in jedem Fall durchgeführt,\n"
+"    wahrscheinlich mit unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option -g/--git um Vergleiche im git-erweiterten diff-Format\n"
+"    zu erzeugen. Siehe dazu auch \"hg help diff\".\n"
+"\n"
+"    Mit dem Schalter --switch-parent kann im Falle einer Zusammenführung\n"
+"    mit dem zweiten Vorfahren verglichen werden.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
+"Gibt Kopfzeilen und Änderungsverlauf einer oder mehrerer Versionen aus\n"
+"\n"
+"    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
+"    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
+"\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
+"    da es nur mit der ersten Vorgängerversion vergleicht.\n"
+"\n"
+"    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
+"    für jede ausgegebene Revision anhand einer Formatangabe erzeugt::\n"
+"\n"
+"      %%   literales \"%\" Zeichen\n"
+"      %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
+"      %N   Anzahl der generierten Patches\n"
+"      %R   Revisionnummer des Änderungssatzes\n"
+"      %b   Basisname des exportierten Archivs\n"
+"      %h   Kurzform der Prüfsumme des Änderungssatzes (12 Byte hexadezimal)\n"
+"      %n   laufende Nummer mit führenden Nullen, beginnend bei 1\n"
+"      %r   Revisionsnummer mit führenden Nullen\n"
+"\n"
+"    Ohne die Option -a/--text vermeidet export den Vergleich von binären\n"
+"    Dateien. Mit -a wird der Vergleich in jedem Fall durchgeführt,\n"
+"    wahrscheinlich mit unerwünschtem Resultat.\n"
+"\n"
+"    Nutze die Option -g/--git um Vergleiche im git-erweiterten diff-Format\n"
+"    zu erzeugen. Siehe dazu auch \"hg help diff\".\n"
+"\n"
+"    Mit dem Schalter --switch-parent kann im Falle einer Zusammenführung\n"
+"    mit dem zweiten Vorfahren verglichen werden.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    With the --switch-parent option, the diff will be against the\n"
 "    second parent. It can be useful to review a merge.\n"
 "    "
@@ -6877,8 +16682,7 @@
 "    Die angezeigten Daten in den Kopfzeilen sind: Autor,\n"
 "    Änderungssatz-Prüfsumme, Vorgängerversion(en) und Versionsmeldung.\n"
 "\n"
-"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate "
-"anzeigen,\n"
+"    HINWEIS: export kann bei Zusammenführungen unerwartete Resultate anzeigen,\n"
 "    da es nur mit der ersten Vorgängerversion vergleicht.\n"
 "\n"
 "    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
@@ -6913,16 +16717,21 @@
 msgid "exporting patch:\n"
 msgstr "Exportiere Patch:\n"
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
@@ -6934,16 +16743,23 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr "Entferne %s nicht: Datei ist nicht versioniert\n"
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr "Sucht ein Muster in angegebenen Dateien und Revisionen"
+
+msgid "    Search revisions of files for a regular expression."
+msgstr "    Durchsucht Dateien in der Versionshistorie nach einem gegebenen Muster."
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+"    Dieser Befehl unterscheidet sich von Unix grep, da es Reguläre Ausdrücke\n"
+"    in Python/Perl Format erwartet und ausserdem nur die übernommenen Revisionen\n"
+"    im Archiv durchsucht, nicht jedoch das Arbeitsverzeichnis."
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -6951,20 +16767,8 @@
 "    use the --all flag.\n"
 "    "
 msgstr ""
-"Sucht ein Muster in angegebenen Dateien und Revisionen\n"
-"\n"
-"    Durchsucht Dateien in der Versionshistorie nach einem gegebenen Muster.\n"
-"\n"
-"    Dieser Befehl unterscheidet sich von Unix grep, da es Reguläre "
-"Ausdrücke\n"
-"    in Python/Perl Format erwartet und ausserdem nur die übernommenen "
-"Revisionen\n"
-"    im Archiv durchsucht, nicht jedoch das Arbeitsverzeichnis.\n"
-"\n"
-"    Standardmäßig gibt grep den Dateinamen und die jüngste Revision einer "
-"Datei\n"
-"    aus, die das Suchmuster enthält. Mit der Option --all werden "
-"stattdessen\n"
+"    Standardmäßig gibt grep den Dateinamen und die jüngste Revision einer Datei\n"
+"    aus, die das Suchmuster enthält. Mit der Option --all werden stattdessen\n"
 "    alle Revisionen ausgegeben, in der das Muster hinzugefügt (\"+\") oder\n"
 "    entfernt (\"-\") wurde.\n"
 "    "
@@ -6973,28 +16777,177 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr "grep: Ungültiges Suchmuster: %s\n"
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
+#, fuzzy
+msgid "show current repository heads or show branch heads"
+msgstr ""
+"Zeigt die Köpfe des Archivs oder von Entwicklungszweigen\n"
+"\n"
+"    Ohne Argumente werden alle Köpfe des Archivs angezeigt.\n"
+"\n"
+"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise geht\n"
+"    die Entwicklung hier weiter und die Köpfe sind häufig Ziel von\n"
+"    Aktualisierungen und Zusammenführungen.\n"
+"\n"
+"    Wenn eine oder mehrere REV Argumente gegeben sind, werden die Köpfe von\n"
+"    den benannten Zweigen dieser Revisionen angezeigt. Der Name des Zweigs\n"
+"    wird auch das Zweigetikett der Revision genannt.\n"
+"\n"
+"    Zweigköpfe sind Revisionen eines bestimmten Zweigs, die keine Kinder\n"
+"    im selben Zweig besitzen. Dies kann ein \"echter\" Kopf sein, oder die\n"
+"    letzte Revision bevor ein neuer Zweig erstellt wurde. Falls kein Kopf\n"
+"    eines Zweigs ein echter Kopf ist, gilt der Zweig als inaktiv. Zweige\n"
+"    die mit dem Ãœbernahmeoption \"--close-branch\" geschlossen wurden,\n"
+"    werden nur mit dem -c/--closed Schalter angezeigt.\n"
+"\n"
+"    Bei Angabe einer STARTREV werden nur solche Köpfe (oder Zweigköpfe)\n"
+"    angezeigt, die Nachfahren der gegebenen Revision sind.\n"
+"    "
+
+#, fuzzy
+msgid "    With no arguments, show all repository head changesets."
+msgstr ""
+"Zeigt die Köpfe des Archivs oder von Entwicklungszweigen\n"
+"\n"
+"    Ohne Argumente werden alle Köpfe des Archivs angezeigt.\n"
+"\n"
+"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise geht\n"
+"    die Entwicklung hier weiter und die Köpfe sind häufig Ziel von\n"
+"    Aktualisierungen und Zusammenführungen.\n"
+"\n"
+"    Wenn eine oder mehrere REV Argumente gegeben sind, werden die Köpfe von\n"
+"    den benannten Zweigen dieser Revisionen angezeigt. Der Name des Zweigs\n"
+"    wird auch das Zweigetikett der Revision genannt.\n"
+"\n"
+"    Zweigköpfe sind Revisionen eines bestimmten Zweigs, die keine Kinder\n"
+"    im selben Zweig besitzen. Dies kann ein \"echter\" Kopf sein, oder die\n"
+"    letzte Revision bevor ein neuer Zweig erstellt wurde. Falls kein Kopf\n"
+"    eines Zweigs ein echter Kopf ist, gilt der Zweig als inaktiv. Zweige\n"
+"    die mit dem Ãœbernahmeoption \"--close-branch\" geschlossen wurden,\n"
+"    werden nur mit dem -c/--closed Schalter angezeigt.\n"
+"\n"
+"    Bei Angabe einer STARTREV werden nur solche Köpfe (oder Zweigköpfe)\n"
+"    angezeigt, die Nachfahren der gegebenen Revision sind.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
-"    for update and merge operations.\n"
-"\n"
+"    for update and merge operations."
+msgstr ""
+"Zeigt die Köpfe des Archivs oder von Entwicklungszweigen\n"
+"\n"
+"    Ohne Argumente werden alle Köpfe des Archivs angezeigt.\n"
+"\n"
+"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise geht\n"
+"    die Entwicklung hier weiter und die Köpfe sind häufig Ziel von\n"
+"    Aktualisierungen und Zusammenführungen.\n"
+"\n"
+"    Wenn eine oder mehrere REV Argumente gegeben sind, werden die Köpfe von\n"
+"    den benannten Zweigen dieser Revisionen angezeigt. Der Name des Zweigs\n"
+"    wird auch das Zweigetikett der Revision genannt.\n"
+"\n"
+"    Zweigköpfe sind Revisionen eines bestimmten Zweigs, die keine Kinder\n"
+"    im selben Zweig besitzen. Dies kann ein \"echter\" Kopf sein, oder die\n"
+"    letzte Revision bevor ein neuer Zweig erstellt wurde. Falls kein Kopf\n"
+"    eines Zweigs ein echter Kopf ist, gilt der Zweig als inaktiv. Zweige\n"
+"    die mit dem Ãœbernahmeoption \"--close-branch\" geschlossen wurden,\n"
+"    werden nur mit dem -c/--closed Schalter angezeigt.\n"
+"\n"
+"    Bei Angabe einer STARTREV werden nur solche Köpfe (oder Zweigköpfe)\n"
+"    angezeigt, die Nachfahren der gegebenen Revision sind.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with the specified changeset(s).\n"
-"\n"
+"    the named branch associated with the specified changeset(s)."
+msgstr ""
+"Zeigt die Köpfe des Archivs oder von Entwicklungszweigen\n"
+"\n"
+"    Ohne Argumente werden alle Köpfe des Archivs angezeigt.\n"
+"\n"
+"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise geht\n"
+"    die Entwicklung hier weiter und die Köpfe sind häufig Ziel von\n"
+"    Aktualisierungen und Zusammenführungen.\n"
+"\n"
+"    Wenn eine oder mehrere REV Argumente gegeben sind, werden die Köpfe von\n"
+"    den benannten Zweigen dieser Revisionen angezeigt. Der Name des Zweigs\n"
+"    wird auch das Zweigetikett der Revision genannt.\n"
+"\n"
+"    Zweigköpfe sind Revisionen eines bestimmten Zweigs, die keine Kinder\n"
+"    im selben Zweig besitzen. Dies kann ein \"echter\" Kopf sein, oder die\n"
+"    letzte Revision bevor ein neuer Zweig erstellt wurde. Falls kein Kopf\n"
+"    eines Zweigs ein echter Kopf ist, gilt der Zweig als inaktiv. Zweige\n"
+"    die mit dem Ãœbernahmeoption \"--close-branch\" geschlossen wurden,\n"
+"    werden nur mit dem -c/--closed Schalter angezeigt.\n"
+"\n"
+"    Bei Angabe einer STARTREV werden nur solche Köpfe (oder Zweigköpfe)\n"
+"    angezeigt, die Nachfahren der gegebenen Revision sind.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Branch heads are changesets on a named branch with no descendants on\n"
 "    the same branch. A branch head could be a \"true\" (repository) head,\n"
 "    or it could be the last changeset on that branch before it was\n"
 "    merged into another branch, or it could be the last changeset on the\n"
 "    branch before a new branch was created. If none of the branch heads\n"
-"    are true heads, the branch is considered inactive.\n"
-"\n"
+"    are true heads, the branch is considered inactive."
+msgstr ""
+"Zeigt die Köpfe des Archivs oder von Entwicklungszweigen\n"
+"\n"
+"    Ohne Argumente werden alle Köpfe des Archivs angezeigt.\n"
+"\n"
+"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise geht\n"
+"    die Entwicklung hier weiter und die Köpfe sind häufig Ziel von\n"
+"    Aktualisierungen und Zusammenführungen.\n"
+"\n"
+"    Wenn eine oder mehrere REV Argumente gegeben sind, werden die Köpfe von\n"
+"    den benannten Zweigen dieser Revisionen angezeigt. Der Name des Zweigs\n"
+"    wird auch das Zweigetikett der Revision genannt.\n"
+"\n"
+"    Zweigköpfe sind Revisionen eines bestimmten Zweigs, die keine Kinder\n"
+"    im selben Zweig besitzen. Dies kann ein \"echter\" Kopf sein, oder die\n"
+"    letzte Revision bevor ein neuer Zweig erstellt wurde. Falls kein Kopf\n"
+"    eines Zweigs ein echter Kopf ist, gilt der Zweig als inaktiv. Zweige\n"
+"    die mit dem Ãœbernahmeoption \"--close-branch\" geschlossen wurden,\n"
+"    werden nur mit dem -c/--closed Schalter angezeigt.\n"
+"\n"
+"    Bei Angabe einer STARTREV werden nur solche Köpfe (oder Zweigköpfe)\n"
+"    angezeigt, die Nachfahren der gegebenen Revision sind.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
+"    (see hg commit --close-branch)."
+msgstr ""
+"Zeigt die Köpfe des Archivs oder von Entwicklungszweigen\n"
+"\n"
+"    Ohne Argumente werden alle Köpfe des Archivs angezeigt.\n"
+"\n"
+"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise geht\n"
+"    die Entwicklung hier weiter und die Köpfe sind häufig Ziel von\n"
+"    Aktualisierungen und Zusammenführungen.\n"
+"\n"
+"    Wenn eine oder mehrere REV Argumente gegeben sind, werden die Köpfe von\n"
+"    den benannten Zweigen dieser Revisionen angezeigt. Der Name des Zweigs\n"
+"    wird auch das Zweigetikett der Revision genannt.\n"
+"\n"
+"    Zweigköpfe sind Revisionen eines bestimmten Zweigs, die keine Kinder\n"
+"    im selben Zweig besitzen. Dies kann ein \"echter\" Kopf sein, oder die\n"
+"    letzte Revision bevor ein neuer Zweig erstellt wurde. Falls kein Kopf\n"
+"    eines Zweigs ein echter Kopf ist, gilt der Zweig als inaktiv. Zweige\n"
+"    die mit dem Ãœbernahmeoption \"--close-branch\" geschlossen wurden,\n"
+"    werden nur mit dem -c/--closed Schalter angezeigt.\n"
+"\n"
+"    Bei Angabe einer STARTREV werden nur solche Köpfe (oder Zweigköpfe)\n"
+"    angezeigt, die Nachfahren der gegebenen Revision sind.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If STARTREV is specified, only those heads that are descendants of\n"
 "    STARTREV will be displayed.\n"
 "    "
@@ -7003,8 +16956,7 @@
 "\n"
 "    Ohne Argumente werden alle Köpfe des Archivs angezeigt.\n"
 "\n"
-"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise "
-"geht\n"
+"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise geht\n"
 "    die Entwicklung hier weiter und die Köpfe sind häufig Ziel von\n"
 "    Aktualisierungen und Zusammenführungen.\n"
 "\n"
@@ -7032,25 +16984,22 @@
 
 #, python-format
 msgid "no changes on branch %s containing %s are reachable from %s\n"
-msgstr ""
-"Keine Änderungen auf dem Zweig %s, die %s enthalten, sind von %s erreichbar\n"
+msgstr "Keine Änderungen auf dem Zweig %s, die %s enthalten, sind von %s erreichbar\n"
 
 #, python-format
 msgid "no changes on branch %s are reachable from %s\n"
 msgstr "Keine Änderungen auf dem Zweig %s sind von %s erreichbar\n"
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr "Zeigt die Hilfe für ein gegebenes Thema oder eine Hilfsübersicht"
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr "    Ohne Parameter wird eine Liste aller Befehle mit Kurzhilfe angezeigt."
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
-"Zeigt die Hilfe für ein gegebenes Thema oder eine Hilfsübersicht\n"
-"\n"
-"    Ohne Parameter wird eine Liste aller Befehle mit Kurzhilfe angezeigt.\n"
-"\n"
 "    Bei Angabe eines Themas, einer Erweiterung oder eines Befehls wird\n"
 "    detaillierte Hilfe zu diesem Thema angezeigt."
 
@@ -7061,8 +17010,7 @@
 msgstr "Nutze \"hg help\" für eine Liste aller Befehle"
 
 msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
-msgstr ""
-"Nutze \"hg help\" für eine Liste aller Befehle oder \"hg -v\" für Details"
+msgstr "Nutze \"hg help\" für eine Liste aller Befehle oder \"hg -v\" für Details"
 
 #, python-format
 msgid "use \"hg -v help%s\" to show aliases and global options"
@@ -7072,12 +17020,8 @@
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "Nutze \"hg -v help %s\" um globale Optionen anzuzeigen"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"Liste der Befehle:\n"
-"\n"
+msgid "list of commands:"
+msgstr "Liste der Befehle:"
 
 #, python-format
 msgid ""
@@ -7100,22 +17044,14 @@
 msgstr "keine Hilfe verfügbar"
 
 #, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
-msgstr ""
-"%s Erweiterung - %s\n"
-"\n"
+msgid "%s extension - %s"
+msgstr "%s Erweiterung - %s"
 
 msgid "Mercurial Distributed SCM\n"
 msgstr ""
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"Grundlegende Befehle:\n"
-"\n"
+msgid "basic commands:"
+msgstr "Grundlegende Befehle:"
 
 msgid "enabled extensions:"
 msgstr "Aktive Erweiterungen:"
@@ -7125,112 +17061,110 @@
 
 msgid ""
 "\n"
-"additional help topics:\n"
-"\n"
-msgstr ""
-"\n"
-"Zusätzliche Hilfethemen:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+"additional help topics:"
+msgstr ""
+"\n"
+"Zusätzliche Hilfethemen:"
+
+msgid "identify the working copy or specified revision"
+msgstr "Beschreibt die Arbeitskopie oder die angegebene Revision"
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    Ohne Revision wird eine Zusammenfassung des aktuellen Status des\n"
+"    Projektarchivs angezeigt."
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+"    Mit einem Pfad auf ein Projektverzeichnis oder ein Bündel wird eine\n"
+"    Abfrage auf dies andere Archiv/Bündel ausgeführt."
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
 "    this revision and a branch name for non-default branches.\n"
 "    "
 msgstr ""
-"Beschreibt die Arbeitskopie oder die angegebene Revision\n"
-"\n"
-"    Ohne Revision wird eine Zusammenfassung des aktuellen Status des\n"
-"    Projektarchivs angezeigt.\n"
-"\n"
-"    Mit einem Pfad auf ein Projektverzeichnis oder ein Bündel wird eine\n"
-"    Abfrage auf dies andere Archiv/Bündel ausgeführt.\n"
-"\n"
 "    Die Zusammenfassung beschreibt den Zustand des Projektarchivs unter\n"
-"    Nutzung von ein oder zwei Prüfsummenbezeichnern, gefolgt von einem \"+"
-"\"\n"
+"    Nutzung von ein oder zwei Prüfsummenbezeichnern, gefolgt von einem \"+\"\n"
 "    falls unversionierte Änderungen im Arbeitsverzeichnis vorliegen. Zudem\n"
 "    werden eine Liste von Tags dieser Revision ausgegeben und der Zweigname\n"
 "    falls nicht der 'default'-Zweig vorliegt.\n"
 "    "
 
-msgid ""
-"import an ordered set of patches\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr "Importiert eine Liste von Patches"
+
+msgid ""
 "    Import a list of patches and commit them individually (unless\n"
-"    --no-commit is specified).\n"
-"\n"
+"    --no-commit is specified)."
+msgstr ""
+"    Wendet die angegebenen Patches nacheinander an und übernimmt die Änderungen\n"
+"    ins Archiv (es sei denn die Option --no-commit ist angegeben)."
+
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+"    Falls aktuell lokale Änderungen im Arbeitsverzeichnis vorliegen, bricht\n"
+"    der Befehl ohne die Option -f/--force ab."
+
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
+"    message."
+msgstr ""
+"    Patches können direkt aus Emails importiert werden, sogar wenn sie in\n"
+"    einem Anhang (Mime Typ text/plain oder text/x-patch) vorliegen. Die\n"
+"    Absender- und Betreffszeile, sowie alle text/plain Abschnitte vor dem Patch\n"
+"    werden als Benutzername bzw. Versionsmeldung bei der Ãœbernahme verwendet."
+
+msgid ""
 "    If the imported patch was generated by hg export, user and\n"
 "    description from patch override values from message headers and\n"
 "    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
+"    override these."
+msgstr ""
+"    Falls der einzulesende Patch von \"hg export\" erzeugt wurde, werden\n"
+"    Benutzername und Versionsmeldung aus dem Patch und nicht aus der Email\n"
+"    verwendet. Die Optionen -m/--message und -u/--user überschreiben aber\n"
+"    auch diese Angaben."
+
+msgid ""
 "    If --exact is specified, import will set the working directory to\n"
 "    the parent of each patch before applying it, and will abort if the\n"
 "    resulting changeset has a different ID than the one recorded in\n"
 "    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
+"    deficiencies in the text patch format."
+msgstr ""
+"    Mit der Option --exact wird das Arbeitsverzeichnis vor jedem Patch auf\n"
+"    dessen Vorgängerversion gebracht. Nach Anwendung wird geprüft, ob der\n"
+"    neue Änderungssatz die gleiche Prüfsumme aufweist, wie der Patch. Falls\n"
+"    dies nicht so ist (im Falle von inkompatiblen Zeichensätzen oder anderen\n"
+"    Problemen mit dem Patch Format), wird die Operation abgebrochen."
+
+msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
+"    Mit der Option -s/--similarity werden Umbenennungen und Kopien auf\n"
+"    gleiche Weise wie mit dem Befehl \"hg addremove\" erkannt."
+
+msgid ""
 "    To read a patch from standard input, use \"-\" as the patch name. If\n"
 "    a URL is specified, the patch will be downloaded from it.\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
-"Importiert eine Liste von Patches\n"
-"\n"
-"    Wendet die angegebenen Patches nacheinander an und übernimmt die "
-"Änderungen\n"
-"    ins Archiv (es sei denn die Option --no-commit ist angegeben).\n"
-"\n"
-"    Falls aktuell lokale Änderungen im Arbeitsverzeichnis vorliegen, bricht\n"
-"    der Befehl ohne die Option -f/--force ab.\n"
-"\n"
-"    Patches können direkt aus Emails importiert werden, sogar wenn sie in\n"
-"    einem Anhang (Mime Typ text/plain oder text/x-patch) vorliegen. Die\n"
-"    Absender- und Betreffszeile, sowie alle text/plain Abschnitte vor dem "
-"Patch\n"
-"    werden als Benutzername bzw. Versionsmeldung bei der Ãœbernahme "
-"verwendet.\n"
-"\n"
-"    Falls der einzulesende Patch von \"hg export\" erzeugt wurde, werden\n"
-"    Benutzername und Versionsmeldung aus dem Patch und nicht aus der Email\n"
-"    verwendet. Die Optionen -m/--message und -u/--user überschreiben aber\n"
-"    auch diese Angaben.\n"
-"\n"
-"    Mit der Option --exact wird das Arbeitsverzeichnis vor jedem Patch auf\n"
-"    dessen Vorgängerversion gebracht. Nach Anwendung wird geprüft, ob der\n"
-"    neue Änderungssatz die gleiche Prüfsumme aufweist, wie der Patch. Falls\n"
-"    dies nicht so ist (im Falle von inkompatiblen Zeichensätzen oder "
-"anderen\n"
-"    Problemen mit dem Patch Format), wird die Operation abgebrochen.\n"
-"\n"
-"    Mit der Option -s/--similarity werden Umbenennungen und Kopien auf\n"
-"    gleiche Weise wie mit dem Befehl \"hg addremove\" erkannt.\n"
-"\n"
-"    Um einen Patch von der Standardeingabe zu lesen, kann der Dateiname \"-"
-"\"\n"
+"    Um einen Patch von der Standardeingabe zu lesen, kann der Dateiname \"-\"\n"
 "    verwendet werden. Falls eine URL angegeben ist, wird der Patch von dort\n"
 "    heruntergeladen. Siehe 'hg help dates' für eine Liste aller gültigen\n"
 "    Formate für -d/--date.\n"
@@ -7248,211 +17182,203 @@
 msgid "patch is damaged or loses information"
 msgstr "Prüfsumme stimmt nicht überein: Patch korrumpiert"
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr "Zeigt neue Revisionen in einer externen Quelle an"
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
-"    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
-"    See pull for valid source format details.\n"
-"    "
-msgstr ""
-"Zeigt neue Revisionen in einer externen Quelle an\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
 "    Zeigt alle neuen Änderungen an, die durch ein \"hg pull\" vom \n"
-"    angegebenen Pfad/URL oder dem 'default'-Pfad geholt werden würden.\n"
-"\n"
-"    Für entfernte Archive sorgt die Option --bundle dafür, dass die "
-"Änderungen\n"
-"    bei einem folgenden \"hg pull\" nicht ein zweites Mal geholt werden.\n"
-"\n"
+"    angegebenen Pfad/URL oder dem 'default'-Pfad geholt werden würden."
+
+msgid ""
+"    For remote repository, using --bundle avoids downloading the\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
+"    Für entfernte Archive sorgt die Option --bundle dafür, dass die Änderungen\n"
+"    bei einem folgenden \"hg pull\" nicht ein zweites Mal geholt werden."
+
+msgid ""
+"    See pull for valid source format details.\n"
+"    "
+msgstr ""
 "    Siehe \"hg help pull\" für gültige Angaben für die Quelle.\n"
 "    "
 
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr "Erzeugt ein neues Projektarchiv im angegebenen Verzeichnis"
+
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+"    Initialisiert ein neues Archiv im angegebenen Verzeichnis. Sollte das\n"
+"    angegebene Verzeichnis nicht existieren, wird es angelegt."
+
+msgid "    If no directory is given, the current directory is used."
+msgstr "    Ist kein Zielverzeichnis angegeben, wird das aktuelle genutzt."
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"Erzeugt ein neues Projektarchiv im angegebenen Verzeichnis\n"
-"\n"
-"    Initialisiert ein neues Archiv im angegebenen Verzeichnis. Sollte das\n"
-"    angegebene Verzeichnis nicht existieren, wird es angelegt.\n"
-"\n"
-"    Ist kein Zielverzeichnis angegeben, wird das aktuelle genutzt.\n"
-"\n"
 "    Es ist möglich eine ``ssh://`` URL als Ziel anzugeben.\n"
 "    Siehe 'hg help urls' für mehr Informationen.\n"
 "    "
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr "Suche Dateien mit bestimmtem Namen"
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+"    Gibt alle Dateien im Projektarchiv aus, deren Namen auf ein angegebenes\n"
+"    Muster passen."
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+"    Standardmäßig wird das gesamte Archiv durchsucht. Um die Suche auf das\n"
+"    aktuelle Verzeichnis und Unterverzeichnisse zu begrenzen, verwende\n"
+"    \"--include .\"."
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr "    Ohne angegebenes Suchmuster werden alle Dateinamen ausgegeben."
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
 "    contain whitespace as multiple filenames.\n"
 "    "
 msgstr ""
-"Suche Dateien mit bestimmtem Namen\n"
-"\n"
-"    Gibt alle Dateien im Projektarchiv aus, deren Namen auf ein angegebenes\n"
-"    Muster passen.\n"
-"\n"
-"    Standardmäßig wird das gesamte Archiv durchsucht. Um die Suche auf das\n"
-"    aktuelle Verzeichnis und Unterverzeichnisse zu begrenzen, verwende\n"
-"    \"--include .\".\n"
-"\n"
-"    Ohne angegebenes Suchmuster werden alle Dateinamen ausgegeben.\n"
-"\n"
 "    Um die Ausgabe besser in Verbindung mit \"xargs\" verwenden zu können,\n"
 "    sollte die Option \"-0\" (Null) in beiden Befehle angegeben werden.\n"
-"    Dadurch werden die Dateinamen mit einem Null-Byte getrennt, was "
-"Probleme\n"
+"    Dadurch werden die Dateinamen mit einem Null-Byte getrennt, was Probleme\n"
 "    mit Leerzeichen in Dateinamen vermeidet.\n"
 "    "
 
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
+msgid "show revision history of entire repository or files"
+msgstr "Zeigt die Revisionshistorie des Archivs oder von Dateien an"
+
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
+"    project."
+msgstr ""
+"    Gibt die Revisionshistorie der angegeben Dateien oder des ganzen\n"
+"    Projektes aus."
+
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
-"    If no revision range is specified, the default is tip:0 unless\n"
-"    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
-"    By default this command prints revision number and changeset id,\n"
-"    tags, non-trivial parents, user, date and time, and a summary for\n"
-"    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
-"    NOTE: 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:.\n"
-"    "
-msgstr ""
-"Zeigt die Revisionshistorie des Archivs oder von Dateien an\n"
-"\n"
-"    Gibt die Revisionshistorie der angegeben Dateien oder des ganzen\n"
-"    Projektes aus.\n"
-"\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
 "    Die Dateihistorie wird angezeigt ohne der Umbenennungs- oder Kopier-\n"
 "    historie zu folgen. Bei Angabe von -f/--follow mit einem Dateinamen\n"
 "    wird die Historie über Kopien und Umbenennungen hinweg verfolgt.\n"
 "    --follow ohne Dateinamen wird nur Vorläufer und Nachfolger ab der\n"
 "    Startrevision anzeigen. --follow-first folgt nur dem ersten Vorgänger\n"
-"    einer Zusammenführungsversion.\n"
-"\n"
-"    Solle kein Revisionsbereich angegeben sein, wird tip:0 angenommen, "
-"außer\n"
+"    einer Zusammenführungsversion."
+
+msgid ""
+"    If no revision range is specified, the default is tip:0 unless\n"
+"    --follow is set, in which case the working directory parent is\n"
+"    used as the starting revision."
+msgstr ""
+"    Solle kein Revisionsbereich angegeben sein, wird tip:0 angenommen, außer\n"
 "    --follow wurde angegeben. In diesem Fall wird die Vorgängerversion des\n"
-"    Arbeitsverzeichnis als Startversion genommen.\n"
-"\n"
-"    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
-"\n"
+"    Arbeitsverzeichnis als Startversion genommen."
+
+msgid ""
+"    By default this command prints revision number and changeset id,\n"
+"    tags, non-trivial parents, user, date and time, and a summary for\n"
+"    each commit. When the -v/--verbose switch is used, the list of\n"
+"    changed files and full commit message are shown."
+msgstr ""
 "    Standardmäßig wird folgendes ausgegeben: Änderungssatz-Id und\n"
 "    Prüfsumme, Marken, nicht triviale Vorgängerversionen, Nutzer,\n"
 "    Datum und Zeit und eine Zusammenfassung für jede Version. Bei Angabe\n"
 "    des -v/--verbose Schalters, wird eine Liste aller geänderten Dateien\n"
-"    und die komplette Versionsmeldung angezeigt.\n"
-"\n"
-"    HINWEIS: log -p/--patch kann ein unerwartetes Diff für "
-"Zusammenführungen\n"
-"    erzeugen, da es standardmäßig die Zusammenführungsversion mit der "
-"ersten\n"
+"    und die komplette Versionsmeldung angezeigt."
+
+msgid ""
+"    NOTE: 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:.\n"
+"    "
+msgstr ""
+"    HINWEIS: log -p/--patch kann ein unerwartetes Diff für Zusammenführungen\n"
+"    erzeugen, da es standardmäßig die Zusammenführungsversion mit der ersten\n"
 "    Vorgängerversion vergleicht. Auch in der Dateiliste werden nur Dateien\n"
 "    berücksichtigt, die zu BEIDEN Vorgängernversionen verschieden sind.\n"
 "    "
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr "Gibt das Manifest der angegebenen oder aktuellen Revision aus."
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+"    Gibt eine Liste aller Dateien unter Versionskontrolle für die angegebene\n"
+"    Revision aus. Wenn keine Revision angegeben wird, wird die erste\n"
+"    Vorgängerversion des Arbeitsverzeichnis genutzt oder die Spitze (tip)\n"
+"    falls keine Revision ausgecheckt ist."
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
-"Gibt das Manifest der angegebenen oder aktuellen Revision aus.\n"
-"\n"
-"    Gibt eine Liste aller Dateien unter Versionskontrolle für die "
-"angegebene\n"
-"    Revision aus. Wenn keine Revision angegeben wird, wird die erste\n"
-"    Vorgängerversion des Arbeitsverzeichnis genutzt oder die Spitze (tip)\n"
-"    falls keine Revision ausgecheckt ist.\n"
-"\n"
-"    Mit dem Schalter -v werden zusätzlich zum Dateinamen auch die Rechte "
-"und\n"
+"    Mit dem Schalter -v werden zusätzlich zum Dateinamen auch die Rechte und\n"
 "    der Dateityp (Verknüpfung/ausführbar) ausgegeben; mit --debug auch noch\n"
 "    die Prüfsumme.\n"
 "    "
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr "Führt das Arbeitsverzeichnis mit einer anderen Revision zusammen"
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+"    Wendet die Änderungen der angegebenen Revision (seit einem gemeinsamen\n"
+"    Vorfahr) im Arbeitsverzeichnis an."
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+"    Dateien, die in sich in einer der beiden Vorgängerversionen änderten\n"
+"    werden als verändert markiert und es muss 'hg commit' ausgeführt bevor\n"
+"    weitere Änderungen durchgeführt werden dürfen. Nach dem Übernehmen hat\n"
+"    die neue Revision zwei Vorfahren."
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
 "    explicit revision with which to merge with must be provided.\n"
 "    "
 msgstr ""
-"Führt das Arbeitsverzeichnis mit einer anderen Revision zusammen\n"
-"\n"
-"    Wendet die Änderungen der angegebenen Revision (seit einem gemeinsamen\n"
-"    Vorfahr) im Arbeitsverzeichnis an.\n"
-"\n"
-"    Dateien, die in sich in einer der beiden Vorgängerversionen änderten\n"
-"    werden als verändert markiert und es muss 'hg commit' ausgeführt bevor\n"
-"    weitere Änderungen durchgeführt werden dürfen. Nach dem Übernehmen hat\n"
-"    die neue Revision zwei Vorfahren.\n"
-"\n"
 "    Wenn keine Revision angegeben wird und der Vorgänger des Arbeits-\n"
-"    verzeichnisses eine Kopfversion eines Zweiges mit genau zwei Köpfen "
-"ist,\n"
+"    verzeichnisses eine Kopfversion eines Zweiges mit genau zwei Köpfen ist,\n"
 "    dann wird der andere Kopf für die Zusammenführung verwendet.\n"
-"    Bei mehr oder weniger als zwei Köpfen im Zweig muss eine andere "
-"Revision\n"
+"    Bei mehr oder weniger als zwei Köpfen im Zweig muss eine andere Revision\n"
 "    explizit angegeben werden.\n"
 "    "
 
@@ -7471,35 +17397,32 @@
 msgid "%s - use \"hg update\" instead"
 msgstr "%s - Nutze \"hg update\" stattdessen"
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
-msgstr ""
-"Arbeitsverzeichnis ist keine Kopfversion - Nutze \"hg update\" oder gib eine "
-"explizite Revision an"
-
-msgid ""
-"show changesets not found in destination\n"
-"\n"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
+msgstr "Arbeitsverzeichnis ist keine Kopfversion - Nutze \"hg update\" oder gib eine explizite Revision an"
+
+msgid "show changesets not found in destination"
+msgstr "Zeigt Änderungssätze, die nicht im Zielarchiv sind"
+
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
-"    See pull for valid destination format details.\n"
-"    "
-msgstr ""
-"Zeigt Änderungssätze, die nicht im Zielarchiv sind\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
 "    Zeigt alle Änderungssätze des lokalen Archivs, die nicht im angegebenen\n"
 "    Zielarchiv oder dem Standardziel vorhanden sind. Dies sind genau jene,\n"
-"    die durch ein 'hg push' übertragen werden würden.\n"
-"\n"
+"    die durch ein 'hg push' übertragen werden würden."
+
+msgid ""
+"    See pull for valid destination format details.\n"
+"    "
+msgstr ""
 "    Siehe Hilfe zu 'pull' für das Format der Zieladresse.\n"
 "    "
 
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr "Zeigt die Vorgänger des Arbeitsverzeichnisses oder einer Revision"
+
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -7507,8 +17430,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"Zeigt die Vorgänger des Arbeitsverzeichnisses oder einer Revision\n"
-"\n"
 "    Gibt die Vorgängerversion(en) des Arbeitsverzeichnisses aus. Bei\n"
 "    Angabe einer Revision via -r/--rev, werden die Vorgänger dieser\n"
 "    Version ausgegeben. Bei Angabe einer Datei wird die Version\n"
@@ -7524,28 +17445,28 @@
 msgid "'%s' not found in manifest!"
 msgstr "'%s' nicht im Manifest gefunden!"
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr "Zeigt Adresse für Aliasnamen von entfernten Projektarchiven an"
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+"    Zeigt die Adressdefinition des Kurznamens NAME an. Wenn kein Name gegeben\n"
+"    ist, werden alle Alias-Definitionen angezeigt."
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"Zeigt Adresse für Aliasnamen von entfernten Projektarchiven an\n"
-"\n"
-"    Zeigt die Adressdefinition des Kurznamens NAME an. Wenn kein Name "
-"gegeben\n"
-"    ist, werden alle Alias-Definitionen angezeigt.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
 "    Kurznamen für entfernte Archive werden im Abschnitt [paths] der Dateien\n"
 "    /etc/mercurial/hgrc und $HOME/.hgrc definiert. Wenn der Befehl in einem\n"
-"    Projektarchiv ausgeführt wird, wird auch die .hg/hgrc durchsucht.\n"
-"\n"
+"    Projektarchiv ausgeführt wird, wird auch die .hg/hgrc durchsucht."
+
+msgid ""
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    Siehe auch 'hg help urls' für das Format von Adressangaben.\n"
 "    "
 
@@ -7556,27 +17477,101 @@
 msgstr "Aktualisierung nicht durchgeführt, da neue Köpfe hinzugefügt wurden\n"
 
 msgid "(run 'hg heads' to see heads, 'hg merge' to merge)\n"
-msgstr ""
-"(\"hg heads\" zeigt alle Köpfe, nutze \"hg merge\" um sie zusammenzuführen)\n"
+msgstr "(\"hg heads\" zeigt alle Köpfe, nutze \"hg merge\" um sie zusammenzuführen)\n"
 
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(führe \"hg update\" aus, um ein Arbeitsverzeichnis zu erstellen)\n"
 
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+#, fuzzy
+msgid "pull changes from the specified source"
+msgstr ""
+"Holt Änderungen aus dem angegebenen Projektarchiv\n"
+"\n"
+"    Überträgt Änderungen aus einem entfernten Archiv in das lokale.\n"
+"\n"
+"    Dabei werden alle Änderungen vom Archiv am angegebenen Pfad oder\n"
+"    URL gesucht und dem lokalen Archiv hinzugefügt. Standardmäßig\n"
+"    wird die Kopie des Projektes im Arbeitsverzeichnis nicht aktualisiert.\n"
+"\n"
+"    Um zu sehen, was beim nächsten 'pull' geholt würde, ohne dem Archiv\n"
+"    tatsächlich Änderungen hinzuzufügen, nutze \"hg incoming\". Wenn diese\n"
+"    dann hinzugefügt werden sollen, kann man mit \"pull -r X\" als X der\n"
+"    letzte von incoming gezeigte Änderungssatz angegeben werden.\n"
+"    Ohne Angabe der QUELLE wird standardmäßig der 'default'-Pfad genutzt.\n"
+"    Siehe Hilfe zu 'paths' zu Pfad-Kurznamen und 'urls' für erlaubte\n"
+"    Formate für die Quellangabe.\n"
+"    "
+
+#, fuzzy
+msgid "    Pull changes from a remote repository to a local one."
+msgstr ""
+"Holt Änderungen aus dem angegebenen Projektarchiv\n"
+"\n"
+"    Überträgt Änderungen aus einem entfernten Archiv in das lokale.\n"
+"\n"
+"    Dabei werden alle Änderungen vom Archiv am angegebenen Pfad oder\n"
+"    URL gesucht und dem lokalen Archiv hinzugefügt. Standardmäßig\n"
+"    wird die Kopie des Projektes im Arbeitsverzeichnis nicht aktualisiert.\n"
+"\n"
+"    Um zu sehen, was beim nächsten 'pull' geholt würde, ohne dem Archiv\n"
+"    tatsächlich Änderungen hinzuzufügen, nutze \"hg incoming\". Wenn diese\n"
+"    dann hinzugefügt werden sollen, kann man mit \"pull -r X\" als X der\n"
+"    letzte von incoming gezeigte Änderungssatz angegeben werden.\n"
+"    Ohne Angabe der QUELLE wird standardmäßig der 'default'-Pfad genutzt.\n"
+"    Siehe Hilfe zu 'paths' zu Pfad-Kurznamen und 'urls' für erlaubte\n"
+"    Formate für die Quellangabe.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
+"Holt Änderungen aus dem angegebenen Projektarchiv\n"
+"\n"
+"    Überträgt Änderungen aus einem entfernten Archiv in das lokale.\n"
+"\n"
+"    Dabei werden alle Änderungen vom Archiv am angegebenen Pfad oder\n"
+"    URL gesucht und dem lokalen Archiv hinzugefügt. Standardmäßig\n"
+"    wird die Kopie des Projektes im Arbeitsverzeichnis nicht aktualisiert.\n"
+"\n"
+"    Um zu sehen, was beim nächsten 'pull' geholt würde, ohne dem Archiv\n"
+"    tatsächlich Änderungen hinzuzufügen, nutze \"hg incoming\". Wenn diese\n"
+"    dann hinzugefügt werden sollen, kann man mit \"pull -r X\" als X der\n"
+"    letzte von incoming gezeigte Änderungssatz angegeben werden.\n"
+"    Ohne Angabe der QUELLE wird standardmäßig der 'default'-Pfad genutzt.\n"
+"    Siehe Hilfe zu 'paths' zu Pfad-Kurznamen und 'urls' für erlaubte\n"
+"    Formate für die Quellangabe.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
+"Holt Änderungen aus dem angegebenen Projektarchiv\n"
+"\n"
+"    Überträgt Änderungen aus einem entfernten Archiv in das lokale.\n"
+"\n"
+"    Dabei werden alle Änderungen vom Archiv am angegebenen Pfad oder\n"
+"    URL gesucht und dem lokalen Archiv hinzugefügt. Standardmäßig\n"
+"    wird die Kopie des Projektes im Arbeitsverzeichnis nicht aktualisiert.\n"
+"\n"
+"    Um zu sehen, was beim nächsten 'pull' geholt würde, ohne dem Archiv\n"
+"    tatsächlich Änderungen hinzuzufügen, nutze \"hg incoming\". Wenn diese\n"
+"    dann hinzugefügt werden sollen, kann man mit \"pull -r X\" als X der\n"
+"    letzte von incoming gezeigte Änderungssatz angegeben werden.\n"
+"    Ohne Angabe der QUELLE wird standardmäßig der 'default'-Pfad genutzt.\n"
+"    Siehe Hilfe zu 'paths' zu Pfad-Kurznamen und 'urls' für erlaubte\n"
+"    Formate für die Quellangabe.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If SOURCE is omitted, the 'default' path will be used.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
@@ -7598,23 +17593,132 @@
 "    Formate für die Quellangabe.\n"
 "    "
 
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the given destination.\n"
-"\n"
+#, fuzzy
+msgid "push changes to the specified destination"
+msgstr ""
+"Überträgt lokale Änderungen in das angegebene Ziel\n"
+"\n"
+"    Dies ist das Gegenteil der 'pull' Operation. Die lokalen Änderungen\n"
+"    des aktuellen Archivs werden in ein anderes übertragen. Bei lokalem\n"
+"    Ziel ist diese Aktion identisch zu einem 'hg pull' von diesem Archiv zum\n"
+"    aktuellen.\n"
+"\n"
+"    Im Regelfall wird \"hg push\" die Ausführung verweigern, wenn das\n"
+"    Resultat die Anzahl der Kopfversionen im entfernten Archiv erhöht, da\n"
+"    dies normalerweise bedeutet, dass der Nutzer vergessen hat vor der\n"
+"    Übertragung die entfernten Änderungen zu holen und zusammenzuführen.\n"
+"\n"
+"    Bei Nutzung von -r/--rev wird die benannte Revision mit allen Vorgängern\n"
+"    in das entfernte Archiv übertragen.\n"
+"\n"
+"    Für wichtige Details zu ``ssh://``-URLS kann die URL-Hilfe zu Rate gezogen\n"
+"    werden. Beim Weglassen des ZIELs wird standardmäßig der 'default'-Pfad\n"
+"    genutzt. Weitere Hilfe gibt unter 'hg help urls'.\n"
+"    "
+
+#, fuzzy
+msgid "    Push changes from the local repository to the given destination."
+msgstr ""
+"Überträgt lokale Änderungen in das angegebene Ziel\n"
+"\n"
+"    Dies ist das Gegenteil der 'pull' Operation. Die lokalen Änderungen\n"
+"    des aktuellen Archivs werden in ein anderes übertragen. Bei lokalem\n"
+"    Ziel ist diese Aktion identisch zu einem 'hg pull' von diesem Archiv zum\n"
+"    aktuellen.\n"
+"\n"
+"    Im Regelfall wird \"hg push\" die Ausführung verweigern, wenn das\n"
+"    Resultat die Anzahl der Kopfversionen im entfernten Archiv erhöht, da\n"
+"    dies normalerweise bedeutet, dass der Nutzer vergessen hat vor der\n"
+"    Übertragung die entfernten Änderungen zu holen und zusammenzuführen.\n"
+"\n"
+"    Bei Nutzung von -r/--rev wird die benannte Revision mit allen Vorgängern\n"
+"    in das entfernte Archiv übertragen.\n"
+"\n"
+"    Für wichtige Details zu ``ssh://``-URLS kann die URL-Hilfe zu Rate gezogen\n"
+"    werden. Beim Weglassen des ZIELs wird standardmäßig der 'default'-Pfad\n"
+"    genutzt. Weitere Hilfe gibt unter 'hg help urls'.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
+"    current one."
+msgstr ""
+"Überträgt lokale Änderungen in das angegebene Ziel\n"
+"\n"
+"    Dies ist das Gegenteil der 'pull' Operation. Die lokalen Änderungen\n"
+"    des aktuellen Archivs werden in ein anderes übertragen. Bei lokalem\n"
+"    Ziel ist diese Aktion identisch zu einem 'hg pull' von diesem Archiv zum\n"
+"    aktuellen.\n"
+"\n"
+"    Im Regelfall wird \"hg push\" die Ausführung verweigern, wenn das\n"
+"    Resultat die Anzahl der Kopfversionen im entfernten Archiv erhöht, da\n"
+"    dies normalerweise bedeutet, dass der Nutzer vergessen hat vor der\n"
+"    Übertragung die entfernten Änderungen zu holen und zusammenzuführen.\n"
+"\n"
+"    Bei Nutzung von -r/--rev wird die benannte Revision mit allen Vorgängern\n"
+"    in das entfernte Archiv übertragen.\n"
+"\n"
+"    Für wichtige Details zu ``ssh://``-URLS kann die URL-Hilfe zu Rate gezogen\n"
+"    werden. Beim Weglassen des ZIELs wird standardmäßig der 'default'-Pfad\n"
+"    genutzt. Weitere Hilfe gibt unter 'hg help urls'.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    By default, push will refuse to run if it detects the result would\n"
 "    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
+"Überträgt lokale Änderungen in das angegebene Ziel\n"
+"\n"
+"    Dies ist das Gegenteil der 'pull' Operation. Die lokalen Änderungen\n"
+"    des aktuellen Archivs werden in ein anderes übertragen. Bei lokalem\n"
+"    Ziel ist diese Aktion identisch zu einem 'hg pull' von diesem Archiv zum\n"
+"    aktuellen.\n"
+"\n"
+"    Im Regelfall wird \"hg push\" die Ausführung verweigern, wenn das\n"
+"    Resultat die Anzahl der Kopfversionen im entfernten Archiv erhöht, da\n"
+"    dies normalerweise bedeutet, dass der Nutzer vergessen hat vor der\n"
+"    Übertragung die entfernten Änderungen zu holen und zusammenzuführen.\n"
+"\n"
+"    Bei Nutzung von -r/--rev wird die benannte Revision mit allen Vorgängern\n"
+"    in das entfernte Archiv übertragen.\n"
+"\n"
+"    Für wichtige Details zu ``ssh://``-URLS kann die URL-Hilfe zu Rate gezogen\n"
+"    werden. Beim Weglassen des ZIELs wird standardmäßig der 'default'-Pfad\n"
+"    genutzt. Weitere Hilfe gibt unter 'hg help urls'.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
+"    be pushed to the remote repository."
+msgstr ""
+"Überträgt lokale Änderungen in das angegebene Ziel\n"
+"\n"
+"    Dies ist das Gegenteil der 'pull' Operation. Die lokalen Änderungen\n"
+"    des aktuellen Archivs werden in ein anderes übertragen. Bei lokalem\n"
+"    Ziel ist diese Aktion identisch zu einem 'hg pull' von diesem Archiv zum\n"
+"    aktuellen.\n"
+"\n"
+"    Im Regelfall wird \"hg push\" die Ausführung verweigern, wenn das\n"
+"    Resultat die Anzahl der Kopfversionen im entfernten Archiv erhöht, da\n"
+"    dies normalerweise bedeutet, dass der Nutzer vergessen hat vor der\n"
+"    Übertragung die entfernten Änderungen zu holen und zusammenzuführen.\n"
+"\n"
+"    Bei Nutzung von -r/--rev wird die benannte Revision mit allen Vorgängern\n"
+"    in das entfernte Archiv übertragen.\n"
+"\n"
+"    Für wichtige Details zu ``ssh://``-URLS kann die URL-Hilfe zu Rate gezogen\n"
+"    werden. Beim Weglassen des ZIELs wird standardmäßig der 'default'-Pfad\n"
+"    genutzt. Weitere Hilfe gibt unter 'hg help urls'.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Please see 'hg help urls' for important details about ``ssh://``\n"
 "    URLs. If DESTINATION is omitted, a default path will be used.\n"
 "    "
@@ -7623,8 +17727,7 @@
 "\n"
 "    Dies ist das Gegenteil der 'pull' Operation. Die lokalen Änderungen\n"
 "    des aktuellen Archivs werden in ein anderes übertragen. Bei lokalem\n"
-"    Ziel ist diese Aktion identisch zu einem 'hg pull' von diesem Archiv "
-"zum\n"
+"    Ziel ist diese Aktion identisch zu einem 'hg pull' von diesem Archiv zum\n"
 "    aktuellen.\n"
 "\n"
 "    Im Regelfall wird \"hg push\" die Ausführung verweigern, wenn das\n"
@@ -7632,8 +17735,7 @@
 "    dies normalerweise bedeutet, dass der Nutzer vergessen hat vor der\n"
 "    Übertragung die entfernten Änderungen zu holen und zusammenzuführen.\n"
 "\n"
-"    Bei Nutzung von -r/--rev wird die benannte Revision mit allen "
-"Vorgängern\n"
+"    Bei Nutzung von -r/--rev wird die benannte Revision mit allen Vorgängern\n"
 "    in das entfernte Archiv übertragen.\n"
 "\n"
 "    Für wichtige Details zu ``ssh://``-URLS kann die URL-Hilfe zu Rate gezogen\n"
@@ -7645,79 +17747,75 @@
 msgid "pushing to %s\n"
 msgstr "Ãœbertrage nach %s\n"
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr "Setzt eine unterbrochene Transaktion zurück"
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr "    Setzt ein unterbrochenes Übernehmen (commit) oder Abholen (pull) zurück."
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
-"Setzt eine unterbrochene Transaktion zurück\n"
-"\n"
-"    Setzt ein unterbrochenes Ãœbernehmen (commit) oder Abholen (pull) "
-"zurück.\n"
-"\n"
-"    Der ungültige Status durch die Unterbrechung wird repariert. Dies "
-"sollte\n"
+"    Der ungültige Status durch die Unterbrechung wird repariert. Dies sollte\n"
 "    nur dann nötig sein, wenn eine Meldung von Mercurial es vorschlägt.\n"
 "    "
 
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr "Entfernt die angegebenen Dateien in der nächsten Version"
+
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr "    Merkt die benannten Dateien für die Entfernung aus dem Archiv vor."
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+"    Dabei werden nur Dateien aus dem aktuellen Zweig gelöscht, nicht aus\n"
+"    der gesamten Projekthistorie. Option -A/--after kann genutzt werden,\n"
+"    um Dateien zu entfernen, die bereits gelöscht wurden, -f/--force kann\n"
+"    genutzt werden, um die Löschung zu erzwingen. -Af entfernt Dateien aus\n"
+"    der nächsten Revision, ohne sie zu löschen"
+
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
-"             A  C  M  !\n"
-"      none   W  RD W  R\n"
-"      -f     R  RD RD R\n"
-"      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
-msgstr ""
-"Entfernt die angegebenen Dateien in der nächsten Version\n"
-"\n"
-"    Merkt die benannten Dateien für die Entfernung aus dem Archiv vor.\n"
-"\n"
-"    Dabei werden nur Dateien aus dem aktuellen Zweig gelöscht, nicht aus\n"
-"    der gesamten Projekthistorie. Option -A/--after kann genutzt werden,\n"
-"    um Dateien zu entfernen, die bereits gelöscht wurden, -f/--force kann\n"
-"    genutzt werden, um die Löschung zu erzwingen. -Af entfernt Dateien aus\n"
-"    der nächsten Revision, ohne sie zu löschen\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
 "    Die folgende Tabelle beschreibt detailliert das Verhalten von 'remove'\n"
 "    für unterschiedliche Dateizustände (Spalten) und Optionskombinationen\n"
 "    (Reihen). Die Dateizustände sind Hinzugefügt (A), Unverändert (C),\n"
 "    Verändert (M) und Fehlend (!) (wie von 'hg status' angezeigt). Die\n"
 "    Aktionen sind Warnen, Entfernen (aus dem Zweig) und Löschen\n"
-"    (von der Festplatte)::\n"
-"\n"
+"    (von der Festplatte)::"
+
+msgid ""
+"             A  C  M  !\n"
+"      none   W  RD W  R\n"
+"      -f     R  RD RD R\n"
+"      -A     W  W  W  R\n"
+"      -Af    R  R  R  R"
+msgstr ""
 "             A  C  M  !\n"
 "      keine  W  EL W  E\n"
 "      -f     E  EL EL E\n"
 "      -A     W  W  W  E\n"
-"      -Af    E  E  E  E\n"
-"\n"
+"      -Af    E  E  E  E"
+
+msgid ""
+"    This command schedules the files to be removed at the next commit.\n"
+"    To undo a remove before that, see hg revert.\n"
+"    "
+msgstr ""
 "    Die Dateien werden im Projektarchiv beim nächsten Übernehmen (commit)\n"
-"    entfernt. Um diese Aktion vorher rückgängig zu machen, siehe 'hg "
-"revert'.\n"
+"    entfernt. Um diese Aktion vorher rückgängig zu machen, siehe 'hg revert'.\n"
 "    "
 
 #, python-format
@@ -7737,67 +17835,185 @@
 msgid "has been marked for add"
 msgstr "Wurde als hinzugefügt markiert"
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr "Benennt Dateien um; äquivalent zu \"copy\" und \"remove\""
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
-"    This command takes effect at the next commit. To undo a rename\n"
-"    before that, see hg revert.\n"
-"    "
-msgstr ""
-"Benennt Dateien um; äquivalent zu \"copy\" und \"remove\"\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
 "    Erstellt das Ziel als neue Datei mit der Versionshistorie der Quelle.\n"
 "    Die Quelle wird ausserdem als gelöscht markiert. Wenn mehrere Quellen\n"
-"    angegeben sind, muss das Ziel ein Verzeichnis sein.\n"
-"\n"
-"    Normalerweise kopiert dieser Befehl auch den Inhalt der Datei wie sie\n"
-"    im Arbeitsverzeichnis vorliegt. Existiert das Ziel jedoch schon, so "
-"kann\n"
-"    dieses durch Angabe der Option --after/-A als Kopie nachträglich "
-"markiert\n"
-"    werden.\n"
-"\n"
-"    Die neue Datei wird wie üblich nicht sofort übernommen, sondern "
-"existiert\n"
+"    angegeben sind, muss das Ziel ein Verzeichnis sein."
+
+msgid ""
+"    This command takes effect at the next commit. To undo a rename\n"
+"    before that, see hg revert.\n"
+"    "
+msgstr ""
+"    Die neue Datei wird wie üblich nicht sofort übernommen, sondern existiert\n"
 "    als lokale Änderung im Arbeitsverzeichnis. Die Umbenennung kann durch\n"
 "    \"hg revert\" rückgängig gemacht werden.\n"
 "    "
 
-msgid ""
-"retry file merges from a merge or update\n"
-"\n"
+#, fuzzy
+msgid "retry file merges from a merge or update"
+msgstr ""
+"Wiederholt eine Dateizusammenführung oder Aktualisierung\n"
+"\n"
+"    Der Prozess, zwei Versionen automatisch zusammenzuführen (nach expliziter\n"
+"    Zusammenführung oder nach Aktualisierung mit lokalen Änderungen), wird\n"
+"    erneut auf die ursprünglichen Versionen angewendet.\n"
+"    Dies überschreibt manuelle Versuche, den Konflikt zu lösen. Damit dies\n"
+"    nicht geschieht (und damit ein Übernehmen der Änderungen zugelassen\n"
+"    wird), müssen die Dateien mit der Option -m/--mark als manuell gelöst\n"
+"    markiert werden.\n"
+"\n"
+"    Man kann entweder eine Liste von zu bearbeitenden Dateien angeben, oder\n"
+"    mit der Option -a/--all alle konfliktbehafteten Dateien auswählen.\n"
+"\n"
+"    Der aktuelle Status wird mit -l/--list angezeigt. Die dabei verwendeten\n"
+"    Zeichen bedeuten::\n"
+"\n"
+"      U = noch konfliktbehaftet (unresolved)\n"
+"      R = konfliktfrei (resolved)\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This command can cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge.\n"
-"\n"
+"    revisions preserved from the last update or merge."
+msgstr ""
+"Wiederholt eine Dateizusammenführung oder Aktualisierung\n"
+"\n"
+"    Der Prozess, zwei Versionen automatisch zusammenzuführen (nach expliziter\n"
+"    Zusammenführung oder nach Aktualisierung mit lokalen Änderungen), wird\n"
+"    erneut auf die ursprünglichen Versionen angewendet.\n"
+"    Dies überschreibt manuelle Versuche, den Konflikt zu lösen. Damit dies\n"
+"    nicht geschieht (und damit ein Übernehmen der Änderungen zugelassen\n"
+"    wird), müssen die Dateien mit der Option -m/--mark als manuell gelöst\n"
+"    markiert werden.\n"
+"\n"
+"    Man kann entweder eine Liste von zu bearbeitenden Dateien angeben, oder\n"
+"    mit der Option -a/--all alle konfliktbehafteten Dateien auswählen.\n"
+"\n"
+"    Der aktuelle Status wird mit -l/--list angezeigt. Die dabei verwendeten\n"
+"    Zeichen bedeuten::\n"
+"\n"
+"      U = noch konfliktbehaftet (unresolved)\n"
+"      R = konfliktfrei (resolved)\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If a conflict is resolved manually, please note that the changes\n"
 "    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
+"    -m/--mark switch should be used to mark the file as resolved."
+msgstr ""
+"Wiederholt eine Dateizusammenführung oder Aktualisierung\n"
+"\n"
+"    Der Prozess, zwei Versionen automatisch zusammenzuführen (nach expliziter\n"
+"    Zusammenführung oder nach Aktualisierung mit lokalen Änderungen), wird\n"
+"    erneut auf die ursprünglichen Versionen angewendet.\n"
+"    Dies überschreibt manuelle Versuche, den Konflikt zu lösen. Damit dies\n"
+"    nicht geschieht (und damit ein Übernehmen der Änderungen zugelassen\n"
+"    wird), müssen die Dateien mit der Option -m/--mark als manuell gelöst\n"
+"    markiert werden.\n"
+"\n"
+"    Man kann entweder eine Liste von zu bearbeitenden Dateien angeben, oder\n"
+"    mit der Option -a/--all alle konfliktbehafteten Dateien auswählen.\n"
+"\n"
+"    Der aktuelle Status wird mit -l/--list angezeigt. Die dabei verwendeten\n"
+"    Zeichen bedeuten::\n"
+"\n"
+"      U = noch konfliktbehaftet (unresolved)\n"
+"      R = konfliktfrei (resolved)\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    You can specify a set of files to operate on, or use the -a/-all\n"
-"    switch to select all unresolved files.\n"
-"\n"
+"    switch to select all unresolved files."
+msgstr ""
+"Wiederholt eine Dateizusammenführung oder Aktualisierung\n"
+"\n"
+"    Der Prozess, zwei Versionen automatisch zusammenzuführen (nach expliziter\n"
+"    Zusammenführung oder nach Aktualisierung mit lokalen Änderungen), wird\n"
+"    erneut auf die ursprünglichen Versionen angewendet.\n"
+"    Dies überschreibt manuelle Versuche, den Konflikt zu lösen. Damit dies\n"
+"    nicht geschieht (und damit ein Übernehmen der Änderungen zugelassen\n"
+"    wird), müssen die Dateien mit der Option -m/--mark als manuell gelöst\n"
+"    markiert werden.\n"
+"\n"
+"    Man kann entweder eine Liste von zu bearbeitenden Dateien angeben, oder\n"
+"    mit der Option -a/--all alle konfliktbehafteten Dateien auswählen.\n"
+"\n"
+"    Der aktuelle Status wird mit -l/--list angezeigt. Die dabei verwendeten\n"
+"    Zeichen bedeuten::\n"
+"\n"
+"      U = noch konfliktbehaftet (unresolved)\n"
+"      R = konfliktfrei (resolved)\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This command also allows listing resolved files and manually\n"
 "    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    marked as resolved before a commit is permitted."
+msgstr ""
+"Wiederholt eine Dateizusammenführung oder Aktualisierung\n"
+"\n"
+"    Der Prozess, zwei Versionen automatisch zusammenzuführen (nach expliziter\n"
+"    Zusammenführung oder nach Aktualisierung mit lokalen Änderungen), wird\n"
+"    erneut auf die ursprünglichen Versionen angewendet.\n"
+"    Dies überschreibt manuelle Versuche, den Konflikt zu lösen. Damit dies\n"
+"    nicht geschieht (und damit ein Übernehmen der Änderungen zugelassen\n"
+"    wird), müssen die Dateien mit der Option -m/--mark als manuell gelöst\n"
+"    markiert werden.\n"
+"\n"
+"    Man kann entweder eine Liste von zu bearbeitenden Dateien angeben, oder\n"
+"    mit der Option -a/--all alle konfliktbehafteten Dateien auswählen.\n"
+"\n"
+"    Der aktuelle Status wird mit -l/--list angezeigt. Die dabei verwendeten\n"
+"    Zeichen bedeuten::\n"
+"\n"
+"      U = noch konfliktbehaftet (unresolved)\n"
+"      R = konfliktfrei (resolved)\n"
+"    "
+
+#, fuzzy
+msgid "    The codes used to show the status of files are::"
+msgstr ""
+"Wiederholt eine Dateizusammenführung oder Aktualisierung\n"
+"\n"
+"    Der Prozess, zwei Versionen automatisch zusammenzuführen (nach expliziter\n"
+"    Zusammenführung oder nach Aktualisierung mit lokalen Änderungen), wird\n"
+"    erneut auf die ursprünglichen Versionen angewendet.\n"
+"    Dies überschreibt manuelle Versuche, den Konflikt zu lösen. Damit dies\n"
+"    nicht geschieht (und damit ein Übernehmen der Änderungen zugelassen\n"
+"    wird), müssen die Dateien mit der Option -m/--mark als manuell gelöst\n"
+"    markiert werden.\n"
+"\n"
+"    Man kann entweder eine Liste von zu bearbeitenden Dateien angeben, oder\n"
+"    mit der Option -a/--all alle konfliktbehafteten Dateien auswählen.\n"
+"\n"
+"    Der aktuelle Status wird mit -l/--list angezeigt. Die dabei verwendeten\n"
+"    Zeichen bedeuten::\n"
+"\n"
+"      U = noch konfliktbehaftet (unresolved)\n"
+"      R = konfliktfrei (resolved)\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      U = unresolved\n"
 "      R = resolved\n"
 "    "
 msgstr ""
 "Wiederholt eine Dateizusammenführung oder Aktualisierung\n"
 "\n"
-"    Der Prozess, zwei Versionen automatisch zusammenzuführen (nach "
-"expliziter\n"
+"    Der Prozess, zwei Versionen automatisch zusammenzuführen (nach expliziter\n"
 "    Zusammenführung oder nach Aktualisierung mit lokalen Änderungen), wird\n"
 "    erneut auf die ursprünglichen Versionen angewendet.\n"
 "    Dies überschreibt manuelle Versuche, den Konflikt zu lösen. Damit dies\n"
@@ -7824,36 +18040,253 @@
 msgid "no files or directories specified; use --all to remerge all files"
 msgstr "Keine Dateien oder Verzeichnisse angegeben; nutze --all für alle"
 
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+#, fuzzy
+msgid "restore individual files or directories to an earlier state"
+msgstr ""
+"Setzt gegebene Dateien oder Verzeichnisse auf frühere Version zurück\n"
+"\n"
+"    (Im Gegensatz zu 'update -r' verändert 'revert' nicht die Angabe der\n"
+"    Vorgängerversion des Arbeitsverzeichnisses)\n"
+"\n"
+"    Ohne gegebene Revision wird der Inhalt der benannten Dateien oder\n"
+"    Verzeichnisse auf die Vorgängerversion zurückgesetzt. Die betroffenen\n"
+"    Dateien gelten danach wieder als unmodifiziert und nicht übernommene\n"
+"    Hinzufügungen, Entfernungen, Kopien und Umbenennungen werden vergessen.\n"
+"    Falls das Arbeitsverzeichnis zwei Vorgänger hat, muss eine Revision\n"
+"    explizit angegeben werden.\n"
+"\n"
+"    Mit der -r/--rev Option werden die Dateien oder Verzeichnisse auf die\n"
+"    gegebene Revision zurückgesetzt. Auf diese Weise können ungewollte\n"
+"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten dann\n"
+"    als modifiziert (seit dem Vorgänger) und müssen per 'commit' als neue\n"
+"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte Formate\n"
+"    der -d/--date Option.\n"
+"\n"
+"    Eine gelöschte Datei wird wieder hergestellt. Wurde die Ausführbarkeit\n"
+"    einer Datei verändert, wird auch dieser Wert zurückgesetzt.\n"
+"\n"
+"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. Ohne\n"
+"    Angabe werden keine Dateien verändert.\n"
+"\n"
+"    Modifizierte Dateien werden vor der Änderung mit der Endung .orig\n"
+"    gespeichert. Um dieses Backup zu verhindern, verwende --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+"Setzt gegebene Dateien oder Verzeichnisse auf frühere Version zurück\n"
+"\n"
+"    (Im Gegensatz zu 'update -r' verändert 'revert' nicht die Angabe der\n"
+"    Vorgängerversion des Arbeitsverzeichnisses)\n"
+"\n"
+"    Ohne gegebene Revision wird der Inhalt der benannten Dateien oder\n"
+"    Verzeichnisse auf die Vorgängerversion zurückgesetzt. Die betroffenen\n"
+"    Dateien gelten danach wieder als unmodifiziert und nicht übernommene\n"
+"    Hinzufügungen, Entfernungen, Kopien und Umbenennungen werden vergessen.\n"
+"    Falls das Arbeitsverzeichnis zwei Vorgänger hat, muss eine Revision\n"
+"    explizit angegeben werden.\n"
+"\n"
+"    Mit der -r/--rev Option werden die Dateien oder Verzeichnisse auf die\n"
+"    gegebene Revision zurückgesetzt. Auf diese Weise können ungewollte\n"
+"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten dann\n"
+"    als modifiziert (seit dem Vorgänger) und müssen per 'commit' als neue\n"
+"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte Formate\n"
+"    der -d/--date Option.\n"
+"\n"
+"    Eine gelöschte Datei wird wieder hergestellt. Wurde die Ausführbarkeit\n"
+"    einer Datei verändert, wird auch dieser Wert zurückgesetzt.\n"
+"\n"
+"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. Ohne\n"
+"    Angabe werden keine Dateien verändert.\n"
+"\n"
+"    Modifizierte Dateien werden vor der Änderung mit der Endung .orig\n"
+"    gespeichert. Um dieses Backup zu verhindern, verwende --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to.\n"
-"\n"
+"    revision to revert to."
+msgstr ""
+"Setzt gegebene Dateien oder Verzeichnisse auf frühere Version zurück\n"
+"\n"
+"    (Im Gegensatz zu 'update -r' verändert 'revert' nicht die Angabe der\n"
+"    Vorgängerversion des Arbeitsverzeichnisses)\n"
+"\n"
+"    Ohne gegebene Revision wird der Inhalt der benannten Dateien oder\n"
+"    Verzeichnisse auf die Vorgängerversion zurückgesetzt. Die betroffenen\n"
+"    Dateien gelten danach wieder als unmodifiziert und nicht übernommene\n"
+"    Hinzufügungen, Entfernungen, Kopien und Umbenennungen werden vergessen.\n"
+"    Falls das Arbeitsverzeichnis zwei Vorgänger hat, muss eine Revision\n"
+"    explizit angegeben werden.\n"
+"\n"
+"    Mit der -r/--rev Option werden die Dateien oder Verzeichnisse auf die\n"
+"    gegebene Revision zurückgesetzt. Auf diese Weise können ungewollte\n"
+"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten dann\n"
+"    als modifiziert (seit dem Vorgänger) und müssen per 'commit' als neue\n"
+"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte Formate\n"
+"    der -d/--date Option.\n"
+"\n"
+"    Eine gelöschte Datei wird wieder hergestellt. Wurde die Ausführbarkeit\n"
+"    einer Datei verändert, wird auch dieser Wert zurückgesetzt.\n"
+"\n"
+"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. Ohne\n"
+"    Angabe werden keine Dateien verändert.\n"
+"\n"
+"    Modifizierte Dateien werden vor der Änderung mit der Endung .orig\n"
+"    gespeichert. Um dieses Backup zu verhindern, verwende --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+"Setzt gegebene Dateien oder Verzeichnisse auf frühere Version zurück\n"
+"\n"
+"    (Im Gegensatz zu 'update -r' verändert 'revert' nicht die Angabe der\n"
+"    Vorgängerversion des Arbeitsverzeichnisses)\n"
+"\n"
+"    Ohne gegebene Revision wird der Inhalt der benannten Dateien oder\n"
+"    Verzeichnisse auf die Vorgängerversion zurückgesetzt. Die betroffenen\n"
+"    Dateien gelten danach wieder als unmodifiziert und nicht übernommene\n"
+"    Hinzufügungen, Entfernungen, Kopien und Umbenennungen werden vergessen.\n"
+"    Falls das Arbeitsverzeichnis zwei Vorgänger hat, muss eine Revision\n"
+"    explizit angegeben werden.\n"
+"\n"
+"    Mit der -r/--rev Option werden die Dateien oder Verzeichnisse auf die\n"
+"    gegebene Revision zurückgesetzt. Auf diese Weise können ungewollte\n"
+"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten dann\n"
+"    als modifiziert (seit dem Vorgänger) und müssen per 'commit' als neue\n"
+"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte Formate\n"
+"    der -d/--date Option.\n"
+"\n"
+"    Eine gelöschte Datei wird wieder hergestellt. Wurde die Ausführbarkeit\n"
+"    einer Datei verändert, wird auch dieser Wert zurückgesetzt.\n"
+"\n"
+"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. Ohne\n"
+"    Angabe werden keine Dateien verändert.\n"
+"\n"
+"    Modifizierte Dateien werden vor der Änderung mit der Endung .orig\n"
+"    gespeichert. Um dieses Backup zu verhindern, verwende --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
+"    afterwards."
+msgstr ""
+"Setzt gegebene Dateien oder Verzeichnisse auf frühere Version zurück\n"
+"\n"
+"    (Im Gegensatz zu 'update -r' verändert 'revert' nicht die Angabe der\n"
+"    Vorgängerversion des Arbeitsverzeichnisses)\n"
+"\n"
+"    Ohne gegebene Revision wird der Inhalt der benannten Dateien oder\n"
+"    Verzeichnisse auf die Vorgängerversion zurückgesetzt. Die betroffenen\n"
+"    Dateien gelten danach wieder als unmodifiziert und nicht übernommene\n"
+"    Hinzufügungen, Entfernungen, Kopien und Umbenennungen werden vergessen.\n"
+"    Falls das Arbeitsverzeichnis zwei Vorgänger hat, muss eine Revision\n"
+"    explizit angegeben werden.\n"
+"\n"
+"    Mit der -r/--rev Option werden die Dateien oder Verzeichnisse auf die\n"
+"    gegebene Revision zurückgesetzt. Auf diese Weise können ungewollte\n"
+"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten dann\n"
+"    als modifiziert (seit dem Vorgänger) und müssen per 'commit' als neue\n"
+"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte Formate\n"
+"    der -d/--date Option.\n"
+"\n"
+"    Eine gelöschte Datei wird wieder hergestellt. Wurde die Ausführbarkeit\n"
+"    einer Datei verändert, wird auch dieser Wert zurückgesetzt.\n"
+"\n"
+"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. Ohne\n"
+"    Angabe werden keine Dateien verändert.\n"
+"\n"
+"    Modifizierte Dateien werden vor der Änderung mit der Endung .orig\n"
+"    gespeichert. Um dieses Backup zu verhindern, verwende --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
+"    of a file was changed, it is reset."
+msgstr ""
+"Setzt gegebene Dateien oder Verzeichnisse auf frühere Version zurück\n"
+"\n"
+"    (Im Gegensatz zu 'update -r' verändert 'revert' nicht die Angabe der\n"
+"    Vorgängerversion des Arbeitsverzeichnisses)\n"
+"\n"
+"    Ohne gegebene Revision wird der Inhalt der benannten Dateien oder\n"
+"    Verzeichnisse auf die Vorgängerversion zurückgesetzt. Die betroffenen\n"
+"    Dateien gelten danach wieder als unmodifiziert und nicht übernommene\n"
+"    Hinzufügungen, Entfernungen, Kopien und Umbenennungen werden vergessen.\n"
+"    Falls das Arbeitsverzeichnis zwei Vorgänger hat, muss eine Revision\n"
+"    explizit angegeben werden.\n"
+"\n"
+"    Mit der -r/--rev Option werden die Dateien oder Verzeichnisse auf die\n"
+"    gegebene Revision zurückgesetzt. Auf diese Weise können ungewollte\n"
+"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten dann\n"
+"    als modifiziert (seit dem Vorgänger) und müssen per 'commit' als neue\n"
+"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte Formate\n"
+"    der -d/--date Option.\n"
+"\n"
+"    Eine gelöschte Datei wird wieder hergestellt. Wurde die Ausführbarkeit\n"
+"    einer Datei verändert, wird auch dieser Wert zurückgesetzt.\n"
+"\n"
+"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. Ohne\n"
+"    Angabe werden keine Dateien verändert.\n"
+"\n"
+"    Modifizierte Dateien werden vor der Änderung mit der Endung .orig\n"
+"    gespeichert. Um dieses Backup zu verhindern, verwende --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
+"Setzt gegebene Dateien oder Verzeichnisse auf frühere Version zurück\n"
+"\n"
+"    (Im Gegensatz zu 'update -r' verändert 'revert' nicht die Angabe der\n"
+"    Vorgängerversion des Arbeitsverzeichnisses)\n"
+"\n"
+"    Ohne gegebene Revision wird der Inhalt der benannten Dateien oder\n"
+"    Verzeichnisse auf die Vorgängerversion zurückgesetzt. Die betroffenen\n"
+"    Dateien gelten danach wieder als unmodifiziert und nicht übernommene\n"
+"    Hinzufügungen, Entfernungen, Kopien und Umbenennungen werden vergessen.\n"
+"    Falls das Arbeitsverzeichnis zwei Vorgänger hat, muss eine Revision\n"
+"    explizit angegeben werden.\n"
+"\n"
+"    Mit der -r/--rev Option werden die Dateien oder Verzeichnisse auf die\n"
+"    gegebene Revision zurückgesetzt. Auf diese Weise können ungewollte\n"
+"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten dann\n"
+"    als modifiziert (seit dem Vorgänger) und müssen per 'commit' als neue\n"
+"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte Formate\n"
+"    der -d/--date Option.\n"
+"\n"
+"    Eine gelöschte Datei wird wieder hergestellt. Wurde die Ausführbarkeit\n"
+"    einer Datei verändert, wird auch dieser Wert zurückgesetzt.\n"
+"\n"
+"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. Ohne\n"
+"    Angabe werden keine Dateien verändert.\n"
+"\n"
+"    Modifizierte Dateien werden vor der Änderung mit der Endung .orig\n"
+"    gespeichert. Um dieses Backup zu verhindern, verwende --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Modified files are saved with a .orig suffix before reverting.\n"
 "    To disable these backups, use --no-backup.\n"
 "    "
@@ -7872,18 +18305,15 @@
 "\n"
 "    Mit der -r/--rev Option werden die Dateien oder Verzeichnisse auf die\n"
 "    gegebene Revision zurückgesetzt. Auf diese Weise können ungewollte\n"
-"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten "
-"dann\n"
+"    Änderungen rückgängig gemacht werden. Die betroffenen Dateien gelten dann\n"
 "    als modifiziert (seit dem Vorgänger) und müssen per 'commit' als neue\n"
-"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte "
-"Formate\n"
+"    Revision übernommen werden. Siehe auch 'hg help dates' für erlaubte Formate\n"
 "    der -d/--date Option.\n"
 "\n"
 "    Eine gelöschte Datei wird wieder hergestellt. Wurde die Ausführbarkeit\n"
 "    einer Datei verändert, wird auch dieser Wert zurückgesetzt.\n"
 "\n"
-"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. "
-"Ohne\n"
+"    Nur die angegebenen Dateien und Verzeichnisse werden zurückgesetzt. Ohne\n"
 "    Angabe werden keine Dateien verändert.\n"
 "\n"
 "    Modifizierte Dateien werden vor der Änderung mit der Endung .orig\n"
@@ -7894,9 +18324,7 @@
 msgstr "ungültige Angabe von Revision und Datum gleichzeitig"
 
 msgid "no files or directories specified; use --all to revert the whole repo"
-msgstr ""
-"keine Dateien oder Verzeichnisse angegeben; nutze --all um das gesamte "
-"Arbeitsverzeichnis zurückzusetzen"
+msgstr "keine Dateien oder Verzeichnisse angegeben; nutze --all um das gesamte Arbeitsverzeichnis zurückzusetzen"
 
 #, python-format
 msgid "forgetting %s\n"
@@ -7922,26 +18350,46 @@
 msgid "no changes needed to %s\n"
 msgstr "keine Änderungen notwendig für %s\n"
 
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr "Rollt die letzte Transaktion zurück"
+
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+"    Dieser Befehl muss mit Vorsicht verwendet werden. Es gibt keine ver-\n"
+"    schachtelten Transaktionen und ein Rückrollen kann selber nicht rückgängig\n"
+"    gemacht werden. Der aktuelle Status (dirstate) im .hg Verzeichnis wird\n"
+"    auf die letzte Transaktion zurückgesetzt. Neuere Änderungen gehen damit\n"
+"    verloren."
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back::\n"
-"\n"
+"    and their effects can be rolled back::"
+msgstr ""
+"    Transaktionen werden verwendet um den Effekt aller Befehle, die Änderungs-\n"
+"    sätze erstellen oder verteilen, zu kapseln. Die folgenden Befehle\n"
+"    werden durch Transaktionen geschützt::"
+
+msgid ""
 "      commit\n"
 "      import\n"
 "      pull\n"
 "      push (with this repository as destination)\n"
-"      unbundle\n"
-"\n"
+"      unbundle"
+msgstr ""
+"      commit\n"
+"      import\n"
+"      pull\n"
+"      push (mit diesem Archiv als Ziel)\n"
+"      unbundle"
+
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -7950,62 +18398,35 @@
 "    may fail if a rollback is performed.\n"
 "    "
 msgstr ""
-"Rollt die letzte Transaktion zurück\n"
-"\n"
-"    Dieser Befehl muss mit Vorsicht verwendet werden. Es gibt keine ver-\n"
-"    schachtelten Transaktionen und ein Rückrollen kann selber nicht "
-"rückgängig\n"
-"    gemacht werden. Der aktuelle Status (dirstate) im .hg Verzeichnis wird\n"
-"    auf die letzte Transaktion zurückgesetzt. Neuere Änderungen gehen damit\n"
-"    verloren.\n"
-"\n"
-"    Transaktionen werden verwendet um den Effekt aller Befehle, die "
-"Änderungs-\n"
-"    sätze erstellen oder verteilen, zu kapseln. Die folgenden Befehle\n"
-"    werden durch Transaktionen geschützt::\n"
-"\n"
-"      commit\n"
-"      import\n"
-"      pull\n"
-"      push (mit diesem Archiv als Ziel)\n"
-"      unbundle\n"
-"\n"
-"    Dieser Befehl ist nicht für öffentliche Archive gedacht. Sobald "
-"Änderungen\n"
-"    für Andere sichtbar sind ist ein Zurückrollen unnütz, da jemand sie "
-"bereits\n"
-"    zu sich übertragen haben könnte. Weiterhin entsteht eine "
-"Wettlaufsituation,\n"
-"    wenn beispielsweise ein Zurückrollen ausgeführt wird, während jemand "
-"anders\n"
+"    Dieser Befehl ist nicht für öffentliche Archive gedacht. Sobald Änderungen\n"
+"    für Andere sichtbar sind ist ein Zurückrollen unnütz, da jemand sie bereits\n"
+"    zu sich übertragen haben könnte. Weiterhin entsteht eine Wettlaufsituation,\n"
+"    wenn beispielsweise ein Zurückrollen ausgeführt wird, während jemand anders\n"
 "    ein 'pull' ausführt.\n"
 "    "
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr "Gibt die Wurzel (top) des aktuellen Arbeitsverzeichnisses aus"
+
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
-"Gibt die Wurzel (top) des aktuellen Arbeitsverzeichnisses aus\n"
-"\n"
 "    Gibt das Wurzelverzeichnis des aktuellen Arbeitsverzeichnisses aus.\n"
 "    "
 
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
+msgid "export the repository via HTTP"
+msgstr "Exportiert das Projektarchiv via HTTP"
+
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr "    Startet einen lokalen HTTP Archivbrowser und einen Pull-Server."
+
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
 "    files.\n"
 "    "
 msgstr ""
-"Exportiert das Projektarchiv via HTTP\n"
-"\n"
-"    Startet einen lokalen HTTP Archivbrowser und einen Pull-Server.\n"
-"\n"
 "    Standardmäßig schreibt der Server Zugriffe auf die Standardausgabe\n"
 "    und Fehler auf die Standardfehlerausgabe. Nutze die Optionen \n"
 "    -A/--accesslog und -E/--errorlog, um die Ausgabe in Dateien umzulenken.\n"
@@ -8015,30 +18436,55 @@
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr "Höre auf http://%s%s/%s (gebunden an %s:%d)\n"
 
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr "Zeigt geänderte Dateien im Arbeitsverzeichnis"
+
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+"    Zeigt den Status von Dateien im Archiv an. Wenn eine Name übergeben\n"
+"    wird, werden nur zutreffende Dateien angezeigt. Es werden keine Dateien\n"
+"    angezeigt die unverändert, ignoriert oder Quelle einer Kopier- oder\n"
+"    Verschiebe Operation sind, es sei denn -c/--clean (unverändert),\n"
+"    -i/--ignored (ignoriert), -C/--copies (Kopien) oder -A/--all (alle)\n"
+"    wurde angegeben. Außer bei Angabe von Optionen, die mit \"Zeigt\n"
+"    nur ...\" beschrieben werden, werden die Optionen -mardu genutzt."
+
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+"    Die Option -q/--quiet blendet unüberwachte (unbekannte und ignorierte)\n"
+"    Dateien aus, es sei denn sie werden explizit mit -u/--unknown oder \n"
+"    -i/--ignored angefordert."
+
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+"    HINWEIS: Der Status kann sich vom Diff unterscheiden, wenn sich\n"
+"    Berechtigungen geändert haben oder eine Zusammenführung aufgetreten\n"
+"    ist. Das Standard-Diff-Format zeigt keine Berechtigungsänderungen an und\n"
+"    'diff' zeigt nur Änderungen relativ zu einer Vorgängerversion einer\n"
+"    Zusammenführung an."
+
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    shown."
+msgstr ""
+"    Bei Angabe einer Revision wird diese als Basisrevision genutzt.\n"
+"    Bei Angabe zweier Revisionen werden die Unterschiede zwischen diesen\n"
+"    beiden gezeigt."
+
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -8049,33 +18495,6 @@
 "        = origin of the previous file listed as A (added)\n"
 "    "
 msgstr ""
-"Zeigt geänderte Dateien im Arbeitsverzeichnis\n"
-"\n"
-"    Zeigt den Status von Dateien im Archiv an. Wenn eine Name übergeben\n"
-"    wird, werden nur zutreffende Dateien angezeigt. Es werden keine Dateien\n"
-"    angezeigt die unverändert, ignoriert oder Quelle einer Kopier- oder\n"
-"    Verschiebe Operation sind, es sei denn -c/--clean (unverändert),\n"
-"    -i/--ignored (ignoriert), -C/--copies (Kopien) oder -A/--all (alle)\n"
-"    wurde angegeben. Außer bei Angabe von Optionen, die mit \"Zeigt\n"
-"    nur ...\" beschrieben werden, werden die Optionen -mardu genutzt.\n"
-"\n"
-"    Die Option -q/--quiet blendet unüberwachte (unbekannte und ignorierte)\n"
-"    Dateien aus, es sei denn sie werden explizit mit -u/--unknown oder \n"
-"    -i/--ignored angefordert.\n"
-"\n"
-"    HINWEIS: Der Status kann sich vom Diff unterscheiden, wenn sich\n"
-"    Berechtigungen geändert haben oder eine Zusammenführung aufgetreten\n"
-"    ist. Das Standard-Diff-Format zeigt keine Berechtigungsänderungen an "
-"und\n"
-"    'diff' zeigt nur Änderungen relativ zu einer Vorgängerversion einer\n"
-"    Zusammenführung an.\n"
-"\n"
-"    Bei Angabe einer Revision wird diese als Basisrevision genutzt.\n"
-"    Bei Angabe zweier Revisionen werden die Unterschiede zwischen diesen\n"
-"    beiden gezeigt.\n"
-"\n"
-"    Die Kürzel zur Angabe des Status einer Datei sind::\n"
-"\n"
 "      M = modifiziert\n"
 "      A = hinzugefügt (added)\n"
 "      R = entfernt (removed)\n"
@@ -8087,12 +18506,15 @@
 "        = die zuvor hinzugefügt Datei wurde von hier kopiert\n"
 "    "
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr ""
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
@@ -8165,8 +18587,7 @@
 
 #, python-format
 msgid "update: %d new changesets, %d branch heads (merge)\n"
-msgstr ""
-"Aktualisiere: %d neue Änderungssätze, %d neue Zweigköpfe (Zusammenführung)\n"
+msgstr "Aktualisiere: %d neue Änderungssätze, %d neue Zweigköpfe (Zusammenführung)\n"
 
 msgid "1 or more incoming"
 msgstr ""
@@ -8182,50 +18603,40 @@
 msgid "remote: (synced)\n"
 msgstr "Entfernt: (synchonisiert)\n"
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr "Setze ein oder mehrere Etiketten für die aktuelle oder gegebene Revision"
+
+msgid "    Name a particular revision using <name>."
+msgstr "    Benennt eine bestimmte Revision mit <name>."
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+"    Etiketten sind nützlich um somit benannte Revisionen später in Vergleichen\n"
+"    zu verwenden, in der Historie dorthin zurückzugehen oder wichtige Zweig-\n"
+"    stellen zu markieren."
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+"    Wenn keine Revision angegeben ist, wird der Vorgänger des Arbeits-\n"
+"    verzeichnisses (oder - falls keines existiert - die Spitze) benannt."
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"Setze ein oder mehrere Etiketten für die aktuelle oder gegebene Revision\n"
-"\n"
-"    Benennt eine bestimmte Revision mit <name>.\n"
-"\n"
-"    Etiketten sind nützlich um somit benannte Revisionen später in "
-"Vergleichen\n"
-"    zu verwenden, in der Historie dorthin zurückzugehen oder wichtige "
-"Zweig-\n"
-"    stellen zu markieren.\n"
-"\n"
-"    Wenn keine Revision angegeben ist, wird der Vorgänger des Arbeits-\n"
-"    verzeichnisses (oder - falls keines existiert - die Spitze) benannt.\n"
-"\n"
+"    shared among repositories)."
+msgstr ""
 "    Um die Versionskontrolle, Verteilung und Zusammenführung von Etiketten\n"
-"    möglich zu machen, werden sie in einer Datei '.hgtags' gespeichert, "
-"welche\n"
+"    möglich zu machen, werden sie in einer Datei '.hgtags' gespeichert, welche\n"
 "    zusammen mit den anderen Projektdateien überwacht wird und manuell be-\n"
-"    arbeitet werden kann. Lokale Etiketten (nicht mit anderen Archiven "
-"geteilt)\n"
-"    liegen in der Datei .hg/localtags.\n"
-"\n"
-"    Siehe auch 'hg help dates' für erlaubte Formate der -d/--date Option.\n"
-"    "
+"    arbeitet werden kann. Lokale Etiketten (nicht mit anderen Archiven geteilt)\n"
+"    liegen in der Datei .hg/localtags."
 
 msgid "tag names must be unique"
 msgstr "Etikettnamen müssen einzigartig sein"
@@ -8253,70 +18664,79 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr "Etikett '%s' existiert bereits; erzwinge mit -f/--force"
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr "Liste alle Etiketten des Archivs auf"
+
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
-"Liste alle Etiketten des Archivs auf\n"
-"\n"
-"    Listet sowohl globale wie auch lokale Etiketten auf. Mit dem Schalter -"
-"v/\n"
+"    Listet sowohl globale wie auch lokale Etiketten auf. Mit dem Schalter -v/\n"
 "    --verbose werden lokale in einer dritten Spalte als solche markiert.\n"
 "    "
 
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr "Zeigt die zuletzt übernommene Revision"
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+"    Die Spitze (tip) bezeichnet den zuletzt hinzugefügten Änderungssatz und\n"
+"    damit den zuletzt geänderten Kopf."
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
 "    and cannot be renamed or assigned to a different changeset.\n"
 "    "
 msgstr ""
-"Zeigt die zuletzt übernommene Revision\n"
-"\n"
-"    Die Spitze (tip) bezeichnet den zuletzt hinzugefügten Änderungssatz und\n"
-"    damit den zuletzt geänderten Kopf.\n"
-"\n"
 "    Nach einem Ãœbernehmen mit commit wird die neue Revision die Spitze.\n"
 "    Nach einem Holen mit pull wird die Spitze des anderen Archives\n"
 "    übernommen. Als Etikettname ist \"tip\" ein Spezialfall und kann nicht\n"
 "    umbenannt oder manuell einem anderen Änderungssatz angehängt werden.\n"
 "    "
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr "Wendet eine oder mehrere Änderungsgruppendateien an"
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
-"Wendet eine oder mehrere Änderungsgruppendateien an\n"
-"\n"
 "    Die angegebenen Dateien müssen komprimierte Änderungsgruppen enthalten,\n"
 "    wie sie durch den Befehl 'bundle' erzeugt werden\n"
 "    "
 
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr "Aktualisiert das Arbeitsverzeichnis"
+
+msgid ""
 "    Update the repository's working directory to the specified\n"
-"    changeset.\n"
-"\n"
+"    changeset."
+msgstr "    Hebt das Arbeitsverzeichnis auf die angegebene Revision an."
+
+msgid ""
 "    If no changeset is specified, attempt to update to the head of the\n"
 "    current branch. If this head is a descendant of the working\n"
-"    directory's parent, update to it, otherwise abort.\n"
-"\n"
+"    directory's parent, update to it, otherwise abort."
+msgstr ""
+"    Wird keine Revision angegeben, wird zum Kopf des derzeitigen Zweigs\n"
+"    aktualisiert, falls dieser ein Nachfahr des direkten Vorgängers der\n"
+"    Arbeitskopie ist. Ansonsten bricht die Operation ab."
+
+msgid ""
 "    The following rules apply when the working directory contains\n"
-"    uncommitted changes:\n"
-"\n"
+"    uncommitted changes:"
+msgstr ""
+"    Wenn die Arbeitskopie nicht übernommene Änderungen enthält, wird nach\n"
+"    folgenden Regeln vorgegangen:"
+
+msgid ""
 "    1. If neither -c/--check nor -C/--clean is specified, and if\n"
 "       the requested changeset is an ancestor or descendant of\n"
 "       the working directory's parent, the uncommitted changes\n"
@@ -8324,68 +18744,69 @@
 "       result is left uncommitted. If the requested changeset is\n"
 "       not an ancestor or descendant (that is, it is on another\n"
 "       branch), the update is aborted and the uncommitted changes\n"
-"       are preserved.\n"
-"\n"
-"    2. With the -c/--check option, the update is aborted and the\n"
-"       uncommitted changes are preserved.\n"
-"\n"
-"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
-"       the working directory is updated to the requested changeset.\n"
-"\n"
-"    Use null as the changeset to remove the working directory (like 'hg\n"
-"    clone -U').\n"
-"\n"
-"    If you want to update just one file to an older changeset, use 'hg "
-"revert'.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"Aktualisiert das Arbeitsverzeichnis\n"
-"\n"
-"    Hebt das Arbeitsverzeichnis auf die angegebene Revision an.\n"
-"\n"
-"    Wird keine Revision angegeben, wird zum Kopf des derzeitigen Zweigs\n"
-"    aktualisiert, falls dieser ein Nachfahr des direkten Vorgängers der\n"
-"    Arbeitskopie ist. Ansonsten bricht die Operation ab.\n"
-"\n"
-"    Wenn die Arbeitskopie nicht übernommene Änderungen enthält, wird nach\n"
-"    folgenden Regeln vorgegangen:\n"
-"\n"
+"       are preserved."
+msgstr ""
 "    1. Falls weder -c/--check noch -C/--clean angegeben ist und das\n"
 "       Ziel der Aktualisierung ein Vor- oder Nachfahr des Vorgängers der\n"
 "       Arbeitskopie ist, werden die lokalen Änderungen als solche erhalten,\n"
 "       also mit der Zielversion zusammengeführt, aber nicht übernommen.\n"
 "       Wenn das Ziel dagegen nicht verwandt ist, wird die Aktualisierung\n"
-"       ohne Veränderung abgebrochen.\n"
-"\n"
+"       ohne Veränderung abgebrochen."
+
+msgid ""
+"    2. With the -c/--check option, the update is aborted and the\n"
+"       uncommitted changes are preserved."
+msgstr ""
 "    2. Mit der Option -c/--check wird die Aktualisierung immer aufgrund\n"
-"       der lokalen Änderungen abgebrochen.\n"
-"\n"
+"       der lokalen Änderungen abgebrochen."
+
+msgid ""
+"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
+"       the working directory is updated to the requested changeset."
+msgstr ""
 "    3. Mit der Option -C/--clean werden die nicht übernommenen Änderungen\n"
-"       vernachlässigt und durch die Zielversion vollständig ersetzt.\n"
-"\n"
+"       vernachlässigt und durch die Zielversion vollständig ersetzt."
+
+msgid ""
+"    Use null as the changeset to remove the working directory (like 'hg\n"
+"    clone -U')."
+msgstr ""
 "    Bei der Verwendung von null als Revision wird die Arbeitskopie\n"
-"    entfernt (wie 'hg clone -U').\n"
-"\n"
+"    entfernt (wie 'hg clone -U')."
+
+msgid "    If you want to update just one file to an older changeset, use 'hg revert'."
+msgstr ""
 "    Solle nur eine Datei auf eine ältere Revision gehoben werden, kann\n"
-"    'revert' genutzt werden.\n"
-"\n"
-"    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
-"    "
+"    'revert' genutzt werden."
 
 msgid "cannot specify both -c/--check and -C/--clean"
-msgstr ""
-"Es können nicht gleichzeitig -c/--check und -C/--clean angegeben werden"
+msgstr "Es können nicht gleichzeitig -c/--check und -C/--clean angegeben werden"
 
 msgid "uncommitted local changes"
 msgstr "Ausstehende nicht versionierte Änderungen"
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+#, fuzzy
+msgid "verify the integrity of the repository"
+msgstr ""
+"Prüft die Integrität des Projektarchivs\n"
+"\n"
+"    Führt eine umfassende Prüfung des aktuellen Projektarchivs durch, rechnet\n"
+"    alle Prüfsummen in Historie, Manifest und überwachten Dateien nach.\n"
+"    Auch die Integrität von Referenzen und Indizes wird geprüft.\n"
+"    "
+
+#, fuzzy
+msgid "    Verify the integrity of the current repository."
+msgstr ""
+"Prüft die Integrität des Projektarchivs\n"
+"\n"
+"    Führt eine umfassende Prüfung des aktuellen Projektarchivs durch, rechnet\n"
+"    alle Prüfsummen in Historie, Manifest und überwachten Dateien nach.\n"
+"    Auch die Integrität von Referenzen und Indizes wird geprüft.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
@@ -8394,8 +18815,7 @@
 msgstr ""
 "Prüft die Integrität des Projektarchivs\n"
 "\n"
-"    Führt eine umfassende Prüfung des aktuellen Projektarchivs durch, "
-"rechnet\n"
+"    Führt eine umfassende Prüfung des aktuellen Projektarchivs durch, rechnet\n"
 "    alle Prüfsummen in Historie, Manifest und überwachten Dateien nach.\n"
 "    Auch die Integrität von Referenzen und Indizes wird geprüft.\n"
 "    "
@@ -8747,9 +19167,7 @@
 msgstr "Zeigt alle zutreffenden Revisionen"
 
 msgid "follow changeset history, or file history across copies and renames"
-msgstr ""
-"Folgt der Versionshistorie oder Dateihistorie über Kopien und Umbenennungen "
-"hinweg"
+msgstr "Folgt der Versionshistorie oder Dateihistorie über Kopien und Umbenennungen hinweg"
 
 msgid "ignore case when matching"
 msgstr "Ignoriert Groß- und Kleinschreibung"
@@ -8799,12 +19217,8 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr "[-nibt] [-r REV] [QUELLE]"
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
-msgstr ""
-"Entfernt führende Verzeichnisnamen. Dies hat dieselbe Bedeutung wie die "
-"gleichnamige Option von patch"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
+msgstr "Entfernt führende Verzeichnisnamen. Dies hat dieselbe Bedeutung wie die gleichnamige Option von patch"
 
 msgid "base path"
 msgstr "Basispfad"
@@ -8984,8 +19398,7 @@
 msgstr "Pfadpräfix von dem ausgeliefert wird (Standard: Serverwurzel '/')"
 
 msgid "name to show in web pages (default: working directory)"
-msgstr ""
-"Name der auf der Webseite angezeigt wird (Standard: Arbeitsverzeichnis)"
+msgstr "Name der auf der Webseite angezeigt wird (Standard: Arbeitsverzeichnis)"
 
 msgid "name of the webdir config file (serve more than one repository)"
 msgstr "Name der webdir-Konfigurationsdatei (mehr als ein Archiv ausliefern)"
@@ -9255,12 +19668,8 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr "Option --cwd kann nicht abgekürzt werden!"
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
-msgstr ""
-"Option -R muss von anderen Optionen getrennt werden (also z.B. nicht -qR) "
-"und --repository kann nur als --repo abgekürzt werden!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
+msgstr "Option -R muss von anderen Optionen getrennt werden (also z.B. nicht -qR) und --repository kann nur als --repo abgekürzt werden!"
 
 #, python-format
 msgid "Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n"
@@ -9277,9 +19686,7 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr ""
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
 msgstr ""
 
 #, python-format
@@ -9404,12 +19811,8 @@
 msgid "destination '%s' is not empty"
 msgstr "Ziel %s ist nicht leer"
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
-msgstr ""
-"Quellarchiv unterstützt keine Revisions-Abfragen und lässt daher das Klonen "
-"bis zu einer Revision nicht zu"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
+msgstr "Quellarchiv unterstützt keine Revisions-Abfragen und lässt daher das Klonen bis zu einer Revision nicht zu"
 
 msgid "clone from remote to remote not supported"
 msgstr "Klonen von entferntem Archiv zu entferntem Archiv nicht möglich"
@@ -9419,19 +19822,15 @@
 msgstr "Aktualisiere auf Zweig %s\n"
 
 #, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
 msgstr ""
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr "Verwende 'hg resolve', um die Zusammenführung erneut zu versuchen\n"
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
-msgstr ""
-"Nutze 'hg resolve', um nicht aufgelöste Zusammenführungen zu wiederholen "
-"oder\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
+msgstr ""
+"Nutze 'hg resolve', um nicht aufgelöste Zusammenführungen zu wiederholen oder\n"
 "'hg up --clean' um andere Änderungen aufzugeben\n"
 
 msgid "(branch merge, don't forget to commit)\n"
@@ -9586,8 +19985,7 @@
 msgstr "%r kann nicht in einem Namen für Etiketten genutzt werden"
 
 msgid "working copy of .hgtags is changed (please commit .hgtags manually)"
-msgstr ""
-"Arbeitskopie von .hgtags wurde geändert (Bitte .hgtags manuell versionieren)"
+msgstr "Arbeitskopie von .hgtags wurde geändert (Bitte .hgtags manuell versionieren)"
 
 #, python-format
 msgid "working directory has unknown parent '%s'!"
@@ -9611,8 +20009,7 @@
 
 #, python-format
 msgid "Named branch could not be reset, current branch still is: %s\n"
-msgstr ""
-"Benannter Zweig konnte nicht zurückgesetzt werden, aktueller Zweig ist: %s\n"
+msgstr "Benannter Zweig konnte nicht zurückgesetzt werden, aktueller Zweig ist: %s\n"
 
 msgid "no rollback information available\n"
 msgstr "Keine rollback-Information verfügbar\n"
@@ -9630,9 +20027,7 @@
 msgstr "Arbeitsverzeichnis von %s"
 
 msgid "cannot partially commit a merge (do not specify files or patterns)"
-msgstr ""
-"Eine Zusammenführung kann nicht teilweise versioniert werden (Gib keine "
-"Dateien oder Muster an)"
+msgstr "Eine Zusammenführung kann nicht teilweise versioniert werden (Gib keine Dateien oder Muster an)"
 
 msgid "file not found!"
 msgstr "Datei nicht gefunden!"
@@ -9694,9 +20089,7 @@
 
 #, python-format
 msgid "copy failed: %s is not a file or a symbolic link\n"
-msgstr ""
-"Kopieren fehlgeschlagen: %s ist keine Datei oder eine symbolische "
-"Verknüpfung\n"
+msgstr "Kopieren fehlgeschlagen: %s ist keine Datei oder eine symbolische Verknüpfung\n"
 
 msgid "searching for changes\n"
 msgstr "Suche nach Änderungen\n"
@@ -9713,12 +20106,8 @@
 msgid "requesting all changes\n"
 msgstr "Fordere alle Änderungen an\n"
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
-msgstr ""
-"Teilweise Holen kann nicht ausgeführt werden, da das andere Projektarchiv "
-"keine Teilmengen von Änderungsgruppen unterstützt."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
+msgstr "Teilweise Holen kann nicht ausgeführt werden, da das andere Projektarchiv keine Teilmengen von Änderungsgruppen unterstützt."
 
 #, python-format
 msgid "abort: push creates new remote branch '%s'!\n"
@@ -9836,9 +20225,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr ""
 
 #, python-format
@@ -9911,13 +20298,9 @@
 msgstr ""
 
 msgid "outstanding uncommitted changes (use 'hg status' to list changes)"
-msgstr ""
-"Ausstehende nicht versionierte Änderungen (Nutze 'hg status' zur Auflistung "
-"der Änderungen)"
-
-msgid ""
-"crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard "
-"changes)"
+msgstr "Ausstehende nicht versionierte Änderungen (Nutze 'hg status' zur Auflistung der Änderungen)"
+
+msgid "crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)"
 msgstr ""
 
 msgid "crosses branches (use 'hg merge' or use 'hg update -c')"
@@ -10181,8 +20564,7 @@
 msgstr "Vorlagedatei %s: %s"
 
 msgid "cannot use transaction when it is already committed/aborted"
-msgstr ""
-"Kann Transaktion nicht verwenden, wenn sie bereits Ãœbernommen/Abgebrochen ist"
+msgstr "Kann Transaktion nicht verwenden, wenn sie bereits Ãœbernommen/Abgebrochen ist"
 
 #, python-format
 msgid "failed to truncate %s\n"
@@ -10503,43 +20885,36 @@
 msgid "user name not available - set USERNAME environment variable"
 msgstr "Benutzername nicht verfügbar - setze die USERNAME Umgebungsvariable"
 
-#~ msgid "update working directory\n"
-#~ msgstr ""
-#~ "Aktualisiert das Arbeitsverzeichnis\n"
-#~ "\n"
-#~ "    Hebt das Arbeitsverzeichnis auf die angegebene Revision oder die\n"
-#~ "    Spitze des aktuellen Zweiges an, falls keine angegeben wurde.\n"
-#~ "    Bei der Verwendung von null als Revision wird die Arbeitskopie "
-#~ "entfernt\n"
-#~ "    (wie 'hg clone -U').\n"
-#~ "\n"
-#~ "    Wenn das Arbeitsverzeichnis keine unversionierten Änderungen "
-#~ "enthält,\n"
-#~ "    wird es durch den Zustand der angeforderten Revision ersetzt. Sollte\n"
-#~ "    die angeforderte Revision aus einem anderen Zweig sein, wird das\n"
-#~ "    Arbeitsverzeichnis zusätzlich auf diesen Zweig umgestellt.\n"
-#~ "\n"
-#~ "    Sollten unversionierte Änderungen vorliegen, muss -C/--clean genutzt\n"
-#~ "    werden, um sie zwangsweise mit dem Zustand des Arbeitsverzeichnis "
-#~ "der\n"
-#~ "    angeforderten Revision zu ersetzen. Alternative, nutze -c/--check um\n"
-#~ "    abzubrechen.\n"
-#~ "\n"
-#~ "    Sollten unversionierte Änderungen vorliegen, -C nicht genutzt werden "
-#~ "und\n"
-#~ "    die Vorgängerversion und die angeforderte Version sind auf dem "
-#~ "selben\n"
-#~ "    Zweig und eine ist Vorläufer der anderen, dann wird das neue\n"
-#~ "    Arbeitsverzeichnis die angeforderte Revision in einer "
-#~ "Zusammenführung\n"
-#~ "    mit den unversionierten Änderungen enthalten. Anderenfalls wird "
-#~ "'update'\n"
-#~ "    fehlschlagen mit einem Hinweis 'merge' oder 'update -C' stattdessen "
-#~ "zu\n"
-#~ "    nutzen.\n"
-#~ "\n"
-#~ "    Sollte nur eine Datei auf eine ältere Revision gehoben werden, kann\n"
-#~ "    'revert' genutzt werden.\n"
-#~ "\n"
-#~ "    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
-#~ "    "
+#, fuzzy
+msgid "update working directory\n"
+msgstr ""
+"Aktualisiert das Arbeitsverzeichnis\n"
+"\n"
+"    Hebt das Arbeitsverzeichnis auf die angegebene Revision oder die\n"
+"    Spitze des aktuellen Zweiges an, falls keine angegeben wurde.\n"
+"    Bei der Verwendung von null als Revision wird die Arbeitskopie entfernt\n"
+"    (wie 'hg clone -U').\n"
+"\n"
+"    Wenn das Arbeitsverzeichnis keine unversionierten Änderungen enthält,\n"
+"    wird es durch den Zustand der angeforderten Revision ersetzt. Sollte\n"
+"    die angeforderte Revision aus einem anderen Zweig sein, wird das\n"
+"    Arbeitsverzeichnis zusätzlich auf diesen Zweig umgestellt.\n"
+"\n"
+"    Sollten unversionierte Änderungen vorliegen, muss -C/--clean genutzt\n"
+"    werden, um sie zwangsweise mit dem Zustand des Arbeitsverzeichnis der\n"
+"    angeforderten Revision zu ersetzen. Alternative, nutze -c/--check um\n"
+"    abzubrechen.\n"
+"\n"
+"    Sollten unversionierte Änderungen vorliegen, -C nicht genutzt werden und\n"
+"    die Vorgängerversion und die angeforderte Version sind auf dem selben\n"
+"    Zweig und eine ist Vorläufer der anderen, dann wird das neue\n"
+"    Arbeitsverzeichnis die angeforderte Revision in einer Zusammenführung\n"
+"    mit den unversionierten Änderungen enthalten. Anderenfalls wird 'update'\n"
+"    fehlschlagen mit einem Hinweis 'merge' oder 'update -C' stattdessen zu\n"
+"    nutzen.\n"
+"\n"
+"    Sollte nur eine Datei auf eine ältere Revision gehoben werden, kann\n"
+"    'revert' genutzt werden.\n"
+"\n"
+"    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
+"    "
--- a/i18n/el.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/el.po	Mon Jun 21 13:41:11 2010 -0500
@@ -1,8 +1,8 @@
 # Greek translations for Mercurial
 # Ελληνική μετάφÏαση των μηνυμάτων του Mercurial
-#
+# 
 # Copyright (C) 2009 Matt Mackall και άλλοι
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
@@ -14,8 +14,8 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Generated-By: pygettext.py 1.5\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #, python-format
 msgid " (default: %s)"
@@ -27,27 +27,22 @@
 msgid "Commands"
 msgstr "Εντολές"
 
-msgid ""
-"    options:\n"
-"\n"
-msgstr ""
-"    επιλογές:\n"
-"\n"
-
-#, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    ψευδώνυμα: %s\n"
-"\n"
+msgid "    options:"
+msgstr "    επιλογές:"
+
+#, python-format
+msgid "    aliases: %s"
+msgstr "    ψευδώνυμα: %s"
 
 msgid ""
 "Mercurial reads configuration data from several files, if they exist.\n"
-"Below we list the most specific file first.\n"
-"\n"
-"On Windows, these configuration files are read:\n"
-"\n"
+"Below we list the most specific file first."
+msgstr ""
+
+msgid "On Windows, these configuration files are read:"
+msgstr ""
+
+msgid ""
 "- ``<repo>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -55,41 +50,56 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<install-dir>\\Mercurial.ini``\n"
-"\n"
-"On Unix, these files are read:\n"
-"\n"
+"- ``<install-dir>\\Mercurial.ini``"
+msgstr ""
+
+msgid "On Unix, these files are read:"
+msgstr ""
+
+msgid ""
 "- ``<repo>/.hg/hgrc``\n"
 "- ``$HOME/.hgrc``\n"
 "- ``/etc/mercurial/hgrc``\n"
 "- ``/etc/mercurial/hgrc.d/*.rc``\n"
 "- ``<install-root>/etc/mercurial/hgrc``\n"
-"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+msgstr ""
+
+msgid ""
 "The configuration files for Mercurial use a simple ini-file format. A\n"
 "configuration file consists of sections, led by a ``[section]`` header\n"
-"and followed by ``name = value`` entries::\n"
-"\n"
+"and followed by ``name = value`` entries::"
+msgstr ""
+
+msgid ""
 "  [ui]\n"
 "  username = Firstname Lastname <firstname.lastname@example.net>\n"
-"  verbose = True\n"
-"\n"
+"  verbose = True"
+msgstr ""
+
+msgid ""
 "This above entries will be referred to as ``ui.username`` and\n"
 "``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
-"description of the possible configuration values:\n"
-"\n"
+"description of the possible configuration values:"
+msgstr ""
+
+msgid ""
 "- on Unix-like systems: ``man hgrc``\n"
 "- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
 msgstr ""
 
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr ""
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples:\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+
+msgid "Many date formats are valid. Here are some examples:"
+msgstr ""
+
+msgid ""
 "- ``Wed Dec 6 13:18:29 2006`` (local timezone assumed)\n"
 "- ``Dec 6 13:18 -0600`` (year assumed, time offset provided)\n"
 "- ``Dec 6 13:18 UTC`` (UTC and GMT are aliases for +0000)\n"
@@ -102,19 +112,26 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format:\n"
-"\n"
-"- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
+"- ``12/6/6`` (Dec 6 2006)"
+msgstr ""
+
+msgid "Lastly, there is Mercurial's internal format:"
+msgstr ""
+
+msgid "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr ""
+
+msgid ""
 "This is the internal representation format for dates. unixtime is the\n"
 "number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
 "the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges:\n"
-"\n"
+"the timezone is east of UTC)."
+msgstr ""
+
+msgid "The log command also accepts date ranges:"
+msgstr ""
+
+msgid ""
 "- ``<{datetime}`` - at or before a given date/time\n"
 "- ``>{datetime}`` - on or after a given date/time\n"
 "- ``{datetime} to {datetime}`` - a date range, inclusive\n"
@@ -124,29 +141,39 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr ""
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
+"format for communicating changes."
+msgstr ""
+
+msgid ""
 "To make Mercurial produce the git extended diff format, use the --git\n"
 "option available for many commands, or set 'git = True' in the [diff]\n"
 "section of your hgrc. You do not need to set this option when\n"
@@ -159,74 +186,98 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use .hgrc)"
+msgstr ""
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
+
+msgid ""
 "HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    ancestor file."
+msgstr ""
+
+msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
+"    from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
 "    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
 "HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
+"    available values will be considered in this order:"
+msgstr ""
+
+msgid ""
 "    - HGUSER (deprecated)\n"
 "    - hgrc files from the HGRCPATH\n"
 "    - EMAIL\n"
 "    - interactive prompt\n"
-"    - LOGNAME (with ``@hostname`` appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    - LOGNAME (with ``@hostname`` appended)"
+msgstr ""
+
+msgid ""
 "EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
 "EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
 "    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
 "    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
+"    defaults to 'vi'."
+msgstr ""
+
+msgid ""
 "PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
@@ -236,31 +287,44 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
+"needed."
+msgstr ""
+
+msgid ""
 "To enable the \"foo\" extension, either shipped with Mercurial or in\n"
 "the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
+"  foo ="
+msgstr ""
+
+msgid "You may also specify the full path to an extension::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
+
+msgid ""
 "To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
+"scope, prepend its path with !::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  # disabling extension bar residing in /path/to/extension/bar.py\n"
 "  bar = !/path/to/extension/bar.py\n"
@@ -271,89 +335,126 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
+
+msgid ""
 "A range acts as a closed interval. This means that a range of 3:5\n"
 "gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
 msgstr ""
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr ""
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr ""
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+
+msgid "Plain examples::"
+msgstr ""
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+
+msgid "Glob examples::"
+msgstr ""
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"                 including itself."
+msgstr ""
+
+msgid "Regexp examples::"
+msgstr ""
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr ""
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr ""
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr ""
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
@@ -364,27 +465,40 @@
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+
+msgid ""
 "Three styles are packaged with Mercurial: default (the style used\n"
 "when no explicit preference is passed), compact and changelog.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"Usage::"
+msgstr ""
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
+"expansion::"
+msgstr ""
+
+msgid ""
 "    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+
+msgid ""
 ":author:    String. The unmodified author of the changeset.\n"
 ":branches:  String. The name of the branch on which the changeset\n"
 "            was committed. Will be empty if the branch name was\n"
@@ -408,19 +522,26 @@
 "            changeset.\n"
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
 "            changeset.\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. You can also use a chain of filters to get the desired\n"
-"output::\n"
-"\n"
+"output::"
+msgstr ""
+
+msgid ""
 "   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
+
+msgid "List of filters:"
+msgstr ""
+
+msgid ""
 ":addbreaks:   Any text. Add an XHTML \"<br />\" tag before the end of\n"
 "              every line except the last.\n"
 ":age:         Date. Returns a human-readable date/time difference\n"
@@ -476,129 +597,129 @@
 "              address.\n"
 msgstr ""
 
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+msgid "Valid URLs are of the form::"
+msgstr ""
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
+
+msgid ""
 "Paths in the local filesystem can either point to Mercurial\n"
 "repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
+"incoming --bundle')."
+msgstr ""
+
+msgid ""
 "An optional identifier after # indicates a particular branch, tag, or\n"
 "changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
+"revisions'."
+msgstr ""
+
+msgid ""
 "Some features, such as pushing to http:// and https:// URLs are only\n"
 "possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
+"server."
+msgstr ""
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr ""
+
+msgid ""
 "- SSH requires an accessible shell account on the destination machine\n"
 "  and a copy of hg in the remote path or specified with as remotecmd.\n"
 "- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
+
+msgid "    ssh://example.com//tmp/repository"
+msgstr ""
+
+msgid ""
 "- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
+
+msgid ""
 "    Host *.mylocalnetwork.example.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+msgstr ""
+
+msgid ""
 "  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
+"  with the --ssh command line option."
+msgstr ""
+
+msgid ""
 "These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
+"[paths] section like so::"
+msgstr ""
+
+msgid ""
 "  [paths]\n"
 "  alias1 = URL1\n"
 "  alias2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+msgstr ""
+
+msgid ""
 "You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' will be treated as 'hg pull URL1').\n"
-"\n"
+"example 'hg pull alias1' will be treated as 'hg pull URL1')."
+msgstr ""
+
+msgid ""
 "Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
+"you do not provide the URL to a command:"
+msgstr ""
+
+msgid ""
 "default:\n"
 "  When you create a repository with hg clone, the clone command saves\n"
 "  the location of the source repository as the new repository's\n"
 "  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
+
+msgid ""
 "default-push:\n"
 "  The push command will look for a path named 'default-push', and\n"
 "  prefer it over 'default' if both are defined.\n"
 msgstr ""
 
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "hooks for controlling repository access"
+msgstr "hooks για έλεγχο της Ï€Ïόσβασης σε ένα αποθετήÏιο"
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+"Τα hooks της επέκτασης acl σας δίνουν τη δυνατότητα να επιτÏέψετε ή να\n"
+"απαγοÏεÏσετε την Ï€Ïόσβαση για αλλαγές σε μέÏη ενός αποθετηÏίου κατά τη\n"
+"διάÏκεια της λήψης εισεÏχόμενων αλλαγών."
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+"Η Ï€Ïόσβαση ελέγχεται με βάση το τοπικό όνομα χÏήστη στο σÏστημα το οποίο\n"
+"εκτελεί τον κώδικα της επέκτασης κι όχι με βάση το όνομα του συγγÏαφέα\n"
+"μιας αλλαγής (Î±Ï†Î¿Ï Ï„Î¿ δεÏτεÏο υπάÏχει μόνο για πληÏοφοÏιακοÏÏ‚ σκοποÏÏ‚)."
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
-"  [extensions]\n"
-"  acl =\n"
-"\n"
-"  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
-"  [acl]\n"
-"  # Check whether the source of incoming changes is in this list\n"
-"  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
-"The allow and deny sections take a subtree pattern as key (with a glob\n"
-"syntax by default), and a comma separated list of users as the\n"
-"corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
-"  [acl.allow]\n"
-"  # If acl.allow is not present, all users are allowed by default.\n"
-"  # An empty acl.allow section means no users allowed.\n"
-"  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
-"  [acl.deny]\n"
-"  # If acl.deny is not present, no users are refused by default.\n"
-"  # An empty acl.deny section means all users allowed.\n"
-"  glob pattern = user4, user5\n"
-"   ** = user6\n"
-msgstr ""
-"hooks για έλεγχο της Ï€Ïόσβασης σε ένα αποθετήÏιο\n"
-"\n"
-"Τα hooks της επέκτασης acl σας δίνουν τη δυνατότητα να επιτÏέψετε ή να\n"
-"απαγοÏεÏσετε την Ï€Ïόσβαση για αλλαγές σε μέÏη ενός αποθετηÏίου κατά τη\n"
-"διάÏκεια της λήψης εισεÏχόμενων αλλαγών.\n"
-"\n"
-"Η Ï€Ïόσβαση ελέγχεται με βάση το τοπικό όνομα χÏήστη στο σÏστημα το οποίο\n"
-"εκτελεί τον κώδικα της επέκτασης κι όχι με βάση το όνομα του συγγÏαφέα\n"
-"μιας αλλαγής (Î±Ï†Î¿Ï Ï„Î¿ δεÏτεÏο υπάÏχει μόνο για πληÏοφοÏιακοÏÏ‚ σκοποÏÏ‚).\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
 "Η επέκταση acl είναι πιο χÏήσιμη όταν συνδυάζεται με ένα πεÏιοÏισμένο\n"
 "φλοιό όπως το hgsh, Î±Ï†Î¿Ï Î­Ï„ÏƒÎ¹ οι απομακÏυσμένοι χÏήστες έχουν Ï€Ïόσβαση\n"
 "μόνο για λειτουÏγίες pull ή push.  Η επέκταση δε μποÏεί να σας\n"
@@ -606,37 +727,72 @@
 "έχουν απευθείας Ï€Ïόσβαση να εκτελέσουν οποιαδήποτε εντολή στο\n"
 "εξυπηÏετητή του αποθετηÏίου.  Δεν είναι ασφαλής, επίσης, όταν πολλοί\n"
 "απομακÏυσμένοι χÏήστες μοιÏάζονται τον ίδιο τοπικό λογαÏιασμό, Î±Ï†Î¿Ï Î´ÎµÎ½\n"
-"υπάÏχει Ï„Ïόπος να ξεχωÏίσει ο ένας χÏήστης από τον άλλο.\n"
-"\n"
+"υπάÏχει Ï„Ïόπος να ξεχωÏίσει ο ένας χÏήστης από τον άλλο."
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
 "Για να χÏησιμοποιήσετε το hook της επέκτασης ενεÏγοποιήστε την στο\n"
-"αÏχείο hgrc ως εξής::\n"
-"\n"
+"αÏχείο hgrc ως εξής::"
+
+msgid ""
+"  [extensions]\n"
+"  acl ="
+msgstr ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+
+msgid ""
+"  [hooks]\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+
+msgid ""
+"  [acl]\n"
+"  # Check whether the source of incoming changes is in this list\n"
+"  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
+"  sources = serve"
+msgstr ""
 "  [acl]\n"
 "  # Ελέγξτε αν η πηγή των εισεÏχόμενων αλλαγών είναι κάποια από τις\n"
-"  # (\\\"serve\\\" == ssh ή http, \\\"push\\\", \\\"pull\\\", \\\"bundle\\"
-"\")\n"
-"  sources = serve\n"
-"\n"
+"  # (\\\"serve\\\" == ssh ή http, \\\"push\\\", \\\"pull\\\", \\\"bundle\\\")\n"
+"  sources = serve"
+
+msgid ""
+"The allow and deny sections take a subtree pattern as key (with a glob\n"
+"syntax by default), and a comma separated list of users as the\n"
+"corresponding value. The deny list is checked before the allow list\n"
+"is. ::"
+msgstr ""
 "Τα τμήματα του αÏχείου Ïυθμίσεων τα οποία επιτÏέπουν ή απαγοÏεÏουν την\n"
 "Ï€Ïόσβαση μποÏοÏν να αναφέÏονται σε υποκαταλόγους του αποθετηÏίου (με\n"
 "σÏνταξη glob για τα ονόματα αÏχείων ή υποκαταλόγων).  Σε κάθε Ï€Ïότυπο\n"
 "ονόματος μποÏείτε να οÏίσετε ένα ή πεÏισσότεÏους χÏήστες χωÏίζοντας τα\n"
 "ονόματά τους με κόμμα.  Η λίστα Ï€ÏοτÏπων που απαγοÏεÏει την Ï€Ïόσβαση\n"
-"ελέγχεται Ï€Ïώτη. ::\n"
-"\n"
+"ελέγχεται Ï€Ïώτη. ::"
+
+msgid ""
+"  [acl.allow]\n"
+"  # If acl.allow is not present, all users are allowed by default.\n"
+"  # An empty acl.allow section means no users allowed.\n"
+"  docs/** = doc_writer\n"
+"  .hgtags = release_engineer"
+msgstr ""
 "  [acl.allow]\n"
 "  # Όταν δεν υπάÏχει το τμήμα acl.allow επιτÏέπεται η Ï€Ïόσβαση σε\n"
 "  # όλους τους χÏήστες.  Όταν το τμήμα acl.allow είναι κενό δεν\n"
 "  # επιτÏέπεται η Ï€Ïόσβαση σε κανέναν χÏήστη.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+
+msgid ""
+"  [acl.deny]\n"
+"  # If acl.deny is not present, no users are refused by default.\n"
+"  # An empty acl.deny section means all users allowed.\n"
+"  glob pattern = user4, user5\n"
+"   ** = user6\n"
+msgstr ""
 "  [acl.deny]\n"
 "  # Όταν δεν υπάÏχει το τμήμα acl.deny επιτÏέπεται η Ï€Ïόσβαση σε\n"
 "  # όλους τους χÏήστες.  Όταν είναι κενό επίσης επιτÏέπεται η\n"
@@ -646,83 +802,81 @@
 
 #, python-format
 msgid "config error - hook type \"%s\" cannot stop incoming changesets"
-msgstr ""
-"Ï€Ïόβλημα Ïυθμίσεων - το hook \"%s\" δε μποÏεί να εμποδίσει εισεÏχόμενες "
-"αλλαγές"
+msgstr "Ï€Ïόβλημα Ïυθμίσεων - το hook \"%s\" δε μποÏεί να εμποδίσει εισεÏχόμενες αλλαγές"
 
 #, python-format
 msgid "acl: access denied for changeset %s"
 msgstr "acl: η Ï€Ïόσβαση για την αλλαγή %s δεν επιτÏέπεται"
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr "παÏακολοÏθηση μιας γÏαμμής ανάπτυξης με κινητές ετικέτες"
+
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+"Τα bookmarks είναι κινητές ετικέτες για αλλαγές.  Κάθε ετικέτα δείχνει\n"
+"σε μια αλλαγή, με βάση το hash της αλλαγής.  Αν δημιουÏγήσετε μια νέα\n"
+"αλλαγή με βάση μια αλλαγή στην οποία δείχνει μια ετικέτα, η ετικέτα\n"
+"μετακινείται στην καινοÏÏια αλλαγή."
+
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+"Οι ετικέτες μποÏοÏν να χÏησιμοποιηθοÏν οπουδήποτε έχει νόημα το\n"
+"αναγνωÏιστικό μιας έκδοσης (Ï€.χ. ως οÏίσματα των hg merge ή hg update)."
+
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+"Η Ï€ÏοκαθοÏισμένη συμπεÏιφοÏά της επέκτασης είναι να μετακινεί όλες τις\n"
+"ετικέτες μιας γονικής αλλαγής.  Αυτή η συμπεÏιφοÏά μποÏεί να αλλάξει,\n"
+"για να μοιάζει πεÏισσότεÏο με το git, Ï€Ïοσθέτοντας την παÏακάτω επιλογή\n"
+"στο αÏχείο .hgrc::"
+
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+"  [bookmarks]\n"
+"  track.current = True"
+
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
-"παÏακολοÏθηση μιας γÏαμμής ανάπτυξης με κινητές ετικέτες\n"
-"\n"
-"Τα bookmarks είναι κινητές ετικέτες για αλλαγές.  Κάθε ετικέτα δείχνει\n"
-"σε μια αλλαγή, με βάση το hash της αλλαγής.  Αν δημιουÏγήσετε μια νέα\n"
-"αλλαγή με βάση μια αλλαγή στην οποία δείχνει μια ετικέτα, η ετικέτα\n"
-"μετακινείται στην καινοÏÏια αλλαγή.\n"
-"\n"
-"Οι ετικέτες μποÏοÏν να χÏησιμοποιηθοÏν οπουδήποτε έχει νόημα το\n"
-"αναγνωÏιστικό μιας έκδοσης (Ï€.χ. ως οÏίσματα των hg merge ή hg update).\n"
-"\n"
-"Η Ï€ÏοκαθοÏισμένη συμπεÏιφοÏά της επέκτασης είναι να μετακινεί όλες τις\n"
-"ετικέτες μιας γονικής αλλαγής.  Αυτή η συμπεÏιφοÏά μποÏεί να αλλάξει,\n"
-"για να μοιάζει πεÏισσότεÏο με το git, Ï€Ïοσθέτοντας την παÏακάτω επιλογή\n"
-"στο αÏχείο .hgrc::\n"
-"\n"
-"  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
 "Με αυτή την επιλογή το Mercurial θα ελέγχει αν έχετε ενεÏγοποιήσει\n"
 "κάποια ετικέτα και θα μετακινεί μόνο αυτή την ετικέτα.  Αυτή η\n"
 "συμπεÏιφοÏά μοιάζει με τον Ï„Ïόπο που λειτουÏγοÏν οι κλάδοι ανάπτυξης στο\n"
 "git.\n"
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
-"    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
-"    directory's parent revision with the given name. If you specify\n"
-"    a revision using -r REV (where REV may be an existing bookmark),\n"
-"    the bookmark is assigned to that revision.\n"
-"    "
-msgstr ""
-"παÏακολοÏθηση μιας γÏαμμής ανάπτυξης με κινητές ετικέτες\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
 "    Οι ετικέτες είναι δείκτες Ï€Ïος συγκεκÏιμένες αλλαγές, οι οποίοι\n"
 "    μετακινοÏνται όταν κάνετε commit.  Οι ετικέτες αποθηκεÏονται μόνο\n"
 "    τοπικά.  ΜποÏοÏν να μετονομαστοÏν, να αντιγÏαφοÏν, και να σβηστοÏν.\n"
 "    Η χÏήση τους επιτÏέπεται τόσο με την εντολή 'hg merge όσο και με την\n"
 "    'hg update', για συγχώνευση ή ενημέÏωση, αντίστοιχα, του χώÏου\n"
-"    εÏγασίας με την έκδοση μιας ετικέτας.\n"
-"\n"
+"    εÏγασίας με την έκδοση μιας ετικέτας."
+
+msgid ""
+"    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
+"    directory's parent revision with the given name. If you specify\n"
+"    a revision using -r REV (where REV may be an existing bookmark),\n"
+"    the bookmark is assigned to that revision.\n"
+"    "
+msgstr ""
 "    ΜποÏείτε να δώσετε 'hg bookmark ΟÎΟΜΑ' για να οÏίσετε μια ετικέτα η\n"
 "    οποία δείχνει στη γονική αλλαγή του χώÏου εÏγασίας.  Με την επιλογή\n"
 "    '-r REV' (όπου REV μποÏεί να είναι και μια υπάÏχουσα ετικέτα)\n"
@@ -742,13 +896,10 @@
 msgstr "απαιτείται όνομα σελιδοδείκτη"
 
 msgid "bookmark name cannot contain newlines"
-msgstr ""
-"το όνομα ενός σελιδοδείκτη δεν επιτÏέπεται να πεÏιέχει χαÏακτήÏες αλλαγής "
-"γÏαμμής"
+msgstr "το όνομα ενός σελιδοδείκτη δεν επιτÏέπεται να πεÏιέχει χαÏακτήÏες αλλαγής γÏαμμής"
 
 msgid "a bookmark cannot have the name of an existing branch"
-msgstr ""
-"οι σελιδοδείκτες δεν επιτÏέπεται να έχουν το όνομα ενός υπάÏχοντος κλάδου"
+msgstr "οι σελιδοδείκτες δεν επιτÏέπεται να έχουν το όνομα ενός υπάÏχοντος κλάδου"
 
 msgid "force"
 msgstr "force"
@@ -765,103 +916,906 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr "hg bookmarks [-f] [-d] [-m ΟÎΟΜΑ] [-r REV] [REV]"
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
-"This hook extension adds comments on bugs in Bugzilla when changesets\n"
-"that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
-"The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
-"The hook relies on a Bugzilla script to send bug change notification\n"
-"emails. That script changes between Bugzilla versions; the\n"
-"'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
-"subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
-"be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
-"The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
+#, fuzzy
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
 "\n"
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
 "\n"
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
 "\n"
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
 "\n"
 "password\n"
-"  Password to use to access MySQL server.\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
 "\n"
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
 "\n"
 "version\n"
-"  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
-"  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
 "\n"
 "bzuser\n"
-"  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
 "\n"
 "bzdir\n"
-"   Bugzilla install directory. Used by default notify. Default\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
 "   '/var/www/html/bugzilla'.\n"
 "\n"
 "notify\n"
-"  The command to run to get Bugzilla to send bug change notification\n"
-"  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
-"  and 'user' (committer bugzilla email). Default depends on version;\n"
-"  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
 "\n"
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
-"  Must contain one \"()\" group. The default expression matches 'Bug\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
 "  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
 "\n"
 "style\n"
-"  The style file to use when formatting comments.\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"This hook extension adds comments on bugs in Bugzilla when changesets\n"
+"that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
+"bug status."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
 "\n"
 "template\n"
-"  Template to use when formatting comments. Overrides style if\n"
-"  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
-"    {bug}       The Bugzilla bug ID.\n"
-"    {root}      The full pathname of the Mercurial repository.\n"
-"    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
-"  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"The hook updates the Bugzilla database directly. Only Bugzilla\n"
+"installations using MySQL are supported."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
 "\n"
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
 "  {webroot}. Default 0.\n"
 "\n"
 "usermap\n"
-"  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
-"  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
-"The [usermap] section is used to specify mappings of Mercurial\n"
-"committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"The hook relies on a Bugzilla script to send bug change notification\n"
+"emails. That script changes between Bugzilla versions; the\n"
+"'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
+"subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
+"be run by Mercurial as the user pushing the change; you will need to\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
 "\n"
 "baseurl\n"
-"  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"The extension is configured through three different configuration\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"host\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
 "\n"
 "    [extensions]\n"
 "    bugzilla =\n"
@@ -870,11 +1824,479 @@
 "    # run bugzilla hook on every change pulled or pushed in here\n"
 "    incoming.bugzilla = python:hgext.bugzilla.hook\n"
 "\n"
-"Example configuration:\n"
-"\n"
-"This example configuration is for a collection of Mercurial\n"
-"repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"db\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"user\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"password\n"
+"  Password to use to access MySQL server."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
 "\n"
 "    [bugzilla]\n"
 "    host=localhost\n"
@@ -882,9 +2304,323 @@
 "    version=3.0\n"
 "    bzuser=unknown@domain.com\n"
 "    bzdir=/opt/bugzilla-3.2\n"
-"    template=Changeset {node|short} in {root|basename}.\n"
-"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
-"             {desc}\\n\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"timeout\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"version\n"
+"  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
+"  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
+"  to 2.18."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
 "    strip=5\n"
 "\n"
 "    [web]\n"
@@ -893,12 +2629,336 @@
 "    [usermap]\n"
 "    user@emaildomain.com=user.name@bugzilladomain.com\n"
 "\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
-"    Changeset 3b16791d6642 in repository-name.\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"bzuser\n"
+"  Fallback Bugzilla user name to record comments with, if changeset\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
 "    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
 "\n"
-"    Changeset commit comment. Bug 1234.\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"bzdir\n"
+"   Bugzilla install directory. Used by default notify. Default\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"notify\n"
+"  The command to run to get Bugzilla to send bug change notification\n"
+"  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
+"  and 'user' (committer bugzilla email). Default depends on version;\n"
+"  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
+"  %(id)s %(user)s\"."
 msgstr ""
 "διασÏνδεση με το bug tracker Bugzilla\n"
 "\n"
@@ -984,8 +3044,3295 @@
 "    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
 "\n"
 "  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
-"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|"
-"tabindent}'\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \"()\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"style\n"
+"  The style file to use when formatting comments."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"template\n"
+"  Template to use when formatting comments. Overrides style if\n"
+"  specified. In addition to the usual Mercurial keywords, the\n"
+"  extension specifies::"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    {bug}       The Bugzilla bug ID.\n"
+"    {root}      The full pathname of the Mercurial repository.\n"
+"    {webroot}   Stripped pathname of the Mercurial repository.\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"  Default 'changeset {node|short} in repo {root} refers '\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"usermap\n"
+"  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
+"  mappings. If specified, the file should contain one mapping per\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"The [usermap] section is used to specify mappings of Mercurial\n"
+"committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"baseurl\n"
+"  Base URL for browsing Mercurial repositories. Reference from\n"
+"  templates as {hgweb}."
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid "Activating the extension::"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [extensions]\n"
+"    bugzilla ="
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid "Example configuration:"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"This example configuration is for a collection of Mercurial\n"
+"repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"\n"
+"  Η διαδÏομή του αÏχείου αντιστοίχησης του ονόματος κάθε συγγÏαφέα από\n"
+"  το Mercurial σε Bugzilla user ID. Όταν οÏίζεται αυτή η επιλογή το\n"
+"  αÏχείο Ï€Ïέπει να πεÏιέχει μια αντιστοίχηση ανά γÏαμμή.  Κάθε γÏαμμή\n"
+"  είναι της μοÏφής \\\"committer\\\"=\\\"Bugzilla user\\\". Δείτε και την\n"
+"  πεÏιγÏαφή του τμήματος [usermap].\n"
+"\n"
+"Το τμήμα [usermap] χÏησιμοποιείται για την αντιστοίχηση του ονόματος\n"
+"κάθε συγγÏαφέα από το όνομα που χÏησιμοποιεί στο Mercurial στο όνομα\n"
+"χÏήστη που έχει στο Bugzilla.  Δείτε επίσης την πεÏιγÏαφή της επιλογής\n"
+"[bugzilla].usermap.  Η μοÏφή που έχει κάθε γÏαμμή στο usermap είναι::\n"
+"\n"
+"\\\"committer\\\"=\\\"Bugzilla user\\\"\n"
+"\n"
+"Τέλος, στο τμήμα [web] υποστηÏίζεται η εξής επιλογή:\n"
+"\n"
+"baseurl\n"
+"  ΑÏχικός κατάλογος για Ï€Ïοβολή των αποθετηÏίων Mercurial.  Η τιμή του\n"
+"  baseurl χÏησιμοποιείται από τα Ï€Ïότυπα μοÏφοποίησης ως {hgweb}.\n"
+"\n"
+"ΕνεÏγοποίηση της επέκτασης::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"ΠαÏάδειγμα Ïυθμίσεων:\n"
+"\n"
+"Οι παÏακάτω Ïυθμίσεις αναφέÏονται σε μια συλλογή αποθετηÏίων Mercurial\n"
+"στον κατάλογο /var/local/hg/repos/ και μια τοπική εγκατάσταση του\n"
+"Bugzilla 3.2 με αÏχικό κατάλογο τον /opt/bugzilla-3.2. ::\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Αλλαγή {node|short} στο {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\\\n\n"
+"             {desc}\\\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Οι αλλαγές που στέλνονται στα αποθετήÏια Ï€Ïοσθέτουν στα αντίστοιχα bug\n"
+"report ένα σχόλιο της μοÏφής::\n"
+"\n"
+"    Αλλαγή 3b16791d6642 στο όνομα-αποθετηÏίου.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    ΠεÏιγÏαφή της αλλαγής.  Bug 1234.\n"
+
+#, fuzzy
+msgid "    Changeset commit comment. Bug 1234.\n"
+msgstr ""
+"διασÏνδεση με το bug tracker Bugzilla\n"
+"\n"
+"Αυτή η επέκταση Ï€Ïοσθέτει σχόλια σε bugs στο Bugzilla όταν δει κάποια\n"
+"αλλαγή να αναφέÏεται σε ανοιχτά bugs. Το hook της επέκτασης δεν αλλάζει\n"
+"την κατάσταση του bug.\n"
+"\n"
+"Το hook ενημεÏώνει απευθείας τη βάση δεδομένων του Bugzilla.  Αυτή η\n"
+"έκδοση υποστηÏίζει μόνο εγκαταστάσεις του Bugzilla που χÏησιμοποιοÏν τη\n"
+"βάση δεδομένων MySQL.\n"
+"\n"
+"Το hook καλεί εσωτεÏικά το script του Bugzilla για ειδοποιήσεις μέσω\n"
+"email. Το script έχει διαφοÏετικό όνομα σε μεÏικές εκδόσεις του\n"
+"Bugzilla. ΜέχÏι την έκδοση 2.18 λέγεται 'processmail'. Από την έκδοση\n"
+"2.18 και μετά αντικαταστάθηκε από το 'config/sendbugmail.pl'. Το script\n"
+"εκτελείται με τα δικαιώματα του χÏήστη που στέλνει τις αλλαγές μέσω\n"
+"Mercurial· μποÏεί να χÏειαστεί να Ïυθμίσετε τις άδειες χÏήστη στην\n"
+"εγκατάσταση του Bugzilla για να λειτουÏγήσει σωστά.\n"
+"\n"
+"Η επέκταση bugzilla Ïυθμίζεται μέσω Ï„Ïιών διαφοÏετικών τμημάτων του\n"
+"αÏχείου εκκίνησης του Mercurial.  Οι παÏακω επιλογές αναγνωÏίζονται στο\n"
+"τμήμα [bugzilla]:\n"
+"\n"
+"host\n"
+"  Το όνομα του εξυπηÏετητή MySQL για τη βάση δεδομένων του Bugzilla.\n"
+"\n"
+"db\n"
+"  Το όνομα της βάσης δεδομένων MySQL του Bugzilla.  ΠÏοκαθοÏισμένο όνομα\n"
+"  'bugs'.\n"
+"\n"
+"user\n"
+"  Το όνομα χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.  ΠÏοκαθοÏισμένο\n"
+"  όνομα 'bugs'.\n"
+"\n"
+"password\n"
+"  Κωδικός χÏήστη για Ï€Ïόσβαση στον εξυπηÏετητή MySQL.\n"
+"\n"
+"timeout\n"
+"  ΧÏονικό ÏŒÏιο Ï€Ïόσβασης στη βάση δεδομένων (δευτεÏόλεπτα).\n"
+"  ΠÏοκαθοÏισμένος χÏόνος 5.\n"
+"\n"
+"version\n"
+"  Έκδοση Bugzilla.  ΟÏίστε '3.0' για την έκδοση 3.0 ή νεώτεÏες, '2.18'\n"
+"  για εκδόσεις από 2.18 έως και 3.0, και '2.16' για εκδόσεις πιο παλιές\n"
+"  από την 2.18.\n"
+"\n"
+"bzuser\n"
+"  Εναλλακτικό όνομα χÏήστη Bugzilla.  Το όνομα του χÏήστη Bugzilla που\n"
+"  θα χÏησιμοποιείται όταν ο αÏχικός συγγÏαφέας μιας αλλαγής δε μποÏεί να\n"
+"  βÏεθεί ως χÏήστης στο Bugzilla.\n"
+"\n"
+"bzdir\n"
+"   Ο κατάλογος εγκατάστασης του Bugzilla.  ΧÏησιμοποιείται από τον\n"
+"   Ï€ÏοκαθοÏισμένο μηχανισμό ειδοποιήσεων.  ΠÏοκαθοÏισμένος κατάλογος\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  Η εντολή που χÏησιμοποιείται για την αποστολή ειδοποιήσεων μέσω\n"
+"  Bugzilla.  Η επέκταση υποστηÏίζει Ï„Ïία κλειδιά στην τιμή αυτής της\n"
+"  εντολής: 'bzdir', 'id' (bug id) και 'user' (το όνομα χÏήστη στο\n"
+"  bugzilla).  Η Ï€ÏοκαθοÏισμένη τιμή εξαÏτάται από την έκδοση του\n"
+"  Bugzilla.  Για την έκδοση 2.18 και νεότεÏες είναι \\\"cd %(bzdir)s &&\n"
+"  perl -T contrib/sendbugmail.pl %(id)s %(user)s\\\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \\\"()\\\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  Το αÏχείο στυλ που θα χÏησιμοποιείται για την μοÏφοποίηση των σχολίων.\n"
+"\n"
+"template\n"
+"  ΠÏότυπο μοÏφοποίησης σχολίων.  Όταν οÏίζεται έχει Ï€ÏοτεÏαιότητα σε\n"
+"  σχέση με το αÏχείο στυλ.  ΥποστηÏίζονται όλες οι συνηθισμένες λέξεις\n"
+"  κλειδιά των Ï€ÏοτÏπων του Mercurial, κι επιπλέον οι εξής ειδικές λέξεις\n"
+"  κλειδιά::\n"
+"\n"
+"    {bug}       Το ID ενός bug στο Bugzilla.\n"
+"    {root}      Ο πλήÏης κατάλογος ενός αποθετηÏίου Mercurial.\n"
+"    {webroot}   ΣÏντομη μοÏφή του καταλόγου ενός αποθετηÏίου.\n"
+"    {hgweb}     ΑÏχικό URL για Ï€Ïοβολή των αποθετηÏίων Mercurial.\n"
+"\n"
+"  ΠÏοκαθοÏισμένη τιμή: 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\\\ndetails:\\\\n\\\\t{desc|tabindent}'\n"
 "\n"
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
@@ -1129,9 +6476,10 @@
 msgid "command to display child changesets"
 msgstr "εντολή Ï€Ïοβολής εξαÏτώμενων αλλαγών"
 
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr ""
+
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -1147,8 +6495,7 @@
 msgstr "hg children [-r ΕΚΔΟΣΗ] [ΑΡΧΕΙΟ]"
 
 msgid "command to display statistics about repository history"
-msgstr ""
-"εντολή η οποία δείχνει κάποια στατιστικά για το ιστοÏικό του αποθετηÏίου"
+msgstr "εντολή η οποία δείχνει κάποια στατιστικά για το ιστοÏικό του αποθετηÏίου"
 
 #, python-format
 msgid "Revision %d is a merge, ignoring...\n"
@@ -1158,38 +6505,55 @@
 msgid "generating stats: %d%%"
 msgstr "υπολογισμός στατιστικών: %d%%"
 
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "histogram of changes to the repository"
+msgstr ""
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
+"    date instead."
+msgstr ""
+
+msgid ""
 "    Statistics are based on the number of changed lines, or\n"
 "    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    --changesets option is specified."
+msgstr ""
+
+msgid "    Examples::"
+msgstr ""
+
+msgid ""
 "      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
+
+msgid ""
 "      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
+
+msgid ""
 "      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
+
+msgid ""
 "      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
+
+msgid ""
 "    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
+"    by providing a file using the following format::"
+msgstr ""
+
+msgid "      <alias email> <actual email>"
+msgstr ""
+
+msgid ""
 "    Such a file may be specified with the --aliases option, otherwise\n"
 "    a .hgchurn file will be looked for in the working directory root.\n"
 "    "
@@ -1225,38 +6589,50 @@
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 msgstr ""
 
-msgid ""
-"colorize output from some commands\n"
-"\n"
+msgid "colorize output from some commands"
+msgstr ""
+
+msgid ""
 "This extension modifies the status command to add color to its output\n"
 "to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -1281,11 +6657,13 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr ""
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -1294,72 +6672,103 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
+"    - Perforce [p4]"
+msgstr ""
+
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+
+msgid "      <source ID> <destination ID>"
+msgstr ""
+
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+
+msgid "      include path/to/file"
+msgstr ""
+
+msgid "      exclude path/to/file"
+msgstr ""
+
+msgid "      rename from/file to/file"
+msgstr ""
+
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -1372,8 +6781,10 @@
 "    should be used as the new parents for that node. For example, if\n"
 "    you have merged \"release-1.0\" into \"trunk\", then you should\n"
 "    specify the revision on \"trunk\" as the first parent and the one on\n"
-"    the \"release-1.0\" branch as the second.\n"
-"\n"
+"    the \"release-1.0\" branch as the second."
+msgstr ""
+
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -1383,11 +6794,15 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -1396,11 +6811,15 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -1409,10 +6828,13 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+
+msgid "    The options shown are the defaults."
+msgstr ""
+
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -1430,16 +6852,22 @@
 "        Specify a regular expression to which commit log messages are\n"
 "        matched. If a match occurs, then the conversion process will\n"
 "        add the most recent revision on the branch indicated in the\n"
-"        regex as the second parent of the changeset.\n"
-"\n"
+"        regex as the second parent of the changeset."
+msgstr ""
+
+msgid ""
 "    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
 "    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
+"    the command help for more details."
+msgstr ""
+
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -1449,58 +6877,80 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+
+msgid "    "
+msgstr ""
+
+msgid "create changeset information from CVS"
+msgstr ""
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
@@ -1573,9 +7023,7 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr "hg debugcvsps [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]"
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
 msgstr ""
 
 msgid "bzr source type could not be determined\n"
@@ -1687,8 +7135,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
 msgstr ""
 
 #, python-format
@@ -1796,11 +7243,8 @@
 msgstr "ανάλυση καταλόγου αÏχείων για την έκδοση %s...\n"
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
-msgstr ""
-"η ανάλυση καταλόγου διακόπηκε επειδή πεÏιέχει αναφοÏά στην συλλογή αÏχείων %"
-"s, η οποία δεν υπάÏχει ή δεν είναι διαθέσιμη...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
+msgstr "η ανάλυση καταλόγου διακόπηκε επειδή πεÏιέχει αναφοÏά στην συλλογή αÏχείων %s, η οποία δεν υπάÏχει ή δεν είναι διαθέσιμη...\n"
 
 #, python-format
 msgid "could not parse cat-log of %s"
@@ -1849,9 +7293,7 @@
 msgid "Mercurial failed to run itself, check hg executable is in PATH"
 msgstr ""
 
-msgid ""
-"svn: cannot probe remote repository, assume it could be a subversion "
-"repository. Use --source-type if you know better.\n"
+msgid "svn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better.\n"
 msgstr ""
 
 msgid "Subversion python bindings could not be loaded"
@@ -1936,37 +7378,50 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr ""
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr ""
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
+
+msgid ""
 "  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+msgstr ""
+
+msgid ""
 "  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+msgstr ""
+
+msgid ""
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+
+msgid ""
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
 "diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
@@ -1987,18 +7442,23 @@
 msgid "cleaning up temp directory\n"
 msgstr ""
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr ""
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
@@ -2019,17 +7479,13 @@
 msgstr "hg extdiff [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]..."
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr ""
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
-"    the %(path)s program.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent."
+"    the %(path)s program."
 msgstr ""
 
 #, python-format
@@ -2039,28 +7495,34 @@
 msgid "pull, update and merge in one command"
 msgstr ""
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
+
+msgid ""
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
 
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
 msgstr ""
 
 msgid "outstanding uncommitted merge"
@@ -2072,23 +7534,18 @@
 msgid "working directory is missing some files"
 msgstr "λείπουν οÏισμένα αÏχεία από το χώÏο εÏγασίας"
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
 msgstr ""
 
 #, python-format
 msgid "pulling from %s\n"
 msgstr ""
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr ""
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
 msgstr ""
 
 #, python-format
@@ -2150,14 +7607,12 @@
 msgid "No valid signature for %s\n"
 msgstr "Δεν υπάÏχει έγκυÏη υπογÏαφή για την αλλαγή %s\n"
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    or tip if no revision is checked out."
 msgstr ""
 
 msgid "uncommitted merge - please provide a specific revision"
@@ -2166,9 +7621,7 @@
 msgid "Error while signing"
 msgstr "Σφάλμα δημιουÏγίας υπογÏαφής"
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
 msgstr ""
 
 msgid "unknown signature version"
@@ -2198,9 +7651,10 @@
 msgid "hg sigs"
 msgstr ""
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr ""
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
@@ -2210,12 +7664,15 @@
 msgid "--graph option is incompatible with --%s"
 msgstr ""
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr ""
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr ""
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
@@ -2243,12 +7700,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr "hg glog [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]"
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -2268,13 +7728,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -2287,32 +7751,45 @@
 msgid "email.from must be defined when sending by email"
 msgstr ""
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -2398,18 +7875,23 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr ""
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+
+msgid "There is a single configuration option::"
+msgstr ""
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
+"  pygments_style = <style>"
+msgstr ""
+
+msgid "The default is 'colorful'.\n"
 msgstr ""
 
 msgid "accelerate status report using Linux's inotify service"
@@ -2418,9 +7900,10 @@
 msgid "start an inotify server for this repository"
 msgstr ""
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr ""
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
@@ -2555,9 +8038,7 @@
 msgid "cannot start: socket is already bound"
 msgstr ""
 
-msgid ""
-"cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/"
-"inotify.sock already exists"
+msgid "cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/inotify.sock already exists"
 msgstr ""
 
 #, python-format
@@ -2572,20 +8053,24 @@
 msgid "unrecognized query type: %s\n"
 msgstr ""
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr ""
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
@@ -2597,52 +8082,76 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr ""
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr ""
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+
+msgid "Example::"
+msgstr ""
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
@@ -2662,17 +8171,23 @@
 msgid "no [keyword] patterns configured"
 msgstr ""
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr ""
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
@@ -2719,31 +8234,42 @@
 "\tkeywords expanded\n"
 msgstr ""
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr ""
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr ""
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr ""
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
@@ -2751,12 +8277,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr ""
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
@@ -2794,25 +8323,35 @@
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr ""
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr ""
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr ""
+
+msgid ""
 "  prepare repository to work with patches   qinit\n"
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
 "  refresh contents of top applied patch     qrefresh\n"
@@ -3054,9 +8593,7 @@
 msgid "cannot refresh a revision with children"
 msgstr ""
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
 msgstr ""
 
 msgid "patch queue directory already exists"
@@ -3150,13 +8687,15 @@
 msgid "adding %s to series file\n"
 msgstr "Ï€Ïοσθήκη του %s στο αÏχείο series\n"
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr ""
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
@@ -3173,38 +8712,50 @@
 msgid "all patches applied\n"
 msgstr "όλα τα patches έχουν εφαÏμοστεί\n"
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr ""
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr ""
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    To import a patch from standard input, pass - as the patch file.\n"
 "    When importing from standard input, a patch name must be specified\n"
 "    using the --name flag.\n"
 "    "
 msgstr ""
 
-msgid ""
-"init a new queue repository\n"
-"\n"
+msgid "init a new queue repository"
+msgstr ""
+
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
@@ -3212,18 +8763,23 @@
 "    qcommit to commit changes to this queue repository."
 msgstr ""
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr ""
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
+
+msgid ""
 "    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
+"    default. Use -p <url> to change."
+msgstr ""
+
+msgid ""
 "    The patch directory must be a nested Mercurial repository, as\n"
 "    would be created by qinit -c.\n"
 "    "
@@ -3259,25 +8815,32 @@
 msgid "print the name of the previous patch"
 msgstr "Ï€Ïοβολή του ονόματος του Ï€ÏοηγοÏμενου patch"
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr ""
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). It will refuse to run if there are any outstanding changes\n"
 "    unless -f/--force is specified, in which case the patch will be\n"
 "    initialized with them. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
+
+msgid ""
 "    -u/--user and -d/--date can be used to set the (given) user and\n"
 "    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
+"    to current user and date to current date."
+msgstr ""
+
+msgid ""
 "    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
 "    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to keep the patch in the git extended diff\n"
 "    format. Read the diffs help topic for more information on why this\n"
 "    is important for preserving permission changes and copy/rename\n"
@@ -3285,16 +8848,21 @@
 "    "
 msgstr ""
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr ""
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
@@ -3305,14 +8873,17 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr "η επιλογή \"-e\" είναι ασÏμβατη με τις \"-m\" και \"-l\""
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr ""
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
@@ -3320,16 +8891,19 @@
 "    "
 msgstr ""
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr ""
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
+"    removed afterwards."
+msgstr ""
+
+msgid ""
 "    The header for each folded patch will be concatenated with the\n"
 "    current patch header, separated by a line of '* * *'."
 msgstr ""
@@ -3353,25 +8927,29 @@
 msgstr "Σφάλμα συγχώνευσης του patch %s"
 
 msgid "push or pop patches until named patch is at top of stack"
-msgstr ""
-"εφαÏμογή ή αφαίÏεση patches μέχÏι το patch Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï Î½Î± είναι στην κοÏυφή "
-"της στοίβας"
-
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgstr "εφαÏμογή ή αφαίÏεση patches μέχÏι το patch Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï Î½Î± είναι στην κοÏυφή της στοίβας"
+
+msgid "set or print guards for a patch"
+msgstr ""
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
+"    has activated it."
+msgstr ""
+
+msgid ""
 "    With no arguments, print the currently active guards.\n"
 "    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
-"    To set guards on another patch::\n"
-"\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
+
+msgid "    To set guards on another patch::"
+msgstr ""
+
+msgid ""
 "      hg qguard -- other.patch +2.6.17 -stable\n"
 "    "
 msgstr ""
@@ -3389,9 +8967,10 @@
 msgid "print the header of the topmost or specified patch"
 msgstr ""
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr ""
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
@@ -3404,9 +8983,10 @@
 msgid "merging with queue at: %s\n"
 msgstr "συγχώνευση με την ουÏά: %s\n"
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr ""
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
@@ -3417,9 +8997,10 @@
 msgid "using patch queue: %s\n"
 msgstr ""
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr ""
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
@@ -3450,45 +9031,59 @@
 msgid "copy %s to %s\n"
 msgstr "αντιγÏαφή του %s σε %s\n"
 
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr ""
+
+msgid ""
 "    If one of the working directory's parent revisions is stripped, the\n"
 "    working directory will be updated to the parent of the stripped\n"
 "    revision.\n"
 "    "
 msgstr ""
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr ""
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example::\n"
-"\n"
+"    match the current guard. For example::"
+msgstr ""
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
+"    guarded patches."
+msgstr ""
+
+msgid ""
 "    Use -s/--series to print a list of all guards in the series file\n"
 "    (no other arguments needed). Use -v for more information."
 msgstr ""
@@ -3522,18 +9117,23 @@
 msgid "reapplying unguarded patches\n"
 msgstr ""
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr ""
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
@@ -3800,33 +9400,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr ""
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -3837,31 +9451,40 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -3877,137 +9500,188 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"diffs (%d lines):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"diffs (%d lines):"
 msgstr ""
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr ""
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend. Below is the default list of commands to be paged::\n"
-"\n"
+"pager.attend. Below is the default list of commands to be paged::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = annotate, cat, diff, export, glog, log, qdiff\n"
-"\n"
+"  attend = annotate, cat, diff, export, glog, log, qdiff"
+msgstr ""
+
+msgid ""
 "Setting pager.attend to an empty value will cause all commands to be\n"
-"paged.\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"paged."
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr ""
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr ""
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+msgid "command to send changesets as (a series of) patch emails"
+msgstr ""
+
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
+
+msgid ""
 "The -m/--mbox option is also very useful. Instead of previewing each\n"
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"files, e.g. with mutt::"
+msgstr ""
+
+msgid "  % mutt -R -f mbox"
+msgstr ""
+
+msgid ""
 "When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
+"package), to send each message out::"
+msgstr ""
+
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr ""
+
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr ""
+
+msgid ""
 "You can also either configure the method option in the email section\n"
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
@@ -4028,53 +9702,66 @@
 msgid "diffstat rejected"
 msgstr ""
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr ""
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
+
+msgid ""
 "    By default the patch is included as text in the email body for\n"
 "    easy reviewing. Using the -a/--attach option will instead create\n"
 "    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
+"    will be created."
+msgstr ""
+
+msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
 "    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
+
+msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    will be sent."
+msgstr ""
+
+msgid ""
 "      hg email -r 3000          # send patch 3000 only\n"
 "      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
 "      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
+
+msgid ""
 "      hg email -o               # send all patches not in default\n"
 "      hg email -o DEST          # send all patches not in DEST\n"
 "      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
 "    "
@@ -4094,14 +9781,11 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
+"Write the introductory message for the patch series."
+msgstr ""
+
+#, python-format
+msgid "This patch series consists of %d patches."
 msgstr ""
 
 msgid "Final summary:\n"
@@ -4188,27 +9872,38 @@
 msgid "command to delete untracked files from the working directory"
 msgstr ""
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+
+msgid "    This means that purge will delete:"
+msgstr ""
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+
+msgid "    But it will leave untouched:"
+msgstr ""
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -4247,23 +9942,29 @@
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr ""
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr ""
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr ""
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history onto another. This can be useful for linearizing local\n"
-"    changes relative to a master development tree.\n"
-"\n"
+"    changes relative to a master development tree."
+msgstr ""
+
+msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a.\n"
 "    "
@@ -4359,9 +10060,7 @@
 msgid "abort an interrupted rebase"
 msgstr ""
 
-msgid ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] "
-"| [-c] | [-a]"
+msgid "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | [-c] | [-a]"
 msgstr ""
 
 msgid "commands to interactively select changes for commit/qrefresh"
@@ -4425,30 +10124,41 @@
 msgid "record change %d/%d to %r?"
 msgstr ""
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr ""
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
+"    possible::"
+msgstr ""
+
+msgid ""
 "      y - record this change\n"
-"      n - skip this change\n"
-"\n"
+"      n - skip this change"
+msgstr ""
+
+msgid ""
 "      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
+"      f - record remaining changes to this file"
+msgstr ""
+
+msgid ""
 "      d - done, skip remaining changes and files\n"
 "      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
+"      q - quit, recording no changes"
+msgstr ""
+
+msgid "      ? - display help"
 msgstr ""
 
 msgid "'mq' extension not loaded"
@@ -4472,27 +10182,38 @@
 msgid "recreates hardlinks between repository clones"
 msgstr ""
 
-msgid ""
-"recreate hardlinks between two repositories\n"
-"\n"
+msgid "recreate hardlinks between two repositories"
+msgstr ""
+
+msgid ""
 "    When repositories are cloned locally, their data files will be\n"
-"    hardlinked so that they only use the space of a single repository.\n"
-"\n"
+"    hardlinked so that they only use the space of a single repository."
+msgstr ""
+
+msgid ""
 "    Unfortunately, subsequent pulls into either repository will break\n"
 "    hardlinks for any files touched by the new changesets, even if\n"
-"    both repositories end up pulling the same changes.\n"
-"\n"
+"    both repositories end up pulling the same changes."
+msgstr ""
+
+msgid ""
 "    Similarly, passing --rev to \"hg clone\" will fail to use any\n"
 "    hardlinks, falling back to a complete copy of the source\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    This command lets you recreate those hardlinks and reclaim that\n"
-"    wasted space.\n"
-"\n"
+"    wasted space."
+msgstr ""
+
+msgid ""
 "    This repository will be relinked to share space with ORIGIN, which\n"
 "    must be on the same local disk. If ORIGIN is omitted, looks for\n"
-"    \"default-relink\", then \"default\", in [paths].\n"
-"\n"
+"    \"default-relink\", then \"default\", in [paths]."
+msgstr ""
+
+msgid ""
 "    Do not attempt any read operations on this repository while the\n"
 "    command is running. (Both repositories will be locked against\n"
 "    writes.)\n"
@@ -4534,12 +10255,15 @@
 msgid "share a common history between several working directories"
 msgstr ""
 
-msgid ""
-"create a new shared repository (experimental)\n"
-"\n"
+msgid "create a new shared repository (experimental)"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: actions that change history such as rollback or moving the\n"
 "    source may confuse sharers.\n"
 "    "
@@ -4551,11 +10275,13 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr ""
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr ""
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr ""
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
@@ -4610,38 +10336,52 @@
 msgid "apply changeset? [ynmpcq?]:"
 msgstr ""
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr ""
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr ""
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
+"    changesets you want."
+msgstr ""
+
+msgid ""
 "    hg transplant --branch REVISION --all will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
+"    directory."
+msgstr ""
+
+msgid ""
 "    You can optionally mark selected transplanted changesets as merge\n"
 "    changesets. You will not be prompted to transplant any ancestors\n"
 "    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
+"    normally instead of transplanting them."
+msgstr ""
+
+msgid ""
 "    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
+"    an interactive changeset browser."
+msgstr ""
+
+msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
 "    and then resume where you left off by calling hg transplant\n"
 "    --continue/-c.\n"
@@ -4693,38 +10433,49 @@
 msgid "filter changesets through FILTER"
 msgstr ""
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-msgstr ""
-
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgstr ""
+
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr ""
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
+"operation."
+msgstr ""
+
+msgid "This extension is useful for:"
+msgstr ""
+
+msgid ""
 "- Japanese Windows users using shift_jis encoding.\n"
 "- Chinese Windows users using big5 encoding.\n"
 "- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
+"  case-insensitive file system."
+msgstr ""
+
+msgid "This extension is not needed for:"
+msgstr ""
+
+msgid ""
 "- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr ""
+
+msgid ""
 "- You should use single encoding in one repository.\n"
 "- You should set same encoding for the repository by locale or\n"
-"  HGENCODING.\n"
-"\n"
+"  HGENCODING."
+msgstr ""
+
+msgid ""
 "Path encoding conversion are done between Unicode and\n"
 "encoding.encoding which is decided by Mercurial from current locale\n"
 "setting or HGENCODING.\n"
@@ -4737,31 +10488,41 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr ""
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr ""
+
+msgid "To perform automatic newline conversion, use::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+msgstr ""
+
+msgid ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+msgstr ""
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -4787,13 +10548,21 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+
+#, python-format
+msgid "and also consider adding:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -4802,21 +10571,29 @@
 "** = %sdecode:\n"
 msgstr ""
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr ""
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
@@ -5071,29 +10848,39 @@
 msgid "empty commit message"
 msgstr ""
 
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+
+msgid ""
 "    If no names are given, add all files to the repository.\n"
 "    "
 msgstr ""
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr ""
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -5109,15 +10896,20 @@
 msgid "similarity must be between 0 and 100"
 msgstr ""
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr ""
+
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr ""
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
@@ -5135,25 +10927,34 @@
 msgid "%s: binary file\n"
 msgstr ""
 
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr ""
+
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+
+msgid ""
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are:\n"
-"\n"
+"    types are:"
+msgstr ""
+
+msgid ""
 "    :``files``: a directory full of files (default)\n"
 "    :``tar``:   tar archive, uncompressed\n"
 "    :``tbz2``:  tar archive, compressed using bzip2\n"
 "    :``tgz``:   tar archive, compressed using gzip\n"
 "    :``uzip``:  zip archive, uncompressed\n"
-"    :``zip``:   zip archive, compressed using deflate\n"
-"\n"
+"    :``zip``:   zip archive, compressed using deflate"
+msgstr ""
+
+msgid ""
 "    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
+
+msgid ""
 "    Each member added to an archive file has a directory prefix\n"
 "    prepended. Use -p/--prefix to specify a format string for the\n"
 "    prefix. The default is the basename of the archive, with suffixes\n"
@@ -5170,23 +10971,25 @@
 msgid "cannot archive plain files to stdout"
 msgstr ""
 
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgid "reverse effect of earlier changeset"
+msgstr ""
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    The result of this merge is not committed, as with a normal merge."
 msgstr ""
 
 msgid "please specify just one revision"
@@ -5225,9 +11028,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr ""
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr ""
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -5235,11 +11039,15 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
+
+msgid ""
 "    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
+
+msgid ""
 "    If you supply a command, it will be used for automatic bisection.\n"
 "    Its exit status will be used to mark revisions as good or bad:\n"
 "    status 0 means good, 125 means to skip the revision, 127\n"
@@ -5288,22 +11096,29 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr ""
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr ""
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
+"    branch."
+msgstr ""
+
+msgid ""
 "    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
+
+msgid ""
 "    Use -C/--clean to reset the working directory branch to that of\n"
 "    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
+"    change."
+msgstr ""
+
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch. Use\n"
 "    'hg commit --close-branch' to mark this branch as closed.\n"
 "    "
@@ -5320,40 +11135,54 @@
 msgid "marked working directory as branch %s\n"
 msgstr ""
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr ""
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
+"    is considered active if it contains repository heads."
+msgstr ""
+
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch.\n"
 "    "
 msgstr ""
 
-msgid ""
-"create a changegroup file\n"
-"\n"
+msgid "create a changegroup file"
+msgstr ""
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+
+msgid ""
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
+
+msgid ""
 "    Applying bundles preserves all changeset contents including\n"
 "    permissions, copy/rename information, and revision history.\n"
 "    "
@@ -5365,52 +11194,72 @@
 msgid "unknown bundle type specified with --type"
 msgstr ""
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr ""
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions:\n"
-"\n"
+"    for the export command, with the following additions:"
+msgstr ""
+
+msgid ""
 "    :``%s``: basename of file being printed\n"
 "    :``%d``: dirname of file being printed, or '.' if in repository root\n"
 "    :``%p``: root-relative path name of file being printed\n"
 "    "
 msgstr ""
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+msgid "make a copy of an existing repository"
+msgstr ""
+
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr ""
+
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+
+msgid "    See 'hg help urls' for valid source format details."
+msgstr ""
+
+msgid ""
 "    It is possible to specify an ssh:// URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs."
+msgstr ""
+
+msgid ""
 "    If the -U/--noupdate option is specified, the new clone will contain\n"
 "    only a repository (.hg) and no working copy (the working copy parent\n"
 "    will be the null changeset). Otherwise, clone will initially check\n"
-"    out (in order of precedence):\n"
-"\n"
+"    out (in order of precedence):"
+msgstr ""
+
+msgid ""
 "    a) the changeset, tag or branch specified with -u/--updaterev\n"
 "    b) the changeset, tag or branch given with the first -r/--rev\n"
-"    c) the head of the default branch\n"
-"\n"
+"    c) the head of the default branch"
+msgstr ""
+
+msgid ""
 "    Use 'hg clone -u . src dst' to checkout the source repository's\n"
-"    parent changeset (applicable for local source repositories only).\n"
-"\n"
+"    parent changeset (applicable for local source repositories only)."
+msgstr ""
+
+msgid ""
 "    A set of changesets (tags, or branch names) to pull may be specified\n"
 "    by listing each changeset (tag, or branch name) with -r/--rev.\n"
 "    If -r/--rev is used, the cloned repository will contain only a subset\n"
@@ -5418,23 +11267,32 @@
 "    defined by all -r/--rev options (including all their ancestors)\n"
 "    will be pulled into the destination repository.\n"
 "    No subsequent changesets (including subsequent tags) will be present\n"
-"    in the destination.\n"
-"\n"
+"    in the destination."
+msgstr ""
+
+msgid ""
 "    Using -r/--rev (or 'clone src#rev dest') implies --pull, even for\n"
-"    local source repositories.\n"
-"\n"
+"    local source repositories."
+msgstr ""
+
+msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
 "    to the repository data, not to the checked out files). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
+"    avoid hardlinking."
+msgstr ""
+
+msgid ""
 "    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    using full hardlinks with ::"
+msgstr ""
+
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr ""
+
+msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
@@ -5447,24 +11305,28 @@
 msgid "cannot specify both --noupdate and --updaterev"
 msgstr ""
 
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr ""
+
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr ""
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
+"    will be committed."
+msgstr ""
+
+msgid ""
 "    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
+"    filenames or -I/-X filters."
+msgstr ""
+
+msgid ""
 "    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    started to prompt you for a message."
 msgstr ""
 
 msgid "nothing changed\n"
@@ -5477,17 +11339,22 @@
 msgid "committed changeset %d:%s\n"
 msgstr "αποθηκεÏθηκε η αλλαγή %d:%s\n"
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr ""
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
@@ -5530,17 +11397,23 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr ""
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr ""
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr ""
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
@@ -5549,9 +11422,10 @@
 msgid "only one config item permitted"
 msgstr "σε αυτό το σημείο επιτÏέπεται μόνο ένα ÏŒÏισμα Ïυθμίσεων"
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr ""
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
@@ -5617,14 +11491,10 @@
 msgid " patch test failed!\n"
 msgstr ""
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
-msgstr ""
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr ""
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
 msgstr ""
 
 msgid "Checking commit editor...\n"
@@ -5667,47 +11537,56 @@
 msgid "show how files match on given patterns"
 msgstr ""
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr ""
+
+msgid "    Show differences between revisions for the specified files."
+msgstr ""
+
+msgid "    Differences between files are shown using the unified diff format."
+msgstr ""
+
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
 msgstr ""
 
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr ""
+
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr ""
+
+msgid ""
 "    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment.\n"
-"\n"
+"    changeset hash, parent(s) and commit comment."
+msgstr ""
+
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:\n"
-"\n"
+"    given using a format string. The formatting rules are as follows:"
+msgstr ""
+
+msgid ""
 "    :``%%``: literal \"%\" character\n"
 "    :``%H``: changeset hash (40 bytes of hexadecimal)\n"
 "    :``%N``: number of patches being generated\n"
@@ -5715,15 +11594,21 @@
 "    :``%b``: basename of the exporting repository\n"
 "    :``%h``: short-form changeset hash (12 bytes of hexadecimal)\n"
 "    :``%n``: zero-padded sequence number, starting at 1\n"
-"    :``%r``: zero-padded changeset revision number\n"
-"\n"
+"    :``%r``: zero-padded changeset revision number"
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, export will avoid generating diffs\n"
 "    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
+
+msgid ""
 "    With the --switch-parent option, the diff will be against the\n"
 "    second parent. It can be useful to review a merge.\n"
 "    "
@@ -5738,16 +11623,21 @@
 msgid "exporting patch:\n"
 msgstr ""
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
@@ -5759,16 +11649,20 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr ""
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr ""
+
+msgid "    Search revisions of files for a regular expression."
+msgstr ""
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -5781,28 +11675,38 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr ""
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
+msgid "show current repository heads or show branch heads"
+msgstr ""
+
+msgid "    With no arguments, show all repository head changesets."
+msgstr ""
+
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
-"    for update and merge operations.\n"
-"\n"
+"    for update and merge operations."
+msgstr ""
+
+msgid ""
 "    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with the specified changeset(s).\n"
-"\n"
+"    the named branch associated with the specified changeset(s)."
+msgstr ""
+
+msgid ""
 "    Branch heads are changesets on a named branch with no descendants on\n"
 "    the same branch. A branch head could be a \"true\" (repository) head,\n"
 "    or it could be the last changeset on that branch before it was\n"
 "    merged into another branch, or it could be the last changeset on the\n"
 "    branch before a new branch was created. If none of the branch heads\n"
-"    are true heads, the branch is considered inactive.\n"
-"\n"
+"    are true heads, the branch is considered inactive."
+msgstr ""
+
+msgid ""
 "    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
+"    (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If STARTREV is specified, only those heads that are descendants of\n"
 "    STARTREV will be displayed.\n"
 "    "
@@ -5823,11 +11727,13 @@
 msgid "no changes on branch %s are reachable from %s\n"
 msgstr ""
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr ""
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr ""
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
@@ -5843,19 +11749,14 @@
 
 #, python-format
 msgid "use \"hg -v help%s\" to show aliases and global options"
-msgstr ""
-"δώστε \"hg -v help%s\" για τη λίστα εικονικών εντολών και κεντÏικών επιλογών"
+msgstr "δώστε \"hg -v help%s\" για τη λίστα εικονικών εντολών και κεντÏικών επιλογών"
 
 #, python-format
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "δώστε \"hg -v help %s\" για τη λίστα κεντÏικών επιλογών"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"λίστα εντολών:\n"
-"\n"
+msgid "list of commands:"
+msgstr "λίστα εντολών:"
 
 #, python-format
 msgid ""
@@ -5878,20 +11779,14 @@
 msgstr "δεν υπάÏχει κείμενο βοήθειας"
 
 #, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
+msgid "%s extension - %s"
 msgstr ""
 
 msgid "Mercurial Distributed SCM\n"
 msgstr "Mercurial Κατανεμημένο SCM\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"βασικές εντολές:\n"
-"\n"
+msgid "basic commands:"
+msgstr "βασικές εντολές:"
 
 msgid "enabled extensions:"
 msgstr "ενεÏγές επεκτάσεις:"
@@ -5901,22 +11796,25 @@
 
 msgid ""
 "\n"
-"additional help topics:\n"
-"\n"
-msgstr ""
-"\n"
-"πεÏισσότεÏα θέματα βοήθειας:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+"additional help topics:"
+msgstr ""
+"\n"
+"πεÏισσότεÏα θέματα βοήθειας:"
+
+msgid "identify the working copy or specified revision"
+msgstr ""
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
@@ -5924,36 +11822,49 @@
 "    "
 msgstr ""
 
-msgid ""
-"import an ordered set of patches\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr ""
+
+msgid ""
 "    Import a list of patches and commit them individually (unless\n"
-"    --no-commit is specified).\n"
-"\n"
+"    --no-commit is specified)."
+msgstr ""
+
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
+"    message."
+msgstr ""
+
+msgid ""
 "    If the imported patch was generated by hg export, user and\n"
 "    description from patch override values from message headers and\n"
 "    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
+"    override these."
+msgstr ""
+
+msgid ""
 "    If --exact is specified, import will set the working directory to\n"
 "    the parent of each patch before applying it, and will abort if the\n"
 "    resulting changeset has a different ID than the one recorded in\n"
 "    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
+"    deficiencies in the text patch format."
+msgstr ""
+
+msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
+
+msgid ""
 "    To read a patch from standard input, use \"-\" as the patch name. If\n"
 "    a URL is specified, the patch will be downloaded from it.\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
@@ -5972,46 +11883,62 @@
 msgid "patch is damaged or loses information"
 msgstr ""
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr ""
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
+
+msgid ""
 "    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
+
+msgid ""
 "    See pull for valid source format details.\n"
 "    "
 msgstr ""
 
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+
+msgid "    If no directory is given, the current directory is used."
+msgstr ""
+
+msgid ""
 "    It is possible to specify an ssh:// URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr ""
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
@@ -6019,29 +11946,36 @@
 "    "
 msgstr ""
 
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
+msgid "show revision history of entire repository or files"
+msgstr ""
+
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
+"    project."
+msgstr ""
+
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
+
+msgid ""
 "    If no revision range is specified, the default is tip:0 unless\n"
 "    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    used as the starting revision."
+msgstr ""
+
+msgid ""
 "    By default this command prints revision number and changeset id,\n"
 "    tags, non-trivial parents, user, date and time, and a summary for\n"
 "    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
+"    changed files and full commit message are shown."
+msgstr ""
+
+msgid ""
 "    NOTE: 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"
@@ -6049,29 +11983,37 @@
 "    "
 msgstr ""
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr ""
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr ""
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
@@ -6094,25 +12036,27 @@
 msgid "%s - use \"hg update\" instead"
 msgstr "%s - δώστε \"hg update\" καλÏτεÏα"
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
-msgstr ""
-
-msgid ""
-"show changesets not found in destination\n"
-"\n"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
+msgstr ""
+
+msgid "show changesets not found in destination"
+msgstr ""
+
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
+
+msgid ""
 "    See pull for valid destination format details.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr ""
+
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -6128,15 +12072,20 @@
 msgid "'%s' not found in manifest!"
 msgstr ""
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr ""
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
+
+msgid ""
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
@@ -6148,49 +12097,62 @@
 msgstr "δεν εξάγεται κάποια αλλαγή, επειδή δημιουÏγήθηκε νέο παÏακλάδι\n"
 
 msgid "(run 'hg heads' to see heads, 'hg merge' to merge)\n"
-msgstr ""
-"(δώστε 'hg heads' για να δείτε τα παÏακλάδια, 'hg merge' για συγχώνευση)\n"
+msgstr "(δώστε 'hg heads' για να δείτε τα παÏακλάδια, 'hg merge' για συγχώνευση)\n"
 
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(δώστε 'hg update' για να εξάγετε αντίγÏαφο εÏγασίας)\n"
 
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+msgid "pull changes from the specified source"
+msgstr ""
+
+msgid "    Pull changes from a remote repository to a local one."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
+
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
+
+msgid ""
 "    If SOURCE is omitted, the 'default' path will be used.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
 
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the given destination.\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr ""
+
+msgid "    Push changes from the local repository to the given destination."
+msgstr ""
+
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
+"    current one."
+msgstr ""
+
+msgid ""
 "    By default, push will refuse to run if it detects the result would\n"
 "    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
+
+msgid ""
 "    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
+"    be pushed to the remote repository."
+msgstr ""
+
+msgid ""
 "    Please see 'hg help urls' for important details about ssh://\n"
 "    URLs. If DESTINATION is omitted, a default path will be used.\n"
 "    "
@@ -6200,40 +12162,50 @@
 msgid "pushing to %s\n"
 msgstr ""
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr ""
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr ""
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
 
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr ""
+
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
+
+msgid ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
+"      -Af    R  R  R  R"
+msgstr ""
+
+msgid ""
 "    This command schedules the files to be removed at the next commit.\n"
 "    To undo a remove before that, see hg revert.\n"
 "    "
@@ -6256,41 +12228,50 @@
 msgid "has been marked for add"
 msgstr "έχει σημειωθεί για Ï€Ïοσθήκη"
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr ""
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+
+msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
 
-msgid ""
-"retry file merges from a merge or update\n"
-"\n"
+msgid "retry file merges from a merge or update"
+msgstr ""
+
+msgid ""
 "    This command can cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge.\n"
-"\n"
+"    revisions preserved from the last update or merge."
+msgstr ""
+
+msgid ""
 "    If a conflict is resolved manually, please note that the changes\n"
 "    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
+"    -m/--mark switch should be used to mark the file as resolved."
+msgstr ""
+
+msgid ""
 "    You can specify a set of files to operate on, or use the -a/-all\n"
-"    switch to select all unresolved files.\n"
-"\n"
+"    switch to select all unresolved files."
+msgstr ""
+
+msgid ""
 "    This command also allows listing resolved files and manually\n"
 "    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    marked as resolved before a commit is permitted."
+msgstr ""
+
+msgid "    The codes used to show the status of files are::"
+msgstr ""
+
+msgid ""
 "      U = unresolved\n"
 "      R = resolved\n"
 "    "
@@ -6303,40 +12284,51 @@
 msgstr ""
 
 msgid "no files or directories specified; use --all to remerge all files"
-msgstr ""
-"δεν οÏίστηκαν αÏχεία ή κατάλογοι· χÏησιμοποιήστε την επιλογή --all για να "
-"επαναλάβετε τη συγχώνευση για όλα τα αÏχεία"
-
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgstr "δεν οÏίστηκαν αÏχεία ή κατάλογοι· χÏησιμοποιήστε την επιλογή --all για να επαναλάβετε τη συγχώνευση για όλα τα αÏχεία"
+
+msgid "restore individual files or directories to an earlier state"
+msgstr ""
+
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to.\n"
-"\n"
+"    revision to revert to."
+msgstr ""
+
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
+"    afterwards."
+msgstr ""
+
+msgid ""
 "    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
+"    of a file was changed, it is reset."
+msgstr ""
+
+msgid ""
 "    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
+
+msgid ""
 "    Modified files are saved with a .orig suffix before reverting.\n"
 "    To disable these backups, use --no-backup.\n"
 "    "
@@ -6372,26 +12364,33 @@
 msgid "no changes needed to %s\n"
 msgstr ""
 
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr ""
+
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back:\n"
-"\n"
+"    and their effects can be rolled back:"
+msgstr ""
+
+msgid ""
 "    - commit\n"
 "    - import\n"
 "    - pull\n"
 "    - push (with this repository as destination)\n"
-"    - unbundle\n"
-"\n"
+"    - unbundle"
+msgstr ""
+
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -6401,18 +12400,21 @@
 "    "
 msgstr ""
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr ""
+
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
 
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
+msgid "export the repository via HTTP"
+msgstr ""
+
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr ""
+
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
 "    files.\n"
@@ -6423,30 +12425,37 @@
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr ""
 
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr ""
+
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    shown."
+msgstr ""
+
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -6458,12 +12467,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr ""
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
@@ -6552,52 +12564,45 @@
 msgid "remote: (synced)\n"
 msgstr "απομακÏυσμένο: (συγχÏονίστηκε)\n"
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr "Ï€Ïοσθήκη μιας ή πεÏισσότεÏων ετικετών για την Ï„Ïέχουσα ή κάποια άλλη έκδοση"
+
+msgid "    Name a particular revision using <name>."
+msgstr "    Ονομασία μιας συγκεκÏιμένης αλλαγής με ένα νέο <όνομα>."
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+"    Οι ετικέτες μποÏοÏν να χÏησιμοποιηθοÏν ως συμβολικά ονόματα των αλλαγών\n"
+"    ενός αποθετηÏίου και είναι Ï€Î¿Î»Ï Ï‡Ïήσιμες για την Ï€Ïοβολή των διαφοÏών\n"
+"    Î¼ÎµÏ„Î±Î¾Ï Î´Ïο σημαντικών εκδόσεων, για να επιστÏέφει κανείς σε πιο παλιές\n"
+"    εκδόσεις ή για την καταγÏαφή της αÏχής ενός κλάδου, του σημείου στο\n"
+"    οποίο έγινε μια επίσημη έκδοση, κλπ."
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+"    Οταν δεν έχει οÏιστεί συγκεκÏιμένη αλλαγή, τότε η νέα ετικέτα τίθεται\n"
+"    στη γονική αλλαγή του χώÏου εÏγασίας, ή στο tip όταν δεν υπάÏχουν στο\n"
+"    χώÏο εÏγασίας τα αÏχεία κάποιας έκδοσης."
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"Ï€Ïοσθήκη μιας ή πεÏισσότεÏων ετικετών για την Ï„Ïέχουσα ή κάποια άλλη έκδοση\n"
-"\n"
-"    Ονομασία μιας συγκεκÏιμένης αλλαγής με ένα νέο <όνομα>.\n"
-"\n"
-"    Οι ετικέτες μποÏοÏν να χÏησιμοποιηθοÏν ως συμβολικά ονόματα των αλλαγών\n"
-"    ενός αποθετηÏίου και είναι Ï€Î¿Î»Ï Ï‡Ïήσιμες για την Ï€Ïοβολή των διαφοÏών\n"
-"    Î¼ÎµÏ„Î±Î¾Ï Î´Ïο σημαντικών εκδόσεων, για να επιστÏέφει κανείς σε πιο παλιές\n"
-"    εκδόσεις ή για την καταγÏαφή της αÏχής ενός κλάδου, του σημείου στο\n"
-"    οποίο έγινε μια επίσημη έκδοση, κλπ.\n"
-"\n"
-"    Οταν δεν έχει οÏιστεί συγκεκÏιμένη αλλαγή, τότε η νέα ετικέτα τίθεται\n"
-"    στη γονική αλλαγή του χώÏου εÏγασίας, ή στο tip όταν δεν υπάÏχουν στο\n"
-"    χώÏο εÏγασίας τα αÏχεία κάποιας έκδοσης.\n"
-"\n"
+"    shared among repositories)."
+msgstr ""
 "    Για να διατηÏείται το ιστοÏικό των ετικετών, να διανέμονται σε άλλους\n"
 "    κλώνους του αποθετηÏίου και να μποÏεί να γίνει συγχώνευσή τους, όλες\n"
 "    οι ετικέτες αποθηκεÏονται σε ένα αÏχείο με το όνομα \".hgtags\", το\n"
 "    οποίο συντηÏείται όπως και κάθε άλλο αÏχείο του αποθετηÏίου και μποÏεί\n"
 "    να το επεξεÏγαστεί κανείς ως απλό αÏχείο κειμένου αν χÏειαστεί.  Το\n"
 "    αÏχείο '.hg/localtags' χÏησιμοποιείται για τις τοπικές ετικέτες\n"
-"    (αυτές που δε διανέμονται σε άλλους κλώνους του αποθετηÏίου).\n"
-"\n"
-"    Δείτε επίσης: 'hg help dates' για μια λίστα μοÏφών ημεÏομηνίας τις\n"
-"    οποίες δέχονται οι επιλογές -d/--date.\n"
-"    "
+"    (αυτές που δε διανέμονται σε άλλους κλώνους του αποθετηÏίου)."
 
 msgid "tag names must be unique"
 msgstr ""
@@ -6625,21 +12630,25 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr ""
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr ""
+
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr ""
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
@@ -6647,27 +12656,35 @@
 "    "
 msgstr ""
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr ""
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
 
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr ""
+
+msgid ""
 "    Update the repository's working directory to the specified\n"
-"    changeset.\n"
-"\n"
+"    changeset."
+msgstr ""
+
+msgid ""
 "    If no changeset is specified, attempt to update to the head of the\n"
 "    current branch. If this head is a descendant of the working\n"
-"    directory's parent, update to it, otherwise abort.\n"
-"\n"
+"    directory's parent, update to it, otherwise abort."
+msgstr ""
+
+msgid ""
 "    The following rules apply when the working directory contains\n"
-"    uncommitted changes:\n"
-"\n"
+"    uncommitted changes:"
+msgstr ""
+
+msgid ""
 "    1. If neither -c/--check nor -C/--clean is specified, and if\n"
 "       the requested changeset is an ancestor or descendant of\n"
 "       the working directory's parent, the uncommitted changes\n"
@@ -6675,22 +12692,25 @@
 "       result is left uncommitted. If the requested changeset is\n"
 "       not an ancestor or descendant (that is, it is on another\n"
 "       branch), the update is aborted and the uncommitted changes\n"
-"       are preserved.\n"
-"\n"
+"       are preserved."
+msgstr ""
+
+msgid ""
 "    2. With the -c/--check option, the update is aborted and the\n"
-"       uncommitted changes are preserved.\n"
-"\n"
+"       uncommitted changes are preserved."
+msgstr ""
+
+msgid ""
 "    3. With the -C/--clean option, uncommitted changes are discarded and\n"
-"       the working directory is updated to the requested changeset.\n"
-"\n"
+"       the working directory is updated to the requested changeset."
+msgstr ""
+
+msgid ""
 "    Use null as the changeset to remove the working directory (like 'hg\n"
-"    clone -U').\n"
-"\n"
-"    If you want to update just one file to an older changeset, use 'hg "
-"revert'.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    clone -U')."
+msgstr ""
+
+msgid "    If you want to update just one file to an older changeset, use 'hg revert'."
 msgstr ""
 
 msgid "cannot specify both -c/--check and -C/--clean"
@@ -6699,11 +12719,13 @@
 msgid "uncommitted local changes"
 msgstr "υπάÏχουν τοπικές αλλαγές ακόμη"
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr ""
+
+msgid "    Verify the integrity of the current repository."
+msgstr ""
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
@@ -6725,8 +12747,7 @@
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 "\n"
-"Πνευματικά δικαιώματα (C) 2005-2009 Matt Mackall <mpm@selenic.com> και "
-"άλλοι\n"
+"Πνευματικά δικαιώματα (C) 2005-2009 Matt Mackall <mpm@selenic.com> και άλλοι\n"
 "Αυτό το Ï€ÏόγÏαμμα είναι ελεÏθεÏο λογισμικό· δείτε τον πηγαίο κώδικα για\n"
 "την άδεια χÏήσης του. Δεν παÏέχεται ΚΑΜΙΑ εγγÏηση· οÏτε καν για την\n"
 "ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑ ή την ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΚΑΠΟΙΟ ΣΚΟΠΟ.\n"
@@ -7109,9 +13130,7 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr ""
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
 msgstr ""
 
 msgid "base path"
@@ -7537,10 +13556,11 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"alias for: hg %s\n"
-"\n"
-"%s"
+msgid "alias for: hg %s"
+msgstr ""
+
+#, python-format
+msgid "%s"
 msgstr ""
 
 #, python-format
@@ -7565,9 +13585,7 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr ""
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
 msgstr ""
 
 #, python-format
@@ -7585,9 +13603,7 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr ""
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
 msgstr ""
 
 #, python-format
@@ -7712,9 +13728,7 @@
 msgid "destination '%s' is not empty"
 msgstr ""
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
 msgstr ""
 
 msgid "clone from remote to remote not supported"
@@ -7725,16 +13739,13 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
 msgstr ""
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr ""
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
 msgstr ""
 
 msgid "(branch merge, don't forget to commit)\n"
@@ -8016,9 +14027,7 @@
 msgid "requesting all changes\n"
 msgstr ""
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
 msgstr ""
 
 #, python-format
@@ -8137,9 +14146,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr ""
 
 #, python-format
@@ -8214,9 +14221,7 @@
 msgid "outstanding uncommitted changes (use 'hg status' to list changes)"
 msgstr "υπάÏχουν τοπικές αλλαγές ακόμη (δώστε 'hg status' για να δείτε τις αλλαγές)"
 
-msgid ""
-"crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard "
-"changes)"
+msgid "crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)"
 msgstr ""
 
 msgid "crosses branches (use 'hg merge' or use 'hg update -c')"
@@ -8754,8 +14759,7 @@
 
 #, python-format
 msgid "warning: copy source of '%s' not in parents of %s"
-msgstr ""
-"Ï€Ïοειδοποίηση: η πηγή '%s' της αντιγÏαφής δεν υπάÏχει στις γονικές της %s"
+msgstr "Ï€Ïοειδοποίηση: η πηγή '%s' της αντιγÏαφής δεν υπάÏχει στις γονικές της %s"
 
 #, python-format
 msgid "empty or missing copy source revlog %s:%s"
@@ -8763,9 +14767,7 @@
 
 #, python-format
 msgid "warning: %s@%s: copy source revision is nullid %s:%s\n"
-msgstr ""
-"Ï€Ïοειδοποίηση: %s@%s: η έκδοση Ï€Ïοέλευσης της αντιγÏαφής αÏχείου είναι η "
-"κενή αλλαγή %s:%s\n"
+msgstr "Ï€Ïοειδοποίηση: %s@%s: η έκδοση Ï€Ïοέλευσης της αντιγÏαφής αÏχείου είναι η κενή αλλαγή %s:%s\n"
 
 #, python-format
 msgid "checking rename of %s"
--- a/i18n/fr.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/fr.po	Mon Jun 21 13:41:11 2010 -0500
@@ -1,17 +1,17 @@
 # French translations for Mercurial
 # Traductions françaises de Mercurial
 # Copyright (C) 2009 Matt Mackall <mpm@selenic.com> and others
-#
+# 
 # Quelques règles :
 # - dans l'aide d'une commande, la première ligne descriptive
 #   commence par un verbe au présent sans majuscule
 # - dans l'aide d'une commande, la description des options
 #   utilise un verbe à l'infinitif
-#
+# 
 # Note : la terminologie ci-dessous est loin d'être complète, figée ou
 #        parfaite. À compléter et à améliorer, particulièrement les
 #        termes comportant un point d'interrogation...
-#
+# 
 # Dictionnaire de termes courants :
 #  - to  apply a patch        appliquer un patch
 #  - a   branch               une branche
@@ -46,7 +46,7 @@
 #        untracked            non suivi, non géré, pas sous contrôle du dépôt,
 #                             hors révision ?
 #  - the working directory    le répertoire de travail
-#
+# 
 # Termes très courants repris de l'anglais - à utiliser sans guillemets
 # pour ne pas alourdir inutilement la traduction :
 #  - a   diff                 un diff ? (ou également un patch ? synonymes...)
@@ -54,7 +54,7 @@
 #  - a   patch                un patch
 #  - a   tag                  un tag
 #  - to  tag                  taguer
-#
+# 
 # Termes anglais avec une signification très spécifique, difficile à
 # paraphraser sans alourdir ou perdre le sens - à utiliser avec guillemets :
 #  - a   bundle               un \"bundle\"
@@ -62,7 +62,7 @@
 #  - a   changeset            un \"changeset\"
 #  - a   changegroup          un \"changegroup\"
 #  - the tip                  la révision \"tip\"
-#
+# 
 # Termes dont le classement / la traduction sont à déterminer :
 #  - a   commit               un commit, un \"commit\"
 #  - to  commit               \"committer\" ? (beuark, même dit tous les jours)
@@ -73,7 +73,7 @@
 #  - to  push                 propager ? (utilisé par svn pour commit)
 #                             publier ? pousser ?? envoyer ??
 #  - the series file (mq)     ?
-#
+# 
 # Notes :
 #  - (cédric) je verrais bien l'ajout d'une rubrique générale dans l'aide
 #    (par exemple 'hg help glossary') librement remplissable par chaque équipe
@@ -81,7 +81,7 @@
 #    qui vont être rencontrés dans mercurial - et en particulier permettrait
 #    de faire le lien avec des termes franglisants parfois utilisés
 #    (par ex. fusionner = "merger", etc.) ... ?
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
@@ -100,31 +100,31 @@
 msgstr " (défaut: %s)"
 
 msgid "OPTIONS"
-msgstr ""
+msgstr "OPTIONS"
 
 msgid "COMMANDS"
-msgstr ""
-
-#, fuzzy
-msgid ""
-"    options:\n"
-"\n"
+msgstr "COMMANDES"
+
+#, fuzzy
+msgid "    options:"
 msgstr "options :\n"
 
 #, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "    aliases: %s"
+msgstr ""
+
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr ""
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples::\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+
+msgid "Many date formats are valid. Here are some examples::"
+msgstr ""
+
+msgid ""
 "  \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
 "  \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
 "  \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
@@ -137,19 +137,26 @@
 "  \"2006-12-6\"\n"
 "  \"12-6\"\n"
 "  \"12/6\"\n"
-"  \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format::\n"
-"\n"
-"  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
+"  \"12/6/6\" (Dec 6 2006)"
+msgstr ""
+
+msgid "Lastly, there is Mercurial's internal format::"
+msgstr ""
+
+msgid "  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr ""
+
+msgid ""
 "This is the internal representation format for dates. unixtime is the\n"
 "number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
 "the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges::\n"
-"\n"
+"the timezone is east of UTC)."
+msgstr ""
+
+msgid "The log command also accepts date ranges::"
+msgstr ""
+
+msgid ""
 "  \"<{datetime}\" - at or before a given date/time\n"
 "  \">{datetime}\" - on or after a given date/time\n"
 "  \"{datetime} to {datetime}\" - a date range, inclusive\n"
@@ -159,29 +166,39 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr ""
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
+"format for communicating changes."
+msgstr ""
+
+msgid ""
 "To make Mercurial produce the git extended diff format, use the --git\n"
 "option available for many commands, or set 'git = True' in the [diff]\n"
 "section of your hgrc. You do not need to set this option when\n"
@@ -194,74 +211,98 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use .hgrc)"
+msgstr ""
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
+
+msgid ""
 "HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    ancestor file."
+msgstr ""
+
+msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
+"    from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
 "    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
 "HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
+"    available values will be considered in this order:"
+msgstr ""
+
+msgid ""
 "    - HGUSER (deprecated)\n"
 "    - hgrc files from the HGRCPATH\n"
 "    - EMAIL\n"
 "    - interactive prompt\n"
-"    - LOGNAME (with '@hostname' appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    - LOGNAME (with '@hostname' appended)"
+msgstr ""
+
+msgid ""
 "EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
 "EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
 "    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
 "    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
+"    defaults to 'vi'."
+msgstr ""
+
+msgid ""
 "PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
@@ -272,44 +313,25 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+"\n"
+"    Mercurial a la capacité de s'enrichir de nouvelles\n"
+"    fonctionnalités par le biais d'extensions. Les extensions\n"
+"    permettent d'ajouter des nouvelles commandes, de changer le\n"
+"    comportement de commandes existantes ou leur ajouter des\n"
+"    options, ou encore d'implémenter de nouveaux \"hooks\"."
+
+#, fuzzy
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
-"To enable the \"foo\" extension, either shipped with Mercurial or in\n"
-"the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
-"  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
-"  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
-"To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
-"  [extensions]\n"
-"  # disabling extension bar residing in /path/to/extension/bar.py\n"
-"  bar = !/path/to/extension/bar.py\n"
-"  # ditto, but no path was supplied for extension baz\n"
-"  baz = !\n"
-msgstr ""
-"\n"
-"    Mercurial a la capacité de s'enrichir de nouvelles\n"
-"    fonctionnalités par le biais d'extensions. Les extensions\n"
-"    permettent d'ajouter des nouvelles commandes, de changer le\n"
-"    comportement de commandes existantes ou leur ajouter des\n"
-"    options, ou encore d'implémenter de nouveaux \"hooks\".\n"
-"\n"
+"needed."
+msgstr ""
 "    Les extensions ne sont pas chargées automatiquement par défaut\n"
 "    pour diverses raisons : elles peuvent accroître la latence\n"
 "    de lancement de Mercurial ; elle peuvent n'être destinées qu'à\n"
@@ -320,23 +342,54 @@
 "    grand nombre ; ou encore elles peuvent modifier certains des\n"
 "    comportements habituels de Mercurial.\n"
 "    Il appartient donc à l'utilisateur de les activer en fonction\n"
-"    de ses besoins.\n"
-"\n"
+"    de ses besoins."
+
+#, fuzzy
+msgid ""
+"To enable the \"foo\" extension, either shipped with Mercurial or in\n"
+"the Python search path, create an entry for it in your hgrc, like\n"
+"this::"
+msgstr ""
 "    Pour activer l'extension \"truc\" fournie avec Mercurial ou\n"
 "    présente dans le chemin de recherche de Python, déclarez-la\n"
-"    dans votre fichier de configuration hgrc comme suit :\n"
-"\n"
+"    dans votre fichier de configuration hgrc comme suit :"
+
+#, fuzzy
+msgid ""
+"  [extensions]\n"
+"  foo ="
+msgstr ""
 "      [extensions]\n"
-"      truc =\n"
-"\n"
-"    Vous pouvez aussi indiquer l'endroit où elle se trouve :\n"
-"\n"
+"      truc ="
+
+#, fuzzy
+msgid "You may also specify the full path to an extension::"
+msgstr "    Vous pouvez aussi indiquer l'endroit où elle se trouve :"
+
+#, fuzzy
+msgid ""
+"  [extensions]\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
 "      [extensions]\n"
-"      monbidule = ~/.hgext/monbidule.py\n"
-"\n"
+"      monbidule = ~/.hgext/monbidule.py"
+
+#, fuzzy
+msgid ""
+"To explicitly disable an extension enabled in an hgrc of broader\n"
+"scope, prepend its path with !::"
+msgstr ""
 "    Pour forcer la désactivation d'une extension activée par un\n"
-"    autre hgrc, précédez son chemin d'un point d'exclamation :\n"
-"\n"
+"    autre hgrc, précédez son chemin d'un point d'exclamation :"
+
+#, fuzzy
+msgid ""
+"  [extensions]\n"
+"  # disabling extension bar residing in /path/to/extension/bar.py\n"
+"  bar = !/path/to/extension/bar.py\n"
+"  # ditto, but no path was supplied for extension baz\n"
+"  baz = !\n"
+msgstr ""
 "      [extensions]\n"
 "      # désactivation de machin qui se trouve dans /vers/machin.py\n"
 "      bar = !/vers/machin.py\n"
@@ -347,89 +400,126 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
+
+msgid ""
 "A range acts as a closed interval. This means that a range of 3:5\n"
 "gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
 msgstr ""
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr ""
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr ""
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+
+msgid "Plain examples::"
+msgstr ""
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+
+msgid "Glob examples::"
+msgstr ""
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"                 including itself."
+msgstr ""
+
+msgid "Regexp examples::"
+msgstr ""
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr ""
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr ""
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr ""
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
@@ -440,27 +530,38 @@
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+
+msgid ""
 "Three styles are packaged with Mercurial: default (the style used\n"
 "when no explicit preference is passed), compact and changelog.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"Usage::"
+msgstr ""
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
-"    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"expansion::"
+msgstr ""
+
+msgid "    $ hg log -r1 --template \"{node}\\n\"\\n    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+
+msgid ""
 ":author:    String. The unmodified author of the changeset.\n"
 ":branches:  String. The name of the branch on which the changeset\n"
 "            was committed. Will be empty if the branch name was\n"
@@ -484,19 +585,24 @@
 "            changeset.\n"
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
 "            changeset.\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. You can also use a chain of filters to get the desired\n"
-"output::\n"
-"\n"
-"   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"output::"
+msgstr ""
+
+msgid "   $ hg tip --template \"{date|isodate}\\n\"\\n   2008-08-21 18:22 +0000"
+msgstr ""
+
+msgid "List of filters:"
+msgstr ""
+
+msgid ""
 ":addbreaks:   Any text. Add an XHTML \"<br />\" tag before the end of\n"
 "              every line except the last.\n"
 ":age:         Date. Returns a human-readable date/time difference\n"
@@ -552,113 +658,160 @@
 "              address.\n"
 msgstr ""
 
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+msgid "Valid URLs are of the form::"
+msgstr ""
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
+
+msgid ""
 "Paths in the local filesystem can either point to Mercurial\n"
 "repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
+"incoming --bundle')."
+msgstr ""
+
+msgid ""
 "An optional identifier after # indicates a particular branch, tag, or\n"
 "changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
+"revisions'."
+msgstr ""
+
+msgid ""
 "Some features, such as pushing to http:// and https:// URLs are only\n"
 "possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
+"server."
+msgstr ""
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr ""
+
+msgid ""
 "- SSH requires an accessible shell account on the destination machine\n"
 "  and a copy of hg in the remote path or specified with as remotecmd.\n"
 "- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
+
+msgid "    ssh://example.com//tmp/repository"
+msgstr ""
+
+msgid ""
 "- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
+
+msgid ""
 "    Host *.mylocalnetwork.example.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+msgstr ""
+
+msgid ""
 "  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
+"  with the --ssh command line option."
+msgstr ""
+
+msgid ""
 "These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
+"[paths] section like so::"
+msgstr ""
+
+msgid ""
 "  [paths]\n"
 "  alias1 = URL1\n"
 "  alias2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+msgstr ""
+
+msgid ""
 "You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' would pull from the 'alias1' path).\n"
-"\n"
+"example 'hg pull alias1' would pull from the 'alias1' path)."
+msgstr ""
+
+msgid ""
 "Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
+"you do not provide the URL to a command:"
+msgstr ""
+
+msgid ""
 "default:\n"
 "  When you create a repository with hg clone, the clone command saves\n"
 "  the location of the source repository as the new repository's\n"
 "  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
+
+msgid ""
 "default-push:\n"
 "  The push command will look for a path named 'default-push', and\n"
 "  prefer it over 'default' if both are defined.\n"
 msgstr ""
 
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "hooks for controlling repository access"
+msgstr ""
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
@@ -674,38 +827,47 @@
 msgid "acl: access denied for changeset %s"
 msgstr ""
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr ""
+
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
@@ -713,8 +875,9 @@
 "    "
 msgstr ""
 
+#, fuzzy
 msgid "a bookmark of this name does not exist"
-msgstr ""
+msgstr "un signet de ce nom n'existe pas"
 
 msgid "a bookmark of the same name already exists"
 msgstr ""
@@ -738,125 +901,176 @@
 msgstr ""
 
 msgid "delete a given bookmark"
-msgstr ""
+msgstr "Supprimer un signet donné"
 
 msgid "rename a given bookmark"
-msgstr ""
+msgstr "Renommer un signet donné"
 
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr ""
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+
+msgid ""
 "The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
-"\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+
+msgid ""
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
-"\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+
+msgid ""
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
-"\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "password\n"
-"  Password to use to access MySQL server.\n"
-"\n"
+"  Password to use to access MySQL server."
+msgstr ""
+
+msgid ""
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
-"\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+
+msgid ""
 "version\n"
 "  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
 "  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
-"\n"
+"  to 2.18."
+msgstr ""
+
+msgid ""
 "bzuser\n"
 "  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
-"\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+
+msgid ""
 "bzdir\n"
 "   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
-"\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+
+msgid ""
 "notify\n"
 "  The command to run to get Bugzilla to send bug change notification\n"
 "  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
 "  and 'user' (committer bugzilla email). Default depends on version;\n"
 "  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
-"\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+
+msgid ""
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
 "  Must contain one \"()\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
-"\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+
+msgid ""
 "style\n"
-"  The style file to use when formatting comments.\n"
-"\n"
+"  The style file to use when formatting comments."
+msgstr ""
+
+msgid ""
 "template\n"
 "  Template to use when formatting comments. Overrides style if\n"
 "  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
+"  extension specifies::"
+msgstr ""
+
+msgid ""
 "    {bug}       The Bugzilla bug ID.\n"
 "    {root}      The full pathname of the Mercurial repository.\n"
 "    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+
+msgid ""
 "  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\\n\n"
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
-"\n"
+"  {webroot}. Default 0."
+msgstr ""
+
+msgid ""
 "usermap\n"
 "  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
 "  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+
+msgid ""
 "The [usermap] section is used to specify mappings of Mercurial\n"
 "committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
-"\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+
+msgid ""
 "baseurl\n"
 "  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
-"\n"
+"  templates as {hgweb}."
+msgstr ""
+
+msgid "Activating the extension::"
+msgstr ""
+
+msgid ""
 "    [extensions]\n"
-"    bugzilla =\n"
-"\n"
+"    bugzilla ="
+msgstr ""
+
+msgid ""
 "    [hooks]\n"
 "    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+
+msgid "Example configuration:"
+msgstr ""
+
+msgid ""
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
-"\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+
+msgid ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -864,22 +1078,28 @@
 "    bzuser=unknown@domain.com\n"
 "    bzdir=/opt/bugzilla-3.2\n"
 "    template=Changeset {node|short} in {root|basename}.\n"
-"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
-"             {desc}\\n\n"
-"    strip=5\n"
-"\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\\n             {desc}\\n\\n    strip=5"
+msgstr ""
+
+msgid ""
 "    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+
+msgid ""
 "    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+
+msgid ""
 "    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+
+msgid "    Changeset commit comment. Bug 1234.\n"
 msgstr ""
 
 #, python-format
@@ -956,9 +1176,10 @@
 msgid "command to display child changesets"
 msgstr ""
 
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr ""
+
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -973,8 +1194,9 @@
 msgid "hg children [-r REV] [FILE]"
 msgstr ""
 
+#, fuzzy
 msgid "command to display statistics about repository history"
-msgstr ""
+msgstr "Commande pour afficher les statistiques de l'historique du repository"
 
 #, python-format
 msgid "Revision %d is a merge, ignoring...\n"
@@ -984,38 +1206,55 @@
 msgid "generating stats: %d%%"
 msgstr ""
 
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "histogram of changes to the repository"
+msgstr ""
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
+"    date instead."
+msgstr ""
+
+msgid ""
 "    Statistics are based on the number of changed lines, or\n"
 "    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    --changesets option is specified."
+msgstr ""
+
+msgid "    Examples::"
+msgstr ""
+
+msgid ""
 "      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
+
+msgid ""
 "      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
+
+msgid ""
 "      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
+
+msgid ""
 "      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
+
+msgid ""
 "    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
+"    by providing a file using the following format::"
+msgstr ""
+
+msgid "      <alias email> <actual email>"
+msgstr ""
+
+msgid ""
 "    Such a file may be specified with the --aliases option, otherwise\n"
 "    a .hgchurn file will be looked for in the working directory root.\n"
 "    "
@@ -1048,38 +1287,50 @@
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 msgstr ""
 
-msgid ""
-"colorize output from some commands\n"
-"\n"
+msgid "colorize output from some commands"
+msgstr ""
+
+msgid ""
 "This extension modifies the status command to add color to its output\n"
 "to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -1104,11 +1355,13 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr ""
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -1117,72 +1370,103 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
+"    - Perforce [p4]"
+msgstr ""
+
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+
+msgid "      <source ID> <destination ID>"
+msgstr ""
+
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+
+msgid "      include path/to/file"
+msgstr ""
+
+msgid "      exclude path/to/file"
+msgstr ""
+
+msgid "      rename from/file to/file"
+msgstr ""
+
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -1192,8 +1476,10 @@
 "    revision control system whose parents should be modified (same\n"
 "    format as a key in .hg/shamap). The values are the revision IDs\n"
 "    (in either the source or destination revision control system) that\n"
-"    should be used as the new parents for that node.\n"
-"\n"
+"    should be used as the new parents for that node."
+msgstr ""
+
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -1203,11 +1489,15 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -1216,11 +1506,15 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -1229,10 +1523,13 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+
+msgid "    The options shown are the defaults."
+msgstr ""
+
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -1250,16 +1547,22 @@
 "        Specify a regular expression to which commit log messages are\n"
 "        matched. If a match occurs, then the conversion process will\n"
 "        add the most recent revision on the branch indicated in the\n"
-"        regex as the second parent of the changeset.\n"
-"\n"
+"        regex as the second parent of the changeset."
+msgstr ""
+
+msgid ""
 "    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
 "    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
+"    the command help for more details."
+msgstr ""
+
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -1269,58 +1572,80 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+
+msgid "    "
+msgstr ""
+
+msgid "create changeset information from CVS"
+msgstr ""
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
@@ -1393,9 +1718,7 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr ""
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
 msgstr ""
 
 msgid "bzr source type could not be determined\n"
@@ -1439,18 +1762,19 @@
 
 #, python-format
 msgid "%s: unknown repository type"
-msgstr ""
+msgstr "%s : type de dépôt inconnu"
 
 #, python-format
 msgid "unknown sort mode: %s"
-msgstr ""
+msgstr "mode de tri inconnu: %s"
 
 #, python-format
 msgid "cycle detected between %s and %s"
-msgstr ""
-
+msgstr "cycle détecté entre %s et %s"
+
+#, fuzzy
 msgid "not all revisions were sorted"
-msgstr ""
+msgstr "Touts les révisions n'ont pas été triées"
 
 #, python-format
 msgid "Writing author map file %s\n"
@@ -1475,22 +1799,24 @@
 msgid "scanning source...\n"
 msgstr ""
 
+#, fuzzy
 msgid "sorting...\n"
-msgstr ""
-
+msgstr "tri en cours...\n"
+
+#, fuzzy
 msgid "converting...\n"
-msgstr ""
+msgstr "conversion en cours...\n"
 
 #, python-format
 msgid "source: %s\n"
-msgstr ""
+msgstr "source: %s\n"
 
 #, python-format
 msgid "assuming destination %s\n"
 msgstr ""
 
 msgid "more than one sort mode specified"
-msgstr ""
+msgstr "plus d'un mode de tri specifié"
 
 msgid "--sourcesort is not supported by this data source"
 msgstr ""
@@ -1501,55 +1827,56 @@
 
 #, python-format
 msgid "connecting to %s\n"
-msgstr ""
+msgstr "connexion à %s\n"
 
 msgid "CVS pserver authentication failed"
-msgstr ""
-
-#, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
-msgstr ""
+msgstr "l'authentification au serveur CVS a échoué"
+
+#, python-format, fuzzy
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgstr "réponse innatendue du serveur CVS (\\'Valid-requests\" attendue, mais %r reçue)"
 
 #, python-format
 msgid "%d bytes missing from remote file"
-msgstr ""
+msgstr "%d bytes manquants dans le fichier distant"
 
 #, python-format
 msgid "cvs server: %s\n"
-msgstr ""
+msgstr "serveur cvs : %s\n"
 
 #, python-format
 msgid "unknown CVS response: %s"
-msgstr ""
-
+msgstr "Réponse CVS inconnue : %s"
+
+#, fuzzy
 msgid "collecting CVS rlog\n"
-msgstr ""
+msgstr "récupération des rlog CVS\n"
 
 #, python-format
 msgid "reading cvs log cache %s\n"
 msgstr ""
 
-#, python-format
+#, python-format, fuzzy
 msgid "cache has %d log entries\n"
-msgstr ""
+msgstr "le cache a %d entrées de log\n"
 
 #, python-format
 msgid "error reading cache: %r\n"
-msgstr ""
+msgstr "erreur lors de la lecture du cache : %r\n"
 
 #, python-format
 msgid "running %s\n"
 msgstr ""
 
+#, fuzzy
 msgid "RCS file must be followed by working file"
-msgstr ""
+msgstr "le fichier RCS doit être suivi par le fichier de travail"
 
 msgid "must have at least some revisions"
 msgstr ""
 
 msgid "expected revision number"
-msgstr ""
+msgstr "numéro de révision attendu"
 
 msgid "revision must be followed by date line"
 msgstr ""
@@ -1558,9 +1885,9 @@
 msgid "writing cvs log cache %s\n"
 msgstr ""
 
-#, python-format
+#, python-format, fuzzy
 msgid "%d log entries\n"
-msgstr ""
+msgstr "%d entrées dans les log\n"
 
 msgid "creating changesets\n"
 msgstr ""
@@ -1580,10 +1907,10 @@
 
 #, python-format
 msgid "darcs version 2.1 or newer needed (found %r)"
-msgstr ""
+msgstr "darcs version 2.1 ou supérieur nécessaire (trouvé %r)"
 
 msgid "Python ElementTree module is not available"
-msgstr ""
+msgstr "Le module Python ElementTree n'est pas disponible"
 
 msgid "internal calling inconsistency"
 msgstr ""
@@ -1614,8 +1941,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr ""
 
 #, python-format
@@ -1624,7 +1950,7 @@
 
 #, python-format
 msgid "%s is not a local Mercurial repo"
-msgstr ""
+msgstr "%s n'est pas un dépôt local de Mercurial"
 
 #, python-format
 msgid "initializing destination %s repository\n"
@@ -1638,7 +1964,7 @@
 msgstr ""
 
 msgid "updating tags\n"
-msgstr ""
+msgstr "mise à jour des tags\n"
 
 #, python-format
 msgid "%s is not a valid start revision"
@@ -1675,9 +2001,9 @@
 msgid "Subversion python bindings are too old, 1.4 or later required"
 msgstr ""
 
-#, python-format
+#, python-format, fuzzy
 msgid "svn: revision %s is not an integer"
-msgstr ""
+msgstr "svn : la révision %s n'est pas un entier"
 
 #, python-format
 msgid "svn: start revision %s is not an integer"
@@ -1712,7 +2038,7 @@
 
 #, python-format
 msgid "no tags found at revision %d\n"
-msgstr ""
+msgstr "aucun tag trouvé dans la révision %d\n"
 
 #, python-format
 msgid "%s not found up to revision %d"
@@ -1732,7 +2058,7 @@
 
 #, python-format
 msgid "initializing svn repo %r\n"
-msgstr ""
+msgstr "initialisation du dépôt svn %r\n"
 
 #, python-format
 msgid "initializing svn wc %r\n"
@@ -1745,39 +2071,52 @@
 msgstr ""
 
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
-msgstr ""
-
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgstr "XXX TAGS PAS ENCORE IMPLÉMENTÉ\n"
+
+msgid "command to allow external programs to compare revisions"
+msgstr ""
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
+
+msgid ""
 "  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+msgstr ""
+
+msgid ""
 "  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+msgstr ""
+
+msgid ""
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+
+msgid ""
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
 "diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
@@ -1796,20 +2135,25 @@
 msgstr ""
 
 msgid "cleaning up temp directory\n"
-msgstr ""
-
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgstr "nettoyage du dossier temporaire\n"
+
+msgid "use external program to diff repository (or selected files)"
+msgstr ""
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
@@ -1830,17 +2174,20 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr ""
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using the\n"
-"    %(path)s program.\n"
-"\n"
+"    %(path)s program."
+msgstr ""
+
+#, python-format
+msgid ""
 "    When two revision arguments are given, then changes are shown between\n"
-"    those revisions. If only one revision is specified then that revision "
-"is\n"
-"    compared to the working directory, and, when no revisions are "
-"specified,\n"
+"    those revisions. If only one revision is specified then that revision is\n"
+"    compared to the working directory, and, when no revisions are specified,\n"
 "    the working directory files are compared to its parent."
 msgstr ""
 
@@ -1851,28 +2198,34 @@
 msgid "pull, update and merge in one command"
 msgstr ""
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
+
+msgid ""
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
 
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
 msgstr ""
 
 msgid "outstanding uncommitted merge"
@@ -1884,23 +2237,18 @@
 msgid "working directory is missing some files"
 msgstr ""
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
 msgstr ""
 
 #, python-format
 msgid "pulling from %s\n"
 msgstr ""
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr ""
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
 msgstr ""
 
 #, python-format
@@ -1934,7 +2282,7 @@
 msgstr ""
 
 msgid "error while verifying signature"
-msgstr ""
+msgstr "erreur lors de la vérification de la signature"
 
 #, python-format
 msgid "%s Bad signature from \"%s\"\n"
@@ -1951,25 +2299,23 @@
 msgid "list signed changesets"
 msgstr ""
 
-#, python-format
+#, python-format, fuzzy
 msgid "%s:%d node does not exist\n"
-msgstr ""
+msgstr "%s: le noeud %d n'existe pas\n"
 
 msgid "verify all the signatures there may be for a particular revision"
 msgstr ""
 
 #, python-format
 msgid "No valid signature for %s\n"
-msgstr ""
-
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgstr "Signature invalide pour %s\n"
+
+msgid "add a signature for the current or given revision"
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    or tip if no revision is checked out."
 msgstr ""
 
 msgid "uncommitted merge - please provide a specific revision"
@@ -1978,9 +2324,7 @@
 msgid "Error while signing"
 msgstr ""
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
 msgstr ""
 
 msgid "unknown signature version"
@@ -2010,9 +2354,10 @@
 msgid "hg sigs"
 msgstr ""
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr ""
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
@@ -2022,12 +2367,15 @@
 msgid "--graph option is incompatible with --%s"
 msgstr ""
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr ""
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr ""
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
@@ -2055,12 +2403,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr ""
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -2071,8 +2422,7 @@
 "  # Append a diffstat to the log message (optional)\n"
 "  #diffstat = False\n"
 "  # Template to use for log messages (optional)\n"
-"  #template = {desc}\\n{baseurl}/rev/{node}-- {diffstat}\n"
-"  # Style to use (optional)\n"
+"  #template = {desc}\\n{baseurl}/rev/{node}-- {diffstat}\\n  # Style to use (optional)\n"
 "  #style = foo\n"
 "  # The URL of the CIA notification service (optional)\n"
 "  # You can use mailto: URLs to send by email, eg\n"
@@ -2080,13 +2430,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -2099,32 +2453,45 @@
 msgid "email.from must be defined when sending by email"
 msgstr ""
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -2163,7 +2530,7 @@
 msgstr ""
 
 msgid "recursive"
-msgstr ""
+msgstr "récursif"
 
 msgid "pretty"
 msgstr ""
@@ -2175,7 +2542,7 @@
 msgstr ""
 
 msgid "search"
-msgstr ""
+msgstr "recherche"
 
 msgid "hg git-diff-tree [OPTION]... NODE1 NODE2 [FILE]..."
 msgstr ""
@@ -2190,19 +2557,19 @@
 msgstr ""
 
 msgid "ignored"
-msgstr ""
+msgstr "ignoré"
 
 msgid "hg debug-rev-parse REV"
 msgstr ""
 
 msgid "header"
-msgstr ""
+msgstr "en-tête"
 
 msgid "topo-order"
 msgstr ""
 
 msgid "parents"
-msgstr ""
+msgstr "parent"
 
 msgid "max-count"
 msgstr ""
@@ -2210,18 +2577,23 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr "hg debug-rev-list [OPTION]... REV..."
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+
+msgid "There is a single configuration option::"
+msgstr ""
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
+"  pygments_style = <style>"
+msgstr ""
+
+msgid "The default is 'colorful'.\n"
 msgstr ""
 
 msgid "accelerate status report using Linux's inotify service"
@@ -2230,9 +2602,10 @@
 msgid "start an inotify server for this repository"
 msgstr ""
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr ""
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
@@ -2296,7 +2669,7 @@
 
 #, python-format
 msgid "found %d\n"
-msgstr ""
+msgstr "trouvé %d\n"
 
 #, python-format
 msgid "*** to raise the limit from %d to %d (run as root):\n"
@@ -2388,20 +2761,24 @@
 msgid "finished setup\n"
 msgstr ""
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr ""
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
@@ -2413,52 +2790,76 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr ""
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr ""
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+
+msgid "Example::"
+msgstr ""
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
@@ -2478,17 +2879,23 @@
 msgid "no [keyword] patterns configured"
 msgstr ""
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr ""
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
@@ -2535,31 +2942,42 @@
 "\tkeywords expanded\n"
 msgstr ""
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr ""
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr ""
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr ""
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
@@ -2567,12 +2985,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr ""
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
@@ -2611,51 +3032,59 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr "gestion et utilisation d'une pile de patchs"
+
+#, fuzzy
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+"Cette extension permet de travailler avec une pile de patchs au\n"
+"dessus d'un dépôt Mercurial. Deux piles de patchs sont gérées :\n"
+"l'ensemble des patchs référencés, et le sous-ensemble des patchs\n"
+"qui ont été appliqués."
+
+#, fuzzy
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+"Les patchs référencés sont stockés en tant que fichiers au format\n"
+"patch au sein du répertoire .hg/patches, tandis que les patchs\n"
+"appliqués sont présents à la fois sous forme de fichier et de\n"
+"\"changesets\"."
+
+#, fuzzy
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr "Tâches usuelles (utiliser \"hg help commande\" pour plus de détails):"
+
+#, fuzzy
+msgid ""
 "  prepare repository to work with patches   qinit\n"
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+"préparer un dépôt pour utilisation avec des patchs   qinit\n"
+"créer un nouveau patch                               qnew\n"
+"importer un patch existant                           qimport"
+
+#, fuzzy
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+"afficher la série de patchs complète                 qseries\n"
+"afficher les patchs appliqués                        qapplied\n"
+"afficher le nom du dernier patch appliqué            qtop"
+
+#, fuzzy
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
 "  refresh contents of top applied patch     qrefresh\n"
 msgstr ""
-"gestion et utilisation d'une pile de patchs\n"
-"\n"
-"Cette extension permet de travailler avec une pile de patchs au\n"
-"dessus d'un dépôt Mercurial. Deux piles de patchs sont gérées :\n"
-"l'ensemble des patchs référencés, et le sous-ensemble des patchs\n"
-"qui ont été appliqués.\n"
-"\n"
-"Les patchs référencés sont stockés en tant que fichiers au format\n"
-"patch au sein du répertoire .hg/patches, tandis que les patchs\n"
-"appliqués sont présents à la fois sous forme de fichier et de\n"
-"\"changesets\".\n"
-"\n"
-"Tâches usuelles (utiliser \"hg help commande\" pour plus de détails):\n"
-"\n"
-"préparer un dépôt pour utilisation avec des patchs   qinit\n"
-"créer un nouveau patch                               qnew\n"
-"importer un patch existant                           qimport\n"
-"\n"
-"afficher la série de patchs complète                 qseries\n"
-"afficher les patchs appliqués                        qapplied\n"
-"afficher le nom du dernier patch appliqué            qtop\n"
-"\n"
 "empiler/appliquer un patch référencé sur la pile     qpush\n"
 "dépiler/ôter un patch de la pile                     qpop\n"
 "rafraîchir le contenu du dernier patch appliqué      qrefresh\n"
@@ -2735,8 +3164,7 @@
 msgstr "le patch %s n'est pas appliqué\n"
 
 msgid "patch failed, unable to continue (try -v)\n"
-msgstr ""
-"l'application du patch a échoué, impossible de continuer (essayez avec -v)\n"
+msgstr "l'application du patch a échoué, impossible de continuer (essayez avec -v)\n"
 
 #, python-format
 msgid "applying %s\n"
@@ -2860,9 +3288,7 @@
 
 #, python-format
 msgid "errors during apply, please fix and refresh %s\n"
-msgstr ""
-"des erreurs se sont produites durant l'application, veuillez corriger puis "
-"rafraîchir %s\n"
+msgstr "des erreurs se sont produites durant l'application, veuillez corriger puis rafraîchir %s\n"
 
 #, python-format
 msgid "now at: %s\n"
@@ -2880,16 +3306,14 @@
 msgstr "qpop: %s est déjà le dernier patch appliqué\n"
 
 msgid "qpop: forcing dirstate update\n"
-msgstr ""
-"qpop: mise à jour de l'état du répertoire de travail (dirstate) forcée\n"
+msgstr "qpop: mise à jour de l'état du répertoire de travail (dirstate) forcée\n"
 
 #, python-format
 msgid "trying to pop unknown node %s"
 msgstr "tentative de dépilement d'un nœud inconnu : %s"
 
 msgid "popping would remove a revision not managed by this patch queue"
-msgstr ""
-"le dépilement enlèverait une révision non gérée par cette pile de patchs"
+msgstr "le dépilement enlèverait une révision non gérée par cette pile de patchs"
 
 msgid "deletions found between repo revs"
 msgstr "suppressions trouvées entre des révisions du dépôt"
@@ -2904,13 +3328,8 @@
 msgid "cannot refresh a revision with children"
 msgstr "impossible de rafraîchir une révision possédant des révisions filles"
 
-# restaurer/récupérer ? pas satisfait...
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
-msgstr ""
-"rafraîchissement interrompu alors qu'un patch était en cours de dépilement "
-"(utiliser revert --all, ou qpush pour restaurer l'état)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
+msgstr "rafraîchissement interrompu alors qu'un patch était en cours de dépilement (utiliser revert --all, ou qpush pour restaurer l'état)\n"
 
 msgid "patch queue directory already exists"
 msgstr "la pile de patchs existe déjà"
@@ -2963,11 +3382,8 @@
 msgstr "l'option \"-r\" n'est pas utilisable lors de l'importation de fichiers"
 
 msgid "option \"-n\" not valid when importing multiple patches"
-msgstr ""
-"l'option \"-n\" n'est pas utilisable lors de l'importation de plusieurs "
-"patchs"
-
-# origine/base/racine ?
+msgstr "l'option \"-n\" n'est pas utilisable lors de l'importation de plusieurs patchs"
+
 #, python-format
 msgid "revision %d is the root of more than one branch"
 msgstr "la révision %d est à l'origine de plus d'une branche"
@@ -3006,13 +3422,40 @@
 msgid "adding %s to series file\n"
 msgstr "ajout de %s à la liste de patchs (fichier \"series\")\n"
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+#, fuzzy
+msgid "remove patches from queue"
+msgstr ""
+"supprime des patchs de la pile\n"
+"\n"
+"    Les patchs ne doivent pas avoir été appliqués, et il est\n"
+"    nécessaire de fournir au moins un patch.\n"
+"\n"
+"    Avec -k/--keep, les fichiers sont préservés au sein du répertoire\n"
+"    de patchs.\n"
+"\n"
+"    Pour arrêter de gérer un patch et le déplacer de manière\n"
+"    permanente vers l'historique du dépôt, utilisez la commande\n"
+"    qfinish."
+
+#, fuzzy
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+"supprime des patchs de la pile\n"
+"\n"
+"    Les patchs ne doivent pas avoir été appliqués, et il est\n"
+"    nécessaire de fournir au moins un patch.\n"
+"\n"
+"    Avec -k/--keep, les fichiers sont préservés au sein du répertoire\n"
+"    de patchs.\n"
+"\n"
+"    Pour arrêter de gérer un patch et le déplacer de manière\n"
+"    permanente vers l'historique du dépôt, utilisez la commande\n"
+"    qfinish."
+
+#, fuzzy
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
@@ -3040,48 +3483,45 @@
 msgid "all patches applied\n"
 msgstr "tous les patchs ont été appliqués\n"
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr "importe un patch"
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+"    Le patch est inséré dans la série à la suite du dernier patch\n"
+"    appliqué. Si aucun patch n'a encore été appliqué, le patch sera\n"
+"    ajouté en tête de série."
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+"    Le patch portera le même nom que le fichier dont il provient,\n"
+"    à moins qu'un autre nom ne soit spécifié à l'aide de -n/--name."
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+"    Vous pouvez enregistrer un patch déjà présent dans le répertoire\n"
+"    de patchs à l'aide de l'option -e/--existing."
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr "    Avec -f/--force, un patch déjà présent du même nom sera écrasé."
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
-"    To import a patch from standard input, pass - as the patch file.\n"
-"    When importing from standard input, a patch name must be specified\n"
-"    using the --name flag.\n"
-"    "
-msgstr ""
-"importe un patch\n"
-"\n"
-"    Le patch est inséré dans la série à la suite du dernier patch\n"
-"    appliqué. Si aucun patch n'a encore été appliqué, le patch sera\n"
-"    ajouté en tête de série.\n"
-"\n"
-"    Le patch portera le même nom que le fichier dont il provient,\n"
-"    à moins qu'un autre nom ne soit spécifié à l'aide de -n/--name.\n"
-"\n"
-"    Vous pouvez enregistrer un patch déjà présent dans le répertoire\n"
-"    de patchs à l'aide de l'option -e/--existing.\n"
-"\n"
-"    Avec -f/--force, un patch déjà présent du même nom sera écrasé.\n"
-"\n"
+"    changes."
+msgstr ""
 "    Un \"changeset\" existant peut-être placé sous le contrôle de mq\n"
 "    à l'aide de -r/--rev (par exemple qimport --rev tip -n patch\n"
 "    placera la révision tip sous le contrôle de mq).\n"
@@ -3089,16 +3529,23 @@
 "    enregistrés au format \"git diff\". La section \"diffs\" de\n"
 "    l'aide explique l'importance de cette option pour la\n"
 "    préservation des informations de copie/renommage et des\n"
-"    modifications de permissions.\n"
-"\n"
+"    modifications de permissions."
+
+msgid ""
+"    To import a patch from standard input, pass - as the patch file.\n"
+"    When importing from standard input, a patch name must be specified\n"
+"    using the --name flag.\n"
+"    "
+msgstr ""
 "    Pour importer un patch depuis l'entrée standard, utilisez -\n"
 "    comme nom de fichier. Il sera alors nécessaire de nommer le\n"
 "    patch à l'aide de l'option --name.\n"
 "    "
 
-msgid ""
-"init a new queue repository\n"
-"\n"
+msgid "init a new queue repository"
+msgstr ""
+
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
@@ -3106,36 +3553,37 @@
 "    qcommit to commit changes to this queue repository."
 msgstr ""
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr "clône simultanément le dépôt principal et le dépôt des patchs"
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
-"    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
-"    The patch directory must be a nested Mercurial repository, as\n"
-"    would be created by qinit -c.\n"
-"    "
-msgstr ""
-"clône simultanément le dépôt principal et le dépôt des patchs\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
 "    Si la source est locale, aucun patch ne sera appliqué sur la\n"
 "    cible. En revanche, si la source est distante, cette commande\n"
 "    n'est pas en mesure de vérifier si des patchs y ont été\n"
 "    empilés, et par conséquent ne peut garantir qu'aucun patch\n"
 "    ne sera appliqué au dessus de la cible. Autrement dit, si vous\n"
 "    clônez un dépôt distant, assurez-vous auparavant qu'il n'ait\n"
-"    aucun patch d'appliqué.\n"
-"\n"
+"    aucun patch d'appliqué."
+
+msgid ""
+"    Source patch repository is looked for in <src>/.hg/patches by\n"
+"    default. Use -p <url> to change."
+msgstr ""
 "    Le dépôt de patchs est recherché dans <src>/.hg/patches par\n"
 "    défaut, à moins que -p <url> ne soit utilisé pour spécifier\n"
-"    un chemin différent.\n"
-"\n"
+"    un chemin différent."
+
+msgid ""
+"    The patch directory must be a nested Mercurial repository, as\n"
+"    would be created by qinit -c.\n"
+"    "
+msgstr ""
 "    Le répertoire de patchs doit être contenu dans le dépôt\n"
 "    principal, tel que créé par qinit -c.\n"
 "    "
@@ -3170,33 +3618,18 @@
 msgid "print the name of the previous patch"
 msgstr "affiche le nom du patch précédent"
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr "crée un nouveau patch"
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). It will refuse to run if there are any outstanding changes\n"
 "    unless -f/--force is specified, in which case the patch will be\n"
 "    initialized with them. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
-"    -u/--user and -d/--date can be used to set the (given) user and\n"
-"    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
-"    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
-"    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
-"    Use the -g/--git option to keep the patch in the git extended diff\n"
-"    format. Read the diffs help topic for more information on why this\n"
-"    is important for preserving permission changes and copy/rename\n"
-"    information.\n"
-"    "
-msgstr ""
-"crée un nouveau patch\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
 "    qnew crée un nouveau patch au-dessus du dernier patch\n"
 "    actuellement appliqué, le cas échéant. Si le répertoire\n"
 "    de travail comporte des modifications non enregistrées,\n"
@@ -3207,34 +3640,56 @@
 "    de noms de fichiers après le nom du patch, afin de n'inclure\n"
 "    que les changements des fichiers concernés, et laisser le\n"
 "    reste dans le répertoire de travail en tant que modifications\n"
-"    non enregistrées.\n"
-"\n"
+"    non enregistrées."
+
+msgid ""
+"    -u/--user and -d/--date can be used to set the (given) user and\n"
+"    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
+"    to current user and date to current date."
+msgstr ""
 "    Le nom d'utilisateur et la date peuvent être spécifiés à\n"
 "    l'aide de -u/--user et -d/--date respectivement.\n"
 "    -U/--currentuser et -D/--currentdate positionnent le nom\n"
-"    d'utilisateur et la date à leur valeur actuelle.\n"
-"\n"
+"    d'utilisateur et la date à leur valeur actuelle."
+
+msgid ""
+"    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
+"    well as the commit message. If none is specified, the header is\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
 "    L'en-tête du patch et le message de \"commit\" peuvent être\n"
 "    spécifiés à l'aide de -e/--edit, -m/--message ou -l/--logfile.\n"
 "    Si aucune de ces options n'est utilisée, l'en-tête restera\n"
-"    vierge et le message de \"commit\" sera '[mq]: PATCH'.\n"
-"\n"
+"    vierge et le message de \"commit\" sera '[mq]: PATCH'."
+
+msgid ""
+"    Use the -g/--git option to keep the patch in the git extended diff\n"
+"    format. Read the diffs help topic for more information on why this\n"
+"    is important for preserving permission changes and copy/rename\n"
+"    information.\n"
+"    "
+msgstr ""
 "    Utilisez -g/--git pour garder le patch au format étendu de\n"
 "    \"git\". La section \"diffs\" de l'aide explique l'importance\n"
 "    de cette option pour la préservation des informations de\n"
 "    copie/renommage et des modifications de permissions.\n"
 "    "
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr ""
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
@@ -3245,14 +3700,17 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr "l'option \"-e\" est incompatible avec \"-m\" ou \"-l\""
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr ""
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
@@ -3260,16 +3718,19 @@
 "    "
 msgstr ""
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr ""
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
+"    removed afterwards."
+msgstr ""
+
+msgid ""
 "    The header for each folded patch will be concatenated with the\n"
 "    current patch header, separated by a line of '* * *'."
 msgstr ""
@@ -3295,19 +3756,24 @@
 msgid "push or pop patches until named patch is at top of stack"
 msgstr "empile ou dépile les patchs jusqu'à arriver au patch indiqué"
 
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgid "set or print guards for a patch"
+msgstr ""
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
+"    has activated it."
+msgstr ""
+
+msgid ""
 "    With no arguments, print the currently active guards.\n"
 "    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
+
+msgid ""
 "    To set guards on another patch:\n"
 "      hg qguard -- other.patch +2.6.17 -stable\n"
 "    "
@@ -3326,15 +3792,14 @@
 msgid "print the header of the topmost or specified patch"
 msgstr "affiche l'en-tête du dernier patch appliqué"
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr "applique le patch suivant sur la pile"
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
 msgstr ""
-"applique le patch suivant sur la pile\n"
-"\n"
 "    Si -f/--force est utilisé, tout changement local dans les\n"
 "    fichiers concernés par le patch seront perdus.\n"
 "    "
@@ -3346,16 +3811,15 @@
 msgid "merging with queue at: %s\n"
 msgstr "fusion avec la pile située à %s\n"
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr "dépile le dernier patch appliqué"
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
 "    "
 msgstr ""
-"dépile le dernier patch appliqué\n"
-"\n"
 "    Par défaut, le dernier patch appliqué est ôté de la pile. Si\n"
 "    un nom de patch est fourni, les patchs seront dépilés en\n"
 "    séquence jusqu'à arriver au patch demandé.\n"
@@ -3365,14 +3829,13 @@
 msgid "using patch queue: %s\n"
 msgstr "utilisation de la pile de patchs %s\n"
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr "renomme un patch"
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
-"renomme un patch\n"
-"\n"
 "    Avec un seul argument, le patch actuel est renommé PATCH1.\n"
 "    Avec deux arguments, PATCH1 devient PATCH2."
 
@@ -3402,45 +3865,59 @@
 msgid "copy %s to %s\n"
 msgstr "copie de %s vers %s\n"
 
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr ""
+
+msgid ""
 "    If one of the working directory's parent revisions is stripped, the\n"
 "    working directory will be updated to the parent of the stripped\n"
 "    revision.\n"
 "    "
 msgstr ""
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr ""
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example:\n"
-"\n"
+"    match the current guard. For example:"
+msgstr ""
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
+"    guarded patches."
+msgstr ""
+
+msgid ""
 "    Use -s/--series to print a list of all guards in the series file\n"
 "    (no other arguments needed). Use -v for more information."
 msgstr ""
@@ -3474,36 +3951,37 @@
 msgid "reapplying unguarded patches\n"
 msgstr ""
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr "déplacement des patchs vers l'historique du dépôt"
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+"    Achève le développement des révisions spécifiées (qui doivent\n"
+"    correspondre à des patch appliqués) en les retirant du contrôle\n"
+"    de mq, pour les transformer en \"changeset\" ordinaires dans\n"
+"    l'historique du dépôt."
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
-"    This can be especially useful if your changes have been applied to\n"
-"    an upstream repository, or if you are about to push your changes\n"
-"    to upstream.\n"
-"    "
-msgstr ""
-"déplacement des patchs vers l'historique du dépôt\n"
-"\n"
-"    Achève le développement des révisions spécifiées (qui doivent\n"
-"    correspondre à des patch appliqués) en les retirant du contrôle\n"
-"    de mq, pour les transformer en \"changeset\" ordinaires dans\n"
-"    l'historique du dépôt.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
 "    Il est possible d'utiliser l'option -a/--applied, ou de fournir\n"
 "    une plage de révisions. Avec --applied, tous les patchs\n"
 "    appliqués seront retirés du contrôle de mq. Autrement, les\n"
 "    révisions fournies doivent être situées à la base de la pile de\n"
-"    patchs appliqués.\n"
-"\n"
+"    patchs appliqués."
+
+msgid ""
+"    This can be especially useful if your changes have been applied to\n"
+"    an upstream repository, or if you are about to push your changes\n"
+"    to upstream.\n"
+"    "
+msgstr ""
 "    Ceci est utile en particulier si vos changements ont été adoptés\n"
 "    dans un dépôt amont, ou si vous vous apprêtez à les y envoyer.\n"
 "    "
@@ -3678,9 +4156,7 @@
 msgstr "hg qpush [-f] [-l] [-a] [-m] [-n NOM] [PATCH | INDEX]"
 
 msgid "refresh only files already in the patch and specified files"
-msgstr ""
-"ne rafraîchir que les fichiers déjà présent dans le patch et ceux "
-"explicitement spécifiés"
+msgstr "ne rafraîchir que les fichiers déjà présent dans le patch et ceux explicitement spécifiés"
 
 msgid "add/update author field in patch with current user"
 msgstr ""
@@ -3775,33 +4251,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr "hg qfinish [-a] [REV]..."
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -3812,31 +4302,40 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -3852,157 +4351,1295 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"diffs (%d lines):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"diffs (%d lines):"
 msgstr ""
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr ""
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend::\n"
-"\n"
+"pager.attend::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = log\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"  attend = log"
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-# première ligne trop longue -> traduction abrégée (à retraduire quand hg
-# sera capable de replier automatiquement la première ligne d'aide)
-#, fuzzy
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+#, fuzzy
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr "suffixes faisant référence à des révisions antérieures"
+
+#, fuzzy
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+"Cette extension permet d'utiliser des suffixes à la mode git pour\n"
+"faire référence aux ancêtres d'une révision donnée."
+
+#, fuzzy
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr "Par exemple, si \"foo\" désigne une révision, alors :"
+
+#, fuzzy
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+"- foo^N = Nième parent de foo\n"
+"  foo^0 = foo\n"
+"  foo^1 = premier parent de foo\n"
+"  foo^2 = second parent de foo\n"
+"  foo^  = foo^1"
+
+#, fuzzy
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
-"suffixes faisant référence à des révisions antérieures\n"
-"\n"
-"Cette extension permet d'utiliser des suffixes à la mode git pour\n"
-"faire référence aux ancêtres d'une révision donnée.\n"
-"\n"
-"Par exemple, si \"foo\" désigne une révision, alors :\n"
-"\n"
-"- foo^N = Nième parent de foo\n"
-"  foo^0 = foo\n"
-"  foo^1 = premier parent de foo\n"
-"  foo^2 = second parent de foo\n"
-"  foo^  = foo^1\n"
-"\n"
 "- foo~N = Nième premier grand-parent de foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = premier parent de foo\n"
 "  foo~2 = foo^1^1 = foo^^ = premier parent du premier parent de foo\n"
 
-# première ligne trop longue -> traduction abrégée (à retraduire quand hg
-# sera capable de replier automatiquement la première ligne d'aide)
-#, fuzzy
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+#, fuzzy
+msgid "command to send changesets as (a series of) patch emails"
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
 "  bcc = bcc1, bcc2, ...\n"
 "\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "The -m/--mbox option is also very useful. Instead of previewing each\n"
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
+"files, e.g. with mutt::"
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
 "\n"
 "  % mutt -R -f mbox\n"
 "\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid "  % mutt -R -f mbox"
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
+"package), to send each message out::"
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
 "\n"
 "  % formail -s sendmail -bm -t < mbox\n"
 "\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr ""
+"envoi d'une série de \"changesets\" par courrier électronique\n"
+"\n"
+"La série débute par un message d'introduction \"[PATCH 0 of N]\" la\n"
+"décrivant dans son ensemble.\n"
+"\n"
+"Ensuite, pour chaque patch est créé un courriel dont le sujet est\n"
+"la première ligne du commentaire du \"changeset\", préfixée par\n"
+"\"[PATCH M of N] \". Le corps du message comporte deux ou trois\n"
+"parties :\n"
+"\n"
+"  La description du \"changeset\".\n"
+"\n"
+"  Optionnellement, un résumé des modifications généré par le\n"
+"  programme diffstat.\n"
+"\n"
+"  Le patch proprement dit, tel que généré par \"hg export\".\n"
+"\n"
+"Chaque message fait référence au premier de la série (à l'aide\n"
+"des en-têtes de message In-Reply-To et References) de manière à\n"
+"apparaître comme un fil de discussion dans les lecteurs de courrier\n"
+"électronique et de nouvelles, ainsi que dans les archives de\n"
+"messagerie.\n"
+"\n"
+"Avec l'option -d/--diffstat, il vous sera demandé pour chaque\n"
+"\"changeset\" d'en confirmer l'envoi après avoir vu un résumé des\n"
+"modifications (par diffstat) et le commentaire associé ; ceci afin\n"
+"d'être certain de bien envoyer les bonnes modifications.\n"
+"\n"
+"Pour configurer les valeurs par défaut d'autres options d'envoi,\n"
+"ajoutez à votre fichier hgrc une section telle ci-dessous :\n"
+"\n"
+"  [email]\n"
+"  from = Mon Nom <mon@adresse_de_courriel>\n"
+"  to = destinataire1, destinataire2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Après cela il vous sera possible d'utiliser la commande \"hg email\"\n"
+"pour envoyer par courrier électronique une série de \"changesets\".\n"
+"\n"
+"Pour éviter d'envoyer des patchs prématurément, utiliser tout d'abord\n"
+"l'option \"-n\" (simple test) s'avère être une bonne idée. Il vous\n"
+"sera demandé l'adresse du destinataire ainsi qu'un sujet et un\n"
+"message d'introduction pour la série de patchs. Lorsque tout est\n"
+"prêt, les messages seront affichés. Si la variable d'environnement\n"
+"PAGER a été définie, le programme qu'elle indique sera utilisé pour\n"
+"l'affichage chaque message, permettant de vérifier que tout est\n"
+"correct.\n"
+"\n"
+"L'option -m/--mbox est également très utile : au lieu que les\n"
+"messages soient affichés ou envoyés directement, ils seront écrits\n"
+"dans un fichier (au format de boîte aux lettres UNIX). Cette boîte\n"
+"aux lettres peut alors être consultée pour vérification par n'importe\n"
+"quel lecteur de courrier électronique comprenant le format UNIX mbox,\n"
+"comme par exemple mutt :\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"Lors de votre vérification, vous pouvez envoyer chaque message en\n"
+"utilisant formail (un outil généralement installé en même temps que\n"
+"procmail) :\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"Et voilà, vos patchs sont en route vers leur destination.\n"
+"\n"
+"Vous pouvez aussi configurer l'option \"method\" de la section\n"
+"[email] pour utiliser un programme compatible avec sendmail, ou\n"
+"alors remplir la section [smtp] de telle sorte que l'extension\n"
+"patchbomb puisse automatiquement envoyer les messages depuis la\n"
+"ligne de commande. Consulter les sections [email] et [smtp] dans la\n"
+"page de manuel hgrc(5) pour plus de détails."
+
+#, fuzzy
+msgid ""
 "You can also either configure the method option in the email section\n"
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
@@ -4096,53 +5733,516 @@
 msgstr "résumé des modifications rejeté"
 
 #, fuzzy
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    By default the patch is included as text in the email body for\n"
 "    easy reviewing. Using the -a/--attach option will instead create\n"
 "    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
+"    will be created."
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
 "    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    will be sent."
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      hg email -r 3000          # send patch 3000 only\n"
 "      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
 "      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      hg email -o               # send all patches not in default\n"
 "      hg email -o DEST          # send all patches not in DEST\n"
 "      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
+"envoi de \"changesets\" par courrier électronique\n"
+"\n"
+"    Par défaut, les modifications sont envoyées au format généré par\n"
+"    \"hg export\", une par message. La série débute par un message\n"
+"    la décrivant dans son ensemble, intitulé \"[PATCH 0 of N]\".\n"
+"\n"
+"    Chaque courriel a pour sujet un résumé des modifications\n"
+"    apportées par le patch (pris en première ligne de la description\n"
+"    du \"changeset\"), préfixé par \"[PATCH M of N] \".\n"
+"    Le message est constitué de deux ou trois parties. D'abord,\n"
+"    le texte décrivant le \"changeset\". Puis, (optionnellement)\n"
+"    un résumé des modifications généré par le programme diffstat si\n"
+"    celui-ci est installé et que l'option -d/--diffstat a été\n"
+"    spécifiée. Et enfin le patch, tel que généré par \"hg export\".\n"
+"\n"
+"    Par défaut le patch est inclus textuellement dans le corps du\n"
+"    message afin de faciliter les relectures et commentaires.\n"
+"    Cela peut être changé avec l'option -a/--attach qui crée une\n"
+"    pièce jointe séparée pour le patch, ou avec -i/--inline qui\n"
+"    insère celle-ci dans le corps.\n"
+"\n"
+"    Avec -o/--outgoing, des courriels seront générés pour chaque\n"
+"    révision non trouvée dans le dépôt cible (ou seulement pour les\n"
+"    ancêtres des révisions spécifiées, le cas échéant).\n"
+"\n"
+"    Avec -b/--bundle, les \"changesets\" sont sélectionnés de la\n"
+"    même manière que pour --outgoing, mais il seront envoyés via\n"
+"    un unique courriel dans un \"bundle\" Mercurial binaire joint.\n"
+"\n"
+"    Exemples :\n"
+"\n"
+"    hg email -r 3000         # envoyer uniquement le patch 3000\n"
+"    hg email -r 3000 -r 3001 # envoyer les patchs 3000 et 3001\n"
+"    hg email -r 3000:3005    # envoyer les patchs 3000 à 3005\n"
+"    hg email 3000            # envoyer le patch 3000 (déprécié)\n"
+"\n"
+"    hg email -o              # envoyer les patchs absents de la\n"
+"                               destination par défaut\n"
+"    hg email -o DEST         # envoyer les patchs absents de DEST\n"
+"    hg email -o -r 3000      # envoyer les ancêtres de 3000 absents\n"
+"                               de la destination par défaut\n"
+"    hg email -o -r 3000 DEST # envoyer les ancêtres de 3000 absents\n"
+"                               de DEST\n"
+"\n"
+"    Afin de pouvoir utiliser cette commande, il est nécessaire\n"
+"    d'activer préalablement l'envoi de courriel dans le fichier\n"
+"    de configuration (hgrc). Consulter hgrc(5) à la section\n"
+"    [email] pour plus de détails.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
 "    "
@@ -4201,9 +6301,7 @@
 msgstr "veuillez spécifier au minimum un \"changeset\", à l'aide de -r ou -o"
 
 msgid "--outgoing mode always on with --bundle; do not re-specify --outgoing"
-msgstr ""
-"ne pas spécifier --outgoing, qui est systématiquement activé lorsque --"
-"bundle est utilisé"
+msgstr "ne pas spécifier --outgoing, qui est systématiquement activé lorsque --bundle est utilisé"
 
 msgid "too many destinations"
 msgstr "trop de destinations"
@@ -4213,34 +6311,24 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
-msgstr ""
-"\n"
-"Veuillez écrire le message d'introduction de la série de patchs.\n"
-"\n"
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
-msgstr ""
-"Cette série comporte %d patchs.\n"
-"\n"
-
-# diffstat sur l'ensemble des patchs
+"Write the introductory message for the patch series."
+msgstr ""
+"\n"
+"Veuillez écrire le message d'introduction de la série de patchs."
+
+#, python-format
+msgid "This patch series consists of %d patches."
+msgstr "Cette série comporte %d patchs."
+
 msgid "Final summary:\n"
 msgstr "Résumé complet des modifications :\n"
 
-# mode --test
 msgid "Displaying "
 msgstr "Affichage de "
 
-# mode --mbox
 msgid "Writing "
 msgstr "Écriture de "
 
-# mode d'envoi par défaut
 msgid "Sending "
 msgstr "Envoi de "
 
@@ -4272,8 +6360,7 @@
 msgstr "afficher les messages tels qu'ils seraient envoyés"
 
 msgid "write messages to mbox file instead of sending them"
-msgstr ""
-"écrire les messages dans un fichier au format \"mbox\" au lieu de les envoyer"
+msgstr "écrire les messages dans un fichier au format \"mbox\" au lieu de les envoyer"
 
 msgid "subject of first message (intro or single patch)"
 msgstr "sujet du premier message (intro ou patch unique)"
@@ -4294,9 +6381,7 @@
 msgstr "envoyer les modifications non présentes dans le dépôt cible"
 
 msgid "send changes not in target as a binary bundle"
-msgstr ""
-"envoyer les modifications non présentes dans le dépôt cible sous forme de "
-"\"bundle\" binaire"
+msgstr "envoyer les modifications non présentes dans le dépôt cible sous forme de \"bundle\" binaire"
 
 msgid "name of the bundle attachment file"
 msgstr "nom à donner au fichier \"bundle\" envoyé"
@@ -4308,9 +6393,7 @@
 msgstr "procéder même si le dépôt cible n'est pas apparenté (avec -b/--bundle)"
 
 msgid "a base changeset to specify instead of a destination (with -b/--bundle)"
-msgstr ""
-"un \"changeset\" à utiliser comme point de départ, au lieu d'une destination "
-"(avec -b/--bundle)"
+msgstr "un \"changeset\" à utiliser comme point de départ, au lieu d'une destination (avec -b/--bundle)"
 
 msgid "send an introduction email for a single patch"
 msgstr "envoyer un courriel d'introduction pour un patch seul"
@@ -4322,27 +6405,227 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+"retire les fichiers non suivis par Mercurial\n"
+"\n"
+"    Supprime les fichiers non connus de Mercurial, ce qui peut être\n"
+"    utile pour tester des changements locaux non enregistrés à\n"
+"    l'intérieur d'une arborescence de sources propre.\n"
+"\n"
+"    Ainsi, purge effacera :\n"
+"     - les fichiers inconnus : fichiers que \"hg status\" indique\n"
+"       par un point d'interrogation\n"
+"     - les répertoires vides : en fait Mercurial ignore complètement\n"
+"       les répertoires, à moins qu'ils ne contiennent des fichiers\n"
+"       sous son contrôle\n"
+"    Seront par contre laissés intacts :\n"
+"     - Les fichiers placés sous contrôle, qu'ils aient été modifiés\n"
+"       ou non\n"
+"     - Les fichiers ignorés (sauf si --all est utilisé)\n"
+"     - Les fichiers nouvellement ajoutés au dépôt (avec \"hg add\")\n"
+"\n"
+"    Si des répertoires sont spécifiés sur la ligne de commande,\n"
+"    seuls les fichiers qu'ils contiennent seront considérés.\n"
+"\n"
+"    Soyez prudent en utilisant purge, si vous avez oublié d'ajouter\n"
+"    des fichiers au dépôt, ils seront perdus irrémédiablement.\n"
+"    Si vous souhaitez seulement afficher la liste des fichiers qui\n"
+"    seraient effacés par purge, utilisez l'option --print.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+"retire les fichiers non suivis par Mercurial\n"
+"\n"
+"    Supprime les fichiers non connus de Mercurial, ce qui peut être\n"
+"    utile pour tester des changements locaux non enregistrés à\n"
+"    l'intérieur d'une arborescence de sources propre.\n"
+"\n"
+"    Ainsi, purge effacera :\n"
+"     - les fichiers inconnus : fichiers que \"hg status\" indique\n"
+"       par un point d'interrogation\n"
+"     - les répertoires vides : en fait Mercurial ignore complètement\n"
+"       les répertoires, à moins qu'ils ne contiennent des fichiers\n"
+"       sous son contrôle\n"
+"    Seront par contre laissés intacts :\n"
+"     - Les fichiers placés sous contrôle, qu'ils aient été modifiés\n"
+"       ou non\n"
+"     - Les fichiers ignorés (sauf si --all est utilisé)\n"
+"     - Les fichiers nouvellement ajoutés au dépôt (avec \"hg add\")\n"
+"\n"
+"    Si des répertoires sont spécifiés sur la ligne de commande,\n"
+"    seuls les fichiers qu'ils contiennent seront considérés.\n"
+"\n"
+"    Soyez prudent en utilisant purge, si vous avez oublié d'ajouter\n"
+"    des fichiers au dépôt, ils seront perdus irrémédiablement.\n"
+"    Si vous souhaitez seulement afficher la liste des fichiers qui\n"
+"    seraient effacés par purge, utilisez l'option --print.\n"
+"    "
+
+#, fuzzy
+msgid "    This means that purge will delete:"
+msgstr ""
+"retire les fichiers non suivis par Mercurial\n"
+"\n"
+"    Supprime les fichiers non connus de Mercurial, ce qui peut être\n"
+"    utile pour tester des changements locaux non enregistrés à\n"
+"    l'intérieur d'une arborescence de sources propre.\n"
+"\n"
+"    Ainsi, purge effacera :\n"
+"     - les fichiers inconnus : fichiers que \"hg status\" indique\n"
+"       par un point d'interrogation\n"
+"     - les répertoires vides : en fait Mercurial ignore complètement\n"
+"       les répertoires, à moins qu'ils ne contiennent des fichiers\n"
+"       sous son contrôle\n"
+"    Seront par contre laissés intacts :\n"
+"     - Les fichiers placés sous contrôle, qu'ils aient été modifiés\n"
+"       ou non\n"
+"     - Les fichiers ignorés (sauf si --all est utilisé)\n"
+"     - Les fichiers nouvellement ajoutés au dépôt (avec \"hg add\")\n"
+"\n"
+"    Si des répertoires sont spécifiés sur la ligne de commande,\n"
+"    seuls les fichiers qu'ils contiennent seront considérés.\n"
+"\n"
+"    Soyez prudent en utilisant purge, si vous avez oublié d'ajouter\n"
+"    des fichiers au dépôt, ils seront perdus irrémédiablement.\n"
+"    Si vous souhaitez seulement afficher la liste des fichiers qui\n"
+"    seraient effacés par purge, utilisez l'option --print.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+"retire les fichiers non suivis par Mercurial\n"
+"\n"
+"    Supprime les fichiers non connus de Mercurial, ce qui peut être\n"
+"    utile pour tester des changements locaux non enregistrés à\n"
+"    l'intérieur d'une arborescence de sources propre.\n"
+"\n"
+"    Ainsi, purge effacera :\n"
+"     - les fichiers inconnus : fichiers que \"hg status\" indique\n"
+"       par un point d'interrogation\n"
+"     - les répertoires vides : en fait Mercurial ignore complètement\n"
+"       les répertoires, à moins qu'ils ne contiennent des fichiers\n"
+"       sous son contrôle\n"
+"    Seront par contre laissés intacts :\n"
+"     - Les fichiers placés sous contrôle, qu'ils aient été modifiés\n"
+"       ou non\n"
+"     - Les fichiers ignorés (sauf si --all est utilisé)\n"
+"     - Les fichiers nouvellement ajoutés au dépôt (avec \"hg add\")\n"
+"\n"
+"    Si des répertoires sont spécifiés sur la ligne de commande,\n"
+"    seuls les fichiers qu'ils contiennent seront considérés.\n"
+"\n"
+"    Soyez prudent en utilisant purge, si vous avez oublié d'ajouter\n"
+"    des fichiers au dépôt, ils seront perdus irrémédiablement.\n"
+"    Si vous souhaitez seulement afficher la liste des fichiers qui\n"
+"    seraient effacés par purge, utilisez l'option --print.\n"
+"    "
+
+#, fuzzy
+msgid "    But it will leave untouched:"
+msgstr ""
+"retire les fichiers non suivis par Mercurial\n"
+"\n"
+"    Supprime les fichiers non connus de Mercurial, ce qui peut être\n"
+"    utile pour tester des changements locaux non enregistrés à\n"
+"    l'intérieur d'une arborescence de sources propre.\n"
+"\n"
+"    Ainsi, purge effacera :\n"
+"     - les fichiers inconnus : fichiers que \"hg status\" indique\n"
+"       par un point d'interrogation\n"
+"     - les répertoires vides : en fait Mercurial ignore complètement\n"
+"       les répertoires, à moins qu'ils ne contiennent des fichiers\n"
+"       sous son contrôle\n"
+"    Seront par contre laissés intacts :\n"
+"     - Les fichiers placés sous contrôle, qu'ils aient été modifiés\n"
+"       ou non\n"
+"     - Les fichiers ignorés (sauf si --all est utilisé)\n"
+"     - Les fichiers nouvellement ajoutés au dépôt (avec \"hg add\")\n"
+"\n"
+"    Si des répertoires sont spécifiés sur la ligne de commande,\n"
+"    seuls les fichiers qu'ils contiennent seront considérés.\n"
+"\n"
+"    Soyez prudent en utilisant purge, si vous avez oublié d'ajouter\n"
+"    des fichiers au dépôt, ils seront perdus irrémédiablement.\n"
+"    Si vous souhaitez seulement afficher la liste des fichiers qui\n"
+"    seraient effacés par purge, utilisez l'option --print.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+"retire les fichiers non suivis par Mercurial\n"
+"\n"
+"    Supprime les fichiers non connus de Mercurial, ce qui peut être\n"
+"    utile pour tester des changements locaux non enregistrés à\n"
+"    l'intérieur d'une arborescence de sources propre.\n"
+"\n"
+"    Ainsi, purge effacera :\n"
+"     - les fichiers inconnus : fichiers que \"hg status\" indique\n"
+"       par un point d'interrogation\n"
+"     - les répertoires vides : en fait Mercurial ignore complètement\n"
+"       les répertoires, à moins qu'ils ne contiennent des fichiers\n"
+"       sous son contrôle\n"
+"    Seront par contre laissés intacts :\n"
+"     - Les fichiers placés sous contrôle, qu'ils aient été modifiés\n"
+"       ou non\n"
+"     - Les fichiers ignorés (sauf si --all est utilisé)\n"
+"     - Les fichiers nouvellement ajoutés au dépôt (avec \"hg add\")\n"
+"\n"
+"    Si des répertoires sont spécifiés sur la ligne de commande,\n"
+"    seuls les fichiers qu'ils contiennent seront considérés.\n"
+"\n"
+"    Soyez prudent en utilisant purge, si vous avez oublié d'ajouter\n"
+"    des fichiers au dépôt, ils seront perdus irrémédiablement.\n"
+"    Si vous souhaitez seulement afficher la liste des fichiers qui\n"
+"    seraient effacés par purge, utilisez l'option --print.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+"retire les fichiers non suivis par Mercurial\n"
+"\n"
+"    Supprime les fichiers non connus de Mercurial, ce qui peut être\n"
+"    utile pour tester des changements locaux non enregistrés à\n"
+"    l'intérieur d'une arborescence de sources propre.\n"
+"\n"
+"    Ainsi, purge effacera :\n"
+"     - les fichiers inconnus : fichiers que \"hg status\" indique\n"
+"       par un point d'interrogation\n"
+"     - les répertoires vides : en fait Mercurial ignore complètement\n"
+"       les répertoires, à moins qu'ils ne contiennent des fichiers\n"
+"       sous son contrôle\n"
+"    Seront par contre laissés intacts :\n"
+"     - Les fichiers placés sous contrôle, qu'ils aient été modifiés\n"
+"       ou non\n"
+"     - Les fichiers ignorés (sauf si --all est utilisé)\n"
+"     - Les fichiers nouvellement ajoutés au dépôt (avec \"hg add\")\n"
+"\n"
+"    Si des répertoires sont spécifiés sur la ligne de commande,\n"
+"    seuls les fichiers qu'ils contiennent seront considérés.\n"
+"\n"
+"    Soyez prudent en utilisant purge, si vous avez oublié d'ajouter\n"
+"    des fichiers au dépôt, ils seront perdus irrémédiablement.\n"
+"    Si vous souhaitez seulement afficher la liste des fichiers qui\n"
+"    seraient effacés par purge, utilisez l'option --print.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -4402,30 +6685,34 @@
 msgstr "afficher les nom des fichiers au lieu de les supprimer"
 
 msgid "end filenames with NUL, for use with xargs (implies -p/--print)"
-msgstr ""
-"terminer les noms de fichiers par un caractère nul, pour utilisation avec "
-"xargs (implique -p/--print)"
+msgstr "terminer les noms de fichiers par un caractère nul, pour utilisation avec xargs (implique -p/--print)"
 
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr "hg purge [OPTION]... [RÉPERTOIRE]..."
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr ""
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr ""
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history onto another. This can be useful for linearizing local\n"
-"    changes relative to a master development tree.\n"
-"\n"
+"    changes relative to a master development tree."
+msgstr ""
+
+msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a.\n"
 "    "
@@ -4524,9 +6811,7 @@
 msgid "abort an interrupted rebase"
 msgstr ""
 
-msgid ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] "
-"| [-c] | [-a]"
+msgid "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | [-c] | [-a]"
 msgstr ""
 
 msgid "commands to interactively select changes for commit/qrefresh"
@@ -4593,30 +6878,41 @@
 msgid "record change %d/%d to %r?"
 msgstr ""
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr ""
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
+"    possible::"
+msgstr ""
+
+msgid ""
 "      y - record this change\n"
-"      n - skip this change\n"
-"\n"
+"      n - skip this change"
+msgstr ""
+
+msgid ""
 "      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
+"      f - record remaining changes to this file"
+msgstr ""
+
+msgid ""
 "      d - done, skip remaining changes and files\n"
 "      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
+"      q - quit, recording no changes"
+msgstr ""
+
+msgid "      ? - display help"
 msgstr ""
 
 msgid "'mq' extension not loaded"
@@ -4640,12 +6936,15 @@
 msgid "share a common history between several working directories"
 msgstr ""
 
-msgid ""
-"create a new shared repository (experimental)\n"
-"\n"
+msgid "create a new shared repository (experimental)"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: actions that change history such as rollback or moving the\n"
 "    source may confuse sharers.\n"
 "    "
@@ -4657,11 +6956,13 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr ""
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr ""
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr ""
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
@@ -4716,38 +7017,52 @@
 msgid "apply changeset? [ynmpcq?]:"
 msgstr ""
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr ""
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr ""
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
+"    changesets you want."
+msgstr ""
+
+msgid ""
 "    hg transplant --branch REVISION --all will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
+"    directory."
+msgstr ""
+
+msgid ""
 "    You can optionally mark selected transplanted changesets as merge\n"
 "    changesets. You will not be prompted to transplant any ancestors\n"
 "    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
+"    normally instead of transplanting them."
+msgstr ""
+
+msgid ""
 "    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
+"    an interactive changeset browser."
+msgstr ""
+
+msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
 "    and then resume where you left off by calling hg transplant\n"
 "    --continue/-c.\n"
@@ -4799,38 +7114,49 @@
 msgid "filter changesets through FILTER"
 msgstr ""
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-msgstr ""
-
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgstr ""
+
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr ""
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
+"operation."
+msgstr ""
+
+msgid "This extension is useful for:"
+msgstr ""
+
+msgid ""
 "- Japanese Windows users using shift_jis encoding.\n"
 "- Chinese Windows users using big5 encoding.\n"
 "- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
+"  case-insensitive file system."
+msgstr ""
+
+msgid "This extension is not needed for:"
+msgstr ""
+
+msgid ""
 "- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr ""
+
+msgid ""
 "- You should use single encoding in one repository.\n"
 "- You should set same encoding for the repository by locale or\n"
-"  HGENCODING.\n"
-"\n"
+"  HGENCODING."
+msgstr ""
+
+msgid ""
 "Path encoding conversion are done between Unicode and\n"
 "encoding.encoding which is decided by Mercurial from current locale\n"
 "setting or HGENCODING.\n"
@@ -4843,31 +7169,41 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr ""
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr ""
+
+msgid "To perform automatic newline conversion, use::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+msgstr ""
+
+msgid ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+msgstr ""
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -4893,13 +7229,21 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+
+#, python-format
+msgid "and also consider adding:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -4909,40 +7253,47 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr "découverte et annonce de dépôts sur le réseau local"
+
+#, fuzzy
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
-"To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
-"  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
-"  $ hg paths\n"
-"  zc-test = http://example.com:8000/test\n"
-msgstr ""
-"découverte et annonce de dépôts sur le réseau local\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
 "Les dépôts utilisant zeroconf seront visibles sur le réseau sans\n"
 "qu'il n'y ait besoin de configurer un serveur ou service\n"
 "particuliers, et ils peuvent être accédés simplement, sans\n"
-"connaissance de leur adresse IP.\n"
-"\n"
+"connaissance de leur adresse IP."
+
+#, fuzzy
+msgid ""
+"To allow other people to discover your repository using run \"hg serve\"\n"
+"in your repository::"
+msgstr ""
 "Pour permettre à d'autres personnes de découvrir votre dépôt,\n"
-"lancez-y la commande \"hg serve\" :\n"
-"\n"
+"lancez-y la commande \"hg serve\" :"
+
+#, fuzzy
+msgid ""
+"  $ cd test\n"
+"  $ hg serve"
+msgstr ""
 " $ cd test\n"
-" $ hg serve\n"
-"\n"
+" $ hg serve"
+
+#, fuzzy
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
 "Vous pouvez découvrir les dépôts utilisant zeroconf en utilisant\n"
-"la commande \"hg paths\", par exemple :\n"
-"\n"
+"la commande \"hg paths\", par exemple :"
+
+#, fuzzy
+msgid ""
+"  $ hg paths\n"
+"  zc-test = http://example.com:8000/test\n"
+msgstr ""
 " $ hg paths\n"
 " zc-test = http://example.com:8000/test\n"
 
@@ -4950,9 +7301,7 @@
 msgstr "le préfixe donné pour l'archive contient des composants non autorisés"
 
 msgid "cannot give prefix when archiving to files"
-msgstr ""
-"impossible de donner un préfixe pour une création d'archive vers un "
-"répertoire (de type \"files\")"
+msgstr "impossible de donner un préfixe pour une création d'archive vers un répertoire (de type \"files\")"
 
 #, python-format
 msgid "unknown archive type '%s'"
@@ -5012,8 +7361,7 @@
 
 #, python-format
 msgid "invalid format spec '%%%s' in output filename"
-msgstr ""
-"'%%%s'spécification de format invalide dans le nom du fichier de sortie"
+msgstr "'%%%s'spécification de format invalide dans le nom du fichier de sortie"
 
 #, python-format
 msgid "adding %s\n"
@@ -5025,9 +7373,7 @@
 
 #, python-format
 msgid "recording removal of %s as rename to %s (%d%% similar)\n"
-msgstr ""
-"suppression de %s plannifiée, en tant que renommage de %s (similaire à %d%"
-"%)\n"
+msgstr "suppression de %s plannifiée, en tant que renommage de %s (similaire à %d%%)\n"
 
 #, python-format
 msgid "%s: not copying - file is not managed\n"
@@ -5205,29 +7551,39 @@
 msgid "empty commit message"
 msgstr ""
 
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+
+msgid ""
 "    If no names are given, add all files to the repository.\n"
 "    "
 msgstr ""
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr ""
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -5243,15 +7599,20 @@
 msgid "similarity must be between 0 and 100"
 msgstr ""
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr ""
+
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr ""
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
@@ -5270,51 +7631,57 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr "crée une archive du dépôt à une révision donnée, sans conserver l'historique"
+
+#, fuzzy
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+"    Par défaut l'archive est créée à partir de la révision parente\n"
+"    du répertoire de travail. Une autre révision peut être spécifiée\n"
+"    à l'aide de -r/--rev."
+
+#, fuzzy
+msgid ""
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are::\n"
-"\n"
+"    types are::"
+msgstr "    -t/--type permet de spécifier le type d'archive à créer, parmi :"
+
+#, fuzzy
+msgid ""
 "      \"files\" (default): a directory full of files\n"
 "      \"tar\": tar archive, uncompressed\n"
 "      \"tbz2\": tar archive, compressed using bzip2\n"
 "      \"tgz\": tar archive, compressed using gzip\n"
 "      \"uzip\": zip archive, uncompressed\n"
-"      \"zip\": zip archive, compressed using deflate\n"
-"\n"
-"    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
-"    Each member added to an archive file has a directory prefix\n"
-"    prepended. Use -p/--prefix to specify a format string for the\n"
-"    prefix. The default is the basename of the archive, with suffixes\n"
-"    removed.\n"
-"    "
-msgstr ""
-"crée une archive du dépôt à une révision donnée, sans conserver "
-"l'historique\n"
-"\n"
-"    Par défaut l'archive est créée à partir de la révision parente\n"
-"    du répertoire de travail. Une autre révision peut être spécifiée\n"
-"    à l'aide de -r/--rev.\n"
-"\n"
-"    -t/--type permet de spécifier le type d'archive à créer, parmi :\n"
-"\n"
+"      \"zip\": zip archive, compressed using deflate"
+msgstr ""
 "     \"files\" (par défaut) : un répertoire rempli de fichiers\n"
 "     \"tar\" : une archive tar non compressée\n"
 "     \"tbz2\" : une archive tar compressée avec bzip2\n"
 "     \"tgz\" : une archive tar compressée avec gzip\n"
 "     \"uzip\" : une archive zip non compressée\n"
-"     \"zip\" : une archive zip compressée avec l'algorithme deflate\n"
-"\n"
+"     \"zip\" : une archive zip compressée avec l'algorithme deflate"
+
+#, fuzzy
+msgid ""
+"    The exact name of the destination archive or directory is given\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
 "    Le nom exact de l'archive ou du répertoire de destination est\n"
 "    donné à l'aide d'une chaîne de format. Consulter 'hg help export'\n"
-"    pour plus de détails.\n"
-"\n"
+"    pour plus de détails."
+
+#, fuzzy
+msgid ""
+"    Each member added to an archive file has a directory prefix\n"
+"    prepended. Use -p/--prefix to specify a format string for the\n"
+"    prefix. The default is the basename of the archive, with suffixes\n"
+"    removed.\n"
+"    "
+msgstr ""
 "    Un chemin relatif est ajouté devant chaque membre de l'archive,\n"
 "    par défaut le nom du fichier d'archive (sans répertoires ni\n"
 "    suffixes). Un préfixe différent peut être spécifié avec\n"
@@ -5328,26 +7695,27 @@
 msgstr "le répertoire racine ne peut servir de destination"
 
 msgid "cannot archive plain files to stdout"
-msgstr ""
-"impossible d'envoyer une archive de simples fichiers vers la sortie standard"
-
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgstr "impossible d'envoyer une archive de simples fichiers vers la sortie standard"
+
+msgid "reverse effect of earlier changeset"
+msgstr ""
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    The result of this merge is not committed, as with a normal merge."
 msgstr ""
 
 msgid "please specify just one revision"
@@ -5386,9 +7754,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr ""
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr "recherche de \"changesets\" par dichotomie"
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -5396,20 +7765,8 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
-"    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
-"    If you supply a command, it will be used for automatic bisection.\n"
-"    Its exit status will be used to mark revisions as good or bad:\n"
-"    status 0 means good, 125 means to skip the revision, 127\n"
-"    (command not found) will abort the bisection, and any other\n"
-"    non-zero exit status means the revision is bad.\n"
-"    "
-msgstr ""
-"recherche de \"changesets\" par dichotomie\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
 "    Cette commande aide à trouver les \"changesets\" étant à\n"
 "    l'origine de problèmes. Pour l'utiliser, marquez comme étant\n"
 "    mauvaise la première révision pour laquelle vous avez relevé les\n"
@@ -5419,12 +7776,24 @@
 "    -U/--noupdate n'ait été spécifié). Une fois vos tests réalisés,\n"
 "    indiquez si le problème était présent ou non. Bisect\n"
 "    recommencera alors pour une autre révision candidate jusqu'à\n"
-"    être en mesure d'annoncer la révision fautive.\n"
-"\n"
+"    être en mesure d'annoncer la révision fautive."
+
+msgid ""
+"    As a shortcut, you can also use the revision argument to mark a\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
 "    Vous pouvez aussi passer une révision en argument lors du\n"
 "    marquage afin d'éviter l'étape manuelle de mise à jour du\n"
-"    répertoire de travail à cette révision.\n"
-"\n"
+"    répertoire de travail à cette révision."
+
+msgid ""
+"    If you supply a command, it will be used for automatic bisection.\n"
+"    Its exit status will be used to mark revisions as good or bad:\n"
+"    status 0 means good, 125 means to skip the revision, 127\n"
+"    (command not found) will abort the bisection, and any other\n"
+"    non-zero exit status means the revision is bad.\n"
+"    "
+msgstr ""
 "    Vous pouvez fournir une commande pour automatiser la recherche\n"
 "    par dichotomie. Son code de retour sera utilisé pour marquer les\n"
 "    révisions : 0 indique une révision sans problème, 125 qu'il ne\n"
@@ -5478,22 +7847,29 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr "Test du \"changeset\" %s:%s (%s \"changesets\" restant, ~%s tests)\n"
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr ""
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
+"    branch."
+msgstr ""
+
+msgid ""
 "    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
+
+msgid ""
 "    Use -C/--clean to reset the working directory branch to that of\n"
 "    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
+"    change."
+msgstr ""
+
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch. Use\n"
 "    'hg commit --close-branch' to mark this branch as closed.\n"
 "    "
@@ -5510,40 +7886,54 @@
 msgid "marked working directory as branch %s\n"
 msgstr ""
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr ""
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
+"    is considered active if it contains repository heads."
+msgstr ""
+
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch.\n"
 "    "
 msgstr ""
 
-msgid ""
-"create a changegroup file\n"
-"\n"
+msgid "create a changegroup file"
+msgstr ""
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+
+msgid ""
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
+
+msgid ""
 "    Applying bundles preserves all changeset contents including\n"
 "    permissions, copy/rename information, and revision history.\n"
 "    "
@@ -5555,62 +7945,85 @@
 msgid "unknown bundle type specified with --type"
 msgstr ""
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr ""
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions::\n"
-"\n"
+"    for the export command, with the following additions::"
+msgstr ""
+
+msgid ""
 "      %s   basename of file being printed\n"
 "      %d   dirname of file being printed, or '.' if in repository root\n"
 "      %p   root-relative path name of file being printed\n"
 "    "
 msgstr ""
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+msgid "make a copy of an existing repository"
+msgstr ""
+
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr ""
+
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+
+msgid ""
 "    If you use the -r/--rev option to clone up to a specific revision,\n"
 "    no subsequent revisions (including subsequent tags) will be\n"
 "    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
+"    on local repositories."
+msgstr ""
+
+msgid ""
 "    By default, clone will check out the head of the 'default' branch.\n"
 "    If the -U/--noupdate option is used, the new clone will contain\n"
 "    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    parent is the null revision)."
+msgstr ""
+
+msgid "    See 'hg help urls' for valid source format details."
+msgstr ""
+
+msgid ""
 "    It is possible to specify an ssh:// URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs."
+msgstr ""
+
+msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
 "    to the repository data, not to the checked out files). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
+"    avoid hardlinking."
+msgstr ""
+
+msgid ""
 "    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    using full hardlinks with ::"
+msgstr ""
+
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr ""
+
+msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
@@ -5620,24 +8033,28 @@
 "    "
 msgstr ""
 
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr ""
+
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr ""
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
+"    will be committed."
+msgstr ""
+
+msgid ""
 "    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
+"    filenames or -I/-X filters."
+msgstr ""
+
+msgid ""
 "    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    started to prompt you for a message."
 msgstr ""
 
 msgid "nothing changed\n"
@@ -5650,17 +8067,22 @@
 msgid "committed changeset %d:%s\n"
 msgstr ""
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr ""
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
@@ -5703,17 +8125,23 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr ""
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr ""
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr ""
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
@@ -5722,9 +8150,10 @@
 msgid "only one config item permitted"
 msgstr ""
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr ""
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
@@ -5790,14 +8219,10 @@
 msgid " patch test failed!\n"
 msgstr ""
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
-msgstr ""
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr ""
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
 msgstr ""
 
 msgid "Checking commit editor...\n"
@@ -5840,47 +8265,56 @@
 msgid "show how files match on given patterns"
 msgstr ""
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr ""
+
+msgid "    Show differences between revisions for the specified files."
+msgstr ""
+
+msgid "    Differences between files are shown using the unified diff format."
+msgstr ""
+
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
 msgstr ""
 
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr ""
+
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr ""
+
+msgid ""
 "    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment.\n"
-"\n"
+"    changeset hash, parent(s) and commit comment."
+msgstr ""
+
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows::\n"
-"\n"
+"    given using a format string. The formatting rules are as follows::"
+msgstr ""
+
+msgid ""
 "      %%   literal \"%\" character\n"
 "      %H   changeset hash (40 bytes of hexadecimal)\n"
 "      %N   number of patches being generated\n"
@@ -5888,15 +8322,21 @@
 "      %b   basename of the exporting repository\n"
 "      %h   short-form changeset hash (12 bytes of hexadecimal)\n"
 "      %n   zero-padded sequence number, starting at 1\n"
-"      %r   zero-padded changeset revision number\n"
-"\n"
+"      %r   zero-padded changeset revision number"
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, export will avoid generating diffs\n"
 "    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
+
+msgid ""
 "    With the --switch-parent option, the diff will be against the\n"
 "    second parent. It can be useful to review a merge.\n"
 "    "
@@ -5911,16 +8351,21 @@
 msgid "exporting patch:\n"
 msgstr ""
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
@@ -5932,16 +8377,20 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr ""
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr ""
+
+msgid "    Search revisions of files for a regular expression."
+msgstr ""
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -5954,28 +8403,38 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr ""
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
+msgid "show current repository heads or show branch heads"
+msgstr ""
+
+msgid "    With no arguments, show all repository head changesets."
+msgstr ""
+
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
-"    for update and merge operations.\n"
-"\n"
+"    for update and merge operations."
+msgstr ""
+
+msgid ""
 "    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with the specified changeset(s).\n"
-"\n"
+"    the named branch associated with the specified changeset(s)."
+msgstr ""
+
+msgid ""
 "    Branch heads are changesets on a named branch with no descendants on\n"
 "    the same branch. A branch head could be a \"true\" (repository) head,\n"
 "    or it could be the last changeset on that branch before it was\n"
 "    merged into another branch, or it could be the last changeset on the\n"
 "    branch before a new branch was created. If none of the branch heads\n"
-"    are true heads, the branch is considered inactive.\n"
-"\n"
+"    are true heads, the branch is considered inactive."
+msgstr ""
+
+msgid ""
 "    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
+"    (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If STARTREV is specified, only those heads that are descendants of\n"
 "    STARTREV will be displayed.\n"
 "    "
@@ -5996,11 +8455,13 @@
 msgid "no changes on branch %s are reachable from %s\n"
 msgstr ""
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr ""
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr ""
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
@@ -6012,26 +8473,18 @@
 msgstr "utiliser \"hg help\" pour la liste complète des commandes"
 
 msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
-msgstr ""
-"utiliser \"hg help\" pour la liste complète des commandes ou \"hg -v\" pour "
-"plus de détails"
-
-# la chaîne passée est préfixée par un espace
+msgstr "utiliser \"hg help\" pour la liste complète des commandes ou \"hg -v\" pour plus de détails"
+
 #, python-format
 msgid "use \"hg -v help%s\" to show aliases and global options"
-msgstr ""
-"utiliser \"hg -v help%s\" pour afficher les alias et les options globales"
+msgstr "utiliser \"hg -v help%s\" pour afficher les alias et les options globales"
 
 #, python-format
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "utiliser \"hg -v help %s\" pour afficher les options globales"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"liste des commandes :\n"
-"\n"
+msgid "list of commands:"
+msgstr "liste des commandes :"
 
 #, python-format
 msgid ""
@@ -6057,39 +8510,36 @@
 msgstr "pas d'aide disponible"
 
 #, fuzzy, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
+msgid "%s extension - %s"
 msgstr "extension %s - %s\n"
 
 msgid "Mercurial Distributed SCM\n"
 msgstr "Mercurial, système de gestion de sources distribué\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"commandes de base :\n"
-"\n"
-
-msgid ""
-"\n"
-"additional help topics:\n"
-"\n"
-msgstr ""
-"\n"
-"sujets d'aide supplémentaires :\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+msgid "basic commands:"
+msgstr "commandes de base :"
+
+msgid ""
+"\n"
+"additional help topics:"
+msgstr ""
+"\n"
+"sujets d'aide supplémentaires :"
+
+msgid "identify the working copy or specified revision"
+msgstr ""
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
@@ -6097,35 +8547,47 @@
 "    "
 msgstr ""
 
-msgid ""
-"import an ordered set of patches\n"
-"\n"
-"    Import a list of patches and commit them individually.\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr ""
+
+msgid "    Import a list of patches and commit them individually."
+msgstr ""
+
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
+"    message."
+msgstr ""
+
+msgid ""
 "    If the imported patch was generated by hg export, user and\n"
 "    description from patch override values from message headers and\n"
 "    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
+"    override these."
+msgstr ""
+
+msgid ""
 "    If --exact is specified, import will set the working directory to\n"
 "    the parent of each patch before applying it, and will abort if the\n"
 "    resulting changeset has a different ID than the one recorded in\n"
 "    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
+"    deficiencies in the text patch format."
+msgstr ""
+
+msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
+
+msgid ""
 "    To read a patch from standard input, use \"-\" as the patch name. If\n"
 "    a URL is specified, the patch will be downloaded from it.\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
@@ -6144,46 +8606,62 @@
 msgid "patch is damaged or loses information"
 msgstr ""
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr ""
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
+
+msgid ""
 "    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
+
+msgid ""
 "    See pull for valid source format details.\n"
 "    "
 msgstr ""
 
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+
+msgid "    If no directory is given, the current directory is used."
+msgstr ""
+
+msgid ""
 "    It is possible to specify an ssh:// URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr ""
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
@@ -6191,29 +8669,36 @@
 "    "
 msgstr ""
 
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
+msgid "show revision history of entire repository or files"
+msgstr ""
+
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
+"    project."
+msgstr ""
+
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
+
+msgid ""
 "    If no revision range is specified, the default is tip:0 unless\n"
 "    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    used as the starting revision."
+msgstr ""
+
+msgid ""
 "    By default this command prints revision number and changeset id,\n"
 "    tags, non-trivial parents, user, date and time, and a summary for\n"
 "    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
+"    changed files and full commit message are shown."
+msgstr ""
+
+msgid ""
 "    NOTE: 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"
@@ -6221,29 +8706,37 @@
 "    "
 msgstr ""
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr ""
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr ""
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
@@ -6266,25 +8759,27 @@
 msgid "%s - use \"hg update\" instead"
 msgstr ""
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
-msgstr ""
-
-msgid ""
-"show changesets not found in destination\n"
-"\n"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
+msgstr ""
+
+msgid "show changesets not found in destination"
+msgstr ""
+
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
+
+msgid ""
 "    See pull for valid destination format details.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr ""
+
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -6300,15 +8795,20 @@
 msgid "'%s' not found in manifest!"
 msgstr ""
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr ""
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
+
+msgid ""
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
@@ -6325,43 +8825,57 @@
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr ""
 
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+msgid "pull changes from the specified source"
+msgstr ""
+
+msgid "    Pull changes from a remote repository to a local one."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
+
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
+
+msgid ""
 "    If SOURCE is omitted, the 'default' path will be used.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
 
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the given destination.\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr ""
+
+msgid "    Push changes from the local repository to the given destination."
+msgstr ""
+
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
+"    current one."
+msgstr ""
+
+msgid ""
 "    By default, push will refuse to run if it detects the result would\n"
 "    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
+
+msgid ""
 "    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
+"    be pushed to the remote repository."
+msgstr ""
+
+msgid ""
 "    Please see 'hg help urls' for important details about ssh://\n"
 "    URLs. If DESTINATION is omitted, a default path will be used.\n"
 "    "
@@ -6371,40 +8885,50 @@
 msgid "pushing to %s\n"
 msgstr ""
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr ""
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr ""
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
 
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr ""
+
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
+
+msgid ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
+"      -Af    R  R  R  R"
+msgstr ""
+
+msgid ""
 "    This command schedules the files to be removed at the next commit.\n"
 "    To undo a remove before that, see hg revert.\n"
 "    "
@@ -6427,39 +8951,46 @@
 msgid "has been marked for add"
 msgstr ""
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr ""
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+
+msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
 
-msgid ""
-"retry file merges from a merge or update\n"
-"\n"
+msgid "retry file merges from a merge or update"
+msgstr ""
+
+msgid ""
 "    This command will cleanly retry unresolved file merges using file\n"
 "    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
+"    resolve all unresolved files, use the -a/--all switch."
+msgstr ""
+
+msgid ""
 "    If a conflict is resolved manually, please note that the changes\n"
 "    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
+"    -m/--mark switch should be used to mark the file as resolved."
+msgstr ""
+
+msgid ""
 "    This command also allows listing resolved files and manually\n"
 "    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    marked as resolved before a commit is permitted."
+msgstr ""
+
+msgid "    The codes used to show the status of files are::"
+msgstr ""
+
+msgid ""
 "      U = unresolved\n"
 "      R = resolved\n"
 "    "
@@ -6474,36 +9005,49 @@
 msgid "no files or directories specified; use --all to remerge all files"
 msgstr ""
 
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgid "restore individual files or directories to an earlier state"
+msgstr ""
+
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to.\n"
-"\n"
+"    revision to revert to."
+msgstr ""
+
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
+"    afterwards."
+msgstr ""
+
+msgid ""
 "    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
+"    of a file was changed, it is reset."
+msgstr ""
+
+msgid ""
 "    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
+
+msgid ""
 "    Modified files are saved with a .orig suffix before reverting.\n"
 "    To disable these backups, use --no-backup.\n"
 "    "
@@ -6539,26 +9083,33 @@
 msgid "no changes needed to %s\n"
 msgstr ""
 
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr ""
+
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back::\n"
-"\n"
+"    and their effects can be rolled back::"
+msgstr ""
+
+msgid ""
 "      commit\n"
 "      import\n"
 "      pull\n"
 "      push (with this repository as destination)\n"
-"      unbundle\n"
-"\n"
+"      unbundle"
+msgstr ""
+
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -6568,18 +9119,21 @@
 "    "
 msgstr ""
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr ""
+
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
 
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
+msgid "export the repository via HTTP"
+msgstr ""
+
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr ""
+
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
 "    files.\n"
@@ -6590,30 +9144,37 @@
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr ""
 
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr ""
+
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    shown."
+msgstr ""
+
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -6625,12 +9186,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr ""
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
@@ -6721,26 +9285,29 @@
 msgid "remote: (synced)\n"
 msgstr ""
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr ""
+
+msgid "    Name a particular revision using <name>."
+msgstr ""
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    shared among repositories)."
 msgstr ""
 
 msgid "tag names must be unique"
@@ -6769,21 +9336,25 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr ""
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr ""
+
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr ""
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
@@ -6791,45 +9362,52 @@
 "    "
 msgstr ""
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr ""
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
 
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr ""
+
+msgid ""
 "    Update the repository's working directory to the specified\n"
 "    revision, or the tip of the current branch if none is specified.\n"
 "    Use null as the revision to remove the working copy (like 'hg\n"
-"    clone -U').\n"
-"\n"
+"    clone -U')."
+msgstr ""
+
+msgid ""
 "    When the working directory contains no uncommitted changes, it\n"
 "    will be replaced by the state of the requested revision from the\n"
 "    repository. When the requested revision is on a different branch,\n"
 "    the working directory will additionally be switched to that\n"
-"    branch.\n"
-"\n"
+"    branch."
+msgstr ""
+
+msgid ""
 "    When there are uncommitted changes, use option -C/--clean to\n"
 "    discard them, forcibly replacing the state of the working\n"
 "    directory with the requested revision. Alternately, use -c/--check\n"
-"    to abort.\n"
-"\n"
+"    to abort."
+msgstr ""
+
+msgid ""
 "    When there are uncommitted changes and option -C/--clean is not\n"
 "    used, and the parent revision and requested revision are on the\n"
 "    same branch, and one of them is an ancestor of the other, then the\n"
 "    new working directory will contain the requested revision merged\n"
 "    with the uncommitted changes. Otherwise, the update will fail with\n"
-"    a suggestion to use 'merge' or 'update -C' instead.\n"
-"\n"
+"    a suggestion to use 'merge' or 'update -C' instead."
+msgstr ""
+
+msgid ""
 "    If you want to update just one file to an older revision, use\n"
-"    revert.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    revert."
 msgstr ""
 
 msgid "cannot specify both -c/--check and -C/--clean"
@@ -6838,11 +9416,13 @@
 msgid "uncommitted local changes"
 msgstr ""
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr ""
+
+msgid "    Verify the integrity of the current repository."
+msgstr ""
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
@@ -7233,9 +9813,7 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr ""
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
 msgstr ""
 
 msgid "base path"
@@ -7627,14 +10205,12 @@
 msgid "abort: error: %s\n"
 msgstr "abandon : erreur : %s\n"
 
-# traduction utilisée par la glibc...
 msgid "broken pipe\n"
 msgstr "relais brisé (pipe)\n"
 
 msgid "interrupted!\n"
 msgstr "interrompu !\n"
 
-# traduction utilisée par la glibc...
 msgid ""
 "\n"
 "broken pipe\n"
@@ -7649,9 +10225,7 @@
 msgstr "** exception inconnue rencontrée, détails ci-dessous\n"
 
 msgid "** report bug details to http://mercurial.selenic.com/bts/\n"
-msgstr ""
-"** veuillez signaler le problème en détails sur http://www.selenic.com/"
-"mercurial/bts\n"
+msgstr "** veuillez signaler le problème en détails sur http://www.selenic.com/mercurial/bts\n"
 
 msgid "** or mercurial@selenic.com\n"
 msgstr "** ou mercurial@selenic.com\n"
@@ -7690,12 +10264,8 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr "L'option --cwd ne peut être abrégée !"
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
-msgstr ""
-"L'option -R doit être séparée des autres options (autrement dit -qR est "
-"invalide) et --repository ne peut être abrégé qu'en --repo !"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
+msgstr "L'option -R doit être séparée des autres options (autrement dit -qR est invalide) et --repository ne peut être abrégé qu'en --repo !"
 
 #, python-format
 msgid "Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n"
@@ -7712,9 +10282,7 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr ""
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
 msgstr ""
 
 #, python-format
@@ -7836,9 +10404,7 @@
 msgid "destination '%s' is not empty"
 msgstr ""
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
 msgstr ""
 
 msgid "clone from remote to remote not supported"
@@ -7849,16 +10415,13 @@
 msgstr "comparaison avec %s\n"
 
 #, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
 msgstr ""
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr ""
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
 msgstr ""
 
 msgid "(branch merge, don't forget to commit)\n"
@@ -8126,9 +10689,7 @@
 msgid "requesting all changes\n"
 msgstr ""
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
 msgstr ""
 
 #, python-format
@@ -8247,9 +10808,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr ""
 
 #, python-format
--- a/i18n/it.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/it.po	Mon Jun 21 13:41:11 2010 -0500
@@ -25,27 +25,25 @@
 msgstr "COMANDI"
 
 #, fuzzy
-msgid ""
-"    options:\n"
-"\n"
+msgid "    options:"
 msgstr "    opzioni:\n"
 
 #, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    alias: %s\n"
-"\n"
-
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "    aliases: %s"
+msgstr "    alias: %s"
+
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr ""
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples::\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+
+msgid "Many date formats are valid. Here are some examples::"
+msgstr ""
+
+msgid ""
 "  \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
 "  \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
 "  \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
@@ -58,19 +56,26 @@
 "  \"2006-12-6\"\n"
 "  \"12-6\"\n"
 "  \"12/6\"\n"
-"  \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format::\n"
-"\n"
-"  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
+"  \"12/6/6\" (Dec 6 2006)"
+msgstr ""
+
+msgid "Lastly, there is Mercurial's internal format::"
+msgstr ""
+
+msgid "  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr ""
+
+msgid ""
 "This is the internal representation format for dates. unixtime is the\n"
 "number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
 "the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges::\n"
-"\n"
+"the timezone is east of UTC)."
+msgstr ""
+
+msgid "The log command also accepts date ranges::"
+msgstr ""
+
+msgid ""
 "  \"<{datetime}\" - at or before a given date/time\n"
 "  \">{datetime}\" - on or after a given date/time\n"
 "  \"{datetime} to {datetime}\" - a date range, inclusive\n"
@@ -80,29 +85,39 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr ""
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
+"format for communicating changes."
+msgstr ""
+
+msgid ""
 "To make Mercurial produce the git extended diff format, use the --git\n"
 "option available for many commands, or set 'git = True' in the [diff]\n"
 "section of your hgrc. You do not need to set this option when\n"
@@ -115,74 +130,98 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use .hgrc)"
+msgstr ""
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
+
+msgid ""
 "HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    ancestor file."
+msgstr ""
+
+msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
+"    from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
 "    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
 "HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
+"    available values will be considered in this order:"
+msgstr ""
+
+msgid ""
 "    - HGUSER (deprecated)\n"
 "    - hgrc files from the HGRCPATH\n"
 "    - EMAIL\n"
 "    - interactive prompt\n"
-"    - LOGNAME (with '@hostname' appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    - LOGNAME (with '@hostname' appended)"
+msgstr ""
+
+msgid ""
 "EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
 "EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
 "    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
 "    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
+"    defaults to 'vi'."
+msgstr ""
+
+msgid ""
 "PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
@@ -192,31 +231,44 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
+"needed."
+msgstr ""
+
+msgid ""
 "To enable the \"foo\" extension, either shipped with Mercurial or in\n"
 "the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
+"  foo ="
+msgstr ""
+
+msgid "You may also specify the full path to an extension::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
+
+msgid ""
 "To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
+"scope, prepend its path with !::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  # disabling extension bar residing in /path/to/extension/bar.py\n"
 "  bar = !/path/to/extension/bar.py\n"
@@ -227,89 +279,126 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
+
+msgid ""
 "A range acts as a closed interval. This means that a range of 3:5\n"
 "gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
 msgstr ""
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr ""
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr ""
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+
+msgid "Plain examples::"
+msgstr ""
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+
+msgid "Glob examples::"
+msgstr ""
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"                 including itself."
+msgstr ""
+
+msgid "Regexp examples::"
+msgstr ""
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr ""
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr ""
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr ""
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
@@ -320,27 +409,40 @@
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+
+msgid ""
 "Three styles are packaged with Mercurial: default (the style used\n"
 "when no explicit preference is passed), compact and changelog.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"Usage::"
+msgstr ""
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
+"expansion::"
+msgstr ""
+
+msgid ""
 "    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+
+msgid ""
 ":author:    String. The unmodified author of the changeset.\n"
 ":branches:  String. The name of the branch on which the changeset\n"
 "            was committed. Will be empty if the branch name was\n"
@@ -364,19 +466,26 @@
 "            changeset.\n"
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
 "            changeset.\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. You can also use a chain of filters to get the desired\n"
-"output::\n"
-"\n"
+"output::"
+msgstr ""
+
+msgid ""
 "   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
+
+msgid "List of filters:"
+msgstr ""
+
+msgid ""
 ":addbreaks:   Any text. Add an XHTML \"<br />\" tag before the end of\n"
 "              every line except the last.\n"
 ":age:         Date. Returns a human-readable date/time difference\n"
@@ -432,113 +541,160 @@
 "              address.\n"
 msgstr ""
 
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+msgid "Valid URLs are of the form::"
+msgstr ""
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
+
+msgid ""
 "Paths in the local filesystem can either point to Mercurial\n"
 "repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
+"incoming --bundle')."
+msgstr ""
+
+msgid ""
 "An optional identifier after # indicates a particular branch, tag, or\n"
 "changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
+"revisions'."
+msgstr ""
+
+msgid ""
 "Some features, such as pushing to http:// and https:// URLs are only\n"
 "possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
+"server."
+msgstr ""
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr ""
+
+msgid ""
 "- SSH requires an accessible shell account on the destination machine\n"
 "  and a copy of hg in the remote path or specified with as remotecmd.\n"
 "- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
+
+msgid "    ssh://example.com//tmp/repository"
+msgstr ""
+
+msgid ""
 "- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
+
+msgid ""
 "    Host *.mylocalnetwork.example.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+msgstr ""
+
+msgid ""
 "  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
+"  with the --ssh command line option."
+msgstr ""
+
+msgid ""
 "These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
+"[paths] section like so::"
+msgstr ""
+
+msgid ""
 "  [paths]\n"
 "  alias1 = URL1\n"
 "  alias2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+msgstr ""
+
+msgid ""
 "You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' would pull from the 'alias1' path).\n"
-"\n"
+"example 'hg pull alias1' would pull from the 'alias1' path)."
+msgstr ""
+
+msgid ""
 "Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
+"you do not provide the URL to a command:"
+msgstr ""
+
+msgid ""
 "default:\n"
 "  When you create a repository with hg clone, the clone command saves\n"
 "  the location of the source repository as the new repository's\n"
 "  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
+
+msgid ""
 "default-push:\n"
 "  The push command will look for a path named 'default-push', and\n"
 "  prefer it over 'default' if both are defined.\n"
 msgstr ""
 
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "hooks for controlling repository access"
+msgstr ""
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
@@ -548,68 +704,71 @@
 
 #, python-format
 msgid "config error - hook type \"%s\" cannot stop incoming changesets"
-msgstr ""
-"errore di configurazione - l'hook di tipo \"%s\" non pu fermare i changeset "
-"in entrata"
+msgstr "errore di configurazione - l'hook di tipo \"%s\" non pu fermare i changeset in entrata"
 
 #, python-format
 msgid "acl: access denied for changeset %s"
 msgstr "acl: accesso negato per il changeset %s"
 
 #, fuzzy
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr "mercurial bookmarks"
+
+#, fuzzy
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+"I segnalibri di Mercurial sono puntatori locali e mobili a changeset. Ogni\n"
+"segnalibro punta ad un changeset identificato dal proprio hash. Se fai il commit di un\n"
+"changeset basato su un changeset che ha un segnalibro, \n"
+"il segnalibro  spostato sul nuovo changeset"
+
+#, fuzzy
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+"E' possibile usare nomi di segnalibri in ogni ricerca di revisioni (es. hg\n"
+"merge, hg update)."
+
+#, fuzzy
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+"L'estensione bookmark offre la possibilit di avere un'esperienza pi simile a git\n"
+"aggiungendo la seguente opzione di configurazione al tuo .hgrc:"
+
+#, fuzzy
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+"[bookmarks]\n"
+"track.current = True"
+
+#, fuzzy
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
-"mercurial bookmarks\n"
-"\n"
-"I segnalibri di Mercurial sono puntatori locali e mobili a changeset. Ogni\n"
-"segnalibro punta ad un changeset identificato dal proprio hash. Se fai il "
-"commit di un\n"
-"changeset basato su un changeset che ha un segnalibro, \n"
-"il segnalibro  spostato sul nuovo changeset\n"
-"\n"
-"E' possibile usare nomi di segnalibri in ogni ricerca di revisioni (es. hg\n"
-"merge, hg update).\n"
-"\n"
-"L'estensione bookmark offre la possibilit di avere un'esperienza pi simile a "
-"git\n"
-"aggiungendo la seguente opzione di configurazione al tuo .hgrc:\n"
-"\n"
-"[bookmarks]\n"
-"track.current = True\n"
-"\n"
-"Questo porter i segnalibri a tener traccia del segnalibro su cui sei "
-"attualmente,e\n"
+"Questo porter i segnalibri a tener traccia del segnalibro su cui sei attualmente,e\n"
 "ad aggiornarlo. Questo  simile all'approccio di branching di git.\n"
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
@@ -650,117 +809,171 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr "hg bookmarks [-f] [-d] [-m NOME] [-r REV] [NOME]"
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+
+msgid ""
 "The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
-"\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+
+msgid ""
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
-"\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+
+msgid ""
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
-"\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "password\n"
-"  Password to use to access MySQL server.\n"
-"\n"
+"  Password to use to access MySQL server."
+msgstr ""
+
+msgid ""
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
-"\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+
+msgid ""
 "version\n"
 "  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
 "  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
-"\n"
+"  to 2.18."
+msgstr ""
+
+msgid ""
 "bzuser\n"
 "  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
-"\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+
+msgid ""
 "bzdir\n"
 "   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
-"\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+
+msgid ""
 "notify\n"
 "  The command to run to get Bugzilla to send bug change notification\n"
 "  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
 "  and 'user' (committer bugzilla email). Default depends on version;\n"
 "  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
-"\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+
+msgid ""
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
 "  Must contain one \"()\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
-"\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+
+msgid ""
 "style\n"
-"  The style file to use when formatting comments.\n"
-"\n"
+"  The style file to use when formatting comments."
+msgstr ""
+
+msgid ""
 "template\n"
 "  Template to use when formatting comments. Overrides style if\n"
 "  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
+"  extension specifies::"
+msgstr ""
+
+msgid ""
 "    {bug}       The Bugzilla bug ID.\n"
 "    {root}      The full pathname of the Mercurial repository.\n"
 "    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+
+msgid ""
 "  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+
+msgid ""
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
-"\n"
+"  {webroot}. Default 0."
+msgstr ""
+
+msgid ""
 "usermap\n"
 "  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
 "  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+
+msgid ""
 "The [usermap] section is used to specify mappings of Mercurial\n"
 "committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
-"\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+
+msgid ""
 "baseurl\n"
 "  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
-"\n"
+"  templates as {hgweb}."
+msgstr ""
+
+msgid "Activating the extension::"
+msgstr ""
+
+msgid ""
 "    [extensions]\n"
-"    bugzilla =\n"
-"\n"
+"    bugzilla ="
+msgstr ""
+
+msgid ""
 "    [hooks]\n"
 "    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+
+msgid "Example configuration:"
+msgstr ""
+
+msgid ""
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
-"\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+
+msgid ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -770,20 +983,28 @@
 "    template=Changeset {node|short} in {root|basename}.\n"
 "             {hgweb}/{webroot}/rev/{node|short}\\n\n"
 "             {desc}\\n\n"
-"    strip=5\n"
-"\n"
+"    strip=5"
+msgstr ""
+
+msgid ""
 "    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+
+msgid ""
 "    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+
+msgid ""
 "    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+
+msgid "    Changeset commit comment. Bug 1234.\n"
 msgstr ""
 
 #, python-format
@@ -865,9 +1086,11 @@
 msgstr "usa il comando per controllare lo stato del changeset"
 
 #, fuzzy
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr "mostra i genitori della directory di lavoro o di una revisione"
+
+#, fuzzy
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -875,8 +1098,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"mostra i genitori della directory di lavoro o di una revisione\n"
-"\n"
 "    Stampa le revisioni genitori della directory di lavoro. Se una\n"
 "    revisione è data tramite --rev, verrà stampato il genitore di\n"
 "    quella revisione. Se viene fornito un file come argomento,\n"
@@ -904,38 +1125,55 @@
 msgid "generating stats: %d%%"
 msgstr "sto generando le statistiche: %d%%"
 
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "histogram of changes to the repository"
+msgstr ""
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
+"    date instead."
+msgstr ""
+
+msgid ""
 "    Statistics are based on the number of changed lines, or\n"
 "    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    --changesets option is specified."
+msgstr ""
+
+msgid "    Examples::"
+msgstr ""
+
+msgid ""
 "      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
+
+msgid ""
 "      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
+
+msgid ""
 "      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
+
+msgid ""
 "      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
+
+msgid ""
 "    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
+"    by providing a file using the following format::"
+msgstr ""
+
+msgid "      <alias email> <actual email>"
+msgstr ""
+
+msgid ""
 "    Such a file may be specified with the --aliases option, otherwise\n"
 "    a .hgchurn file will be looked for in the working directory root.\n"
 "    "
@@ -969,38 +1207,50 @@
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 msgstr "hg churn [-d DATA] [-r REV] [--aliases FILE] [--progress] [FILE]"
 
-msgid ""
-"colorize output from some commands\n"
-"\n"
+msgid "colorize output from some commands"
+msgstr ""
+
+msgid ""
 "This extension modifies the status command to add color to its output\n"
 "to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -1027,11 +1277,13 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr "converte repository di altri VCS in Mercurial"
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -1040,72 +1292,103 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
+"    - Perforce [p4]"
+msgstr ""
+
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+
+msgid "      <source ID> <destination ID>"
+msgstr ""
+
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+
+msgid "      include path/to/file"
+msgstr ""
+
+msgid "      exclude path/to/file"
+msgstr ""
+
+msgid "      rename from/file to/file"
+msgstr ""
+
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -1115,8 +1398,10 @@
 "    revision control system whose parents should be modified (same\n"
 "    format as a key in .hg/shamap). The values are the revision IDs\n"
 "    (in either the source or destination revision control system) that\n"
-"    should be used as the new parents for that node.\n"
-"\n"
+"    should be used as the new parents for that node."
+msgstr ""
+
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -1126,11 +1411,15 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -1139,11 +1428,15 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -1152,10 +1445,13 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+
+msgid "    The options shown are the defaults."
+msgstr ""
+
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -1173,16 +1469,22 @@
 "        Specify a regular expression to which commit log messages are\n"
 "        matched. If a match occurs, then the conversion process will\n"
 "        add the most recent revision on the branch indicated in the\n"
-"        regex as the second parent of the changeset.\n"
-"\n"
+"        regex as the second parent of the changeset."
+msgstr ""
+
+msgid ""
 "    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
 "    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
+"    the command help for more details."
+msgstr ""
+
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -1192,58 +1494,80 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+
+msgid "    "
+msgstr ""
+
+msgid "create changeset information from CVS"
+msgstr ""
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
@@ -1318,9 +1642,7 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr "hg debugcvsps [OPZIONI]... [PERCORSO]..."
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
 msgstr ""
 
 msgid "bzr source type could not be determined\n"
@@ -1433,8 +1755,7 @@
 msgstr "autenticazione al pserver CVS fallita"
 
 #, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
 msgstr ""
 
 #, python-format
@@ -1540,8 +1861,7 @@
 msgstr "sto analizzando la versione dell'albero %s...\n"
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr ""
 "analisi dell'albero interrotta in quanto punta ad un archivio non\n"
 "      registrato %s...\n"
@@ -1599,13 +1919,10 @@
 
 #, python-format
 msgid "Subversion python bindings %d.%d found, 1.4 or later required"
-msgstr ""
-"Trovati binding python per Subversion %d.%d, richiesti 1.4 o successivi"
+msgstr "Trovati binding python per Subversion %d.%d, richiesti 1.4 o successivi"
 
 msgid "Subversion python bindings are too old, 1.4 or later required"
-msgstr ""
-"I binding python per Subversion sono troppo vecchi, richiesti 1.4 o "
-"successivi"
+msgstr "I binding python per Subversion sono troppo vecchi, richiesti 1.4 o successivi"
 
 #, python-format
 msgid "svn: revision %s is not an integer"
@@ -1680,37 +1997,50 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr "XXX TAG NON ANCORA IMPLEMENTATE\n"
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr ""
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
+
+msgid ""
 "  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+msgstr ""
+
+msgid ""
 "  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+msgstr ""
+
+msgid ""
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+
+msgid ""
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
 "diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
@@ -1731,18 +2061,23 @@
 msgid "cleaning up temp directory\n"
 msgstr "sto ripulendo la directory temporanea\n"
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr ""
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
@@ -1763,17 +2098,20 @@
 msgstr "hg extdiff [OPT]... [FILE]..."
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr ""
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using the\n"
-"    %(path)s program.\n"
-"\n"
+"    %(path)s program."
+msgstr ""
+
+#, python-format
+msgid ""
 "    When two revision arguments are given, then changes are shown between\n"
-"    those revisions. If only one revision is specified then that revision "
-"is\n"
-"    compared to the working directory, and, when no revisions are "
-"specified,\n"
+"    those revisions. If only one revision is specified then that revision is\n"
+"    compared to the working directory, and, when no revisions are specified,\n"
 "    the working directory files are compared to its parent."
 msgstr ""
 
@@ -1786,48 +2124,49 @@
 msgstr "pull, update e merge in un comando"
 
 #, fuzzy
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr "effettua il pull delle modifiche da un repository remoto, effettua il merge delle nuove modifiche se necessario."
+
+#, fuzzy
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+"    Questo trova tutte le modifiche dal repository al percorso o URL specificato\n"
+"    e le aggiunge al repository locale."
+
+#, fuzzy
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+"    Se le modifiche ottenute aggiungono una nuova head, il merge di questa viene effettuato\n"
+"    automaticamente e si effettua il commit del merge.  Altrimenti, la\n"
+"    directory di lavoro viene aggiornata per includere le nuove modifiche."
+
+#, fuzzy
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"effettua il pull delle modifiche da un repository remoto, effettua il merge "
-"delle nuove modifiche se necessario.\n"
-"\n"
-"    Questo trova tutte le modifiche dal repository al percorso o URL "
-"specificato\n"
-"    e le aggiunge al repository locale.\n"
-"\n"
-"    Se le modifiche ottenute aggiungono una nuova head, il merge di questa "
-"viene effettuato\n"
-"    automaticamente e si effettua il commit del merge.  Altrimenti, la\n"
-"    directory di lavoro viene aggiornata per includere le nuove modifiche.\n"
-"\n"
-"    Quando si verifica un merge, si assume che le modifiche appena ottenute "
-"siano\n"
+"    order, use --switch-parent."
+msgstr ""
+"    Quando si verifica un merge, si assume che le modifiche appena ottenute siano\n"
 "    \"autoritarie\".  La head delle nuove modifiche è usata come primo\n"
 "    genitore, con le modifiche locali come secondo.  Per invertire l'ordine\n"
-"    di merge, usare --switch-parent.\n"
-"\n"
+"    di merge, usare --switch-parent."
+
+#, fuzzy
+msgid ""
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
 "    Vedere 'hg help dates' per un elenco dei formati validi per -d/--date.\n"
 "    "
 
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
 msgstr ""
 "directory di lavoro non al tip della branch (usa \"hg update\" per\n"
 "      fare il check out della tip della branch)"
@@ -1841,8 +2180,7 @@
 msgid "working directory is missing some files"
 msgstr "alla directory di lavoro mancano alcuni file"
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
 msgstr ""
 "head multiple in questa branch (usa \"hg heads .\" e \"hg merge\"\n"
 "      per fare il merge"
@@ -1851,17 +2189,11 @@
 msgid "pulling from %s\n"
 msgstr "sto facendo pull da %s\n"
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-"L'altro repository non supporta la ricerca di revisioni, quindi una "
-"revisione non può essere specificata."
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr "L'altro repository non supporta la ricerca di revisioni, quindi una revisione non può essere specificata."
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
 msgstr ""
 
 #, python-format
@@ -1874,9 +2206,7 @@
 
 #, python-format
 msgid "new changeset %d:%s merges remote changes with local\n"
-msgstr ""
-"il nuovo changeset %d:%s fa il merge delle modifiche remote con quelle "
-"locali\n"
+msgstr "il nuovo changeset %d:%s fa il merge delle modifiche remote con quelle locali\n"
 
 msgid "a specific revision you would like to pull"
 msgstr "una specifica revisione di cui si desidera fare il pull"
@@ -1920,46 +2250,31 @@
 msgstr "il nodo %s:%d non esiste\n"
 
 msgid "verify all the signatures there may be for a particular revision"
-msgstr ""
-"verifica tutte le firme che potrebbero esistere per una particolare revisione"
+msgstr "verifica tutte le firme che potrebbero esistere per una particolare revisione"
 
 #, python-format
 msgid "No valid signature for %s\n"
 msgstr "Nessuna firma valida per %s\n"
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr "aggiunge una firma per la revisione corrente o data"
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"aggiunge una firma per la revisione corrente o data\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
 "    Se nessuna revisione è stata specificata, viene usato il genitore\n"
 "    della directory di lavoro, oppure tip se non si è eseguito il\n"
-"    checkout di nessuna revisione.\n"
-"\n"
-"    Vedere 'hg help dates' per un elenco dei formati validi per\n"
-"    -d/--date.\n"
-"    "
+"    checkout di nessuna revisione."
 
 msgid "uncommitted merge - please provide a specific revision"
-msgstr ""
-"merge di cui non si è effettuato il commit - si prega di fornire una "
-"revisione specifica"
+msgstr "merge di cui non si è effettuato il commit - si prega di fornire una revisione specifica"
 
 msgid "Error while signing"
 msgstr "Errore durante la firma"
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
-msgstr ""
-"la copia di lavoro di .hgsigs è cambiata (si prega di fare il commit "
-"manualmente di .hgsigs o usare --force)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
+msgstr "la copia di lavoro di .hgsigs è cambiata (si prega di fare il commit manualmente di .hgsigs o usare --force)"
 
 msgid "unknown signature version"
 msgstr "versione della firma sconosciuta"
@@ -1988,9 +2303,10 @@
 msgid "hg sigs"
 msgstr "hg sigs"
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr ""
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
@@ -2000,12 +2316,15 @@
 msgid "--graph option is incompatible with --%s"
 msgstr "l'opzione --graph è incompatibile con --%s"
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr ""
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr ""
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
@@ -2033,12 +2352,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr "hg glog [OPZIONI]... [FILE]"
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -2058,13 +2380,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -2077,32 +2403,45 @@
 msgid "email.from must be defined when sending by email"
 msgstr "email.from deve essere definito quando si mandano mail"
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -2190,18 +2529,23 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr "hg debugcvsps [OPZIONI]... [PERCORSO]..."
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+
+msgid "There is a single configuration option::"
+msgstr ""
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
+"  pygments_style = <style>"
+msgstr ""
+
+msgid "The default is 'colorful'.\n"
 msgstr ""
 
 msgid "accelerate status report using Linux's inotify service"
@@ -2210,9 +2554,10 @@
 msgid "start an inotify server for this repository"
 msgstr "avvia un server inotify per questo repository"
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr ""
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
@@ -2290,9 +2635,7 @@
 
 #, python-format
 msgid "cannot watch %s until inotify watch limit is raised"
-msgstr ""
-"impossibile controllare %s finchè il limite di controlli di inotify non "
-"verrà aumentato"
+msgstr "impossibile controllare %s finchè il limite di controlli di inotify non verrà aumentato"
 
 #, python-format
 msgid "inotify service not available: %s"
@@ -2372,20 +2715,24 @@
 msgid "finished setup\n"
 msgstr ""
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr ""
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
@@ -2397,52 +2744,76 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr ""
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr ""
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+
+msgid "Example::"
+msgstr ""
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
@@ -2462,17 +2833,23 @@
 msgid "no [keyword] patterns configured"
 msgstr ""
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr ""
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
@@ -2520,31 +2897,42 @@
 "\tkeywords expanded\n"
 msgstr ""
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr ""
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr ""
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr ""
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
@@ -2552,12 +2940,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr ""
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
@@ -2597,25 +2988,35 @@
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr "hg kwshrink [OPZIONI]... [FILE]..."
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr ""
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr ""
+
+msgid ""
 "  prepare repository to work with patches   qinit\n"
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
 "  refresh contents of top applied patch     qrefresh\n"
@@ -2820,8 +3221,7 @@
 
 #, python-format
 msgid "errors during apply, please fix and refresh %s\n"
-msgstr ""
-"errori durante l'applicazione, si prega di correggere e aggiornare %s\n"
+msgstr "errori durante l'applicazione, si prega di correggere e aggiornare %s\n"
 
 #, python-format
 msgid "now at: %s\n"
@@ -2861,9 +3261,7 @@
 msgid "cannot refresh a revision with children"
 msgstr ""
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
 msgstr ""
 
 msgid "patch queue directory already exists"
@@ -2957,13 +3355,15 @@
 msgid "adding %s to series file\n"
 msgstr "sto aggiungendo %s al file series\n"
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr ""
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
@@ -2980,29 +3380,40 @@
 msgid "all patches applied\n"
 msgstr "tutte le patch sono state applicate\n"
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr ""
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr ""
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    To import a patch from standard input, pass - as the patch file.\n"
 "    When importing from standard input, a patch name must be specified\n"
 "    using the --name flag.\n"
@@ -3010,17 +3421,17 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"init a new queue repository\n"
-"\n"
+msgid "init a new queue repository"
+msgstr "inizializza un nuovo repository della coda"
+
+#, fuzzy
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
 "    an unversioned patch repository into a versioned one). You can use\n"
 "    qcommit to commit changes to this queue repository."
 msgstr ""
-"inizializza un nuovo repository della coda\n"
-"\n"
 "    Il repository della coda di default non è sotto controllo di\n"
 "    versione. Se viene specificato -c, qinit creerà un separato\n"
 "    repository annidato per le patch (qinit -c potrebbe anche essere\n"
@@ -3029,27 +3440,30 @@
 "    Si può usare qcommit per effettuare il commit delle modifiche in\n"
 "    questo repository della coda."
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr ""
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
+
+msgid ""
 "    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
+"    default. Use -p <url> to change."
+msgstr ""
+
+msgid ""
 "    The patch directory must be a nested Mercurial repository, as\n"
 "    would be created by qinit -c.\n"
 "    "
 msgstr ""
 
 msgid "versioned patch repository not found (see qinit -c)"
-msgstr ""
-"repository delle patch sotto controllo di versione non trovato (vedere qinit "
-"-c)"
+msgstr "repository delle patch sotto controllo di versione non trovato (vedere qinit -c)"
 
 #, fuzzy
 msgid "cloning main repository\n"
@@ -3083,33 +3497,19 @@
 msgstr "stampa il nome della patch precedente"
 
 #, fuzzy
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr "crea una nuova patch"
+
+#, fuzzy
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). It will refuse to run if there are any outstanding changes\n"
 "    unless -f/--force is specified, in which case the patch will be\n"
 "    initialized with them. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
-"    -u/--user and -d/--date can be used to set the (given) user and\n"
-"    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
-"    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
-"    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
-"    Use the -g/--git option to keep the patch in the git extended diff\n"
-"    format. Read the diffs help topic for more information on why this\n"
-"    is important for preserving permission changes and copy/rename\n"
-"    information.\n"
-"    "
-msgstr ""
-"crea una nuova patch\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
 "    qnew crea una nuova patch sopra alla patch correntemente applicata\n"
 "    (seesiste).\n"
 "    Si rifiuter di farlo se ci sono modifiche pendenti a meno che -f\n"
@@ -3117,33 +3517,58 @@
 "    inizializzata con tali modifiche. Si potrebbe anche usare -I, -X,\n"
 "    e/o una lista di file dopo il nome della patch per aggiungere alla\n"
 "    patch solamente le modifiche a tali file, lasciando il resto come\n"
-"    cambiamenti non salvati.\n"
-"\n"
+"    cambiamenti non salvati."
+
+#, fuzzy
+msgid ""
+"    -u/--user and -d/--date can be used to set the (given) user and\n"
+"    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
+"    to current user and date to current date."
+msgstr ""
 "    -u e -d possono essere usati per impostare rispettivamente un dato\n"
 "    utente e data.\n"
 "    -U e -D impostano l'utente all'utente corrente e la data alla data\n"
-"    corrente.\n"
-"\n"
+"    corrente."
+
+#, fuzzy
+msgid ""
+"    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
+"    well as the commit message. If none is specified, the header is\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
 "    -e, -m o -l impostano l'intestazione della patch cos come il\n"
 "    messaggio di commit. Se nulla stato specificato, l'intestazione\n"
-"    sar vuota e il messaggio di commit '[mq]: PATCH'.\n"
-"\n"
+"    sar vuota e il messaggio di commit '[mq]: PATCH'."
+
+#, fuzzy
+msgid ""
+"    Use the -g/--git option to keep the patch in the git extended diff\n"
+"    format. Read the diffs help topic for more information on why this\n"
+"    is important for preserving permission changes and copy/rename\n"
+"    information.\n"
+"    "
+msgstr ""
 "    Usa l'opzione --git per mantenere la patch nel formato diff esteso\n"
 "    git. Leggere le informazioni di aiuto sui diff per maggiori\n"
 "    informazioni sul motivo per cui quest'opzione importante per\n"
 "    preservare modifiche di permessi e informazioni su copie/rinomine.\n"
 "    "
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr ""
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
@@ -3154,14 +3579,17 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr "l'opzione \"-e\" è incompatibile con \"-m\" o \"-l\""
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr ""
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
@@ -3169,16 +3597,19 @@
 "    "
 msgstr ""
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr ""
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
+"    removed afterwards."
+msgstr ""
+
+msgid ""
 "    The header for each folded patch will be concatenated with the\n"
 "    current patch header, separated by a line of '* * *'."
 msgstr ""
@@ -3204,19 +3635,24 @@
 msgid "push or pop patches until named patch is at top of stack"
 msgstr ""
 
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgid "set or print guards for a patch"
+msgstr ""
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
+"    has activated it."
+msgstr ""
+
+msgid ""
 "    With no arguments, print the currently active guards.\n"
 "    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
+
+msgid ""
 "    To set guards on another patch:\n"
 "      hg qguard -- other.patch +2.6.17 -stable\n"
 "    "
@@ -3235,9 +3671,10 @@
 msgid "print the header of the topmost or specified patch"
 msgstr ""
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr ""
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
@@ -3250,9 +3687,10 @@
 msgid "merging with queue at: %s\n"
 msgstr ""
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr ""
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
@@ -3263,14 +3701,13 @@
 msgid "using patch queue: %s\n"
 msgstr ""
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr "rinomina una patch"
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
-"rinomina una patch\n"
-"\n"
 "    Con un argomento rinomina la patch corrente in PATCH1.\n"
 "    Con due argomenti rinomina PATCH1 in PATCH2."
 
@@ -3302,51 +3739,64 @@
 msgstr "copia %s a %s\n"
 
 #, fuzzy
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr "elimina una revisione e tutti i suoi discendenti dal repository"
+
+#, fuzzy
+msgid ""
 "    If one of the working directory's parent revisions is stripped, the\n"
 "    working directory will be updated to the parent of the stripped\n"
 "    revision.\n"
 "    "
 msgstr ""
-"elimina una revisione e tutti i suoi discendenti dal repository\n"
-"\n"
 "    Se una delle revisioni genitore della directory di lavoro\n"
 "    viene rimossa, la directory di lavorò sarà aggiornata al\n"
 "    genitore della revisione rimossa.\n"
 "    "
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr ""
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example:\n"
-"\n"
+"    match the current guard. For example:"
+msgstr ""
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
+"    guarded patches."
+msgstr ""
+
+msgid ""
 "    Use -s/--series to print a list of all guards in the series file\n"
 "    (no other arguments needed). Use -v for more information."
 msgstr ""
@@ -3356,8 +3806,7 @@
 
 #, python-format
 msgid "number of unguarded, unapplied patches has changed from %d to %d\n"
-msgstr ""
-"il numero di patch non applicate, senza guardia è cambiato da %d a %d\n"
+msgstr "il numero di patch non applicate, senza guardia è cambiato da %d a %d\n"
 
 #, python-format
 msgid "number of guarded, applied patches has changed from %d to %d\n"
@@ -3381,18 +3830,23 @@
 msgid "reapplying unguarded patches\n"
 msgstr "sto riapplicando patch che non hanno guardia\n"
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr ""
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
@@ -3673,33 +4127,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr "hg qfinish [-a] [REV...]"
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -3710,31 +4178,40 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -3750,140 +4227,187 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
 msgstr ""
 "\n"
-"diff (troncati da %d linee a %d):\n"
-"\n"
+"diff (troncati da %d linee a %d):"
 
 #, python-format
 msgid ""
 "\n"
-"diffs (%d lines):\n"
-"\n"
+"diffs (%d lines):"
 msgstr ""
 "\n"
-"diff (%d linee):\n"
-"\n"
+"diff (%d linee):"
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr ""
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend::\n"
-"\n"
+"pager.attend::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = log\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"  attend = log"
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr ""
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr ""
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+msgid "command to send changesets as (a series of) patch emails"
+msgstr ""
+
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
+
+msgid ""
 "The -m/--mbox option is also very useful. Instead of previewing each\n"
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"files, e.g. with mutt::"
+msgstr ""
+
+msgid "  % mutt -R -f mbox"
+msgstr ""
+
+msgid ""
 "When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
+"package), to send each message out::"
+msgstr ""
+
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr ""
+
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr ""
+
+msgid ""
 "You can also either configure the method option in the email section\n"
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
@@ -3904,53 +4428,66 @@
 msgid "diffstat rejected"
 msgstr "diffstat rifiutato"
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr ""
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
+
+msgid ""
 "    By default the patch is included as text in the email body for\n"
 "    easy reviewing. Using the -a/--attach option will instead create\n"
 "    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
+"    will be created."
+msgstr ""
+
+msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
 "    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
+
+msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    will be sent."
+msgstr ""
+
+msgid ""
 "      hg email -r 3000          # send patch 3000 only\n"
 "      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
 "      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
+
+msgid ""
 "      hg email -o               # send all patches not in default\n"
 "      hg email -o DEST          # send all patches not in DEST\n"
 "      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
 "    "
@@ -3970,20 +4507,14 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
+"Write the introductory message for the patch series."
 msgstr ""
 "\n"
-"Scrivi il messaggio introduttivo per la serie di patch.\n"
-"\n"
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
-msgstr ""
-"Questa serie di patch consiste di %d patch.\n"
-"\n"
+"Scrivi il messaggio introduttivo per la serie di patch."
+
+#, python-format
+msgid "This patch series consists of %d patches."
+msgstr "Questa serie di patch consiste di %d patch."
 
 msgid "Final summary:\n"
 msgstr "Sommario finale:\n"
@@ -4073,27 +4604,38 @@
 msgid "command to delete untracked files from the working directory"
 msgstr "non effettuare il commit, aggiorna solo la directory di lavoro"
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+
+msgid "    This means that purge will delete:"
+msgstr ""
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+
+msgid "    But it will leave untouched:"
+msgstr ""
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -4135,41 +4677,45 @@
 msgstr "hg purge [OPZIONI]... [DIR]..."
 
 #, fuzzy
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr "sposta insiemi di revisioni su un antenato differente"
+
+#, fuzzy
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+"Questa estensione consente di effettuare il rebase di changeset in un\n"
+"repository Mercurial esistente."
+
+#, fuzzy
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
-"sposta insiemi di revisioni su un antenato differente\n"
-"\n"
-"Questa estensione consente di effettuare il rebase di changeset in un\n"
-"repository Mercurial esistente.\n"
-"\n"
 "Per maggiori informazioni:\n"
 "http://www.selenic.com/mercurial/wiki/index.cgi/RebaseProject\n"
 
 #, fuzzy
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr "sposta changeset (e discendenti) su una branch differente"
+
+#, fuzzy
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history onto another. This can be useful for linearizing local\n"
-"    changes relative to a master development tree.\n"
-"\n"
+"    changes relative to a master development tree."
+msgstr ""
+"    Rebase usa merge ripetuti per trapiantare changeset da una parte\n"
+"    della storia in un'altra. Questo può essere utile per linearizzare\n"
+"    modifiche locali relative ad un albero di sviluppo principale."
+
+#, fuzzy
+msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a.\n"
 "    "
 msgstr ""
-"sposta changeset (e discendenti) su una branch differente\n"
-"\n"
-"    Rebase usa merge ripetuti per trapiantare changeset da una parte\n"
-"    della storia in un'altra. Questo può essere utile per linearizzare\n"
-"    modifiche locali relative ad un albero di sviluppo principale.\n"
-"\n"
 "    Se un rebase viene interrotto per risolvere manualmente un merge,\n"
 "    può essere ripreso con --continue o abortito con --abort.\n"
 "    "
@@ -4196,8 +4742,7 @@
 msgstr "merge del rebase completato\n"
 
 msgid "warning: new changesets detected on source branch, not stripping\n"
-msgstr ""
-"attenzione: nuovi changeset rilevati sulla branch sorgente, non li rimuovo\n"
+msgstr "attenzione: nuovi changeset rilevati sulla branch sorgente, non li rimuovo\n"
 
 msgid "rebase completed\n"
 msgstr "rebase completato\n"
@@ -4207,9 +4752,7 @@
 msgstr "%d revisioni sono state saltate\n"
 
 msgid "fix unresolved conflicts with hg resolve then run hg rebase --continue"
-msgstr ""
-"correggi i conflitti non risolti con hg resolve e poi esegui hg rebase --"
-"continue"
+msgstr "correggi i conflitti non risolti con hg resolve e poi esegui hg rebase --continue"
 
 #, python-format
 msgid "no changes, revision %d skipped\n"
@@ -4217,16 +4760,13 @@
 
 #, python-format
 msgid "cannot use revision %d as base, result would have 3 parents"
-msgstr ""
-"non è possibile usare la revisione %d come base, il risultato avrebbe 3 "
-"genitori"
+msgstr "non è possibile usare la revisione %d come base, il risultato avrebbe 3 genitori"
 
 msgid "no rebase in progress"
 msgstr "nessun rebase in corso"
 
 msgid "warning: new changesets detected on target branch, not stripping\n"
-msgstr ""
-"attenzione: nuovi changeset rilevati sulla branch target, non li rimuovo\n"
+msgstr "attenzione: nuovi changeset rilevati sulla branch target, non li rimuovo\n"
 
 msgid "rebase aborted\n"
 msgstr "rebase abortito\n"
@@ -4275,11 +4815,8 @@
 msgstr "abortisce un rebase interrotto"
 
 #, fuzzy
-msgid ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] "
-"| [-c] | [-a]"
-msgstr ""
-"hg rebase [-s rev | -b rev] [-d rev] [--collapse] | [-c] | [-a] | [--keep]"
+msgid "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | [-c] | [-a]"
+msgstr "hg rebase [-s rev | -b rev] [-d rev] [--collapse] | [-c] | [-a] | [--keep]"
 
 #, fuzzy
 msgid "commands to interactively select changes for commit/qrefresh"
@@ -4352,56 +4889,65 @@
 msgstr "registrare questa modifica a %r?"
 
 #, fuzzy
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr "seleziona interattivamente le modifiche di cui eseguire il commit"
+
+#, fuzzy
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+"    Se viene omesso un elenco di file, tutte le modifiche\n"
+"    riportate da \"hg status\" saranno candidati per la\n"
+"    registrazione."
+
+#, fuzzy
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr ""
+"    Vedere 'hg help dates' per un elenco di formati\n"
+"    validi per -d/--date."
+
+#, fuzzy
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
-"      y - record this change\n"
-"      n - skip this change\n"
-"\n"
-"      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
-"      d - done, skip remaining changes and files\n"
-"      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
-msgstr ""
-"seleziona interattivamente le modifiche di cui eseguire il commit\n"
-"\n"
-"    Se viene omesso un elenco di file, tutte le modifiche\n"
-"    riportate da \"hg status\" saranno candidati per la\n"
-"    registrazione.\n"
-"\n"
-"    Vedere 'hg help dates' per un elenco di formati\n"
-"    validi per -d/--date.\n"
-"\n"
+"    possible::"
+msgstr ""
 "    Si verrà interrogati su quali modifiche registrare\n"
 "    per ogni file modificato e, per file con modifiche\n"
 "    multiple, per ogni modifica da usare. Per ogni domanda\n"
-"    sono possibili le seguenti risposte:\n"
-"\n"
+"    sono possibili le seguenti risposte:"
+
+#, fuzzy
+msgid ""
+"      y - record this change\n"
+"      n - skip this change"
+msgstr ""
 "    y - registra questa modifica\n"
-"    n - salta questa modifica\n"
-"\n"
+"    n - salta questa modifica"
+
+#, fuzzy
+msgid ""
+"      s - skip remaining changes to this file\n"
+"      f - record remaining changes to this file"
+msgstr ""
 "    s - salta le modifiche rimanenti di questo file\n"
-"    f - registra le modifiche rimanenti di questo file\n"
-"\n"
+"    f - registra le modifiche rimanenti di questo file"
+
+#, fuzzy
+msgid ""
+"      d - done, skip remaining changes and files\n"
+"      a - record all changes to all remaining files\n"
+"      q - quit, recording no changes"
+msgstr ""
 "    d - fatto, salta le modifiche e i file rimanenti\n"
 "    a - registra tutte le modifiche a tutti i file rimanenti\n"
-"    q - esci, non registrare alcuna modifica\n"
-"\n"
-"    ? - mostra il messaggio di aiuto"
+"    q - esci, non registrare alcuna modifica"
+
+#, fuzzy
+msgid "      ? - display help"
+msgstr "    ? - mostra il messaggio di aiuto"
 
 msgid "'mq' extension not loaded"
 msgstr "estensione 'mq' non caricata"
@@ -4424,12 +4970,15 @@
 msgid "share a common history between several working directories"
 msgstr ""
 
-msgid ""
-"create a new shared repository (experimental)\n"
-"\n"
+msgid "create a new shared repository (experimental)"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: actions that change history such as rollback or moving the\n"
 "    source may confuse sharers.\n"
 "    "
@@ -4443,11 +4992,13 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr "[OPZIONI]... SORGENTE [DEST]"
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr ""
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr ""
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
@@ -4502,38 +5053,52 @@
 msgid "apply changeset? [ynmpcq?]:"
 msgstr "applicare il changeset? [ynmpcq?]:"
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr ""
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr ""
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
+"    changesets you want."
+msgstr ""
+
+msgid ""
 "    hg transplant --branch REVISION --all will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
+"    directory."
+msgstr ""
+
+msgid ""
 "    You can optionally mark selected transplanted changesets as merge\n"
 "    changesets. You will not be prompted to transplant any ancestors\n"
 "    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
+"    normally instead of transplanting them."
+msgstr ""
+
+msgid ""
 "    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
+"    an interactive changeset browser."
+msgstr ""
+
+msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
 "    and then resume where you left off by calling hg transplant\n"
 "    --continue/-c.\n"
@@ -4585,38 +5150,49 @@
 msgid "filter changesets through FILTER"
 msgstr ""
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-msgstr ""
-
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgstr ""
+
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr ""
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
+"operation."
+msgstr ""
+
+msgid "This extension is useful for:"
+msgstr ""
+
+msgid ""
 "- Japanese Windows users using shift_jis encoding.\n"
 "- Chinese Windows users using big5 encoding.\n"
 "- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
+"  case-insensitive file system."
+msgstr ""
+
+msgid "This extension is not needed for:"
+msgstr ""
+
+msgid ""
 "- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr ""
+
+msgid ""
 "- You should use single encoding in one repository.\n"
 "- You should set same encoding for the repository by locale or\n"
-"  HGENCODING.\n"
-"\n"
+"  HGENCODING."
+msgstr ""
+
+msgid ""
 "Path encoding conversion are done between Unicode and\n"
 "encoding.encoding which is decided by Mercurial from current locale\n"
 "setting or HGENCODING.\n"
@@ -4629,31 +5205,41 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr ""
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr ""
+
+msgid "To perform automatic newline conversion, use::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+msgstr ""
+
+msgid ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+msgstr ""
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -4679,13 +5265,21 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+
+#, python-format
+msgid "and also consider adding:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -4694,21 +5288,29 @@
 "** = %sdecode:\n"
 msgstr ""
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr ""
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
@@ -4835,8 +5437,7 @@
 msgstr "nessuna destinazione specificata"
 
 msgid "with multiple sources, destination must be an existing directory"
-msgstr ""
-"con sorgenti multiple la destinazione deve essere una directory esistente"
+msgstr "con sorgenti multiple la destinazione deve essere una directory esistente"
 
 #, python-format
 msgid "destination %s is not a directory"
@@ -4970,29 +5571,39 @@
 msgid "empty commit message"
 msgstr "messaggio di commit vuoto"
 
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+
+msgid ""
 "    If no names are given, add all files to the repository.\n"
 "    "
 msgstr ""
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr ""
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -5008,15 +5619,20 @@
 msgid "similarity must be between 0 and 100"
 msgstr ""
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr ""
+
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr ""
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
@@ -5034,25 +5650,34 @@
 msgid "%s: binary file\n"
 msgstr ""
 
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr ""
+
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+
+msgid ""
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are::\n"
-"\n"
+"    types are::"
+msgstr ""
+
+msgid ""
 "      \"files\" (default): a directory full of files\n"
 "      \"tar\": tar archive, uncompressed\n"
 "      \"tbz2\": tar archive, compressed using bzip2\n"
 "      \"tgz\": tar archive, compressed using gzip\n"
 "      \"uzip\": zip archive, uncompressed\n"
-"      \"zip\": zip archive, compressed using deflate\n"
-"\n"
+"      \"zip\": zip archive, compressed using deflate"
+msgstr ""
+
+msgid ""
 "    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
+
+msgid ""
 "    Each member added to an archive file has a directory prefix\n"
 "    prepended. Use -p/--prefix to specify a format string for the\n"
 "    prefix. The default is the basename of the archive, with suffixes\n"
@@ -5070,43 +5695,41 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgid "reverse effect of earlier changeset"
+msgstr "inverte l'effetto di un changeset precedente"
+
+#, fuzzy
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+"    Effettua il commit delle modifiche di cui si è fatto backout\n"
+"    come nuovo changeset. Il nuovo changeset è un figlio del\n"
+"    changeset di cui si è fatto backout."
+
+#, fuzzy
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+"    Se si fa il backout di un changeset diverso da tip, viene creata\n"
+"    una nuova head. Questa sarà la nuova tip e si dovrebbe fare il\n"
+"    merge di questo changeset di backout con un'altra head\n"
+"    (attualmente una di default)."
+
+#, fuzzy
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"inverte l'effetto di un changeset precedente\n"
-"\n"
-"    Effettua il commit delle modifiche di cui si è fatto backout\n"
-"    come nuovo changeset. Il nuovo changeset è un figlio del\n"
-"    changeset di cui si è fatto backout.\n"
-"\n"
-"    Se si fa il backout di un changeset diverso da tip, viene creata\n"
-"    una nuova head. Questa sarà la nuova tip e si dovrebbe fare il\n"
-"    merge di questo changeset di backout con un'altra head\n"
-"    (attualmente una di default).\n"
-"\n"
+"    The result of this merge is not committed, as with a normal merge."
+msgstr ""
 "    L'opzione --merge ricorda il genitore della directory di lavoro\n"
 "    prima di avviare il backout, poi fa il merge della nuova head con\n"
 "    quel changeset. Questo evita di fare il merge a mano. Non viene\n"
 "    effettuato il commit del risultato di questo merge, come per un\n"
-"    merge normale.\n"
-"\n"
-"    Vedere 'hg help dates' per un elenco dei formati validi per -d/--date.\n"
-"    "
+"    merge normale."
 
 msgid "please specify just one revision"
 msgstr ""
@@ -5144,9 +5767,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr ""
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr ""
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -5154,11 +5778,15 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
+
+msgid ""
 "    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
+
+msgid ""
 "    If you supply a command, it will be used for automatic bisection.\n"
 "    Its exit status will be used to mark revisions as good or bad:\n"
 "    status 0 means good, 125 means to skip the revision, 127\n"
@@ -5209,22 +5837,29 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr ""
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr ""
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
+"    branch."
+msgstr ""
+
+msgid ""
 "    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
+
+msgid ""
 "    Use -C/--clean to reset the working directory branch to that of\n"
 "    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
+"    change."
+msgstr ""
+
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch. Use\n"
 "    'hg commit --close-branch' to mark this branch as closed.\n"
 "    "
@@ -5235,47 +5870,60 @@
 msgstr "resetto la directory di lavoro alla branch %s\n"
 
 msgid "a branch of the same name already exists (use --force to override)"
-msgstr ""
-"una branch con lo stesso nome esiste già (usare --force per sovrascrivere)"
+msgstr "una branch con lo stesso nome esiste già (usare --force per sovrascrivere)"
 
 #, python-format
 msgid "marked working directory as branch %s\n"
 msgstr "marcata directory di lavoro come branch %s\n"
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr ""
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
+"    is considered active if it contains repository heads."
+msgstr ""
+
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch.\n"
 "    "
 msgstr ""
 
-msgid ""
-"create a changegroup file\n"
-"\n"
+msgid "create a changegroup file"
+msgstr ""
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+
+msgid ""
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
+
+msgid ""
 "    Applying bundles preserves all changeset contents including\n"
 "    permissions, copy/rename information, and revision history.\n"
 "    "
@@ -5288,62 +5936,85 @@
 msgid "unknown bundle type specified with --type"
 msgstr ""
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr ""
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions::\n"
-"\n"
+"    for the export command, with the following additions::"
+msgstr ""
+
+msgid ""
 "      %s   basename of file being printed\n"
 "      %d   dirname of file being printed, or '.' if in repository root\n"
 "      %p   root-relative path name of file being printed\n"
 "    "
 msgstr ""
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+msgid "make a copy of an existing repository"
+msgstr ""
+
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr ""
+
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+
+msgid ""
 "    If you use the -r/--rev option to clone up to a specific revision,\n"
 "    no subsequent revisions (including subsequent tags) will be\n"
 "    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
+"    on local repositories."
+msgstr ""
+
+msgid ""
 "    By default, clone will check out the head of the 'default' branch.\n"
 "    If the -U/--noupdate option is used, the new clone will contain\n"
 "    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    parent is the null revision)."
+msgstr ""
+
+msgid "    See 'hg help urls' for valid source format details."
+msgstr ""
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ``ssh://`` URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ``ssh://`` URLs."
+msgstr ""
+
+msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
 "    to the repository data, not to the checked out files). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
+"    avoid hardlinking."
+msgstr ""
+
+msgid ""
 "    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    using full hardlinks with ::"
+msgstr ""
+
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr ""
+
+msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
@@ -5354,41 +6025,39 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr "effettua il commit dei file specificati o di tutte le modifiche pendenti"
+
+#, fuzzy
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr "    Effettua il commit delle modifiche sui file dati nel repository."
+
+#, fuzzy
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
+"    will be committed."
+msgstr ""
+"    Se si omette un elenco di file, si farà il commit di tutte le\n"
+"    modifiche riportate da \"hg status\"."
+
+#, fuzzy
+msgid ""
 "    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
+"    filenames or -I/-X filters."
+msgstr ""
+"    Se si sta effettuando il commit del risultato di un merge, non\n"
+"    fornire nessun nome di file o filtri -I/-X."
+
+#, fuzzy
+msgid ""
 "    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"effettua il commit dei file specificati o di tutte le modifiche pendenti\n"
-"\n"
-"    Effettua il commit delle modifiche sui file dati nel repository.\n"
-"\n"
-"    Se si omette un elenco di file, si farà il commit di tutte le\n"
-"    modifiche riportate da \"hg status\".\n"
-"\n"
-"    Se si sta effettuando il commit del risultato di un merge, non\n"
-"    fornire nessun nome di file o filtri -I/-X.\n"
-"\n"
+"    started to prompt you for a message."
+msgstr ""
 "    Se non è specificato nessun messaggio di commit, l'editor\n"
-"    configurato viene lanciato per inserire un messaggio.\n"
-"\n"
-"    Vedere 'hg help dates' per un elenco dei formati validi per\n"
-"    -d/--date.\n"
-"    "
+"    configurato viene lanciato per inserire un messaggio."
 
 msgid "nothing changed\n"
 msgstr "nulla è cambiato\n"
@@ -5400,17 +6069,22 @@
 msgid "committed changeset %d:%s\n"
 msgstr "effettuato il commit del changeset %d:%s\n"
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr ""
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
@@ -5453,17 +6127,23 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr ""
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr ""
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr ""
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
@@ -5472,9 +6152,10 @@
 msgid "only one config item permitted"
 msgstr ""
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr ""
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
@@ -5540,14 +6221,10 @@
 msgid " patch test failed!\n"
 msgstr ""
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
-msgstr ""
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr ""
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
 msgstr ""
 
 msgid "Checking commit editor...\n"
@@ -5590,47 +6267,56 @@
 msgid "show how files match on given patterns"
 msgstr "mostra come i file corrispondono ai dati pattern"
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr ""
+
+msgid "    Show differences between revisions for the specified files."
+msgstr ""
+
+msgid "    Differences between files are shown using the unified diff format."
+msgstr ""
+
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
 msgstr ""
 
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr ""
+
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr ""
+
+msgid ""
 "    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment.\n"
-"\n"
+"    changeset hash, parent(s) and commit comment."
+msgstr ""
+
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows::\n"
-"\n"
+"    given using a format string. The formatting rules are as follows::"
+msgstr ""
+
+msgid ""
 "      %%   literal \"%\" character\n"
 "      %H   changeset hash (40 bytes of hexadecimal)\n"
 "      %N   number of patches being generated\n"
@@ -5638,15 +6324,21 @@
 "      %b   basename of the exporting repository\n"
 "      %h   short-form changeset hash (12 bytes of hexadecimal)\n"
 "      %n   zero-padded sequence number, starting at 1\n"
-"      %r   zero-padded changeset revision number\n"
-"\n"
+"      %r   zero-padded changeset revision number"
+msgstr ""
+
+msgid ""
 "    Without the -a/--text option, export will avoid generating diffs\n"
 "    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
+
+msgid ""
 "    With the --switch-parent option, the diff will be against the\n"
 "    second parent. It can be useful to review a merge.\n"
 "    "
@@ -5661,16 +6353,21 @@
 msgid "exporting patch:\n"
 msgstr ""
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
@@ -5682,16 +6379,20 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr "non rimuovo %s: file %s (usare -f per forzare la rimozione)\n"
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr ""
+
+msgid "    Search revisions of files for a regular expression."
+msgstr ""
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -5704,28 +6405,38 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr ""
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
+msgid "show current repository heads or show branch heads"
+msgstr ""
+
+msgid "    With no arguments, show all repository head changesets."
+msgstr ""
+
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
-"    for update and merge operations.\n"
-"\n"
+"    for update and merge operations."
+msgstr ""
+
+msgid ""
 "    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with the specified changeset(s).\n"
-"\n"
+"    the named branch associated with the specified changeset(s)."
+msgstr ""
+
+msgid ""
 "    Branch heads are changesets on a named branch with no descendants on\n"
 "    the same branch. A branch head could be a \"true\" (repository) head,\n"
 "    or it could be the last changeset on that branch before it was\n"
 "    merged into another branch, or it could be the last changeset on the\n"
 "    branch before a new branch was created. If none of the branch heads\n"
-"    are true heads, the branch is considered inactive.\n"
-"\n"
+"    are true heads, the branch is considered inactive."
+msgstr ""
+
+msgid ""
 "    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
+"    (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If STARTREV is specified, only those heads that are descendants of\n"
 "    STARTREV will be displayed.\n"
 "    "
@@ -5747,18 +6458,18 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr "mostra l'aiuto per un dato argomento o una panoramica d'aiuto"
+
+#, fuzzy
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr "    Senza argomenti stampa un elenco dei comandi ed un breve aiuto."
+
+#, fuzzy
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
-"mostra l'aiuto per un dato argomento o una panoramica d'aiuto\n"
-"\n"
-"    Senza argomenti stampa un elenco dei comandi ed un breve aiuto.\n"
-"\n"
 "    Dato un argomento, estensione o nome di comando, stampa l'aiuto\n"
 "    per tale argomento."
 
@@ -5769,9 +6480,7 @@
 msgstr "usare \"hg help\" per l'elenco completo dei comandi"
 
 msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
-msgstr ""
-"usare \"hg help\" per la lista completa dei comandi oppure \"hg -v\" per i "
-"dettagli"
+msgstr "usare \"hg help\" per la lista completa dei comandi oppure \"hg -v\" per i dettagli"
 
 #, python-format
 msgid "use \"hg -v help%s\" to show aliases and global options"
@@ -5781,12 +6490,8 @@
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "usare \"hg -v help %s\" per mostrare le opzioni globali"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"elenco dei comandi:\n"
-"\n"
+msgid "list of commands:"
+msgstr "elenco dei comandi:"
 
 #, python-format
 msgid ""
@@ -5816,53 +6521,48 @@
 msgstr "nessun testo di aiuto disponibile"
 
 #, fuzzy, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
+msgid "%s extension - %s"
 msgstr "estensione %s - %s\n"
 
 msgid "Mercurial Distributed SCM\n"
 msgstr "Mercurial SCM Distribuito\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"comandi base:\n"
-"\n"
+msgid "basic commands:"
+msgstr "comandi base:"
 
 msgid ""
 "\n"
-"additional help topics:\n"
-"\n"
+"additional help topics:"
 msgstr ""
 "\n"
-"argomenti di aiuto aggiuntivi:\n"
-"\n"
-
-#, fuzzy
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+"argomenti di aiuto aggiuntivi:"
+
+#, fuzzy
+msgid "identify the working copy or specified revision"
+msgstr "identifica la copia di lavoro o una revisione specifica"
+
+#, fuzzy
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    Con nessuna revisione, stampa un sommario dello stato corrente del\n"
+"    repository."
+
+#, fuzzy
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr "    Con un percorso, effettua una ricerca in un altro repository."
+
+#, fuzzy
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
 "    this revision and a branch name for non-default branches.\n"
 "    "
 msgstr ""
-"identifica la copia di lavoro o una revisione specifica\n"
-"\n"
-"    Con nessuna revisione, stampa un sommario dello stato corrente del\n"
-"    repository.\n"
-"\n"
-"    Con un percorso, effettua una ricerca in un altro repository.\n"
-"\n"
 "    Questo sommario identifica lo stato del repository usando uno o\n"
 "    due hash dei genitori, seguito da un \"+\" se ci sono modifiche di\n"
 "    cui non si è eseguito il commit nella directory di lavoro, un\n"
@@ -5871,71 +6571,82 @@
 "    "
 
 #, fuzzy
-msgid ""
-"import an ordered set of patches\n"
-"\n"
-"    Import a list of patches and commit them individually.\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr "importa un insieme ordinato di patch"
+
+#, fuzzy
+msgid "    Import a list of patches and commit them individually."
+msgstr ""
+"    Importa un elenco di patch e ne effettua il commit\n"
+"    individualmente."
+
+#, fuzzy
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+"    Se ci sono modifiche pendenti nella directory di lavoro,\n"
+"    l'importazione abortirà a meno che non si usi il flag -f."
+
+#, fuzzy
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
-"    If the imported patch was generated by hg export, user and\n"
-"    description from patch override values from message headers and\n"
-"    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
-"    If --exact is specified, import will set the working directory to\n"
-"    the parent of each patch before applying it, and will abort if the\n"
-"    resulting changeset has a different ID than the one recorded in\n"
-"    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
-"    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
-"    To read a patch from standard input, use \"-\" as the patch name. If\n"
-"    a URL is specified, the patch will be downloaded from it.\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"importa un insieme ordinato di patch\n"
-"\n"
-"    Importa un elenco di patch e ne effettua il commit\n"
-"    individualmente.\n"
-"\n"
-"    Se ci sono modifiche pendenti nella directory di lavoro,\n"
-"    l'importazione abortirà a meno che non si usi il flag -f.\n"
-"\n"
+"    message."
+msgstr ""
 "    E' possibile importare una patch direttamente da un messaggio\n"
 "    mail. Anche le patch come allegato funzionano (il corpo deve\n"
 "    essere di tipo text/plain o deve essere usato text/x-patch). Le\n"
 "    intestazioni Da e Soggetto della mail sono usate come committente\n"
 "    e messaggio di commit di default. Tutte le parti del corpo\n"
 "    text/plain antecedenti il primo diff sono aggiunte al messaggio di\n"
-"    commit.\n"
-"\n"
+"    commit."
+
+#, fuzzy
+msgid ""
+"    If the imported patch was generated by hg export, user and\n"
+"    description from patch override values from message headers and\n"
+"    body. Values given on command line with -m/--message and -u/--user\n"
+"    override these."
+msgstr ""
 "    Se la patch importata è stata generata da hg export, l'utente e la\n"
 "    descrizione dalla patch rimpiazzano i valori dal corpo e\n"
 "    dall'intestazione del messaggio. I valori forniti dalla riga di\n"
-"    comando con -m e -u rimpiazzano questi.\n"
-"\n"
+"    comando con -m e -u rimpiazzano questi."
+
+#, fuzzy
+msgid ""
+"    If --exact is specified, import will set the working directory to\n"
+"    the parent of each patch before applying it, and will abort if the\n"
+"    resulting changeset has a different ID than the one recorded in\n"
+"    the patch. This may happen due to character set problems or other\n"
+"    deficiencies in the text patch format."
+msgstr ""
 "    Se viene specificato --exact, l'importazione imposterà la\n"
 "    directory di lavoro al genitore di ogni patch prima di applicarla,\n"
 "    e abortirà se il changeset risultante avrà un ID differente\n"
 "    rispetto a quello registrato nella patch Questo potrebbe capitare\n"
 "    a causa di problemi del set di caratteri o altre carenze nel\n"
-"    formato della patch testuale.\n"
-"\n"
+"    formato della patch testuale."
+
+#, fuzzy
+msgid ""
+"    With -s/--similarity, hg will attempt to discover renames and\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
 "    Con --similarity, hg tenterà di scoprire le rinomine e le copie\n"
-"    nella patch allo stesso modo di 'addremove'.\n"
-"\n"
+"    nella patch allo stesso modo di 'addremove'."
+
+#, fuzzy
+msgid ""
+"    To read a patch from standard input, use \"-\" as the patch name. If\n"
+"    a URL is specified, the patch will be downloaded from it.\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
 "    Per leggere una patch dallo standard input, usare come nome della\n"
 "    patch \"-\". Vedere 'hg help dates' per un elenco dei formati validi\n"
 "    per -d/--date.\n"
@@ -5955,87 +6666,99 @@
 msgstr "la patch è danneggiata o perde informazioni"
 
 #, fuzzy
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr "mostra i nuovi changeset trovati nella sorgente"
+
+#, fuzzy
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
-"    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
-"    See pull for valid source format details.\n"
-"    "
-msgstr ""
-"mostra i nuovi changeset trovati nella sorgente\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
 "    Mostra i nuovi changeset trovati nel percorso/URL specificato o\n"
 "    nella posizione di pull di default. Questi sono i changeset di cui\n"
-"    si effettuerebbe il pull se questo venisse richiesto.\n"
-"\n"
+"    si effettuerebbe il pull se questo venisse richiesto."
+
+#, fuzzy
+msgid ""
+"    For remote repository, using --bundle avoids downloading the\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
 "    Per repository remoti, usare --bundle evita di scaricare due volte\n"
-"    i changeset se incoming è seguito da un pull.\n"
-"\n"
+"    i changeset se incoming è seguito da un pull."
+
+#, fuzzy
+msgid ""
+"    See pull for valid source format details.\n"
+"    "
+msgstr ""
 "    Vedere pull per dettagli sui formati di sorgenti validi.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr "crea un nuovo repository nella directory data"
+
+#, fuzzy
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+"    Inizializza un nuovo repository nella directory data. Se tale\n"
+"    directory non esiste la crea."
+
+#, fuzzy
+msgid "    If no directory is given, the current directory is used."
+msgstr "    Se nessuna directory è specificata si usa la directory corrente."
+
+#, fuzzy
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"crea un nuovo repository nella directory data\n"
-"\n"
-"    Inizializza un nuovo repository nella directory data. Se tale\n"
-"    directory non esiste la crea.\n"
-"\n"
-"    Se nessuna directory è specificata si usa la directory corrente.\n"
-"\n"
 "    E' possibile specificare un URL ``ssh://`` come destinazione.\n"
 "    Vedere 'hg help urls' per maggiorni informazioni.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr "trova file corrispondenti a pattern specificati"
+
+#, fuzzy
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+"    Stampa tutti i file sotto il controllo di Mercurial il cui nome\n"
+"    corrisponde ai dati pattern."
+
+#, fuzzy
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+"    Questo comando cerca nell'intero repository di default. Per\n"
+"    ricercare solo nella directory corrente e le sue sottodirectory,\n"
+"    usare \"--include .\"."
+
+#, fuzzy
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+"    Se non sono forniti pattern, questo comando stampa il nome di\n"
+"    tutti i file."
+
+#, fuzzy
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
 "    contain whitespace as multiple filenames.\n"
 "    "
 msgstr ""
-"trova file corrispondenti a pattern specificati\n"
-"\n"
-"    Stampa tutti i file sotto il controllo di Mercurial il cui nome\n"
-"    corrisponde ai dati pattern.\n"
-"\n"
-"    Questo comando cerca nell'intero repository di default. Per\n"
-"    ricercare solo nella directory corrente e le sue sottodirectory,\n"
-"    usare \"--include .\".\n"
-"\n"
-"    Se non sono forniti pattern, questo comando stampa il nome di\n"
-"    tutti i file.\n"
-"\n"
 "    Se si desidera fornire l'output di questo comando al comando\n"
 "    \"xargs\", usare l'opzione \"-0\" sia per questo comando sia per\n"
 "    \"xargs\". Questo eviterà il problema per cui \"xargs\" tratta\n"
@@ -6044,15 +6767,16 @@
 "    "
 
 #, fuzzy
-msgid ""
+msgid "show revision history of entire repository or files"
+msgstr ""
 "show revision history of entire repository or files\n"
 "\n"
 "    Print the revision history of the specified files or the entire\n"
 "    project.\n"
 "\n"
 "    File history is shown without following rename or copy history of\n"
-"    files. Use -f/--follow with a filename to follow history across\n"
-"    renames and copies. --follow without a filename will only show\n"
+"    files. Use -f/--follow with a file name to follow history across\n"
+"    renames and copies. --follow without a file name will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
 "    only follows the first parent of merge revisions.\n"
 "\n"
@@ -6060,13 +6784,164 @@
 "    --follow is set, in which case the working directory parent is\n"
 "    used as the starting revision.\n"
 "\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    Vedere 'hg help dates' per un elenco dei formati validi per -d/--date.\n"
+"\n"
+"    By default this command outputs: changeset id and hash, tags,\n"
+"    non-trivial parents, user, date and time, and a summary for each\n"
+"    commit. When the -v/--verbose switch is used, the list of changed\n"
+"    files and full commit message is shown.\n"
+"\n"
+"    NOTE: log -p may generate unexpected diff output for merge\n"
+"    changesets, as it will compare the merge changeset against its\n"
+"    first parent only. Also, the files: list will only reflect files\n"
+"    that are different from BOTH parents.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Print the revision history of the specified files or the entire\n"
+"    project."
+msgstr ""
+"show revision history of entire repository or files\n"
+"\n"
+"    Print the revision history of the specified files or the entire\n"
+"    project.\n"
+"\n"
+"    File history is shown without following rename or copy history of\n"
+"    files. Use -f/--follow with a file name to follow history across\n"
+"    renames and copies. --follow without a file name will only show\n"
+"    ancestors or descendants of the starting revision. --follow-first\n"
+"    only follows the first parent of merge revisions.\n"
+"\n"
+"    If no revision range is specified, the default is tip:0 unless\n"
+"    --follow is set, in which case the working directory parent is\n"
+"    used as the starting revision.\n"
+"\n"
+"    Vedere 'hg help dates' per un elenco dei formati validi per -d/--date.\n"
+"\n"
+"    By default this command outputs: changeset id and hash, tags,\n"
+"    non-trivial parents, user, date and time, and a summary for each\n"
+"    commit. When the -v/--verbose switch is used, the list of changed\n"
+"    files and full commit message is shown.\n"
+"\n"
+"    NOTE: log -p may generate unexpected diff output for merge\n"
+"    changesets, as it will compare the merge changeset against its\n"
+"    first parent only. Also, the files: list will only reflect files\n"
+"    that are different from BOTH parents.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    File history is shown without following rename or copy history of\n"
+"    files. Use -f/--follow with a filename to follow history across\n"
+"    renames and copies. --follow without a filename will only show\n"
+"    ancestors or descendants of the starting revision. --follow-first\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
+"show revision history of entire repository or files\n"
+"\n"
+"    Print the revision history of the specified files or the entire\n"
+"    project.\n"
 "\n"
+"    File history is shown without following rename or copy history of\n"
+"    files. Use -f/--follow with a file name to follow history across\n"
+"    renames and copies. --follow without a file name will only show\n"
+"    ancestors or descendants of the starting revision. --follow-first\n"
+"    only follows the first parent of merge revisions.\n"
+"\n"
+"    If no revision range is specified, the default is tip:0 unless\n"
+"    --follow is set, in which case the working directory parent is\n"
+"    used as the starting revision.\n"
+"\n"
+"    Vedere 'hg help dates' per un elenco dei formati validi per -d/--date.\n"
+"\n"
+"    By default this command outputs: changeset id and hash, tags,\n"
+"    non-trivial parents, user, date and time, and a summary for each\n"
+"    commit. When the -v/--verbose switch is used, the list of changed\n"
+"    files and full commit message is shown.\n"
+"\n"
+"    NOTE: log -p may generate unexpected diff output for merge\n"
+"    changesets, as it will compare the merge changeset against its\n"
+"    first parent only. Also, the files: list will only reflect files\n"
+"    that are different from BOTH parents.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If no revision range is specified, the default is tip:0 unless\n"
+"    --follow is set, in which case the working directory parent is\n"
+"    used as the starting revision."
+msgstr ""
+"show revision history of entire repository or files\n"
+"\n"
+"    Print the revision history of the specified files or the entire\n"
+"    project.\n"
+"\n"
+"    File history is shown without following rename or copy history of\n"
+"    files. Use -f/--follow with a file name to follow history across\n"
+"    renames and copies. --follow without a file name will only show\n"
+"    ancestors or descendants of the starting revision. --follow-first\n"
+"    only follows the first parent of merge revisions.\n"
+"\n"
+"    If no revision range is specified, the default is tip:0 unless\n"
+"    --follow is set, in which case the working directory parent is\n"
+"    used as the starting revision.\n"
+"\n"
+"    Vedere 'hg help dates' per un elenco dei formati validi per -d/--date.\n"
+"\n"
+"    By default this command outputs: changeset id and hash, tags,\n"
+"    non-trivial parents, user, date and time, and a summary for each\n"
+"    commit. When the -v/--verbose switch is used, the list of changed\n"
+"    files and full commit message is shown.\n"
+"\n"
+"    NOTE: log -p may generate unexpected diff output for merge\n"
+"    changesets, as it will compare the merge changeset against its\n"
+"    first parent only. Also, the files: list will only reflect files\n"
+"    that are different from BOTH parents.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    By default this command prints revision number and changeset id,\n"
 "    tags, non-trivial parents, user, date and time, and a summary for\n"
 "    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
+"    changed files and full commit message are shown."
+msgstr ""
+"show revision history of entire repository or files\n"
+"\n"
+"    Print the revision history of the specified files or the entire\n"
+"    project.\n"
+"\n"
+"    File history is shown without following rename or copy history of\n"
+"    files. Use -f/--follow with a file name to follow history across\n"
+"    renames and copies. --follow without a file name will only show\n"
+"    ancestors or descendants of the starting revision. --follow-first\n"
+"    only follows the first parent of merge revisions.\n"
+"\n"
+"    If no revision range is specified, the default is tip:0 unless\n"
+"    --follow is set, in which case the working directory parent is\n"
+"    used as the starting revision.\n"
 "\n"
+"    Vedere 'hg help dates' per un elenco dei formati validi per -d/--date.\n"
+"\n"
+"    By default this command outputs: changeset id and hash, tags,\n"
+"    non-trivial parents, user, date and time, and a summary for each\n"
+"    commit. When the -v/--verbose switch is used, the list of changed\n"
+"    files and full commit message is shown.\n"
+"\n"
+"    NOTE: log -p may generate unexpected diff output for merge\n"
+"    changesets, as it will compare the merge changeset against its\n"
+"    first parent only. Also, the files: list will only reflect files\n"
+"    that are different from BOTH parents.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    NOTE: 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"
@@ -6102,29 +6977,37 @@
 "\n"
 "    "
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr ""
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr ""
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
@@ -6147,38 +7030,40 @@
 msgid "%s - use \"hg update\" instead"
 msgstr "%s - invece usare \"hg update\""
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
 msgstr ""
 "la directory di lavoro non è una revisione head - usare \"hg update\"\n"
 "o fare il merge con una revisione esplicita"
 
 #, fuzzy
-msgid ""
-"show changesets not found in destination\n"
-"\n"
+msgid "show changesets not found in destination"
+msgstr "mostra changeset non trovati nella destinazione"
+
+#, fuzzy
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
-"    See pull for valid destination format details.\n"
-"    "
-msgstr ""
-"mostra changeset non trovati nella destinazione\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
 "    Mostra i changeset non trovati nel repository di destinazione\n"
 "    specificato o nella posizione di default di push. Questi sono i\n"
 "    changeset che di cui si effetterebbe il push se questo venisse\n"
-"    richiesto.\n"
-"\n"
+"    richiesto."
+
+#, fuzzy
+msgid ""
+"    See pull for valid destination format details.\n"
+"    "
+msgstr ""
 "    Vedere pull per dettagli sui formati validi di destinazioni.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr "mostra i genitori della directory di lavoro o di una revisione"
+
+#, fuzzy
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -6186,8 +7071,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"mostra i genitori della directory di lavoro o di una revisione\n"
-"\n"
 "    Stampa le revisioni genitori della directory di lavoro. Se una\n"
 "    revisione è data tramite --rev, verrà stampato il genitore di\n"
 "    quella revisione. Se viene fornito un file come argomento,\n"
@@ -6204,15 +7087,20 @@
 msgid "'%s' not found in manifest!"
 msgstr "'%s' non trovato nel manifesto!"
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr ""
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
+
+msgid ""
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
@@ -6230,21 +7118,75 @@
 msgstr "(esegui 'hg update' per ottenere una copia funzionante)\n"
 
 #, fuzzy
-msgid ""
-"pull changes from the specified source\n"
+msgid "pull changes from the specified source"
+msgstr ""
+"effettua il pull delle modifiche dalla sorgente specificata\n"
+"\n"
+"    Effettua il pull di modifiche da un repository remoto in uno locale.\n"
+"\n"
+"    Questo trova tutte le modifiche dal repository al percorso o URL specificato\n"
+"    e le aggiunge al repository locale. Di default non aggiorna la copia del\n"
+"    progetto nella directory di lavoro.\n"
 "\n"
-"    Pull changes from a remote repository to a local one.\n"
+"    Se SOURCE viene omesso, verrà usato il percorso 'default'.\n"
+"    Vedere 'hg help urls' per maggiori informazioni.\n"
+"    "
+
+#, fuzzy
+msgid "    Pull changes from a remote repository to a local one."
+msgstr ""
+"effettua il pull delle modifiche dalla sorgente specificata\n"
+"\n"
+"    Effettua il pull di modifiche da un repository remoto in uno locale.\n"
 "\n"
+"    Questo trova tutte le modifiche dal repository al percorso o URL specificato\n"
+"    e le aggiunge al repository locale. Di default non aggiorna la copia del\n"
+"    progetto nella directory di lavoro.\n"
+"\n"
+"    Se SOURCE viene omesso, verrà usato il percorso 'default'.\n"
+"    Vedere 'hg help urls' per maggiori informazioni.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
+"    project in the working directory."
+msgstr ""
+"effettua il pull delle modifiche dalla sorgente specificata\n"
+"\n"
+"    Effettua il pull di modifiche da un repository remoto in uno locale.\n"
 "\n"
+"    Questo trova tutte le modifiche dal repository al percorso o URL specificato\n"
+"    e le aggiunge al repository locale. Di default non aggiorna la copia del\n"
+"    progetto nella directory di lavoro.\n"
+"\n"
+"    Se SOURCE viene omesso, verrà usato il percorso 'default'.\n"
+"    Vedere 'hg help urls' per maggiori informazioni.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
+"effettua il pull delle modifiche dalla sorgente specificata\n"
+"\n"
+"    Effettua il pull di modifiche da un repository remoto in uno locale.\n"
 "\n"
+"    Questo trova tutte le modifiche dal repository al percorso o URL specificato\n"
+"    e le aggiunge al repository locale. Di default non aggiorna la copia del\n"
+"    progetto nella directory di lavoro.\n"
+"\n"
+"    Se SOURCE viene omesso, verrà usato il percorso 'default'.\n"
+"    Vedere 'hg help urls' per maggiori informazioni.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If SOURCE is omitted, the 'default' path will be used.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
@@ -6253,10 +7195,8 @@
 "\n"
 "    Effettua il pull di modifiche da un repository remoto in uno locale.\n"
 "\n"
-"    Questo trova tutte le modifiche dal repository al percorso o URL "
-"specificato\n"
-"    e le aggiunge al repository locale. Di default non aggiorna la copia "
-"del\n"
+"    Questo trova tutte le modifiche dal repository al percorso o URL specificato\n"
+"    e le aggiunge al repository locale. Di default non aggiorna la copia del\n"
 "    progetto nella directory di lavoro.\n"
 "\n"
 "    Se SOURCE viene omesso, verrà usato il percorso 'default'.\n"
@@ -6264,44 +7204,50 @@
 "    "
 
 #, fuzzy
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the given destination.\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr "effettua il push di modifiche verso la destinazione specificata"
+
+#, fuzzy
+msgid "    Push changes from the local repository to the given destination."
+msgstr ""
+"    Effettua il push di modifiche dal repository locale verso la\n"
+"    destinazione data."
+
+#, fuzzy
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
+"    current one."
+msgstr ""
+"    Questa è l'operazione simmetrica di pull. Aiuta a spostare modifiche\n"
+"    dal repository corrente in un altro. Se la destinazione è locale questo\n"
+"    è identico ad un pull in quella directory verso questa."
+
+#, fuzzy
+msgid ""
 "    By default, push will refuse to run if it detects the result would\n"
 "    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
+"    Di default, il push verrà rifiutato se viene rivelato che aumenterà il\n"
+"    numerdo di head remote. Questo generalmente indica che il client ha\n"
+"    dimenticato di fare pull e merge prima del push."
+
+#, fuzzy
+msgid ""
 "    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
+"    be pushed to the remote repository."
+msgstr ""
+"    Se si usa -r, si farà il push del changeset dato e tutti i suoi antenati\n"
+"    verso il repository remoto."
+
+#, fuzzy
+msgid ""
 "    Please see 'hg help urls' for important details about ``ssh://``\n"
 "    URLs. If DESTINATION is omitted, a default path will be used.\n"
 "    "
 msgstr ""
-"effettua il push di modifiche verso la destinazione specificata\n"
-"\n"
-"    Effettua il push di modifiche dal repository locale verso la\n"
-"    destinazione data.\n"
-"\n"
-"    Questa è l'operazione simmetrica di pull. Aiuta a spostare modifiche\n"
-"    dal repository corrente in un altro. Se la destinazione è locale questo\n"
-"    è identico ad un pull in quella directory verso questa.\n"
-"\n"
-"    Di default, il push verrà rifiutato se viene rivelato che aumenterà il\n"
-"    numerdo di head remote. Questo generalmente indica che il client ha\n"
-"    dimenticato di fare pull e merge prima del push.\n"
-"\n"
-"    Se si usa -r, si farà il push del changeset dato e tutti i suoi "
-"antenati\n"
-"    verso il repository remoto.\n"
-"\n"
 "    Vedere il testo di aiuto per gli url per importanti dettagli sugli\n"
 "    URL ``ssh://``.\n"
 "    Se viene omessa DESTINATION, verrà usato il percorso di default.\n"
@@ -6313,48 +7259,56 @@
 msgstr "sto effettuando il push verso %s\n"
 
 #, fuzzy
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr "effettua il rollback di una transazione interrotta"
+
+#, fuzzy
+msgid "    Recover from an interrupted commit or pull."
+msgstr "    Effettua il ripristino da un commit o pull interrotto."
+
+#, fuzzy
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
-"effettua il rollback di una transazione interrotta\n"
-"\n"
-"    Effettua il ripristino da un commit o pull interrotto.\n"
-"\n"
 "    Questo comando prova a correggere lo stato del repository dopo\n"
 "    un'operazione interrotta. Dovrebbe essere necessario solamente\n"
 "    quando Mercurial lo suggerisce.\n"
 "    "
 
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr ""
+
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
+
+msgid ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
+"      -Af    R  R  R  R"
+msgstr ""
+
+msgid ""
 "    This command schedules the files to be removed at the next commit.\n"
 "    To undo a remove before that, see hg revert.\n"
 "    "
@@ -6377,39 +7331,46 @@
 msgid "has been marked for add"
 msgstr "è stato marcato per l'aggiunta"
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr ""
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+
+msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
 
-msgid ""
-"retry file merges from a merge or update\n"
-"\n"
+msgid "retry file merges from a merge or update"
+msgstr ""
+
+msgid ""
 "    This command will cleanly retry unresolved file merges using file\n"
 "    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
+"    resolve all unresolved files, use the -a/--all switch."
+msgstr ""
+
+msgid ""
 "    If a conflict is resolved manually, please note that the changes\n"
 "    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
+"    -m/--mark switch should be used to mark the file as resolved."
+msgstr ""
+
+msgid ""
 "    This command also allows listing resolved files and manually\n"
 "    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    marked as resolved before a commit is permitted."
+msgstr ""
+
+msgid "    The codes used to show the status of files are::"
+msgstr ""
+
+msgid ""
 "      U = unresolved\n"
 "      R = resolved\n"
 "    "
@@ -6422,78 +7383,88 @@
 msgstr "non è possibile specificare pattern e --all"
 
 msgid "no files or directories specified; use --all to remerge all files"
-msgstr ""
-"nessun file o directory specificata; usare --all per rieffettuare il merge "
-"di tutti i file"
-
-#, fuzzy
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgstr "nessun file o directory specificata; usare --all per rieffettuare il merge di tutti i file"
+
+#, fuzzy
+msgid "restore individual files or directories to an earlier state"
+msgstr "ripristina file singoli o directory ad uno stato precedente"
+
+#, fuzzy
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+"    (usare update -r per effettuare il checkout di revisioni\n"
+"    precedenti, revert non cambia i genitori della directory di\n"
+"    lavoro)"
+
+#, fuzzy
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to.\n"
-"\n"
-"    Using the -r/--rev option, revert the given files or directories\n"
-"    to their contents as of a specific revision. This can be helpful\n"
-"    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
-"    Revert modifies the working directory. It does not commit any\n"
-"    changes, or change the parent of the working directory. If you\n"
-"    revert to a revision other than the parent of the working\n"
-"    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
-"    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
-"    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
-"    Modified files are saved with a .orig suffix before reverting.\n"
-"    To disable these backups, use --no-backup.\n"
-"    "
-msgstr ""
-"ripristina file singoli o directory ad uno stato precedente\n"
-"\n"
-"    (usare update -r per effettuare il checkout di revisioni\n"
-"    precedenti, revert non cambia i genitori della directory di\n"
-"    lavoro)\n"
-"\n"
+"    revision to revert to."
+msgstr ""
 "    Se nessuna revisione viene specificata, i file o directory\n"
 "    specificati vengono riportati al contenuto che avevano nel\n"
 "    genitore della directory di lavoro. Questo ripristina il contenuto\n"
 "    dei file interessati ad uno stato non modificato e annulla\n"
 "    aggiunte, rimozioni, copie e rinomine. Se la directory di lavoro\n"
 "    ha due genitori, è necessario specificare esplicitamente la\n"
-"    revisione a cui tornare.\n"
-"\n"
+"    revisione a cui tornare."
+
+#, fuzzy
+msgid ""
+"    Using the -r/--rev option, revert the given files or directories\n"
+"    to their contents as of a specific revision. This can be helpful\n"
+"    to \"roll back\" some or all of an earlier change. See 'hg help\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
 "    Usando l'opzione -r, riporta i dati file o directory al loro\n"
 "    contenuto ad una specifica revisione. Questo può essere utile per\n"
 "    effettuare il \"roll back\" di alcune o tutte le modifiche\n"
 "    precedenti. Vedere 'hg help dates' per un elenco dei formati\n"
-"    validi per -d/--date.\n"
-"\n"
+"    validi per -d/--date."
+
+#, fuzzy
+msgid ""
+"    Revert modifies the working directory. It does not commit any\n"
+"    changes, or change the parent of the working directory. If you\n"
+"    revert to a revision other than the parent of the working\n"
+"    directory, the reverted files will thus appear modified\n"
+"    afterwards."
+msgstr ""
 "    Revert modifica la directory di lavoro. Non effettua il commit di\n"
 "    alcuna modifica, nè cambia i genitori della directory di lavoro Se\n"
 "    si effettua il revert ad una revisione differente di quella del\n"
 "    genitore della directory di lavoro, i file interessati in seguito\n"
-"    appariranno quindi modificati.\n"
-"\n"
+"    appariranno quindi modificati."
+
+#, fuzzy
+msgid ""
+"    If a file has been deleted, it is restored. If the executable mode\n"
+"    of a file was changed, it is reset."
+msgstr ""
 "    Se un file è stato cancellato viene ripristinato. Se è stato\n"
-"    modificato il flag di esecuzione di file, questo viene resettato.\n"
-"\n"
+"    modificato il flag di esecuzione di file, questo viene resettato."
+
+#, fuzzy
+msgid ""
+"    If names are given, all files matching the names are reverted.\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
 "    Se vengono forniti nomi, tutti i file corrispondenti ai nomi\n"
 "    vengono ripristinati. Se non vengono forniti argomenti nessun file\n"
-"    viene ripristinato.\n"
-"\n"
+"    viene ripristinato."
+
+#, fuzzy
+msgid ""
+"    Modified files are saved with a .orig suffix before reverting.\n"
+"    To disable these backups, use --no-backup.\n"
+"    "
+msgstr ""
 "    I file modificati vengono salvati con un suffisso .orig prima di\n"
 "    essere ripristinati. Per disabilitare questi backup, usare\n"
 "    --no-backup.\n"
@@ -6503,9 +7474,7 @@
 msgstr "non è possibile specificare sia una revisione sia una data"
 
 msgid "no files or directories specified; use --all to revert the whole repo"
-msgstr ""
-"nessun file o directory specificati; usare --all per ripristinare l'intero "
-"repository"
+msgstr "nessun file o directory specificati; usare --all per ripristinare l'intero repository"
 
 #, python-format
 msgid "forgetting %s\n"
@@ -6532,26 +7501,51 @@
 msgstr "nessuna modifica richiesta per %s\n"
 
 #, fuzzy
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr "effettua il rollback dell'ultima transazione"
+
+#, fuzzy
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+"    Questo comando dovrebbe essere usato con cautela. Esiste un solo\n"
+"    livello di rollback e non c'è modo di annullare un rollback.\n"
+"    Ripristinerà anche il dirstate al tempo dell'ultima transazione,\n"
+"    perdendo qualunque modifica ad esso da quel momento in poi."
+
+#, fuzzy
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back::\n"
-"\n"
+"    and their effects can be rolled back::"
+msgstr ""
+"    Le transazioni sono usate per incapsulare gli effetti di tutti i\n"
+"    comandi che creano nuovi changeset o propagano changeset esistenti\n"
+"    in un altro repository. Ad esempio, i seguenti comandi sono\n"
+"    transazionali ed è possibile effettuare il rollback dei loro\n"
+"    effetti:"
+
+#, fuzzy
+msgid ""
 "      commit\n"
 "      import\n"
 "      pull\n"
 "      push (with this repository as destination)\n"
-"      unbundle\n"
-"\n"
+"      unbundle"
+msgstr ""
+"      commit\n"
+"      import\n"
+"      pull\n"
+"      push (con questo repository come destinazione)\n"
+"      unbundle"
+
+#, fuzzy
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -6560,25 +7554,6 @@
 "    may fail if a rollback is performed.\n"
 "    "
 msgstr ""
-"effettua il rollback dell'ultima transazione\n"
-"\n"
-"    Questo comando dovrebbe essere usato con cautela. Esiste un solo\n"
-"    livello di rollback e non c'è modo di annullare un rollback.\n"
-"    Ripristinerà anche il dirstate al tempo dell'ultima transazione,\n"
-"    perdendo qualunque modifica ad esso da quel momento in poi.\n"
-"\n"
-"    Le transazioni sono usate per incapsulare gli effetti di tutti i\n"
-"    comandi che creano nuovi changeset o propagano changeset esistenti\n"
-"    in un altro repository. Ad esempio, i seguenti comandi sono\n"
-"    transazionali ed è possibile effettuare il rollback dei loro\n"
-"    effetti:\n"
-"\n"
-"      commit\n"
-"      import\n"
-"      pull\n"
-"      push (con questo repository come destinazione)\n"
-"      unbundle\n"
-"\n"
 "    L'uso di questo comando non è inteso per repository pubblici. Una\n"
 "    volta che le modifiche sono visibili per il pull da parte di altri\n"
 "    utenti, effettuare il rollback locale di una transazione non ha\n"
@@ -6589,32 +7564,32 @@
 "    "
 
 #, fuzzy
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr "stampa la radice (top) della directory di lavoro corrente"
+
+#, fuzzy
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
-"stampa la radice (top) della directory di lavoro corrente\n"
-"\n"
 "    Stampa la directory radice del repository corrente.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
+msgid "export the repository via HTTP"
+msgstr "esporta il repository via HTTP"
+
+#, fuzzy
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr "    Avvia un server HTTP locale per il pull e la navigazione."
+
+#, fuzzy
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
 "    files.\n"
 "    "
 msgstr ""
-"esporta il repository via HTTP\n"
-"\n"
-"    Avvia un server HTTP locale per il pull e la navigazione.\n"
-"\n"
 "    Di default i log del server vengono inviati allo stdout e gli\n"
 "    errori allo stderr. Usare le opzioni \"-A\" e \"-E\" per effettuare il\n"
 "    log su file.\n"
@@ -6624,30 +7599,37 @@
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr "in ascolto su http://%s%s/%s (limitato a %s:%d)\n"
 
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr ""
+
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    shown."
+msgstr ""
+
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -6659,12 +7641,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr ""
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
@@ -6759,49 +7744,46 @@
 msgstr "remoto: "
 
 #, fuzzy
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr "aggiunge una o più tag per la revisione corrente o data"
+
+#, fuzzy
+msgid "    Name a particular revision using <name>."
+msgstr "    Nomina una revisione particolare usando <nome>."
+
+#, fuzzy
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+"    Le tag sono usate per dare un nome a revisioni particolari del\n"
+"    repository e sono molto utili per confrontare revisioni\n"
+"    differenti, per tornare indietro a versioni precedenti\n"
+"    significative o per marcare punti di branch come release, ecc."
+
+#, fuzzy
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+"    Se nessuna revisione viene fornita, viene usato il genitore della\n"
+"    directory di lavoro, o tip se non si è effettuato il check out di\n"
+"    nessuna revisione."
+
+#, fuzzy
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"aggiunge una o più tag per la revisione corrente o data\n"
-"\n"
-"    Nomina una revisione particolare usando <nome>.\n"
-"\n"
-"    Le tag sono usate per dare un nome a revisioni particolari del\n"
-"    repository e sono molto utili per confrontare revisioni\n"
-"    differenti, per tornare indietro a versioni precedenti\n"
-"    significative o per marcare punti di branch come release, ecc.\n"
-"\n"
-"    Se nessuna revisione viene fornita, viene usato il genitore della\n"
-"    directory di lavoro, o tip se non si è effettuato il check out di\n"
-"    nessuna revisione.\n"
-"\n"
+"    shared among repositories)."
+msgstr ""
 "    Per facilitare il controllo di versione, la distribuzione e il\n"
 "    merge di tag, sono memorizzate come file chiamato \".hgtags\" che è\n"
 "    gestito analogamente ad altri file del progetto e può essere\n"
 "    modificato manualmente se necessario. Il file '.hg/localtags' è\n"
-"    usato per le tag locali (non condivise tra repository).\n"
-"\n"
-"    Vedere 'hg help dates' per un elenco di formati validi per\n"
-"    -d/--date.\n"
-"    "
+"    usato per le tag locali (non condivise tra repository)."
 
 msgid "tag names must be unique"
 msgstr "i nomi delle tag devono essere univoci"
@@ -6830,40 +7812,41 @@
 msgstr "la tag '%s' esiste già (usare -f per forzare)"
 
 #, fuzzy
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr "elenca le tag del repository"
+
+#, fuzzy
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
-"elenca le tag del repository\n"
-"\n"
-"    Questo elenca sia le tag regolari sia le tag locali. Quando viene usata "
-"l'opzione -v/--verbose\n"
+"    Questo elenca sia le tag regolari sia le tag locali. Quando viene usata l'opzione -v/--verbose\n"
 "    una terza colonna \"local\" viene stampata per le tag locali.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr "mostra la revisione tip"
+
+#, fuzzy
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+"    La revisione tip (di solito chiamata solo tip) è il più recente\n"
+"    changeset aggiunto al repository, l'head modificata più\n"
+"    recentemente."
+
+#, fuzzy
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
 "    and cannot be renamed or assigned to a different changeset.\n"
 "    "
 msgstr ""
-"mostra la revisione tip\n"
-"\n"
-"    La revisione tip (di solito chiamata solo tip) è il più recente\n"
-"    changeset aggiunto al repository, l'head modificata più\n"
-"    recentemente.\n"
-"\n"
 "    Se si ha fatto solo un commit, quel commit sarà il tip. Se si ha\n"
 "    appena fatto il pull di modifiche da un altro repository, il tip\n"
 "    di quel repository diventa il tip corrente. La tag \"tip\" tag è\n"
@@ -6871,82 +7854,83 @@
 "    differente.\n"
 "    "
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr "applica uno o più file changegroup"
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
-"applica uno o più file changegroup\n"
-"\n"
 "    Applica uno o più file changegroup compressi generati dal\n"
 "    comando bundle.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr "aggiorna la directory di lavoro"
+
+#, fuzzy
+msgid ""
 "    Update the repository's working directory to the specified\n"
 "    revision, or the tip of the current branch if none is specified.\n"
 "    Use null as the revision to remove the working copy (like 'hg\n"
-"    clone -U').\n"
-"\n"
+"    clone -U')."
+msgstr ""
+"    Aggiorna la directory di lavoro del repository ad una revisione\n"
+"    specifica, o al tip della branch corrente se nessuna è stata\n"
+"    specificata. Usare null come revisione per rimuovere la copia di\n"
+"    lavoro (come 'hg clone -U')."
+
+#, fuzzy
+msgid ""
 "    When the working directory contains no uncommitted changes, it\n"
 "    will be replaced by the state of the requested revision from the\n"
 "    repository. When the requested revision is on a different branch,\n"
 "    the working directory will additionally be switched to that\n"
-"    branch.\n"
-"\n"
+"    branch."
+msgstr ""
+"    Quando la directory di lavoro non contiene modifiche di cui non si\n"
+"    è eseguito il commit, sarà rimpiazzata dallo stato della revisione\n"
+"    richiesta dal repository. Quando la revisione richiesta è su una\n"
+"    branch differente, la directory di lavoro verrà inoltre spostata\n"
+"    su quella branch."
+
+#, fuzzy
+msgid ""
 "    When there are uncommitted changes, use option -C/--clean to\n"
 "    discard them, forcibly replacing the state of the working\n"
 "    directory with the requested revision. Alternately, use -c/--check\n"
-"    to abort.\n"
-"\n"
+"    to abort."
+msgstr ""
+"    Quandi ci sono modifiche di cui non si è eseguito il commit, usare\n"
+"    l'opzione -C per scartarle, forzando la sostituzione dello stato\n"
+"    della directory di lavoro con la revisione richiesta."
+
+#, fuzzy
+msgid ""
 "    When there are uncommitted changes and option -C/--clean is not\n"
 "    used, and the parent revision and requested revision are on the\n"
 "    same branch, and one of them is an ancestor of the other, then the\n"
 "    new working directory will contain the requested revision merged\n"
 "    with the uncommitted changes. Otherwise, the update will fail with\n"
-"    a suggestion to use 'merge' or 'update -C' instead.\n"
-"\n"
-"    If you want to update just one file to an older revision, use\n"
-"    revert.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"aggiorna la directory di lavoro\n"
-"\n"
-"    Aggiorna la directory di lavoro del repository ad una revisione\n"
-"    specifica, o al tip della branch corrente se nessuna è stata\n"
-"    specificata. Usare null come revisione per rimuovere la copia di\n"
-"    lavoro (come 'hg clone -U').\n"
-"\n"
-"    Quando la directory di lavoro non contiene modifiche di cui non si\n"
-"    è eseguito il commit, sarà rimpiazzata dallo stato della revisione\n"
-"    richiesta dal repository. Quando la revisione richiesta è su una\n"
-"    branch differente, la directory di lavoro verrà inoltre spostata\n"
-"    su quella branch.\n"
-"\n"
-"    Quandi ci sono modifiche di cui non si è eseguito il commit, usare\n"
-"    l'opzione -C per scartarle, forzando la sostituzione dello stato\n"
-"    della directory di lavoro con la revisione richiesta.\n"
-"\n"
+"    a suggestion to use 'merge' or 'update -C' instead."
+msgstr ""
 "    Quando ci sono modifiche di cui non si è eseguito il commit,\n"
 "    l'opzione -C non è usata, la revisione del genitore e di quella\n"
 "    richiesta sono sulla stessa branch e una di queste è un antenato\n"
 "    dell'altro, allora la nuova directory di lavoro conterrà la\n"
 "    revisione richiesta unita con le modifiche non salvate. Altrimenti\n"
 "    l'aggiornamento fallirà con un suggerimento di usare invece\n"
-"    'merge' o 'update -C'.\n"
-"\n"
+"    'merge' o 'update -C'."
+
+#, fuzzy
+msgid ""
+"    If you want to update just one file to an older revision, use\n"
+"    revert."
+msgstr ""
 "    Se si desidera aggiornare solo un file ad una revisione più\n"
-"    vecchia, usare revert.\n"
-"\n"
-"    Vedere 'hg help dates' per un elenco di formati validi per --date.\n"
-"    "
+"    vecchia, usare revert."
 
 #, fuzzy
 msgid "cannot specify both -c/--check and -C/--clean"
@@ -6956,21 +7940,19 @@
 msgid "uncommitted local changes"
 msgstr "sovrascrivi ogni modifica locale"
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr "verifica l'integrità del repository"
+
+msgid "    Verify the integrity of the current repository."
+msgstr "    Verifica l'integrità del repository corrente."
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
 "    integrity of their crosslinks and indices.\n"
 "    "
 msgstr ""
-"verifica l'integrità del repository\n"
-"\n"
-"    Verifica l'integrità del repository corrente.\n"
-"\n"
 "    Questo comando eseguirà un controllo estensivo dell'integrità del\n"
 "    repository validando gli hash e i checksum di ogni voce nel\n"
 "    changelog, manifesto, e file tracciati, così come l'integrità dei\n"
@@ -7188,8 +8170,7 @@
 msgstr "[-fC] [NOME]"
 
 msgid "show only branches that have unmerged heads"
-msgstr ""
-"mostra solo le branch che hanno head di cui non si è effettuato il merge"
+msgstr "mostra solo le branch che hanno head di cui non si è effettuato il merge"
 
 msgid "show normal and closed branches"
 msgstr ""
@@ -7237,8 +8218,7 @@
 msgstr "[OPZIONI]... SORGENTE [DEST]"
 
 msgid "mark new/missing files as added/removed before committing"
-msgstr ""
-"marca file nuovi/mancanti come aggiunti/rimossi prima di effettuare il commit"
+msgstr "marca file nuovi/mancanti come aggiunti/rimossi prima di effettuare il commit"
 
 msgid "mark a branch as closed, hiding it from the branch list"
 msgstr "marca una branch come chiusa, nascondendola dall'elenco delle branch"
@@ -7320,9 +8300,7 @@
 msgstr "stampa tutte le revisioni che corrispondono"
 
 msgid "follow changeset history, or file history across copies and renames"
-msgstr ""
-"segue la storia del changeset, o la storia del file attraverso copie e "
-"rinomine"
+msgstr "segue la storia del changeset, o la storia del file attraverso copie e rinomine"
 
 msgid "ignore case when matching"
 msgstr "ignora il case quando si cercano corrispondenze"
@@ -7378,9 +8356,7 @@
 msgstr "[-nibt] [-r REV] [SORGENTE]"
 
 #, fuzzy
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
 msgstr ""
 "opzione di rimozione della directory per patch. Questa ha lo stesso\n"
 "significato dell'opzione corrispondente di patch"
@@ -7389,8 +8365,7 @@
 msgstr "percorso base"
 
 msgid "skip check for outstanding uncommitted changes"
-msgstr ""
-"salta il controllo di modifiche pendenti di cui non si è effettuato il commit"
+msgstr "salta il controllo di modifiche pendenti di cui non si è effettuato il commit"
 
 msgid "don't commit, just update the working directory"
 msgstr "non effettuare il commit, aggiorna solo la directory di lavoro"
@@ -7400,8 +8375,7 @@
 
 #, fuzzy
 msgid "use any branch information in patch (implied by --exact)"
-msgstr ""
-"Usa qualunque informazione sulla branch nella patch (implicato da --exact)"
+msgstr "Usa qualunque informazione sulla branch nella patch (implicato da --exact)"
 
 msgid "[OPTION]... PATCH..."
 msgstr "[OPZIONI]... PATCH..."
@@ -7662,8 +8636,7 @@
 
 #, fuzzy
 msgid "check for uncommitted changes"
-msgstr ""
-"salta il controllo di modifiche pendenti di cui non si è effettuato il commit"
+msgstr "salta il controllo di modifiche pendenti di cui non si è effettuato il commit"
 
 msgid "[-C] [-d DATE] [[-r] REV]"
 msgstr "[-C] [-d DATA] [[-r] REV]"
@@ -7849,9 +8822,7 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr "Non si può abbreviare l'opzione --cwd!"
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
 msgstr ""
 
 #, python-format
@@ -7869,9 +8840,7 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr ""
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
 msgstr ""
 
 #, python-format
@@ -8000,9 +8969,7 @@
 msgid "destination '%s' is not empty"
 msgstr "la destinazione %s non è una directory"
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
 msgstr ""
 
 msgid "clone from remote to remote not supported"
@@ -8013,17 +8980,14 @@
 msgstr "sto aggiornando la cache delle branch\n"
 
 #, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
 msgstr ""
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr "usa 'hg resolve' per riprovare i merge sui file non risolti\n"
 
 #, fuzzy
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
 msgstr ""
 "usa 'hg resolve' per riprovare i merge sui file non risolti o\n"
 "'hg up --clean' per abbandonare\n"
@@ -8177,9 +9141,7 @@
 msgstr ""
 
 msgid "working copy of .hgtags is changed (please commit .hgtags manually)"
-msgstr ""
-"la copia di lavoro di .hgtags è cambiata (si prega di effettuare il commit "
-"manuale di .hgtags)"
+msgstr "la copia di lavoro di .hgtags è cambiata (si prega di effettuare il commit manuale di .hgtags)"
 
 #, fuzzy, python-format
 msgid "working directory has unknown parent '%s'!"
@@ -8261,8 +9223,7 @@
 
 #, python-format
 msgid "%s not added: only files and symlinks supported currently\n"
-msgstr ""
-"%s non aggiunto: attualmente solo file e link simbolici sono supportati\n"
+msgstr "%s non aggiunto: attualmente solo file e link simbolici sono supportati\n"
 
 #, python-format
 msgid "%s already tracked!\n"
@@ -8303,9 +9264,7 @@
 msgid "requesting all changes\n"
 msgstr "sto richiedendo tutte le modifiche\n"
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
 msgstr ""
 
 #, fuzzy, python-format
@@ -8316,8 +9275,7 @@
 msgstr "abortito: push crea nuove head remote!\n"
 
 msgid "(did you forget to merge? use push -f to force)\n"
-msgstr ""
-"(ti sei dimenticato di effettuare il merge? usare push -f per forzare)\n"
+msgstr "(ti sei dimenticato di effettuare il merge? usare push -f per forzare)\n"
 
 msgid "note: unsynced remote changes!\n"
 msgstr "nota: modifiche remote non sincronizzate!\n"
@@ -8425,9 +9383,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr ""
 
 #, python-format
@@ -8498,8 +9454,7 @@
 msgstr "impossibile fare merge con un antenato"
 
 msgid "nothing to merge (use 'hg update' or check 'hg heads')"
-msgstr ""
-"niente di cui effettuare il merge (usare 'hg update' ocontrollare 'hg heads')"
+msgstr "niente di cui effettuare il merge (usare 'hg update' ocontrollare 'hg heads')"
 
 #, fuzzy
 msgid "outstanding uncommitted changes (use 'hg status' to list changes)"
@@ -9001,8 +9956,7 @@
 msgstr "sto leggendo il delta del manifesto %s"
 
 msgid "crosschecking files in changesets and manifests\n"
-msgstr ""
-"sto facendo un controllo incrociato sui file nei changeset e nei manifesti\n"
+msgstr "sto facendo un controllo incrociato sui file nei changeset e nei manifesti\n"
 
 #, python-format
 msgid "changeset refers to unknown manifest %s"
@@ -9081,5 +10035,4 @@
 msgstr "(il primo changeset danneggiato sembra essere %d)\n"
 
 msgid "user name not available - set USERNAME environment variable"
-msgstr ""
-"nome utente non disponibile - impostare la variabile d'ambiente USERNAME"
+msgstr "nome utente non disponibile - impostare la variabile d'ambiente USERNAME"
--- a/i18n/ja.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/ja.po	Mon Jun 21 13:41:11 2010 -0500
@@ -1,13 +1,13 @@
 # Japanese translation for Mercurial
 # Mercurial 日本語翻訳
-#
+# 
 # Copyright (C) 2009-2010 the Mercurial team
-#
+# 
 # ========================================
 # ã€ç¿»è¨³ç”¨èªžé›†ã€‘
-#
+# 
 # 言ã„回ã—:
-#
+# 
 # no XXXX avairable     XXXX ãŒã‚ã‚Šã¾ã›ã‚“
 # XXXX found            XXXX ãŒå­˜åœ¨ã—ã¾ã™
 # XXXX exists           XXXX ãŒå­˜åœ¨ã—ã¾ã™
@@ -22,11 +22,11 @@
 # option --XXXX         --XXXX ※ 「オプションã€ã§ã‚ã‚‹ã“ã¨ãŒè‡ªæ˜Žãªã®ã§
 # invalid XXXX          XXXX ãŒä¸æ­£ã§ã™ or ä¸æ­£ãª XXXX
 # malformed XXXX        XXXX ãŒä¸æ­£ã§ã™ or ä¸æ­£ãª XXXX
-#
+# 
 # å˜èªž:
-#
+# 
 # Distributed SCM       分散構æˆç®¡ç†ãƒ„ール
-#
+# 
 # abort                 中断
 # add                   (構æˆç®¡ç†ã¸ã®)追加登録
 # apply                 é©ç”¨
@@ -43,7 +43,7 @@
 # changeset             ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆ
 # changeset hash        ãƒãƒƒã‚·ãƒ¥å€¤
 # changeset header      ヘッダ情報
-# checkout/update       (作業領域ã®)æ›´æ–°              
+# checkout/update       (作業領域ã®)æ›´æ–°
 # close(of branch)      閉鎖
 # command(, this)       (本)コマンド
 # commit                コミット
@@ -94,7 +94,7 @@
 # working copy(of xxx)  作業領域(中㮠xxx)
 # working directory     作業領域
 # ========================================
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
@@ -106,8 +106,8 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 "Generated-By: pygettext.py 1.5\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
 
 #, python-format
 msgid " (default: %s)"
@@ -119,62 +119,72 @@
 msgid "Commands"
 msgstr "コマンド"
 
-msgid ""
-"    options:\n"
-"\n"
-msgstr ""
-"    オプション:\n"
-"\n"
-
-#, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    別å: %s\n"
-"\n"
-
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "    options:"
+msgstr "    オプション:"
+
+#, python-format
+msgid "    aliases: %s"
+msgstr "    別å: %s"
+
+msgid "hooks for controlling repository access"
+msgstr ""
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
@@ -190,38 +200,47 @@
 msgid "acl: access denied for changeset %s"
 msgstr "acl: ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆ %s ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯æ‹’å¦ã•ã‚Œã¾ã—ãŸ"
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr ""
+
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
@@ -265,117 +284,171 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+
+msgid ""
 "The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
-"\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+
+msgid ""
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
-"\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+
+msgid ""
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
-"\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "password\n"
-"  Password to use to access MySQL server.\n"
-"\n"
+"  Password to use to access MySQL server."
+msgstr ""
+
+msgid ""
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
-"\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+
+msgid ""
 "version\n"
 "  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
 "  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
-"\n"
+"  to 2.18."
+msgstr ""
+
+msgid ""
 "bzuser\n"
 "  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
-"\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+
+msgid ""
 "bzdir\n"
 "   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
-"\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+
+msgid ""
 "notify\n"
 "  The command to run to get Bugzilla to send bug change notification\n"
 "  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
 "  and 'user' (committer bugzilla email). Default depends on version;\n"
 "  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
-"\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+
+msgid ""
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
 "  Must contain one \"()\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
-"\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+
+msgid ""
 "style\n"
-"  The style file to use when formatting comments.\n"
-"\n"
+"  The style file to use when formatting comments."
+msgstr ""
+
+msgid ""
 "template\n"
 "  Template to use when formatting comments. Overrides style if\n"
 "  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
+"  extension specifies::"
+msgstr ""
+
+msgid ""
 "    {bug}       The Bugzilla bug ID.\n"
 "    {root}      The full pathname of the Mercurial repository.\n"
 "    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+
+msgid ""
 "  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+
+msgid ""
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
-"\n"
+"  {webroot}. Default 0."
+msgstr ""
+
+msgid ""
 "usermap\n"
 "  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
 "  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+
+msgid ""
 "The [usermap] section is used to specify mappings of Mercurial\n"
 "committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
-"\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+
+msgid ""
 "baseurl\n"
 "  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
-"\n"
+"  templates as {hgweb}."
+msgstr ""
+
+msgid "Activating the extension::"
+msgstr ""
+
+msgid ""
 "    [extensions]\n"
-"    bugzilla =\n"
-"\n"
+"    bugzilla ="
+msgstr ""
+
+msgid ""
 "    [hooks]\n"
 "    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+
+msgid "Example configuration:"
+msgstr ""
+
+msgid ""
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
-"\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+
+msgid ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -385,20 +458,28 @@
 "    template=Changeset {node|short} in {root|basename}.\n"
 "             {hgweb}/{webroot}/rev/{node|short}\\n\n"
 "             {desc}\\n\n"
-"    strip=5\n"
-"\n"
+"    strip=5"
+msgstr ""
+
+msgid ""
 "    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+
+msgid ""
 "    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+
+msgid ""
 "    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+
+msgid "    Changeset commit comment. Bug 1234.\n"
 msgstr ""
 
 #, python-format
@@ -478,9 +559,10 @@
 msgid "command to display child changesets"
 msgstr "å­ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆè¡¨ç¤ºã®ã‚³ãƒžãƒ³ãƒ‰"
 
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr "指定リビジョンã®å­ãƒªãƒ“ジョンã®è¡¨ç¤º"
+
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -488,8 +570,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"指定リビジョンã®å­ãƒªãƒ“ジョンã®è¡¨ç¤º\n"
-"\n"
 "    作業領域ã®å­ãƒªãƒ“ジョンを表示ã—ã¾ã™ã€‚-r/--rev ã«ã‚ˆã‚‹ãƒªãƒ“ジョン指定ãŒ\n"
 "    ã‚ã‚‹å ´åˆã¯ã€æŒ‡å®šãƒªãƒ“ジョンã®å­ãƒªãƒ“ジョンを表示ã—ã¾ã™ã€‚引数ã¨ã—ã¦\n"
 "    ファイルãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãƒ•ã‚¡ã‚¤ãƒ«ãŒ(作業領域ã®ãƒªãƒ“ジョンãªã„ã—\n"
@@ -514,72 +594,76 @@
 msgid "generating stats: %d%%"
 msgstr "統計作業中: %d%%"
 
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "histogram of changes to the repository"
+msgstr "リãƒã‚¸ãƒˆãƒªã«ãŠã‘る変更ã®çµ±è¨ˆåˆ†å¸ƒè¡¨ç¤º"
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
-"    Statistics are based on the number of changed lines, or\n"
-"    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
-"      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
-"      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
-"      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
-"      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
-"    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
-"    Such a file may be specified with the --aliases option, otherwise\n"
-"    a .hgchurn file will be looked for in the working directory root.\n"
-"    "
-msgstr ""
-"リãƒã‚¸ãƒˆãƒªã«ãŠã‘る変更ã®çµ±è¨ˆåˆ†å¸ƒè¡¨ç¤º\n"
-"\n"
+"    date instead."
+msgstr ""
 "    本コマンドã¯ã€å¤‰æ›´è¡Œæ•°ãªã„ã—リビジョン数ã®åº¦æ•°åˆ†å¸ƒã‚’ã€ãƒ†ãƒ³ãƒ—レート\n"
 "    指定ã«ã‚ˆã£ã¦ã‚°ãƒ«ãƒ¼ãƒ—化ã—ã¦ã‚°ãƒ©ãƒ•è¡¨ç¤ºã—ã¾ã™ã€‚\n"
 "    特ã«æŒ‡å®šã®ç„¡ã„å ´åˆã€ãƒªãƒ“ジョン作æˆè€…毎ã«å¤‰æ›´è¡Œæ•°ã‚’グループ化ã—ã¾ã™ã€‚\n"
-"    --dateformat ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€åº¦æ•°åˆ†å¸ƒã¯æ—¥æ™‚ã§ã‚°ãƒ«ãƒ¼ãƒ—化ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    --dateformat ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€åº¦æ•°åˆ†å¸ƒã¯æ—¥æ™‚ã§ã‚°ãƒ«ãƒ¼ãƒ—化ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    Statistics are based on the number of changed lines, or\n"
+"    alternatively the number of matching revisions if the\n"
+"    --changesets option is specified."
+msgstr ""
 "    特ã«æŒ‡å®šã®ç„¡ã„å ´åˆã€åº¦æ•°åˆ†å¸ƒã®çµ±è¨ˆå¯¾è±¡ã¯å¤‰æ›´è¡Œæ•°ã¨ãªã‚Šã¾ã™ãŒã€\n"
 "    --changesets ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€å¯¾è±¡ãƒªãƒ“ジョンã®æ•°ãŒçµ±è¨ˆå¯¾è±¡ã¨\n"
-"    ãªã‚Šã¾ã™ã€‚\n"
-"\n"
-"    例::\n"
-"\n"
+"    ãªã‚Šã¾ã™ã€‚"
+
+msgid "    Examples::"
+msgstr "    例::"
+
+msgid ""
+"      # display count of changed lines for every committer\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
 "      # ユーザ毎ã®å¤‰æ›´è¡Œæ•°ã®è¡¨ç¤º\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+
+msgid ""
+"      # display daily activity graph\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
 "      # 日毎ã®æ´»ç™ºåº¦(コミット実施数)を表示\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+
+msgid ""
+"      # display activity of developers by month\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
 "      # 月毎ã®æ´»ç™ºåº¦ã‚’表示\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+
+msgid ""
+"      # display count of lines changed in every year\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
 "      # 年毎ã®å¤‰æ›´è¡Œæ•°ã‚’表示\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+
+msgid ""
+"    It is possible to map alternate email addresses to a main address\n"
+"    by providing a file using the following format::"
+msgstr ""
 "    以下ã®å½¢å¼ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã™ã‚‹ã“ã¨ã§ã€ãƒªãƒ“ジョンã«è¨˜éŒ²ã•ã‚ŒãŸé›»å­\n"
-"    メールアドレスを別ã®ã‚‚ã®ã«å¤‰æ›ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™::\n"
-"\n"
-"      <別å> <実å>\n"
-"\n"
+"    メールアドレスを別ã®ã‚‚ã®ã«å¤‰æ›ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™::"
+
+msgid "      <alias email> <actual email>"
+msgstr "      <別å> <実å>"
+
+msgid ""
+"    Such a file may be specified with the --aliases option, otherwise\n"
+"    a .hgchurn file will be looked for in the working directory root.\n"
+"    "
+msgstr ""
 "    上記形å¼ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€--aliases ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯æŒ‡å®šã•ã‚ŒãŸ\n"
 "    ファイルãŒèª­ã¿è¾¼ã¾ã‚Œã¾ã™ãŒã€ç‰¹ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€ãƒªãƒã‚¸ãƒˆãƒªã®ãƒ«ãƒ¼ãƒˆ\n"
 "    直下ã«ã‚ã‚‹ .hgchurn ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚‚ã†ã¨ã—ã¾ã™ã€‚\n"
@@ -615,39 +699,50 @@
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 msgstr "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 
-msgid ""
-"colorize output from some commands\n"
-"\n"
-"This extension modifies the status and resolve commands to add color to "
-"their\n"
+msgid "colorize output from some commands"
+msgstr ""
+
+msgid ""
+"This extension modifies the status and resolve commands to add color to their\n"
 "output to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -656,12 +751,15 @@
 "  diff.deleted = red\n"
 "  diff.inserted = green\n"
 "  diff.changed = white\n"
-"  diff.trailingwhitespace = bold red_background\n"
-"\n"
+"  diff.trailingwhitespace = bold red_background"
+msgstr ""
+
+msgid ""
 "  resolve.unresolved = red bold\n"
-"  resolve.resolved = green bold\n"
-"\n"
-"  bookmarks.current = green\n"
+"  resolve.resolved = green bold"
+msgstr ""
+
+msgid "  bookmarks.current = green\n"
 msgstr ""
 
 msgid "when to colorize (always, auto, or never)"
@@ -677,11 +775,13 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr "ä»–ã®æ§‹æˆç®¡ç†ãƒ„ールã‹ã‚‰ Mercurial ã¸ã®å±¥æ­´å–ã‚Šè¾¼ã¿"
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -690,72 +790,103 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
+"    - Perforce [p4]"
+msgstr ""
+
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+
+msgid "      <source ID> <destination ID>"
+msgstr ""
+
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+
+msgid "      include path/to/file"
+msgstr ""
+
+msgid "      exclude path/to/file"
+msgstr ""
+
+msgid "      rename from/file to/file"
+msgstr ""
+
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -768,8 +899,10 @@
 "    should be used as the new parents for that node. For example, if\n"
 "    you have merged \"release-1.0\" into \"trunk\", then you should\n"
 "    specify the revision on \"trunk\" as the first parent and the one on\n"
-"    the \"release-1.0\" branch as the second.\n"
-"\n"
+"    the \"release-1.0\" branch as the second."
+msgstr ""
+
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -779,11 +912,15 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -792,11 +929,15 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -805,10 +946,13 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+
+msgid "    The options shown are the defaults."
+msgstr ""
+
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -835,16 +979,22 @@
 "        Specify a Python function to be called after the changesets\n"
 "        are calculated from the the CVS log. The function is passed\n"
 "        a list with the changeset entries, and can modify the changesets\n"
-"        in-place, or add or delete them.\n"
-"\n"
+"        in-place, or add or delete them."
+msgstr ""
+
+msgid ""
 "    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
 "    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
+"    the command help for more details."
+msgstr ""
+
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -854,68 +1004,87 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+
+msgid "    "
+msgstr ""
+
+msgid "create changeset information from CVS"
+msgstr "CVS ã‹ã‚‰ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆæƒ…報作æˆ"
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+"    本コマンドã®ä½ç½®ä»˜ã‘ã¯ã€CVS ã‹ã‚‰ Mercurial ã¸ã®å¤‰æ›ã«ãŠã‘るデãƒãƒƒã‚°\n"
+"    ツールã§ã‚ã‚Šã€cvsps ã®ä»£æ›¿ãƒ„ールã¨ã—ã¦ä½¿ç”¨å¯èƒ½ã§ã™ã€‚"
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
 "    dates."
 msgstr ""
-"CVS ã‹ã‚‰ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆæƒ…報作æˆ\n"
-"\n"
-"    本コマンドã®ä½ç½®ä»˜ã‘ã¯ã€CVS ã‹ã‚‰ Mercurial ã¸ã®å¤‰æ›ã«ãŠã‘るデãƒãƒƒã‚°\n"
-"    ツールã§ã‚ã‚Šã€cvsps ã®ä»£æ›¿ãƒ„ールã¨ã—ã¦ä½¿ç”¨å¯èƒ½ã§ã™ã€‚\n"
-"\n"
 "    本コマンドã¯ã€ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª(ãªã„ã—指定ディレクトリ)中㮠CVS rlog ã‚’\n"
 "    読ã¿è¾¼ã¿ã€ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã®å†…容ã¨æ—¥ä»˜ã‚’å…ƒã«æŽ¨æ¸¬ã•ã‚Œã‚‹ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¸ã¨\n"
 "    変æ›ã—ã¾ã™ã€‚"
@@ -986,9 +1155,7 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr "hg debugcvsps [OPTION]... [PATH]..."
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
 msgstr "警告: 簡易ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆã¯å¤±æ•—è¦å› ã¨ãªã‚‹ãŸã‚通常ブランãƒã‚’使ã„ã¾ã™\n"
 
 msgid "bzr source type could not be determined\n"
@@ -1108,8 +1275,7 @@
 msgstr "CVS pserver ã®èªè¨¼ã«å¤±æ•—"
 
 #, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
 msgstr "CVS サーãƒã®äºˆæœŸã›ã¬å¿œç­”(期待値 \"Valid-requests\" ã«å¯¾ã—㦠%r)"
 
 #, python-format
@@ -1217,8 +1383,7 @@
 msgstr "ツリーãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s ã®è§£æžä¸­...\n"
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr "未登録アーカイブ %s ã®å‚ç…§ã«ã‚ˆã‚Šãƒ„リー解æžã‚’中断...\n"
 
 #, python-format
@@ -1268,12 +1433,8 @@
 msgid "Mercurial failed to run itself, check hg executable is in PATH"
 msgstr "Mercurial 自身ã®å®Ÿè¡Œã«å¤±æ•—。PATH 設定㨠hg コマンドを確èªã—ã¦ãã ã•ã„"
 
-msgid ""
-"svn: cannot probe remote repository, assume it could be a subversion "
-"repository. Use --source-type if you know better.\n"
-msgstr ""
-"svn: subversion ã®é éš”リãƒã‚¸ãƒˆãƒªã®ç¢ºèªã«å¤±æ•—ã—ã¾ã—ãŸã€‚--source-type ã®ä½¿ç”¨ã‚’"
-"検討ã—ã¦ãã ã•ã„。\n"
+msgid "svn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better.\n"
+msgstr "svn: subversion ã®é éš”リãƒã‚¸ãƒˆãƒªã®ç¢ºèªã«å¤±æ•—ã—ã¾ã—ãŸã€‚--source-type ã®ä½¿ç”¨ã‚’検討ã—ã¦ãã ã•ã„。\n"
 
 msgid "Subversion python bindings could not be loaded"
 msgstr "Subversion python ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ãŒèª­ã¿è¾¼ã‚ã¾ã›ã‚“"
@@ -1357,37 +1518,50 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr "XXX タグ付ã‘ã¯ã¾ã å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“\n"
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr ""
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
+
+msgid ""
 "  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+msgstr ""
+
+msgid ""
 "  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+msgstr ""
+
+msgid ""
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+
+msgid ""
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
 "diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
@@ -1408,18 +1582,23 @@
 msgid "cleaning up temp directory\n"
 msgstr "一時ディレクトリã®æ•´ç†ã‚’ã—ã¦ã„ã¾ã™\n"
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr ""
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
@@ -1440,17 +1619,13 @@
 msgstr "hg extdiff [OPT]... [FILE]..."
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr ""
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
-"    the %(path)s program.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent."
+"    the %(path)s program."
 msgstr ""
 
 #, python-format
@@ -1460,31 +1635,35 @@
 msgid "pull, update and merge in one command"
 msgstr "pull, update, merge ã®ä¸€æ‹¬å®Ÿè¡Œ"
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
+
+msgid ""
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
 
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
-msgstr ""
-"作業領域ã¯ãƒ–ランムtip ã§ã¯ã‚ã‚Šã¾ã›ã‚“(\"hg update\" ã§ãƒ–ランムtip ã«æ›´æ–°å¯"
-"能)"
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgstr "作業領域ã¯ãƒ–ランムtip ã§ã¯ã‚ã‚Šã¾ã›ã‚“(\"hg update\" ã§ãƒ–ランムtip ã«æ›´æ–°å¯èƒ½)"
 
 msgid "outstanding uncommitted merge"
 msgstr "マージãŒæœªã‚³ãƒŸãƒƒãƒˆã§ã™"
@@ -1495,28 +1674,19 @@
 msgid "working directory is missing some files"
 msgstr "作業領域ã«å­˜åœ¨ã—ãªã„ファイルãŒã‚ã‚Šã¾ã™"
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
-msgstr ""
-"ã“ã®ãƒ–ランãƒã«ã¯è¤‡æ•°ã®ãƒ˜ãƒƒãƒ‰ãŒã‚ã‚Šã¾ã™(\"hg heads .\" 㨠\"hg merge\" ã§ãƒžãƒ¼"
-"ジã—ã¦ãã ã•ã„)"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgstr "ã“ã®ãƒ–ランãƒã«ã¯è¤‡æ•°ã®ãƒ˜ãƒƒãƒ‰ãŒã‚ã‚Šã¾ã™(\"hg heads .\" 㨠\"hg merge\" ã§ãƒžãƒ¼ã‚¸ã—ã¦ãã ã•ã„)"
 
 #, python-format
 msgid "pulling from %s\n"
 msgstr "%s ã‹ã‚‰å–ã‚Šè¾¼ã¿ä¸­\n"
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
 msgstr "連æºå…ˆã§ãƒªãƒ“ジョンãŒç‰¹å®šå‡ºæ¥ãªã„ãŸã‚ã€ãƒªãƒ“ジョンã¯æŒ‡å®šã§ãã¾ã›ã‚“"
 
 #, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
-msgstr ""
-"%d 個ã®æ–°è¦ãƒ–ランãƒãƒ˜ãƒƒãƒ‰ã¨ã¯ãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã›ã‚“(\"hg heads .\" 㨠\"hg merge\" "
-"ã§ãƒžãƒ¼ã‚¸ã—ã¦ãã ã•ã„)\n"
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
+msgstr "%d 個ã®æ–°è¦ãƒ–ランãƒãƒ˜ãƒƒãƒ‰ã¨ã¯ãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã›ã‚“(\"hg heads .\" 㨠\"hg merge\" ã§ãƒžãƒ¼ã‚¸ã—ã¦ãã ã•ã„)\n"
 
 #, python-format
 msgid "updating to %d:%s\n"
@@ -1577,14 +1747,12 @@
 msgid "No valid signature for %s\n"
 msgstr "%s ã®æ­£ã—ã„ç½²åã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    or tip if no revision is checked out."
 msgstr ""
 
 msgid "uncommitted merge - please provide a specific revision"
@@ -1597,12 +1765,8 @@
 msgid "Error while signing"
 msgstr "ç½²å処ç†ã®å¤±æ•—"
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
-msgstr ""
-"作業領域㮠.hgsigs ã¯å¤‰æ›´ã•ã‚Œã¦ã„ã¾ã™(.hgsigs を手動コミットã™ã‚‹ã‹ã€--force "
-"を使用ã—ã¦ãã ã•ã„)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
+msgstr "作業領域㮠.hgsigs ã¯å¤‰æ›´ã•ã‚Œã¦ã„ã¾ã™(.hgsigs を手動コミットã™ã‚‹ã‹ã€--force を使用ã—ã¦ãã ã•ã„)"
 
 msgid "unknown signature version"
 msgstr "未知ã®ç½²åãƒãƒ¼ã‚¸ãƒ§ãƒ³"
@@ -1631,15 +1795,14 @@
 msgid "hg sigs"
 msgstr "hg sigs"
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr "端末ã§ã®ãƒªãƒ“ジョングラフ表示ã®ã‚³ãƒžãƒ³ãƒ‰"
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
 msgstr ""
-"端末ã§ã®ãƒªãƒ“ジョングラフ表示ã®ã‚³ãƒžãƒ³ãƒ‰\n"
-"\n"
 "本エクステンションã¯ã€incoming, outgoing ãŠã‚ˆã³ log コマンド㫠--graph\n"
 "オプションを付与ã—ã¾ã™ã€‚ã“ã®ã‚ªãƒ—ションãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ASCII 文字ã«ã‚ˆã‚‹\n"
 "リビジョングラフãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
@@ -1648,20 +1811,19 @@
 msgid "--graph option is incompatible with --%s"
 msgstr "--graph 㨠--%s ã¯éžäº’æ›ã§ã™"
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr "ASCII 文字ã«ã‚ˆã‚‹ãƒªãƒ“ジョングラフ表示をæŒã¤å±¥æ­´è¡¨ç¤º"
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr "    ASCII 文字ã«ã‚ˆã‚‹ãƒªãƒ“ジョングラフ表示を伴ã£ãŸå¤‰æ›´å±¥æ­´ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
 msgstr ""
-"ASCII 文字ã«ã‚ˆã‚‹ãƒªãƒ“ジョングラフ表示をæŒã¤å±¥æ­´è¡¨ç¤º\n"
-"\n"
-"    ASCII 文字ã«ã‚ˆã‚‹ãƒªãƒ“ジョングラフ表示を伴ã£ãŸå¤‰æ›´å±¥æ­´ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
 "    @ 文字ã§è¡¨ç¤ºã•ã‚Œã‚‹ãƒªãƒ“ジョンã¯ã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンã§ã™ã€‚\n"
 "    "
 
@@ -1687,12 +1849,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr "hg glog [OPTION]... [FILE]"
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -1712,13 +1877,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -1735,32 +1904,45 @@
 msgid "email.from must be defined when sending by email"
 msgstr "é›»å­ãƒ¡ãƒ¼ãƒ«é€ä¿¡ã®ãŸã‚ã«ã¯ email.from ã®å®šç¾©ãŒå¿…è¦ã§ã™"
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -1846,18 +2028,23 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr "hg debug-rev-list [OPTION]... REV..."
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+
+msgid "There is a single configuration option::"
+msgstr ""
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
+"  pygments_style = <style>"
+msgstr ""
+
+msgid "The default is 'colorful'.\n"
 msgstr ""
 
 msgid "accelerate status report using Linux's inotify service"
@@ -1866,14 +2053,13 @@
 msgid "start an inotify server for this repository"
 msgstr "リãƒã‚¸ãƒˆãƒªã«å¯¾ã™ã‚‹ inotify サーãƒã®èµ·å‹•"
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr "inotify エクステンションå‘ã‘デãƒãƒƒã‚°æƒ…å ±"
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
-"inotify エクステンションå‘ã‘デãƒãƒƒã‚°æƒ…å ±\n"
-"\n"
 "    inotify サーãƒã®ç›£è¦–対象ディレクトリを一覧表示ã—ã¾ã™ã€‚\n"
 "    "
 
@@ -2007,11 +2193,8 @@
 msgid "cannot start: socket is already bound"
 msgstr "ソケットãŒæ—¢ã«ãƒã‚¤ãƒ³ãƒ‰ã•ã‚Œã¦ã„ã‚‹ãŸã‚開始ã§ãã¾ã›ã‚“"
 
-msgid ""
-"cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/"
-"inotify.sock already exists"
-msgstr ""
-"一時ソケットã«ä½¿ç”¨ã™ã‚‹ .hg/inotify.sock ãŒæ—¢ã«å­˜åœ¨ã™ã‚‹ãŸã‚開始ã§ãã¾ã›ã‚“"
+msgid "cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/inotify.sock already exists"
+msgstr "一時ソケットã«ä½¿ç”¨ã™ã‚‹ .hg/inotify.sock ãŒæ—¢ã«å­˜åœ¨ã™ã‚‹ãŸã‚開始ã§ãã¾ã›ã‚“"
 
 #, python-format
 msgid "answering query for %r\n"
@@ -2025,34 +2208,33 @@
 msgid "unrecognized query type: %s\n"
 msgstr "未知ã®å•ã„åˆã‚ã›ç¨®åˆ¥: %s\n"
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr "コミットログ中ã®è¨˜è¿°ã®å±•é–‹"
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+"本エクステンションã¯ã€ãƒªãƒ³ã‚¯ãªã‚Šä»»æ„ã®å¼ã®å½¢å¼ã¸ã¨è‡ªå‹•çš„ã«å¤‰æ›ã•ã‚Œã‚‹\n"
+"InterWiki ã®ã‚ˆã†ãªç‰¹åˆ¥ãªæ›¸å¼ã‚’用ã„ãŸã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã®è¨˜è¿°ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚"
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+"ãƒã‚°ç®¡ç†ã‚·ã‚¹ãƒ†ãƒ ã¨ã®é€£æºã§ä½¿ç”¨ã•ã‚Œã‚‹ã‚ˆã†ãªãƒ‘ターンを設定ファイルã§\n"
+"記述ã™ã‚‹ä¾‹ã‚’以下ã«ç¤ºã—ã¾ã™::"
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
-"コミットログ中ã®è¨˜è¿°ã®å±•é–‹\n"
-"\n"
-"本エクステンションã¯ã€ãƒªãƒ³ã‚¯ãªã‚Šä»»æ„ã®å¼ã®å½¢å¼ã¸ã¨è‡ªå‹•çš„ã«å¤‰æ›ã•ã‚Œã‚‹\n"
-"InterWiki ã®ã‚ˆã†ãªç‰¹åˆ¥ãªæ›¸å¼ã‚’用ã„ãŸã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã®è¨˜è¿°ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚\n"
-"\n"
-"ãƒã‚°ç®¡ç†ã‚·ã‚¹ãƒ†ãƒ ã¨ã®é€£æºã§ä½¿ç”¨ã•ã‚Œã‚‹ã‚ˆã†ãªãƒ‘ターンを設定ファイルã§\n"
-"記述ã™ã‚‹ä¾‹ã‚’以下ã«ç¤ºã—ã¾ã™::\n"
-"\n"
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 
 #, python-format
@@ -2063,99 +2245,108 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr "interhg: %s ã®æ­£è¦è¡¨ç¾ãŒä¸æ­£ã§ã™: %s\n"
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr "構æˆç®¡ç†å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹"
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+"本エクステンションã¯ã€æ§‹æˆç®¡ç†å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® RCS/CVS çš„(カスタマイズ\n"
+"å¯èƒ½)㪠$Keywords$ ã‚’ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã§ã®è¨˜è¿°ã«å¾“ã„展開ã—ã¾ã™ã€‚"
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+"キーワード展開ã¯ä½œæ¥­é ˜åŸŸã§ã®ã¿è¡Œã‚ã‚Œã€å±¥æ­´ã«ã¯æ®‹ã‚Šã¾ã›ã‚“。ã“ã®ä»•çµ„ã¿ã¯\n"
+"ç¾è¡Œãƒ¦ãƒ¼ã‚¶ã‚„アーカイブé…布者ã«é…æ…®ã—ã¦ã„ã¾ã™ã€‚"
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+"設定ã¯ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® [keyword] ãŠã‚ˆã³ [keywordmaps] セクションã«\n"
+"記述ã—ã¾ã™ã€‚"
+
+msgid "Example::"
+msgstr "記述例::"
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+"    [keyword]\n"
+"    # \"x*\" ã«åˆè‡´ã€Œã—ãªã„〠python ファイルã§ã®ã¿ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹\n"
+"    **.py =\n"
+"    x*    = ignore"
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+"備考: ファイルåパターンãŒæ›´ã«ç‰¹æ®Šã«ãªã‚‹å ´åˆã€\n"
+"リãƒã‚¸ãƒˆãƒªã‚µã‚¤ã‚ºæ¬¡ç¬¬ã§ã¯æ€§èƒ½åŠ£åŒ–ãŒç”Ÿã˜å¾—ã¾ã™ã€‚"
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+"[keywordmaps] ã§ã®ãƒ†ãƒ³ãƒ—レート設定ã®å±•é–‹ã‚’実演ã™ã‚‹ã«ã¯ã€\"hg kwdemo\" ã‚’\n"
+"実行ã—ã¾ã™ã€‚使用å¯èƒ½ãªãƒ†ãƒ³ãƒ—レートやフィルタã«é–¢ã—ã¦ã¯\n"
+"\"hg help templates\" ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+"日時情報用フィルタã¨ã—㦠{date|utcdate} も使用å¯èƒ½ã§ã™ã€‚\n"
+"ã“ã®ãƒ•ã‚£ãƒ«ã‚¿ã¯æ—¥æ™‚情報を \"2006/09/18 15:13:13\" å½¢å¼ã«å¤‰æ›ã—ã¾ã™ã€‚"
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+"無指定時ã®ãƒ†ãƒ³ãƒ—レート設定(\"hg kwdemo -d\" ã§é–²è¦§å¯èƒ½)ã¯ã€ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰åŠã³\n"
+"テンプレートã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã§ç½®ãæ›ãˆã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ç¹°ã‚Šè¿”ã—ã¾ã™ãŒ\n"
+"設定変更ã®ç¢ºèªã¯ \"hg kwdemo\" ã§è¡Œã†ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+"展開済ã¿ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ãŒæ„図ã›ãšå±¥æ­´ã«è¨˜éŒ²ã•ã‚Œã¦ã—ã¾ã†ã“ã¨ã‚’防ããŸã‚ã«ã€\n"
+"キーワードã®è¨­å®šå¤‰æ›´/無効化ã®å‰ã«ã¯ \"hg kwshrink\" を実行ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+"キーワードã®è¨­å®šå¤‰æ›´/有効化後ã«ã€å¼·åˆ¶çš„ã«å±•é–‹ã™ã‚‹å ´åˆã¯ \"hg kwexpand\"\n"
+"を実行ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+"record エクステンション併用時ã®ã‚³ãƒŸãƒƒãƒˆã€ãªã„ã— MQ ã® qrecord コマンドを\n"
+"使用ã™ã‚‹å ´åˆã€ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã¯æ›´æ–°ã•ã‚Œãªã„点ã«æ³¨æ„ã—ã¦ãã ã•ã„。\n"
+"å…¨ã¦ã®å¤‰æ›´å†…容を確èªã—ãŸä¸Šã§ã€å½“該ファイルã«å¯¾ã—㦠\"hg kwexpand\" ã‚’\n"
+"実行ã™ã‚‹ã“ã¨ã§ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹ã‚’è¡Œã£ã¦ãã ã•ã„。"
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
 msgstr ""
-"構æˆç®¡ç†å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹\n"
-"\n"
-"本エクステンションã¯ã€æ§‹æˆç®¡ç†å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® RCS/CVS çš„(カスタマイズ\n"
-"å¯èƒ½)㪠$Keywords$ ã‚’ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã§ã®è¨˜è¿°ã«å¾“ã„展開ã—ã¾ã™ã€‚\n"
-"\n"
-"キーワード展開ã¯ä½œæ¥­é ˜åŸŸã§ã®ã¿è¡Œã‚ã‚Œã€å±¥æ­´ã«ã¯æ®‹ã‚Šã¾ã›ã‚“。ã“ã®ä»•çµ„ã¿ã¯\n"
-"ç¾è¡Œãƒ¦ãƒ¼ã‚¶ã‚„アーカイブé…布者ã«é…æ…®ã—ã¦ã„ã¾ã™ã€‚\n"
-"\n"
-"設定ã¯ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® [keyword] ãŠã‚ˆã³ [keywordmaps] セクションã«\n"
-"記述ã—ã¾ã™ã€‚\n"
-"\n"
-"記述例::\n"
-"\n"
-"    [keyword]\n"
-"    # \"x*\" ã«åˆè‡´ã€Œã—ãªã„〠python ファイルã§ã®ã¿ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹\n"
-"    **.py =\n"
-"    x*    = ignore\n"
-"\n"
-"備考: ファイルåパターンãŒæ›´ã«ç‰¹æ®Šã«ãªã‚‹å ´åˆã€\n"
-"リãƒã‚¸ãƒˆãƒªã‚µã‚¤ã‚ºæ¬¡ç¬¬ã§ã¯æ€§èƒ½åŠ£åŒ–ãŒç”Ÿã˜å¾—ã¾ã™ã€‚\n"
-"\n"
-"[keywordmaps] ã§ã®ãƒ†ãƒ³ãƒ—レート設定ã®å±•é–‹ã‚’実演ã™ã‚‹ã«ã¯ã€\"hg kwdemo\" ã‚’\n"
-"実行ã—ã¾ã™ã€‚使用å¯èƒ½ãªãƒ†ãƒ³ãƒ—レートやフィルタã«é–¢ã—ã¦ã¯\n"
-"\"hg help templates\" ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
-"日時情報用フィルタã¨ã—㦠{date|utcdate} も使用å¯èƒ½ã§ã™ã€‚\n"
-"ã“ã®ãƒ•ã‚£ãƒ«ã‚¿ã¯æ—¥æ™‚情報を \"2006/09/18 15:13:13\" å½¢å¼ã«å¤‰æ›ã—ã¾ã™ã€‚\n"
-"\n"
-"無指定時ã®ãƒ†ãƒ³ãƒ—レート設定(\"hg kwdemo -d\" ã§é–²è¦§å¯èƒ½)ã¯ã€ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰åŠã³\n"
-"テンプレートã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã§ç½®ãæ›ãˆã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ç¹°ã‚Šè¿”ã—ã¾ã™ãŒ\n"
-"設定変更ã®ç¢ºèªã¯ \"hg kwdemo\" ã§è¡Œã†ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
-"\n"
-"展開済ã¿ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ãŒæ„図ã›ãšå±¥æ­´ã«è¨˜éŒ²ã•ã‚Œã¦ã—ã¾ã†ã“ã¨ã‚’防ããŸã‚ã«ã€\n"
-"キーワードã®è¨­å®šå¤‰æ›´/無効化ã®å‰ã«ã¯ \"hg kwshrink\" を実行ã—ã¦ãã ã•ã„。\n"
-"\n"
-"キーワードã®è¨­å®šå¤‰æ›´/有効化後ã«ã€å¼·åˆ¶çš„ã«å±•é–‹ã™ã‚‹å ´åˆã¯ \"hg kwexpand\"\n"
-"を実行ã—ã¦ãã ã•ã„。\n"
-"\n"
-"record エクステンション併用時ã®ã‚³ãƒŸãƒƒãƒˆã€ãªã„ã— MQ ã® qrecord コマンドを\n"
-"使用ã™ã‚‹å ´åˆã€ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã¯æ›´æ–°ã•ã‚Œãªã„点ã«æ³¨æ„ã—ã¦ãã ã•ã„。\n"
-"å…¨ã¦ã®å¤‰æ›´å†…容を確èªã—ãŸä¸Šã§ã€å½“該ファイルã«å¯¾ã—㦠\"hg kwexpand\" ã‚’\n"
-"実行ã™ã‚‹ã“ã¨ã§ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹ã‚’è¡Œã£ã¦ãã ã•ã„。\n"
-"\n"
 "複数行ã«æ¸¡ã‚‹å±•é–‹ã‚„ã€CVS ã® $Log$ ã®ã‚ˆã†ãªå¢—加ã™ã‚‹å†…容ã®å±•é–‹ã¯ã‚µãƒãƒ¼ãƒˆ\n"
 "ã—ã¦ã„ã¾ã›ã‚“。キーワードテンプレート設定 \"Log = {desc}\" ã¯ã€\n"
 "コミットメッセージã®æœ€åˆã®ä¸€è¡Œã‚’埋ã‚è¾¼ã¿ã¾ã™ã€‚\n"
@@ -2174,31 +2365,32 @@
 msgid "no [keyword] patterns configured"
 msgstr "[keyword] ã§ã®ãƒ‘ターン設定ãŒã‚ã‚Šã¾ã›ã‚“"
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr "[keywordmaps] ã§ã®è¨­å®šå†…容ãŠã‚ˆã³å±•é–‹ä¾‹ã®è¡¨ç¤º"
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+"    ç¾æ™‚点ã€å›ºæœ‰ãªã„ã—デフォルトã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ãƒ†ãƒ³ãƒ—レートマップã€\n"
+"    ãŠã‚ˆã³ãã®å±•é–‹ä¾‹ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+"    引数ã§ã®ãƒžãƒƒãƒ—指定やã€-f/--rcfile 指定ã«ã‚ˆã‚‹å¤–部設定ファイルã‹ã‚‰ã®\n"
+"    読ã¿è¾¼ã¿ã«ã‚ˆã‚Šã€ç¾æ™‚点ã§ã®è¨­å®šã‚’æ‹¡å¼µã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+"    -d/--default 指定ã«ã‚ˆã‚Šã€ç¾æ™‚点ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ãƒ†ãƒ³ãƒ—レート設定を\n"
+"    一時的ã«ç„¡åŠ¹åŒ–ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
-"[keywordmaps] ã§ã®è¨­å®šå†…容ãŠã‚ˆã³å±•é–‹ä¾‹ã®è¡¨ç¤º\n"
-"\n"
-"    ç¾æ™‚点ã€å›ºæœ‰ãªã„ã—デフォルトã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ãƒ†ãƒ³ãƒ—レートマップã€\n"
-"    ãŠã‚ˆã³ãã®å±•é–‹ä¾‹ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    引数ã§ã®ãƒžãƒƒãƒ—指定やã€-f/--rcfile 指定ã«ã‚ˆã‚‹å¤–部設定ファイルã‹ã‚‰ã®\n"
-"    読ã¿è¾¼ã¿ã«ã‚ˆã‚Šã€ç¾æ™‚点ã§ã®è¨­å®šã‚’æ‹¡å¼µã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
-"\n"
-"    -d/--default 指定ã«ã‚ˆã‚Šã€ç¾æ™‚点ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ãƒ†ãƒ³ãƒ—レート設定を\n"
-"    一時的ã«ç„¡åŠ¹åŒ–ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚\n"
-"\n"
 "    テンプレートやフィルタ機能ã«é–¢ã—ã¦ã¯ \"hg help templates\" ã‚’å‚ç…§\n"
 "    ã—ã¦ãã ã•ã„。\n"
 "    "
@@ -2258,76 +2450,76 @@
 "\n"
 "\tキーワードを展開\n"
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr "作業領域ã«ãŠã‘るキーワードã®å±•é–‹"
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr "    キーワード埋ã‚è¾¼ã¿ãŒ(å†)有効化ã•ã‚Œã¦ã‹ã‚‰å®Ÿè¡Œã—ã¦ãã ã•ã„。"
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
-"作業領域ã«ãŠã‘るキーワードã®å±•é–‹\n"
-"\n"
-"    キーワード埋ã‚è¾¼ã¿ãŒ(å†)有効化ã•ã‚Œã¦ã‹ã‚‰å®Ÿè¡Œã—ã¦ãã ã•ã„。\n"
-"\n"
 "    指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã«æœªã‚³ãƒŸãƒƒãƒˆå¤‰æ›´ãŒã‚ã‚‹å ´åˆã€å®Ÿè¡Œã¯ä¸­æ–­ã•ã‚Œã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr "キーワード展開対象ファイルã®è¡¨ç¤º"
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+"    作業領域中ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§ã€[keyword]  設定ã§ã®ãƒ‘ターンã«åˆè‡´ã™ã‚‹\n"
+"    ファイルã®ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+"    予期ã›ã¬ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹ã®é˜²æ­¢ã¨ã€å®Ÿè¡Œæ€§èƒ½å‘上ã®ãŸã‚ã«ã€å®Ÿéš›ã®\n"
+"    埋ã‚è¾¼ã¿å¯¾è±¡ã¨ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ã‚’設定ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚"
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr "    パターンåˆè‡´ã«é–¢ã™ã‚‹è©³ç´°ã¯ã€\"hg help keyword\" ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+"    -a/--all ãŠã‚ˆã³ -v/--verbose 指定ã®ã‚ã‚‹å ´åˆã€å„ファイルã®çŠ¶æ³ã¯\n"
+"    以下ã®è¨˜å·ã§è¡¨ç¾ã•ã‚Œã¾ã™::"
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
 "      i = ignored (not tracked)\n"
 "    "
 msgstr ""
-"キーワード展開対象ファイルã®è¡¨ç¤º\n"
-"\n"
-"    作業領域中ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§ã€[keyword]  設定ã§ã®ãƒ‘ターンã«åˆè‡´ã™ã‚‹\n"
-"    ファイルã®ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    予期ã›ã¬ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹ã®é˜²æ­¢ã¨ã€å®Ÿè¡Œæ€§èƒ½å‘上ã®ãŸã‚ã«ã€å®Ÿéš›ã®\n"
-"    埋ã‚è¾¼ã¿å¯¾è±¡ã¨ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ã‚’設定ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚\n"
-"\n"
-"    パターンåˆè‡´ã«é–¢ã™ã‚‹è©³ç´°ã¯ã€\"hg help keyword\" ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
-"    -a/--all ãŠã‚ˆã³ -v/--verbose 指定ã®ã‚ã‚‹å ´åˆã€å„ファイルã®çŠ¶æ³ã¯\n"
-"    以下ã®è¨˜å·ã§è¡¨ç¾ã•ã‚Œã¾ã™::\n"
-"\n"
 "      K = キーワード展開候補\n"
 "      k = キーワード展開候補(構æˆç®¡ç†å¯¾è±¡å¤–)\n"
 "      I = 無視\n"
 "      i = 無視(構æˆç®¡ç†å¯¾è±¡å¤–)\n"
 "    "
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr "作業領域中ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹ã®å–り消ã—"
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+"    キーワード設定ã®å¤‰æ›´å‰ã‚„ã€'hg import' ãªã„ã— 'hg merge' ã§å•é¡ŒãŒ\n"
+"    発生ã—ãŸçµŒé¨“ãŒã‚ã‚‹å ´åˆã«å®Ÿè¡Œã—ã¦ãã ã•ã„。"
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
-"作業領域中ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å±•é–‹ã®å–り消ã—\n"
-"\n"
-"    キーワード設定ã®å¤‰æ›´å‰ã‚„ã€'hg import' ãªã„ã— 'hg merge' ã§å•é¡ŒãŒ\n"
-"    発生ã—ãŸçµŒé¨“ãŒã‚ã‚‹å ´åˆã«å®Ÿè¡Œã—ã¦ãã ã•ã„。\n"
-"\n"
 "    指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã«æœªã‚³ãƒŸãƒƒãƒˆå¤‰æ›´ãŒã‚ã‚‹å ´åˆã€å®Ÿè¡Œã¯ä¸­æ–­ã•ã‚Œã¾ã™ã€‚\n"
 "    "
 
@@ -2364,72 +2556,77 @@
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr "hg kwshrink [OPTION]... [FILE]..."
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr "パッãƒä½µç”¨ã®ç®¡ç†"
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+"本エクステンションã¯ã€Mercurial リãƒã‚¸ãƒˆãƒªã®ä½œæ¥­é ˜åŸŸã«ãŠã„ã¦ã€ãƒ‘ッãƒã‚’\n"
+"併用ã—ãŸä½œæ¥­ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚本エクステンションã§ã¯ã€ã€Œæ—¢çŸ¥ã®ãƒ‘ッãƒã€ã¨\n"
+"「é©ç”¨ä¸­ã®ãƒ‘ッãƒã€(「既知ã®ãƒ‘ッãƒã€ã®éƒ¨åˆ†é›†åˆ)ã®2ã¤ã®é›†åˆã‚’ã€ã‚¹ã‚¿ãƒƒã‚¯\n"
+"を用ã„ã¦ç®¡ç†ã—ã¾ã™ã€‚"
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+"「既知ã®ãƒ‘ッãƒã€ã¯ã€.hg/patches ディレクトリé…下ã«ç½®ã‹ã‚ŒãŸãƒ‘ッãƒãƒ•ã‚¡ã‚¤ãƒ«\n"
+"ã«ç›¸å½“ã—ã¾ã™ã€‚「é©ç”¨ä¸­ã®ãƒ‘ッãƒã€ã¯ã€ã€Œæ—¢çŸ¥ã®ãƒ‘ッãƒã€ã®ã†ã¡ã€å¯¾å¿œã™ã‚‹\n"
+"リビジョンãŒãƒªãƒã‚¸ãƒˆãƒªã®å±¥æ­´ã«(一時的ã«)記録ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’指ã—ã¾ã™ã€‚"
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr "良ã使用ã•ã‚Œã‚‹æ©Ÿèƒ½(詳細㯠\"hg help コマンドå\" ã‚’å‚ç…§)::"
+
+msgid ""
 "  prepare repository to work with patches   qinit\n"
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+"  パッãƒç®¡ç†é ˜åŸŸã®åˆæœŸåŒ–                 qinit\n"
+"  æ–°è¦ãƒ‘ッãƒã®ä½œæˆ                       qnew\n"
+"  外部ã‹ã‚‰ã®ãƒ‘ッãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å–り込㿠    qimport"
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+"  既知ã®ãƒ‘ッãƒä¸€è¦§ã®è¡¨ç¤º                 qseries\n"
+"  é©ç”¨ä¸­ã®ãƒ‘ッãƒä¸€è¦§ã®è¡¨ç¤º               qapplied"
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
-"  refresh contents of top applied patch     qrefresh\n"
-"\n"
+"  refresh contents of top applied patch     qrefresh"
+msgstr ""
+"  既知ã®ãƒ‘ッãƒã®é©ç”¨                     qpush\n"
+"  パッãƒé©ç”¨ã®è§£é™¤                       qpop\n"
+"  é©ç”¨ä¸­ã®æœ€ä¸Šä½ãƒ‘ッãƒã®å†…容更新         qrefresh"
+
+msgid ""
 "By default, mq will automatically use git patches when required to\n"
 "avoid losing file mode changes, copy records, binary files or empty\n"
-"files creations or deletions. This behaviour can be configured with::\n"
-"\n"
+"files creations or deletions. This behaviour can be configured with::"
+msgstr ""
+"ファイルモードã®å¤‰æ›´ã‚„ã€è¤‡è£½å±¥æ­´ã€ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã‚„空ファイルã®ç”Ÿæˆ\n"
+"ï¼å‰Šé™¤ç­‰ã®æƒ…報を維æŒã™ã‚‹ãŸã‚ã«ã€mq ã¯å¿…è¦ã«å¿œã˜ã¦ git å½¢å¼ã®ãƒ‘ッãƒã‚’\n"
+"自動的ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®æŒ¯ã‚‹èˆžã„ã¯ä»¥ä¸‹ã®æŒ‡å®šã§åˆ¶å¾¡ã—ã¾ã™::"
+
+msgid ""
 "  [mq]\n"
-"  git = auto/keep/yes/no\n"
-"\n"
+"  git = auto/keep/yes/no"
+msgstr ""
+"  [mq]\n"
+"  git = auto/keep/yes/no"
+
+msgid ""
 "If set to 'keep', mq will obey the [diff] section configuration while\n"
 "preserving existing git patches upon qrefresh. If set to 'yes' or\n"
 "'no', mq will override the [diff] section and always generate git or\n"
 "regular patches, possibly losing data in the second case.\n"
 msgstr ""
-"パッãƒä½µç”¨ã®ç®¡ç†\n"
-"\n"
-"本エクステンションã¯ã€Mercurial リãƒã‚¸ãƒˆãƒªã®ä½œæ¥­é ˜åŸŸã«ãŠã„ã¦ã€ãƒ‘ッãƒã‚’\n"
-"併用ã—ãŸä½œæ¥­ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚本エクステンションã§ã¯ã€ã€Œæ—¢çŸ¥ã®ãƒ‘ッãƒã€ã¨\n"
-"「é©ç”¨ä¸­ã®ãƒ‘ッãƒã€(「既知ã®ãƒ‘ッãƒã€ã®éƒ¨åˆ†é›†åˆ)ã®2ã¤ã®é›†åˆã‚’ã€ã‚¹ã‚¿ãƒƒã‚¯\n"
-"を用ã„ã¦ç®¡ç†ã—ã¾ã™ã€‚\n"
-"\n"
-"「既知ã®ãƒ‘ッãƒã€ã¯ã€.hg/patches ディレクトリé…下ã«ç½®ã‹ã‚ŒãŸãƒ‘ッãƒãƒ•ã‚¡ã‚¤ãƒ«\n"
-"ã«ç›¸å½“ã—ã¾ã™ã€‚「é©ç”¨ä¸­ã®ãƒ‘ッãƒã€ã¯ã€ã€Œæ—¢çŸ¥ã®ãƒ‘ッãƒã€ã®ã†ã¡ã€å¯¾å¿œã™ã‚‹\n"
-"リビジョンãŒãƒªãƒã‚¸ãƒˆãƒªã®å±¥æ­´ã«(一時的ã«)記録ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’指ã—ã¾ã™ã€‚\n"
-"\n"
-"良ã使用ã•ã‚Œã‚‹æ©Ÿèƒ½(詳細㯠\"hg help コマンドå\" ã‚’å‚ç…§)::\n"
-"\n"
-"  パッãƒç®¡ç†é ˜åŸŸã®åˆæœŸåŒ–                 qinit\n"
-"  æ–°è¦ãƒ‘ッãƒã®ä½œæˆ                       qnew\n"
-"  外部ã‹ã‚‰ã®ãƒ‘ッãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å–り込㿠    qimport\n"
-"\n"
-"  既知ã®ãƒ‘ッãƒä¸€è¦§ã®è¡¨ç¤º                 qseries\n"
-"  é©ç”¨ä¸­ã®ãƒ‘ッãƒä¸€è¦§ã®è¡¨ç¤º               qapplied\n"
-"\n"
-"  既知ã®ãƒ‘ッãƒã®é©ç”¨                     qpush\n"
-"  パッãƒé©ç”¨ã®è§£é™¤                       qpop\n"
-"  é©ç”¨ä¸­ã®æœ€ä¸Šä½ãƒ‘ッãƒã®å†…容更新         qrefresh\n"
-"\n"
-"ファイルモードã®å¤‰æ›´ã‚„ã€è¤‡è£½å±¥æ­´ã€ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã‚„空ファイルã®ç”Ÿæˆ\n"
-"ï¼å‰Šé™¤ç­‰ã®æƒ…報を維æŒã™ã‚‹ãŸã‚ã«ã€mq ã¯å¿…è¦ã«å¿œã˜ã¦ git å½¢å¼ã®ãƒ‘ッãƒã‚’\n"
-"自動的ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®æŒ¯ã‚‹èˆžã„ã¯ä»¥ä¸‹ã®æŒ‡å®šã§åˆ¶å¾¡ã—ã¾ã™::\n"
-"\n"
-"  [mq]\n"
-"  git = auto/keep/yes/no\n"
-"\n"
 "'keep' ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ—¢å­˜ã® qrefresh 対象ã¨ãªã‚‹ãƒ‘ッãƒãŒ git å½¢å¼\n"
 "パッãƒã§ã‚ã‚‹é–“ã¯ã€mq 㯠[diff] セクションã®è¨­å®šã«å¾“ã„ã¾ã™ã€‚\n"
 "'yes' ãªã„ã— 'no' ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€mq 㯠[diff] セクションã®è¨­å®šã‚’無視\n"
@@ -2669,9 +2866,7 @@
 msgid "cannot refresh a revision with children"
 msgstr "ヘッド以外㯠qrefresh ã®å¯¾è±¡ã«æŒ‡å®šã§ãã¾ã›ã‚“"
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
 msgstr "パッãƒè§£é™¤ä¸­ã«ä¸­æ–­ã•ã‚Œã¾ã—ãŸ!(revert --all ãŠã‚ˆã³ qpush ã§å¾©æ—§)\n"
 
 msgid "patch queue directory already exists"
@@ -2765,22 +2960,21 @@
 msgid "adding %s to series file\n"
 msgstr "パッム%s を追加中\n"
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr "管ç†å¯¾è±¡ã‹ã‚‰ã®ãƒ‘ッãƒé™¤å¤–"
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+"    対象パッãƒã¯æœªé©ç”¨ã§ãªã‘ã‚Œã°ãªã‚‰ãšã€æœ€ä½Ž1ã¤ã®ãƒ‘ッãƒåã®æŒ‡å®šãŒ\n"
+"    å¿…è¦ã§ã™ã€‚-k/--keep を指定ã—ãŸå ´åˆã€ãƒ‘ッãƒãƒ•ã‚¡ã‚¤ãƒ«ãã®ã‚‚ã®ã¯\n"
+"    管ç†é ˜åŸŸã«æ®‹ã•ã‚ŒãŸã¾ã¾ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
-"管ç†å¯¾è±¡ã‹ã‚‰ã®ãƒ‘ッãƒé™¤å¤–\n"
-"\n"
-"    対象パッãƒã¯æœªé©ç”¨ã§ãªã‘ã‚Œã°ãªã‚‰ãšã€æœ€ä½Ž1ã¤ã®ãƒ‘ッãƒåã®æŒ‡å®šãŒ\n"
-"    å¿…è¦ã§ã™ã€‚-k/--keep を指定ã—ãŸå ´åˆã€ãƒ‘ッãƒãƒ•ã‚¡ã‚¤ãƒ«ãã®ã‚‚ã®ã¯\n"
-"    管ç†é ˜åŸŸã«æ®‹ã•ã‚ŒãŸã¾ã¾ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
 "    管ç†å¯¾è±¡å¤–ã¨ãªã£ãŸãƒ‘ッãƒã‚’通常リビジョン化ã™ã‚‹å ´åˆã¯ qfinish ã‚’\n"
 "    使用ã—ã¦ãã ã•ã„。"
 
@@ -2796,109 +2990,113 @@
 msgid "all patches applied\n"
 msgstr "å…¨ã¦ã®ãƒ‘ッãƒãŒé©ç”¨ä¸­ã§ã™\n"
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr "パッãƒã®å–ã‚Šè¾¼ã¿"
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+"    å–ã‚Šè¾¼ã¾ã‚ŒãŸãƒ‘ッãƒã®é©ç”¨é †åºã¯ã€ç¾åœ¨é©ç”¨ä¸­ã®æœ€ä¸Šä½ãƒ‘ッãƒã®æ¬¡ã«\n"
+"    ãªã‚Šã¾ã™ã€‚é©ç”¨ä¸­ã®ãƒ‘ッãƒãŒç„¡ã„å ´åˆã€å–ã‚Šè¾¼ã¾ã‚ŒãŸãƒ‘ッãƒã®é©ç”¨é †åºã¯\n"
+"    一番最åˆã«ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+"    -n/--name ã«ã‚ˆã‚‹åå‰ã®æŒ‡å®šãŒç„¡ã„å ´åˆã€å–ã‚Šè¾¼ã¿å¯¾è±¡ã®ãƒ•ã‚¡ã‚¤ãƒ«åãŒ\n"
+"    ãã®ã¾ã¾ãƒ‘ッãƒåã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+"    -e/--existing を指定ã™ã‚‹ã“ã¨ã§ã€ãƒ‘ッãƒç®¡ç†é ˜åŸŸä¸­ã®æ—¢å­˜ãƒ•ã‚¡ã‚¤ãƒ«ã‚’\n"
+"    å–ã‚Šè¾¼ã¿å¯¾è±¡ã¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr "    -f/--force ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€åŒåã®æ—¢å­˜ãƒ‘ッãƒã‚’上書ãã—ã¾ã™ã€‚"
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
-"    To import a patch from standard input, pass - as the patch file.\n"
-"    When importing from standard input, a patch name must be specified\n"
-"    using the --name flag.\n"
-"    "
-msgstr ""
-"パッãƒã®å–ã‚Šè¾¼ã¿\n"
-"\n"
-"    å–ã‚Šè¾¼ã¾ã‚ŒãŸãƒ‘ッãƒã®é©ç”¨é †åºã¯ã€ç¾åœ¨é©ç”¨ä¸­ã®æœ€ä¸Šä½ãƒ‘ッãƒã®æ¬¡ã«\n"
-"    ãªã‚Šã¾ã™ã€‚é©ç”¨ä¸­ã®ãƒ‘ッãƒãŒç„¡ã„å ´åˆã€å–ã‚Šè¾¼ã¾ã‚ŒãŸãƒ‘ッãƒã®é©ç”¨é †åºã¯\n"
-"    一番最åˆã«ãªã‚Šã¾ã™ã€‚\n"
-"\n"
-"    -n/--name ã«ã‚ˆã‚‹åå‰ã®æŒ‡å®šãŒç„¡ã„å ´åˆã€å–ã‚Šè¾¼ã¿å¯¾è±¡ã®ãƒ•ã‚¡ã‚¤ãƒ«åãŒ\n"
-"    ãã®ã¾ã¾ãƒ‘ッãƒåã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
-"    -e/--existing を指定ã™ã‚‹ã“ã¨ã§ã€ãƒ‘ッãƒç®¡ç†é ˜åŸŸä¸­ã®æ—¢å­˜ãƒ•ã‚¡ã‚¤ãƒ«ã‚’\n"
-"    å–ã‚Šè¾¼ã¿å¯¾è±¡ã¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
-"\n"
-"    -f/--force ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€åŒåã®æ—¢å­˜ãƒ‘ッãƒã‚’上書ãã—ã¾ã™ã€‚\n"
-"\n"
+"    changes."
+msgstr ""
 "    -r/--rev を指定ã™ã‚‹ã“ã¨ã§ã€æ—¢å­˜ã®é€šå¸¸ãƒªãƒ“ジョンを MQ 管ç†ä¸‹ã«ç½®ã\n"
 "    ã“ã¨ãŒã§ãã¾ã™(例: 'qimport --rev tip -n patch' ã¯ã€tip ã‚’ MQ 管ç†\n"
 "    下ã«ç½®ãã¾ã™)。-g/--git 指定ã¯ã€--rev 指定ã«ã‚ˆã‚‹å–ã‚Šè¾¼ã¿ã®éš›ã« git\n"
 "    差分形å¼ã‚’使用ã—ã¾ã™ã€‚改åï¼è¤‡è£½æƒ…報やã€æ¨©é™è¨­å®šã®æƒ…å ±ä¿æŒã«ã¨ã£ã¦ã®\n"
-"    git 差分形å¼ã®æœ‰ç”¨æ€§ã«é–¢ã—ã¦ã¯ã€'help diffs' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"    git 差分形å¼ã®æœ‰ç”¨æ€§ã«é–¢ã—ã¦ã¯ã€'help diffs' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
+"    To import a patch from standard input, pass - as the patch file.\n"
+"    When importing from standard input, a patch name must be specified\n"
+"    using the --name flag.\n"
+"    "
+msgstr ""
 "    標準入力ã‹ã‚‰ãƒ‘ッãƒã‚’å–り込む場åˆã€ãƒ•ã‚¡ã‚¤ãƒ«åã« '-' を指定ã—ã¾ã™ã€‚\n"
 "    標準入力ã‹ã‚‰ã®å–ã‚Šè¾¼ã¿ã®éš›ã«ã¯ã€--name ã§ã®ãƒ‘ッãƒå指定ãŒå¿…é ˆã§ã™ã€‚\n"
 "    "
 
-msgid ""
-"init a new queue repository (DEPRECATED)\n"
-"\n"
+msgid "init a new queue repository (DEPRECATED)"
+msgstr "パッãƒç®¡ç†é ˜åŸŸã®åˆæœŸåŒ–(éžæŽ¨å¥¨)"
+
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
 "    an unversioned patch repository into a versioned one). You can use\n"
-"    qcommit to commit changes to this queue repository.\n"
-"\n"
-"    This command is deprecated. Without -c, it's implied by other relevant\n"
-"    commands. With -c, use hg init -Q instead."
-msgstr ""
-"パッãƒç®¡ç†é ˜åŸŸã®åˆæœŸåŒ–(éžæŽ¨å¥¨)\n"
-"\n"
+"    qcommit to commit changes to this queue repository."
+msgstr ""
 "    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€ãƒ‘ッãƒç®¡ç†é ˜åŸŸã¯æ§‹æˆç®¡ç†ã•ã‚Œã¾ã›ã‚“。\n"
 "    -c/--create-repo ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯ãƒ‘ッãƒç®¡ç†é ˜åŸŸè‡ªä½“ã‚’\n"
 "    Mercurial ã®ãƒªãƒã‚¸ãƒˆãƒªã¨ã—ã¦ä½œæˆã—ã¾ã™(既存ã®ãƒ‘ッãƒç®¡ç†é ˜åŸŸã‚’後ã‹ã‚‰\n"
 "    Mercurial リãƒã‚¸ãƒˆãƒªåŒ–ã™ã‚‹ã®ã«ã‚‚使用ã§ãã¾ã™)。管ç†é ˜åŸŸã®å¤‰æ›´å†…容ã¯\n"
-"    qcommit ã«ã‚ˆã£ã¦ã‚³ãƒŸãƒƒãƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
-"\n"
+"    qcommit ã«ã‚ˆã£ã¦ã‚³ãƒŸãƒƒãƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+msgid ""
+"    This command is deprecated. Without -c, it's implied by other relevant\n"
+"    commands. With -c, use hg init -Q instead."
+msgstr ""
 "    本コマンドã¯æŽ¨å¥¨ã•ã‚Œã¾ã›ã‚“。-c 指定無ã—ã§ã®ä½œæˆãªã‚‰ã€ä»–ã®é–¢é€£ã‚³ãƒžãƒ³ãƒ‰\n"
 "    ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã™ã€‚-c 指定有りã§ã®ä½œæˆãªã‚‰ã°ã€hg init -Q を使用\n"
 "    ã—ã¦ãã ã•ã„。"
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr "リãƒã‚¸ãƒˆãƒªã¨ãƒ‘ッãƒç®¡ç†é ˜åŸŸã®åŒæ™‚複製"
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
-"    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
-"    The patch directory must be a nested Mercurial repository, as\n"
-"    would be created by qinit -c.\n"
-"    "
-msgstr ""
-"リãƒã‚¸ãƒˆãƒªã¨ãƒ‘ッãƒç®¡ç†é ˜åŸŸã®åŒæ™‚複製\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
 "    複製元ãŒåŒä¸€ãƒ›ã‚¹ãƒˆä¸Šã«ã‚ã‚‹å ´åˆã€è¤‡è£½å…ˆãƒªãƒã‚¸ãƒˆãƒªã§ã¯ã€å…¨ã¦ã®ãƒ‘ッãƒãŒ\n"
 "    未é©ç”¨ãªçŠ¶æ…‹ã¨ãªã‚Šã¾ã™ã€‚複製元ãŒé éš”ホストã«ã‚ã‚‹å ´åˆã€è¤‡è£½å…ƒã§ã®\n"
 "    パッãƒé©ç”¨çŠ¶æ³ãŒä¸æ˜Žãªã®ã§ã€è¤‡è£½å…ˆã§ã®ãƒ‘ッãƒé©ç”¨çŠ¶æ³ã¯æœªä¿è¨¼ã§ã™ã€‚\n"
 "    é éš”ホスト上ã®ãƒªãƒã‚¸ãƒˆãƒªã‚’複製ã™ã‚‹å ´åˆã€ãƒ‘ッãƒãŒæœªé©ç”¨ã§ã‚ã‚‹ã“ã¨ã‚’\n"
-"    確èªã—ã¦ãã ã•ã„。\n"
-"\n"
+"    確èªã—ã¦ãã ã•ã„。"
+
+msgid ""
+"    Source patch repository is looked for in <src>/.hg/patches by\n"
+"    default. Use -p <url> to change."
+msgstr ""
 "    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€ãƒ‘ッãƒç®¡ç†é ˜åŸŸã¯ <src>/.hg/patches ã‹ã‚‰è¤‡è£½ã•ã‚Œ\n"
-"    ã¾ã™ã€‚変更ã™ã‚‹å ´åˆã¯ -p <url> を使用ã—ã¾ã™ã€‚\n"
-"\n"
+"    ã¾ã™ã€‚変更ã™ã‚‹å ´åˆã¯ -p <url> を使用ã—ã¾ã™ã€‚"
+
+msgid ""
+"    The patch directory must be a nested Mercurial repository, as\n"
+"    would be created by qinit -c.\n"
+"    "
+msgstr ""
 "    パッãƒç®¡ç†é ˜åŸŸã¯ã€'qinit -c' ã«ã‚ˆã£ã¦ç”Ÿæˆã•ã‚ŒãŸã€å…¥ã‚Œå­ã«ãªã£ãŸ\n"
 "    Mercurial リãƒã‚¸ãƒˆãƒªã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
 "    "
@@ -2918,14 +3116,11 @@
 msgid "updating destination repository\n"
 msgstr "複製先ã®ä½œæ¥­é ˜åŸŸã‚’更新中\n"
 
-msgid ""
-"commit changes in the queue repository (DEPRECATED)\n"
-"\n"
-"    This command is deprecated; use hg -Q commit instead."
-msgstr ""
-"パッãƒç®¡ç†é ˜åŸŸã®å¤‰æ›´ã‚’コミット(éžæŽ¨å¥¨)\n"
-"\n"
-"    本コマンドã¯éžæŽ¨å¥¨ã§ã™ã€‚`hg -Q commit` を使用ã—ã¦ãã ã•ã„。"
+msgid "commit changes in the queue repository (DEPRECATED)"
+msgstr "パッãƒç®¡ç†é ˜åŸŸã®å¤‰æ›´ã‚’コミット(éžæŽ¨å¥¨)"
+
+msgid "    This command is deprecated; use hg -Q commit instead."
+msgstr "    本コマンドã¯éžæŽ¨å¥¨ã§ã™ã€‚`hg -Q commit` を使用ã—ã¦ãã ã•ã„。"
 
 msgid "print the entire series file"
 msgstr "既知ã®ãƒ‘ッãƒä¸€è¦§ã®è¡¨ç¤º"
@@ -2939,79 +3134,82 @@
 msgid "print the name of the previous patch"
 msgstr "ç¾è¡Œãƒ‘ッãƒã®ã€Œå‰ã€ã®æ—¢çŸ¥ã®ãƒ‘ッãƒã®åå‰è¡¨ç¤º"
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr "æ–°è¦ãƒ‘ッãƒã®ä½œæˆ"
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). It will refuse to run if there are any outstanding changes\n"
 "    unless -f/--force is specified, in which case the patch will be\n"
 "    initialized with them. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
-"    -u/--user and -d/--date can be used to set the (given) user and\n"
-"    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
-"    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
-"    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
-"    Use the -g/--git option to keep the patch in the git extended diff\n"
-"    format. Read the diffs help topic for more information on why this\n"
-"    is important for preserving permission changes and copy/rename\n"
-"    information.\n"
-"    "
-msgstr ""
-"æ–°è¦ãƒ‘ッãƒã®ä½œæˆ\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
 "    本コマンドã¯ã€(パッãƒé©ç”¨ä¸­ã®å ´åˆã¯)é©ç”¨ä¸­ãƒ‘ッãƒã®æœ€ä¸Šä½ã®ä½ç½®ã«\n"
 "    æ–°è¦ãƒ‘ッãƒã‚’作æˆã—ã¾ã™ã€‚作業領域ã«å¤‰æ›´ãŒã‚ã‚‹å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯å®Ÿè¡Œã‚’\n"
 "    中断ã—ã¾ã™ãŒã€-f/--force ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ä½œæ¥­é ˜åŸŸä¸­ã®å¤‰æ›´ã‚’å–ã‚Š\n"
 "    込んã§æ–°è¦ãƒ‘ッãƒãŒä½œæˆã•ã‚Œã¾ã™ã€‚-I/--includeã€-X/--exclude ãŠã‚ˆã³\n"
 "    ファイルå指定ã®çµ„ã¿åˆã‚ã›ã«ã‚ˆã£ã¦ã€å¤‰æ›´ã‚’æ–°è¦ãƒ‘ッãƒã«å–り込む\n"
 "    ファイルãŒé™å®šã•ã‚Œã€ãれ以外ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã™ã‚‹å¤‰æ›´ã¯æœªã‚³ãƒŸãƒƒãƒˆãª\n"
-"    変更ã®ã¾ã¾ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
+"    変更ã®ã¾ã¾ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
+"    -u/--user and -d/--date can be used to set the (given) user and\n"
+"    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
+"    to current user and date to current date."
+msgstr ""
 "    -u/--user ãŠã‚ˆã³ -d/--date ã¯ã€ãã‚Œãžã‚ŒæŒ‡å®šã®ãƒ¦ãƒ¼ã‚¶åï¼æ—¥æ™‚ã®è¨˜éŒ²ã«\n"
 "    使用ã§ãã¾ã™ã€‚ -U/--currentuser ãŠã‚ˆã³ -D/--currendate ã¯ã€ãã‚Œãžã‚Œ\n"
-"    ç¾ãƒ¦ãƒ¼ã‚¶åï¼ç¾åœ¨æ—¥æ™‚を記録ã—ã¾ã™ã€‚\n"
-"\n"
+"    ç¾ãƒ¦ãƒ¼ã‚¶åï¼ç¾åœ¨æ—¥æ™‚を記録ã—ã¾ã™ã€‚"
+
+msgid ""
+"    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
+"    well as the commit message. If none is specified, the header is\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
 "    -e/--edit, -m/--message ãªã„ã— -l/--logfile ã¯ã€ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¨\n"
 "    åŒæ§˜ã«ã€ãƒ‘ッãƒã®ãƒ˜ãƒƒãƒ€ã«è¨˜éŒ²ã™ã‚‹æƒ…報を指定ã—ã¾ã™ã€‚指定ãŒç„¡ã„å ´åˆã¯ã€\n"
-"    ヘッダã¯ç©ºã®ã¾ã¾ã€ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒ '[mq]: パッãƒå' ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
+"    ヘッダã¯ç©ºã®ã¾ã¾ã€ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒ '[mq]: パッãƒå' ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
+"    Use the -g/--git option to keep the patch in the git extended diff\n"
+"    format. Read the diffs help topic for more information on why this\n"
+"    is important for preserving permission changes and copy/rename\n"
+"    information.\n"
+"    "
+msgstr ""
 "    git 拡張差分形å¼ã‚’使用ã™ã‚‹å ´åˆã¯ã€-g/--git を指定ã—ã¾ã™ã€‚改åï¼è¤‡è£½\n"
 "    情報やã€æ¨©é™è¨­å®šã®æƒ…å ±ä¿æŒã«ã¨ã£ã¦ã® git 差分形å¼ã®æœ‰ç”¨æ€§ã«é–¢ã—ã¦ã¯ã€\n"
 "    'help diffs' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr "ç¾è¡Œãƒ‘ッãƒã®æ›´æ–°"
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+"    何らã‹ã®ãƒ‘ターンãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ›´æ–°å¾Œã®ãƒ‘ッãƒã¯å½“該パターンã«\n"
+"    åˆè‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´å†…容ã ã‘ã‚’å«ã¿ã€ä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´å†…容ã¯ä½œæ¥­\n"
+"    領域ã«æ®‹ã£ãŸã¾ã¾ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+"    -s/--short ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ç¾è¡Œãƒ‘ッãƒãŒå¤‰æ›´ã‚’ä¿æŒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ãŒ\n"
+"    パッãƒå†…容更新ã®å¯¾è±¡ã¨ãªã£ã¦ã€ãƒ‘ッãƒã«ã¨ã©ã¾ã‚Šç¶šã‘ã¾ã™ã€‚"
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
 "    git diff format.\n"
 "    "
 msgstr ""
-"ç¾è¡Œãƒ‘ッãƒã®æ›´æ–°\n"
-"\n"
-"    何らã‹ã®ãƒ‘ターンãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ›´æ–°å¾Œã®ãƒ‘ッãƒã¯å½“該パターンã«\n"
-"    åˆè‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´å†…容ã ã‘ã‚’å«ã¿ã€ä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´å†…容ã¯ä½œæ¥­\n"
-"    領域ã«æ®‹ã£ãŸã¾ã¾ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
-"    -s/--short ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ç¾è¡Œãƒ‘ッãƒãŒå¤‰æ›´ã‚’ä¿æŒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ãŒ\n"
-"    パッãƒå†…容更新ã®å¯¾è±¡ã¨ãªã£ã¦ã€ãƒ‘ッãƒã«ã¨ã©ã¾ã‚Šç¶šã‘ã¾ã™ã€‚\n"
-"\n"
 "    複製ï¼æ”¹åã«é–¢ã™ã‚‹å±¥æ­´ä¿å­˜ã®ãŸã‚ã« git 差分形å¼ã‚’使用(-g/--git 指定や\n"
 "    設定ファイルã§ã® [diff] git=1 記述)ã™ã‚‹ã®ã§ã‚ã‚Œã°ã€\n"
 "    add/remove/copy/rename ã¨ã„ã£ãŸ hg ã®ã‚³ãƒžãƒ³ãƒ‰ã«ã‚ˆã‚‹å±¥æ­´è¨˜éŒ²ã‚‚ã€\n"
@@ -3022,52 +3220,52 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr "\"-e\" ã¯ã€\"-m\" ãªã„ã— \"-l\" ã¨ä½µç”¨ã§ãã¾ã›ã‚“"
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr "ç¾è¡Œãƒ‘ッãƒã¨ä½œæ¥­é ˜åŸŸå¤‰æ›´ã®çµåˆçµæžœã®è¡¨ç¤º"
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+"    ç¾è¡Œãƒ‘ッãƒã®å¤‰æ›´å†…容ã¨ã€å‰å›žã® qrefresh 実施以後ã®ä½œæ¥­é ˜åŸŸã«ãŠã‘ã‚‹\n"
+"    変更内容をåˆã‚ã›ãŸå·®åˆ†(ï¼ ç¾æ™‚点ã§ã® qrefresh 実施ã«ã‚ˆã‚‹ãƒ‘ッãƒå†…容ã®\n"
+"    æ›´æ–°çµæžœ)を表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
 "    qrefresh.\n"
 "    "
 msgstr ""
-"ç¾è¡Œãƒ‘ッãƒã¨ä½œæ¥­é ˜åŸŸå¤‰æ›´ã®çµåˆçµæžœã®è¡¨ç¤º\n"
-"\n"
-"    ç¾è¡Œãƒ‘ッãƒã®å¤‰æ›´å†…容ã¨ã€å‰å›žã® qrefresh 実施以後ã®ä½œæ¥­é ˜åŸŸã«ãŠã‘ã‚‹\n"
-"    変更内容をåˆã‚ã›ãŸå·®åˆ†(ï¼ ç¾æ™‚点ã§ã® qrefresh 実施ã«ã‚ˆã‚‹ãƒ‘ッãƒå†…容ã®\n"
-"    æ›´æ–°çµæžœ)を表示ã—ã¾ã™ã€‚\n"
-"\n"
 "    å‰å›žã® qrefresh 実施以後ã®ä½œæ¥­é ˜åŸŸã«ãŠã‘る変更内容を見ãŸã„å ´åˆã¯\n"
 "    'hg diff' ã‚’ã€ä½œæ¥­é ˜åŸŸã®å¤‰æ›´å†…容をå«ã¾ãªã„ç¾è¡Œãƒ‘ッãƒã®å†…容ã®ã¿ã‚’\n"
 "    見ãŸã„å ´åˆã¯ 'hg export qtip' を使用ã—ã¦ãã ã•ã„。\n"
 "    "
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr "指定パッãƒã®ç¾è¡Œãƒ‘ッãƒã¸ã®çµ±åˆ"
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
-"    The header for each folded patch will be concatenated with the\n"
-"    current patch header, separated by a line of '* * *'."
-msgstr ""
-"指定パッãƒã®ç¾è¡Œãƒ‘ッãƒã¸ã®çµ±åˆ\n"
-"\n"
+"    removed afterwards."
+msgstr ""
 "    対象パッãƒã¯æœªé©ç”¨ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。ãã‚Œãžã‚Œã®ãƒ‘ッãƒã¯æŒ‡å®šã•ã‚ŒãŸ\n"
 "    é †åºã§é€£ç¶šçš„ã«ç¾è¡Œãƒ‘ッãƒã«é©ç”¨ã•ã‚Œã¾ã™ã€‚å…¨ã¦ã®é©ç”¨ãŒæˆåŠŸã—ãŸå ´åˆã¯ã€\n"
 "    ç¾è¡Œãƒ‘ッãƒãŒå…¨ã¦ã®ãƒ‘ッãƒã®ç´¯ç©ã¨ã—ã¦æ›´æ–°ã•ã‚Œã€çµ±åˆã•ã‚ŒãŸãƒ‘ッãƒã¯å‰Šé™¤\n"
 "    ã•ã‚Œã¾ã™ã€‚-k/--keep ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€çµ±åˆå®Ÿæ–½å¾Œã‚‚çµ±åˆã•ã‚Œï½”パッãƒã®\n"
-"    ファイルã¯æ®‹ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    ファイルã¯æ®‹ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    The header for each folded patch will be concatenated with the\n"
+"    current patch header, separated by a line of '* * *'."
+msgstr ""
 "    çµ±åˆå¯¾è±¡ãƒ‘ッãƒã®ãƒ˜ãƒƒãƒ€æƒ…å ±ã¯ã€'* * *' 行を区切り記å·ã¨ã—ã¦ã€ç¾è¡Œã®\n"
 "    パッãƒã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚"
 
@@ -3092,38 +3290,38 @@
 msgid "push or pop patches until named patch is at top of stack"
 msgstr "指定パッãƒã‚’é©ç”¨ãƒ‘ッãƒã®æœ€ä¸Šä½ã«ã™ã‚‹ qpush/qpop ã®å®Ÿæ–½"
 
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgid "set or print guards for a patch"
+msgstr "パッãƒã®ã‚¬ãƒ¼ãƒ‰è¨­å®šãªã„ã—表示"
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
-"    With no arguments, print the currently active guards.\n"
-"    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
-"    To set guards on another patch::\n"
-"\n"
-"      hg qguard other.patch -- +2.6.17 -stable\n"
-"    "
-msgstr ""
-"パッãƒã®ã‚¬ãƒ¼ãƒ‰è¨­å®šãªã„ã—表示\n"
-"\n"
+"    has activated it."
+msgstr ""
 "    「ガードã€ã¯ãƒ‘ッãƒé©ç”¨ã®å¯å¦ã‚’制御ã—ã¾ã™ã€‚ガードãŒè¨­å®šã•ã‚Œã¦ã„ãªã„\n"
 "    パッãƒã¯å¸¸ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚「正ã€ã®ã‚¬ãƒ¼ãƒ‰(例: \"+foo\")ãŒè¨­å®šã•ã‚ŒãŸ\n"
 "    パッãƒã¯ã€qselect ã«ã‚ˆã£ã¦å½“該ガードãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã«ã®ã¿é©ç”¨\n"
 "    ã•ã‚Œã¾ã™ã€‚「負ã€ã®ã‚¬ãƒ¼ãƒ‰(例: \"-foo\")ãŒè¨­å®šã•ã‚Œã¦ã„るパッãƒã¯ã€\n"
-"    qselect ã«ã‚ˆã£ã¦å½“該ガードãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã«ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
+"    qselect ã«ã‚ˆã£ã¦å½“該ガードãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã«ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。"
+
+msgid ""
+"    With no arguments, print the currently active guards.\n"
+"    With arguments, set guards for the named patch.\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
 "    本コマンドãŒå¼•æ•°ç„¡ã—ã§å®Ÿè¡Œã•ã‚ŒãŸå ´åˆã€ç¾è¡Œã®ã‚¬ãƒ¼ãƒ‰è¨­å®šã‚’表示ã—ã¾ã™ã€‚\n"
 "    引数有りã§å®Ÿè¡Œã•ã‚ŒãŸå ´åˆã€æŒ‡å®šã®ãƒ‘ッãƒã«å¯¾ã™ã‚‹ã‚¬ãƒ¼ãƒ‰è¨­å®šã‚’è¡Œã„ã¾ã™ã€‚\n"
-"    備考: è² ã®ã‚¬ãƒ¼ãƒ‰ã®è¨­å®šã«ã¯ '--' ãŒå¿…è¦ã§ã™ã€‚\n"
-"\n"
-"    ç¾è¡Œãƒ‘ッãƒä»¥å¤–ã«ã‚¬ãƒ¼ãƒ‰ã‚’設定ã™ã‚‹ã«ã¯::\n"
-"\n"
+"    備考: è² ã®ã‚¬ãƒ¼ãƒ‰ã®è¨­å®šã«ã¯ '--' ãŒå¿…è¦ã§ã™ã€‚"
+
+msgid "    To set guards on another patch::"
+msgstr "    ç¾è¡Œãƒ‘ッãƒä»¥å¤–ã«ã‚¬ãƒ¼ãƒ‰ã‚’設定ã™ã‚‹ã«ã¯::"
+
+msgid ""
+"      hg qguard other.patch -- +2.6.17 -stable\n"
+"    "
+msgstr ""
 "      hg qguard 対象パッãƒå -- +2.6.17 -stable\n"
 "    "
 
@@ -3140,15 +3338,14 @@
 msgid "print the header of the topmost or specified patch"
 msgstr "ç¾è¡Œãƒ‘ッãƒãªã„ã—指定パッãƒã®ãƒ˜ãƒƒãƒ€è¡¨ç¤º"
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr "次ã®ãƒ‘ッãƒã®é©ç”¨"
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
 msgstr ""
-"次ã®ãƒ‘ッãƒã®é©ç”¨\n"
-"\n"
 "    -f/--force ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãƒ‘ッãƒé©ç”¨å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ã®ã€ä½œæ¥­é ˜åŸŸã«\n"
 "    ãŠã‘る変更内容ã¯ç ´æ£„ã•ã‚Œã¾ã™ã€‚\n"
 "    "
@@ -3160,16 +3357,15 @@
 msgid "merging with queue at: %s\n"
 msgstr "パッãƒç®¡ç†é ˜åŸŸ %s ã¨ãƒžãƒ¼ã‚¸ä¸­\n"
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr "ç¾è¡Œãƒ‘ッãƒã®é©ç”¨è§£é™¤"
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
 "    "
 msgstr ""
-"ç¾è¡Œãƒ‘ッãƒã®é©ç”¨è§£é™¤\n"
-"\n"
 "    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€é©ç”¨ä¸­ã®æœ€ä¸Šä½ãƒ‘ッãƒã‚’解除ã—ã¾ã™ã€‚パッãƒåãŒæŒ‡å®š\n"
 "    ã•ã‚ŒãŸå ´åˆã€å½“該パッãƒãŒé©ç”¨ä¸­ã®æœ€ä¸Šä½ãƒ‘ッãƒã«ãªã‚‹ã¾ã§ã€ä»–ã®ãƒ‘ッãƒã®\n"
 "    é©ç”¨è§£é™¤ã‚’è¡Œã„ã¾ã™ã€‚\n"
@@ -3179,14 +3375,13 @@
 msgid "using patch queue: %s\n"
 msgstr "パッãƒç®¡ç†é ˜åŸŸ %s を使用中\n"
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr "パッãƒã®æ”¹å"
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
-"パッãƒã®æ”¹å\n"
-"\n"
 "    引数ãŒ1ã¤ã®å ´åˆã€ç¾è¡Œãƒ‘ッãƒã‚’指定ã•ã‚ŒãŸåå‰ã«æ”¹åã—ã¾ã™ã€‚\n"
 "    引数ãŒ2ã¤ã®å ´åˆã€1ã¤ç›®ã®ãƒ‘ッãƒã®åå‰ã‚’2ã¤ç›®ã«æ”¹åã—ã¾ã™ã€‚"
 
@@ -3202,23 +3397,14 @@
 msgid "renaming %s to %s\n"
 msgstr "%s ã‹ã‚‰ %s ã«æ”¹å中\n"
 
-msgid ""
-"restore the queue state saved by a revision (DEPRECATED)\n"
-"\n"
-"    This command is deprecated, use rebase --mq instead."
-msgstr ""
-"指定リビジョンã«ã‚ˆã£ã¦ä¿å­˜ã•ã‚ŒãŸãƒ‘ッãƒç®¡ç†çŠ¶æ…‹ã®å¾©æ—§(éžæŽ¨å¥¨)\n"
-"\n"
-"    本コマンドã¯éžæŽ¨å¥¨ã§ã™ã€‚--mq 指定ã«ã‚ˆã‚‹ãƒªãƒ™ãƒ¼ã‚¹ã‚’ã—ã¦ãã ã•ã„。"
-
-msgid ""
-"save current queue state (DEPRECATED)\n"
-"\n"
-"    This command is deprecated, use rebase --mq instead."
-msgstr ""
-"パッãƒç®¡ç†çŠ¶æ…‹ã®ä¿å­˜(éžæŽ¨å¥¨)\n"
-"\n"
-"    本コマンドã¯éžæŽ¨å¥¨ã§ã™ã€‚--mq 指定ã«ã‚ˆã‚‹ãƒªãƒ™ãƒ¼ã‚¹ã‚’ã—ã¦ãã ã•ã„。"
+msgid "restore the queue state saved by a revision (DEPRECATED)"
+msgstr "指定リビジョンã«ã‚ˆã£ã¦ä¿å­˜ã•ã‚ŒãŸãƒ‘ッãƒç®¡ç†çŠ¶æ…‹ã®å¾©æ—§(éžæŽ¨å¥¨)"
+
+msgid "    This command is deprecated, use rebase --mq instead."
+msgstr "    本コマンドã¯éžæŽ¨å¥¨ã§ã™ã€‚--mq 指定ã«ã‚ˆã‚‹ãƒªãƒ™ãƒ¼ã‚¹ã‚’ã—ã¦ãã ã•ã„。"
+
+msgid "save current queue state (DEPRECATED)"
+msgstr "パッãƒç®¡ç†çŠ¶æ…‹ã®ä¿å­˜(éžæŽ¨å¥¨)"
 
 #, python-format
 msgid "destination %s exists and is not a directory"
@@ -3232,84 +3418,88 @@
 msgid "copy %s to %s\n"
 msgstr "%s ã‹ã‚‰ %s ã«è¤‡è£½ã—ã¾ã™\n"
 
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr "リãƒã‚¸ãƒˆãƒªã‹ã‚‰ã®ã€ç‰¹å®šãƒªãƒ“ジョンãŠã‚ˆã³ãã®å­å­«ã®é™¤å¤–"
+
+msgid ""
 "    If one of the working directory's parent revisions is stripped, the\n"
 "    working directory will be updated to the parent of the stripped\n"
 "    revision.\n"
 "    "
 msgstr ""
-"リãƒã‚¸ãƒˆãƒªã‹ã‚‰ã®ã€ç‰¹å®šãƒªãƒ“ジョンãŠã‚ˆã³ãã®å­å­«ã®é™¤å¤–\n"
-"\n"
 "    作業領域ã®è¦ªãƒªãƒ“ジョンãŒé™¤å¤–対象ã«ãªã£ãŸå ´åˆã€ä½œæ¥­é ˜åŸŸã¯é™¤å¤–対象ã®\n"
 "    親リビジョンã®å†…容ã§æ›´æ–°ã•ã‚Œã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr "作業領域ã«ãŠã‘るガードé¸æŠžã®è¨­å®šãªã„ã—表示"
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example::\n"
-"\n"
+"    match the current guard. For example::"
+msgstr ""
+"    パッãƒæ¯Žã®ã‚¬ãƒ¼ãƒ‰è¨­å®šãªã„ã—表示ã«ã¯ qguard を使用ã—ã¾ã™ãŒã€ä½œæ¥­é ˜åŸŸã«\n"
+"    ãŠã‘るガードé¸æŠžãªã„ã—表示ã«ã¯ qselect を使用ã—ã¾ã™ã€‚ガードãŒè¨­å®š\n"
+"    ã•ã‚Œã¦ã„ãªã„ã‹ã€ã„ãšã‚Œã‹ã®ã€Œæ­£ã€ã®ã‚¬ãƒ¼ãƒ‰ãŒã‚¬ãƒ¼ãƒ‰é¸æŠžã«åˆè‡´ã™ã‚‹å ´åˆã€\n"
+"    パッãƒã¯é©ç”¨ã•ã‚Œã¾ã™ãŒã€ã„ãšã‚Œã‹ã®ã€Œè² ã€ã®ã‚¬ãƒ¼ãƒ‰ãŒã‚¬ãƒ¼ãƒ‰é¸æŠžã«åˆè‡´\n"
+"    ã™ã‚‹å ´åˆã€ãƒ‘ッãƒã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。例ãˆã°::"
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+"        qguard foo.patch -stable    (「負ã€ã®ã‚¬ãƒ¼ãƒ‰)\n"
+"        qguard bar.patch +stable    (「正ã€ã®ã‚¬ãƒ¼ãƒ‰)\n"
+"        qselect stable"
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+"    上記㮠qselect 実行ã«ã‚ˆã‚Šã€\"stable\" ガードãŒé¸æŠžã•ã‚Œã¾ã™ã€‚MQ ã¯\n"
+"    foo.patch ã®é©ç”¨ã‚’(「負ã€ã®ã‚¬ãƒ¼ãƒ‰ã«åˆè‡´ã™ã‚‹ãŸã‚)見é€ã‚Šã¾ã™ãŒã€\n"
+"    bar.patch ã®é©ç”¨ã¯(「正ã€ã®ã‚¬ãƒ¼ãƒ‰ã«åˆè‡´ã™ã‚‹ãŸã‚)実施ã—ã¾ã™ã€‚"
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+"    本コマンドãŒå¼•æ•°ç„¡ã—ã§å®Ÿè¡Œã•ã‚ŒãŸå ´åˆã€ç¾åœ¨ã®ã‚¬ãƒ¼ãƒ‰é¸æŠžçŠ¶æ³ã‚’表示\n"
+"    ã—ã¾ã™ã€‚引数ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ã‚¬ãƒ¼ãƒ‰é¸æŠžã‚’設定ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+"    -n/--none を指定ã™ã‚‹ã“ã¨ã§ã€ã‚¬ãƒ¼ãƒ‰é¸æŠžã‚’無効化ã—ã¾ã™(ä»–ã®å¼•æ•°ã¯å¿…è¦\n"
+"    ã‚ã‚Šã¾ã›ã‚“)。ã„ãšã‚Œã®ã‚¬ãƒ¼ãƒ‰ã‚‚é¸æŠžã•ã‚Œã¦ã„ãªã„å ´åˆã€ã€Œæ­£ã€ã®ã‚¬ãƒ¼ãƒ‰ãŒ\n"
+"    設定ã•ã‚ŒãŸãƒ‘ッãƒã®é©ç”¨ã¯è¦‹é€ã‚‰ã‚Œã¾ã™ãŒã€ã€Œè² ã€ã®ã‚¬ãƒ¼ãƒ‰ãŒè¨­å®šã•ã‚ŒãŸ\n"
+"    パッãƒã¯é©ç”¨ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
-"    Use -s/--series to print a list of all guards in the series file\n"
-"    (no other arguments needed). Use -v for more information."
-msgstr ""
-"作業領域ã«ãŠã‘るガードé¸æŠžã®è¨­å®šãªã„ã—表示\n"
-"\n"
-"    パッãƒæ¯Žã®ã‚¬ãƒ¼ãƒ‰è¨­å®šãªã„ã—表示ã«ã¯ qguard を使用ã—ã¾ã™ãŒã€ä½œæ¥­é ˜åŸŸã«\n"
-"    ãŠã‘るガードé¸æŠžãªã„ã—表示ã«ã¯ qselect を使用ã—ã¾ã™ã€‚ガードãŒè¨­å®š\n"
-"    ã•ã‚Œã¦ã„ãªã„ã‹ã€ã„ãšã‚Œã‹ã®ã€Œæ­£ã€ã®ã‚¬ãƒ¼ãƒ‰ãŒã‚¬ãƒ¼ãƒ‰é¸æŠžã«åˆè‡´ã™ã‚‹å ´åˆã€\n"
-"    パッãƒã¯é©ç”¨ã•ã‚Œã¾ã™ãŒã€ã„ãšã‚Œã‹ã®ã€Œè² ã€ã®ã‚¬ãƒ¼ãƒ‰ãŒã‚¬ãƒ¼ãƒ‰é¸æŠžã«åˆè‡´\n"
-"    ã™ã‚‹å ´åˆã€ãƒ‘ッãƒã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。例ãˆã°::\n"
-"\n"
-"        qguard foo.patch -stable    (「負ã€ã®ã‚¬ãƒ¼ãƒ‰)\n"
-"        qguard bar.patch +stable    (「正ã€ã®ã‚¬ãƒ¼ãƒ‰)\n"
-"        qselect stable\n"
-"\n"
-"    上記㮠qselect 実行ã«ã‚ˆã‚Šã€\"stable\" ガードãŒé¸æŠžã•ã‚Œã¾ã™ã€‚MQ ã¯\n"
-"    foo.patch ã®é©ç”¨ã‚’(「負ã€ã®ã‚¬ãƒ¼ãƒ‰ã«åˆè‡´ã™ã‚‹ãŸã‚)見é€ã‚Šã¾ã™ãŒã€\n"
-"    bar.patch ã®é©ç”¨ã¯(「正ã€ã®ã‚¬ãƒ¼ãƒ‰ã«åˆè‡´ã™ã‚‹ãŸã‚)実施ã—ã¾ã™ã€‚\n"
-"\n"
-"    本コマンドãŒå¼•æ•°ç„¡ã—ã§å®Ÿè¡Œã•ã‚ŒãŸå ´åˆã€ç¾åœ¨ã®ã‚¬ãƒ¼ãƒ‰é¸æŠžçŠ¶æ³ã‚’表示\n"
-"    ã—ã¾ã™ã€‚引数ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ã‚¬ãƒ¼ãƒ‰é¸æŠžã‚’設定ã—ã¾ã™ã€‚\n"
-"\n"
-"    -n/--none を指定ã™ã‚‹ã“ã¨ã§ã€ã‚¬ãƒ¼ãƒ‰é¸æŠžã‚’無効化ã—ã¾ã™(ä»–ã®å¼•æ•°ã¯å¿…è¦\n"
-"    ã‚ã‚Šã¾ã›ã‚“)。ã„ãšã‚Œã®ã‚¬ãƒ¼ãƒ‰ã‚‚é¸æŠžã•ã‚Œã¦ã„ãªã„å ´åˆã€ã€Œæ­£ã€ã®ã‚¬ãƒ¼ãƒ‰ãŒ\n"
-"    設定ã•ã‚ŒãŸãƒ‘ッãƒã®é©ç”¨ã¯è¦‹é€ã‚‰ã‚Œã¾ã™ãŒã€ã€Œè² ã€ã®ã‚¬ãƒ¼ãƒ‰ãŒè¨­å®šã•ã‚ŒãŸ\n"
-"    パッãƒã¯é©ç”¨ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    guarded patches."
+msgstr ""
 "    本コマンドã®å®Ÿè¡Œã«ã‚ˆã‚Šã€é©ç”¨ä¸­ã®ãƒ‘ッãƒã®é©ç”¨å¯å¦ã‚‚変化ã—å¾—ã¾ã™ã€‚特ã«\n"
 "    指定ãŒç„¡ã„å ´åˆã€ã‚¬ãƒ¼ãƒ‰ãŒæœ‰åŠ¹ãªãƒ‘ッãƒã®é©ç”¨è§£é™¤ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。 \n"
 "    --pop ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€é©ç”¨å¯å¦ãŒå¤‰ã‚る最åˆã®ãƒ‘ッãƒã¾ã§ã®ãƒ‘ッãƒãŒ\n"
 "    é©ç”¨è§£é™¤ã•ã‚Œã¾ã™ã€‚--reapply ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€--pop 相当ã®å‡¦ç†å¾Œã«ã€\n"
 "    ガードãŒæœ‰åŠ¹ãªãƒ‘ッãƒã®é©ç”¨ã‚’見é€ã‚Šã¤ã¤ã€ç¾è¡Œãƒ‘ッãƒã«è‡³ã‚‹ã¾ã§ãƒ‘ッãƒã‚’\n"
-"    å†é©ç”¨ã—ã¾ã™ã€‚\n"
-"\n"
+"    å†é©ç”¨ã—ã¾ã™ã€‚"
+
+msgid ""
+"    Use -s/--series to print a list of all guards in the series file\n"
+"    (no other arguments needed). Use -v for more information."
+msgstr ""
 "    -s/--series ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãƒ‘ッãƒã«è¨­å®šã•ã‚ŒãŸã‚¬ãƒ¼ãƒ‰ã‚’一覧化ã—ã¦\n"
 "    表示ã—ã¾ã™(ä»–ã®å¼•æ•°ã¯ä¸è¦)。詳細表示ã«ã¯ -v を指定ã—ã¦ãã ã•ã„。"
 
@@ -3342,33 +3532,34 @@
 msgid "reapplying unguarded patches\n"
 msgstr "ガードãŒç„¡åŠ¹ãªãƒ‘ッãƒã‚’å†é©ç”¨ä¸­\n"
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr "é©ç”¨ä¸­ãƒ‘ッãƒã®é€šå¸¸ãƒªãƒ“ジョン化"
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+"    指定ã•ã‚ŒãŸãƒªãƒ“ジョン(é©ç”¨ä¸­ãƒ‘ッãƒã«ç›¸å½“)ã‚’ã€MQ 管ç†ä¸‹ã‹ã‚‰é™¤å¤–ã—ã€\n"
+"    通常ã®ãƒªãƒ“ジョンã¨ã—ã¦ãƒªãƒã‚¸ãƒˆãƒªã«è¨˜éŒ²ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+"    リビジョン範囲指定やã€-a/--applied ãŒæŒ‡å®šå¯èƒ½ã§ã™ã€‚--applied ãŒæŒ‡å®š\n"
+"    ã•ã‚ŒãŸå ´åˆã€å…¨ã¦ã®é©ç”¨ä¸­ãƒ‘ッãƒãŒ MQ 管ç†ä¸‹ã‹ã‚‰é™¤å¤–ã•ã‚Œã¾ã™ã€‚ãã‚Œ\n"
+"    以外ã®å ´åˆã€æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョンã¯ã€é©ç”¨ä¸­ã‚¹ã‚¿ãƒƒã‚¯ã®æœ€ä¸‹ä½ã‹ã‚‰ã®\n"
+"    一連ã®ãƒªãƒ“ジョンã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
 "    "
 msgstr ""
-"é©ç”¨ä¸­ãƒ‘ッãƒã®é€šå¸¸ãƒªãƒ“ジョン化\n"
-"\n"
-"    指定ã•ã‚ŒãŸãƒªãƒ“ジョン(é©ç”¨ä¸­ãƒ‘ッãƒã«ç›¸å½“)ã‚’ã€MQ 管ç†ä¸‹ã‹ã‚‰é™¤å¤–ã—ã€\n"
-"    通常ã®ãƒªãƒ“ジョンã¨ã—ã¦ãƒªãƒã‚¸ãƒˆãƒªã«è¨˜éŒ²ã—ã¾ã™ã€‚\n"
-"\n"
-"    リビジョン範囲指定やã€-a/--applied ãŒæŒ‡å®šå¯èƒ½ã§ã™ã€‚--applied ãŒæŒ‡å®š\n"
-"    ã•ã‚ŒãŸå ´åˆã€å…¨ã¦ã®é©ç”¨ä¸­ãƒ‘ッãƒãŒ MQ 管ç†ä¸‹ã‹ã‚‰é™¤å¤–ã•ã‚Œã¾ã™ã€‚ãã‚Œ\n"
-"    以外ã®å ´åˆã€æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョンã¯ã€é©ç”¨ä¸­ã‚¹ã‚¿ãƒƒã‚¯ã®æœ€ä¸‹ä½ã‹ã‚‰ã®\n"
-"    一連ã®ãƒªãƒ“ジョンã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
-"\n"
 "    ã“ã®æ©Ÿèƒ½ã¯ã€ä¸Šæµã®ãƒªãƒã‚¸ãƒˆãƒªã§ãƒ‘ッãƒãŒå—ç†ã•ã‚ŒãŸå ´åˆã‚„ã€ãƒ‘ッãƒå†…容を\n"
 "    上æµãƒªãƒã‚¸ãƒˆãƒªã«å映ã—よã†ã¨ã—ã¦ã„ã‚‹å ´åˆãªã©ã«æœ‰ç”¨ã§ã™ã€‚\n"
 "    "
@@ -3636,33 +3827,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr "hg qfinish [-a] [REV]..."
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -3673,31 +3878,40 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -3713,210 +3927,241 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
 msgstr ""
 "\n"
-"差分 (%d è¡Œã‹ã‚‰ %d è¡Œã«åˆ‡ã‚Šè©°ã‚):\n"
-"\n"
+"差分 (%d è¡Œã‹ã‚‰ %d è¡Œã«åˆ‡ã‚Šè©°ã‚):"
 
 #, python-format
 msgid ""
 "\n"
-"diffs (%d lines):\n"
-"\n"
+"diffs (%d lines):"
 msgstr ""
 "\n"
-"差分 (%d 行):\n"
-"\n"
+"差分 (%d 行):"
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr "notify: マージ %d:%s ã®é€šçŸ¥ã‚’抑止中\n"
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend. Below is the default list of commands to be paged::\n"
-"\n"
+"pager.attend. Below is the default list of commands to be paged::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = annotate, cat, diff, export, glog, log, qdiff\n"
-"\n"
+"  attend = annotate, cat, diff, export, glog, log, qdiff"
+msgstr ""
+
+msgid ""
 "Setting pager.attend to an empty value will cause all commands to be\n"
-"paged.\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"paged."
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr ""
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr ""
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+msgid "command to send changesets as (a series of) patch emails"
+msgstr "é›»å­ãƒ¡ãƒ¼ãƒ«ã«ã‚ˆã‚‹å¤‰æ›´å†…容パッãƒé€ä»˜ã®ã‚³ãƒžãƒ³ãƒ‰"
+
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+"一連ã®ãƒ¡ãƒ¼ãƒ«ã¯ã€\"[PATCH 0 of N]\" ã‚’ Subject ヘッダã«æŒã¤ã€èª¬æ˜Žãƒ¡ãƒ¼ãƒ«\n"
+"ã‹ã‚‰å§‹ã¾ã‚Šã¾ã™ã€‚"
+
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+"個々ã®ãƒ¡ãƒ¼ãƒ«ã® Subject ヘッダã¯ã€\"[PATCH M of N]\" ã§å§‹ã¾ã‚Šã€å¯¾å¿œã™ã‚‹\n"
+"リビジョンã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æœ€åˆã®è¡Œã®å†…容ãŒè¨˜è¼‰ã•ã‚Œã¾ã™ã€‚メールã®\n"
+"本文ã¯ã€ä»¥ä¸‹ã®æ§˜ãª2ãªã„ã—3ã®éƒ¨ä½ã‹ã‚‰æ§‹æˆã•ã‚Œã¾ã™:"
+
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+"- コミットメッセージ\n"
+"- パッãƒã®å·®åˆ†çµ±è¨ˆ(diffstat)çµæžœ [çœç•¥å¯èƒ½]\n"
+"- \"hg export\" å½¢å¼ã¨åŒæ§˜ã®ãƒ‘ッãƒå†…容"
+
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+"個々ã®ãƒ¡ãƒ¼ãƒ«ã¯ã€In-Reply-To ãŠã‚ˆã³ References ヘッダを使用ã—ã¦ã€1通目ã®\n"
+"メールをå‚ç…§ã—ã¾ã™ã®ã§ã€ãƒ¡ãƒ¼ãƒ«ãƒªãƒ¼ãƒ€ãƒ¼ã‚„ニュースリーダーã§ã®å‚照時やã€\n"
+"メールアーカイブã«ãŠã„ã¦ã¯ã€ä¸€é€£ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+"-d/--diffstat を指定ã—ãŸå ´åˆã€å·®åˆ†çµ±è¨ˆçµæžœã‚„コミットメッセージを伴ã£ã¦\n"
+"é€ä¿¡ã®æœ‰ç„¡ã®å•ã„åˆã‚ã›ãŒã‚ã‚Šã¾ã™ã®ã§ã€ç¢ºèªã—ãªãŒã‚‰é€ä¿¡ã§ãã¾ã™ã€‚"
+
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+"以下ã®æ§˜ãªè¨˜è¿°ã‚’設定ファイルã«è¿½åŠ ã™ã‚‹ã“ã¨ã§ã€ç„¡æŒ‡å®šæ™‚ã®è¨­å®šã‚’変更ã§ã\n"
+"ã¾ã™::"
+
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+"  [email]\n"
+"  from = My Name <my@email>\n"
+"  to = recipient1, recipient2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ..."
+
+msgid ""
 "Use ``[patchbomb]`` as configuration section name if you need to\n"
-"override global ``[email]`` address settings.\n"
-"\n"
+"override global ``[email]`` address settings."
+msgstr ""
+"``[email]`` セクションã«ãŠã‘るグローãƒãƒ«ãªã‚¢ãƒ‰ãƒ¬ã‚¹è¨­å®šã‚ˆã‚Šã‚‚優先ã•ã›ãŸã„\n"
+"設定ãŒã‚ã‚‹å ´åˆã«ã¯ã€``[patchbomb]`` セクションを使ã£ã¦è¨˜è¿°ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+"ã“ã“ã¾ã§è¨­å®šã§ããŸãªã‚‰ã€\"hg email\" コマンドを使用ã—ã¦ã€ä¸€é€£ã®\n"
+"リビジョンをパッãƒçˆ†å¼¾(patchbomb)ã¨ã—ã¦ãƒ¡ãƒ¼ãƒ«é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
-"The -m/--mbox option is also very useful. Instead of previewing each\n"
-"patchbomb message in a pager or sending the messages directly, it will\n"
-"create a UNIX mailbox file with the patch emails. This mailbox file\n"
-"can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
-"When you are previewing the patchbomb messages, you can use ``formail``\n"
-"(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
-"You can also either configure the method option in the email section\n"
-"to be a sendmail compatible mailer or fill out the [smtp] section so\n"
-"that the patchbomb extension can automatically send patchbombs\n"
-"directly from the commandline. See the [email] and [smtp] sections in\n"
-"hgrc(5) for details.\n"
-msgstr ""
-"é›»å­ãƒ¡ãƒ¼ãƒ«ã«ã‚ˆã‚‹å¤‰æ›´å†…容パッãƒé€ä»˜ã®ã‚³ãƒžãƒ³ãƒ‰\n"
-"\n"
-"一連ã®ãƒ¡ãƒ¼ãƒ«ã¯ã€\"[PATCH 0 of N]\" ã‚’ Subject ヘッダã«æŒã¤ã€èª¬æ˜Žãƒ¡ãƒ¼ãƒ«\n"
-"ã‹ã‚‰å§‹ã¾ã‚Šã¾ã™ã€‚\n"
-"\n"
-"個々ã®ãƒ¡ãƒ¼ãƒ«ã® Subject ヘッダã¯ã€\"[PATCH M of N]\" ã§å§‹ã¾ã‚Šã€å¯¾å¿œã™ã‚‹\n"
-"リビジョンã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æœ€åˆã®è¡Œã®å†…容ãŒè¨˜è¼‰ã•ã‚Œã¾ã™ã€‚メールã®\n"
-"本文ã¯ã€ä»¥ä¸‹ã®æ§˜ãª2ãªã„ã—3ã®éƒ¨ä½ã‹ã‚‰æ§‹æˆã•ã‚Œã¾ã™:\n"
-"\n"
-"- コミットメッセージ\n"
-"- パッãƒã®å·®åˆ†çµ±è¨ˆ(diffstat)çµæžœ [çœç•¥å¯èƒ½]\n"
-"- \"hg export\" å½¢å¼ã¨åŒæ§˜ã®ãƒ‘ッãƒå†…容\n"
-"\n"
-"個々ã®ãƒ¡ãƒ¼ãƒ«ã¯ã€In-Reply-To ãŠã‚ˆã³ References ヘッダを使用ã—ã¦ã€1通目ã®\n"
-"メールをå‚ç…§ã—ã¾ã™ã®ã§ã€ãƒ¡ãƒ¼ãƒ«ãƒªãƒ¼ãƒ€ãƒ¼ã‚„ニュースリーダーã§ã®å‚照時やã€\n"
-"メールアーカイブã«ãŠã„ã¦ã¯ã€ä¸€é€£ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚\n"
-"\n"
-"-d/--diffstat を指定ã—ãŸå ´åˆã€å·®åˆ†çµ±è¨ˆçµæžœã‚„コミットメッセージを伴ã£ã¦\n"
-"é€ä¿¡ã®æœ‰ç„¡ã®å•ã„åˆã‚ã›ãŒã‚ã‚Šã¾ã™ã®ã§ã€ç¢ºèªã—ãªãŒã‚‰é€ä¿¡ã§ãã¾ã™ã€‚\n"
-"\n"
-"以下ã®æ§˜ãªè¨˜è¿°ã‚’設定ファイルã«è¿½åŠ ã™ã‚‹ã“ã¨ã§ã€ç„¡æŒ‡å®šæ™‚ã®è¨­å®šã‚’変更ã§ã\n"
-"ã¾ã™::\n"
-"\n"
-"  [email]\n"
-"  from = My Name <my@email>\n"
-"  to = recipient1, recipient2, ...\n"
-"  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
-"``[email]`` セクションã«ãŠã‘るグローãƒãƒ«ãªã‚¢ãƒ‰ãƒ¬ã‚¹è¨­å®šã‚ˆã‚Šã‚‚優先ã•ã›ãŸã„\n"
-"設定ãŒã‚ã‚‹å ´åˆã«ã¯ã€``[patchbomb]`` セクションを使ã£ã¦è¨˜è¿°ã—ã¦ãã ã•ã„。\n"
-"\n"
-"ã“ã“ã¾ã§è¨­å®šã§ããŸãªã‚‰ã€\"hg email\" コマンドを使用ã—ã¦ã€ä¸€é€£ã®\n"
-"リビジョンをパッãƒçˆ†å¼¾(patchbomb)ã¨ã—ã¦ãƒ¡ãƒ¼ãƒ«é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
 "ä¸å®Œå…¨ãªãƒ‘ッãƒã®é€ä¿¡ã‚’防ã上ã§ã€ã¾ãšã¯ \"-n\"(ï¼ã€Œè¡¨ç¤ºã®ã¿ã€)指定付ãã§\n"
 "\"email\" コマンドを実行ã™ã‚‹ã®ãŒãŠå‹§ã‚ã§ã™ã€‚ã“れを指定ã—ãŸå®Ÿè¡Œã®éš›ã«ã¯ã€\n"
 "é€ä¿¡å…ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚„ã€ä¸€é€£ã®ãƒ‘ッãƒã‹ã‚‰æˆã‚‹ãƒ‘ッãƒçˆ†å¼¾ã®èª¬æ˜Žæ–‡ç­‰ã®å…¥åŠ›ãŒä¿ƒã•ã‚Œ\n"
 "ã¾ã™ã€‚å¿…è¦ãªå…¥åŠ›ãŒå®Œäº†ã™ã‚‹ã¨ã€é€ä¿¡ã•ã‚Œã‚‹ãƒ¡ãƒ¼ãƒ«ã®å†…容ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
 "PAGER 環境変数ãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ãƒ‘ッãƒçˆ†å¼¾ã‚’構æˆã™ã‚‹ãƒ¡ãƒ¼ãƒ«ã”ã¨ã«ã€\n"
 "環境変数ã«è¨­å®šã•ã‚ŒãŸãƒ—ログラムãŒèµ·å‹•ã•ã‚Œã¾ã™ã®ã§ã€å†…容を確èªã™ã‚‹ã“ã¨ãŒ\n"
-"出æ¥ã¾ã™ã€‚\n"
-"\n"
+"出æ¥ã¾ã™ã€‚"
+
+msgid ""
+"The -m/--mbox option is also very useful. Instead of previewing each\n"
+"patchbomb message in a pager or sending the messages directly, it will\n"
+"create a UNIX mailbox file with the patch emails. This mailbox file\n"
+"can be previewed with any mail user agent which supports UNIX mbox\n"
+"files, e.g. with mutt::"
+msgstr ""
 "-m/--mbox も有用ã§ã™ã€‚PAGER ã§ã®è¡¨ç¤ºã‚„メールé€ä¿¡ã®ä»£ã‚ã‚Šã«ã€ãƒ‘ッãƒã®\n"
 "メールを格ç´ã—㟠UNIX mailbox å½¢å¼ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã—ã¾ã™ã€‚ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯\n"
 "UNIX  mailbox å½¢å¼ãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾å¿œã—ã¦ã„ã‚‹ä»»æ„ã®ãƒ„ールã§é–²è¦§ã™ã‚‹ã“ã¨ãŒã§ã\n"
-"ã¾ã™ã€‚例ãˆã° mutt ã¨ã„ã†ãƒ„ールã®å ´åˆ::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"ã¾ã™ã€‚例ãˆã° mutt ã¨ã„ã†ãƒ„ールã®å ´åˆ::"
+
+msgid "  % mutt -R -f mbox"
+msgstr "  % mutt -R -f mbox"
+
+msgid ""
+"When you are previewing the patchbomb messages, you can use ``formail``\n"
+"(a utility that is commonly installed as part of the procmail\n"
+"package), to send each message out::"
+msgstr ""
 "パッãƒçˆ†å¼¾ã®å†…容を閲覧中ã«ã€``formail``(procmail パッケージã®ä¸€éƒ¨ã¨ã—ã¦\n"
 "大抵ã®ã‚·ã‚¹ãƒ†ãƒ ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„るユーティリティã§ã™)を使用ã—ã¦\n"
-"メールをé€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"以上ã§å®Œäº†ã§ã™ã€‚ã“ã‚Œã§ãƒ‘ッãƒçˆ†å¼¾ãŒé€ä¿¡ã•ã‚Œã¾ã—ãŸã€‚\n"
-"\n"
+"メールをé€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™::"
+
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr "  % formail -s sendmail -bm -t < mbox"
+
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr "以上ã§å®Œäº†ã§ã™ã€‚ã“ã‚Œã§ãƒ‘ッãƒçˆ†å¼¾ãŒé€ä¿¡ã•ã‚Œã¾ã—ãŸã€‚"
+
+msgid ""
+"You can also either configure the method option in the email section\n"
+"to be a sendmail compatible mailer or fill out the [smtp] section so\n"
+"that the patchbomb extension can automatically send patchbombs\n"
+"directly from the commandline. See the [email] and [smtp] sections in\n"
+"hgrc(5) for details.\n"
+msgstr ""
 "設定ファイル㮠[email] セクション㧠method 指定を行ã†ã“ã¨ã§ã€sendmail\n"
 "互æ›ã®ãƒ¡ãƒ¼ãƒ«é€ä¿¡ãƒ—ログラムを指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã‚Œã°ã€[smtp] セクションã«\n"
 "å¿…è¦ãªæƒ…報を記述ã™ã‚‹ã“ã¨ã§ã€å¤–部プログラムã®åŠ©ã‘を借りãšã« Mercurial ã‹ã‚‰\n"
@@ -3936,100 +4181,101 @@
 msgid "diffstat rejected"
 msgstr "差分統計ãŒå´ä¸‹ã•ã‚Œã¾ã—ãŸ"
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr "é›»å­ãƒ¡ãƒ¼ãƒ«ã«ã‚ˆã‚‹å¤‰æ›´å†…容ã®ãƒ‘ッãƒé€ä»˜"
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+"    特ã«æŒ‡å®šã®ç„¡ã„å ´åˆã€'hg export' ã®ç”Ÿæˆã™ã‚‹å·®åˆ†å½¢å¼ã§ã€ãƒªãƒ“ジョン毎ã«\n"
+"    メールãŒé€ä¿¡ã•ã‚Œã¾ã™ã€‚一連ã®ãƒ¡ãƒ¼ãƒ«ã¯ã€\"[PATCH 0 of N]\" ã‚’ Subject\n"
+"    ヘッダã«æŒã¤ã€èª¬æ˜Žãƒ¡ãƒ¼ãƒ«ã‹ã‚‰å§‹ã¾ã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
-"    By default the patch is included as text in the email body for\n"
-"    easy reviewing. Using the -a/--attach option will instead create\n"
-"    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
-"    With -o/--outgoing, emails will be generated for patches not found\n"
-"    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
-"    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
-"    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
-"      hg email -r 3000          # send patch 3000 only\n"
-"      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
-"      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
-"      hg email -o               # send all patches not in default\n"
-"      hg email -o DEST          # send all patches not in DEST\n"
-"      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
-"      hg email -b               # send bundle of all patches not in default\n"
-"      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
-"    Before using this command, you will need to enable email in your\n"
-"    hgrc. See the [email] section in hgrc(5) for details.\n"
-"    "
-msgstr ""
-"é›»å­ãƒ¡ãƒ¼ãƒ«ã«ã‚ˆã‚‹å¤‰æ›´å†…容ã®ãƒ‘ッãƒé€ä»˜\n"
-"\n"
-"    特ã«æŒ‡å®šã®ç„¡ã„å ´åˆã€'hg export' ã®ç”Ÿæˆã™ã‚‹å·®åˆ†å½¢å¼ã§ã€ãƒªãƒ“ジョン毎ã«\n"
-"    メールãŒé€ä¿¡ã•ã‚Œã¾ã™ã€‚一連ã®ãƒ¡ãƒ¼ãƒ«ã¯ã€\"[PATCH 0 of N]\" ã‚’ Subject\n"
-"    ヘッダã«æŒã¤ã€èª¬æ˜Žãƒ¡ãƒ¼ãƒ«ã‹ã‚‰å§‹ã¾ã‚Šã¾ã™ã€‚\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
 "    個々ã®ãƒ¡ãƒ¼ãƒ«ã® Subject ヘッダã¯ã€\"[PATCH M of N]\" ã§å§‹ã¾ã‚Šã€å¯¾å¿œ\n"
 "    ã™ã‚‹ãƒªãƒ“ジョンã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æœ€åˆã®è¡Œã®å†…容ãŒè¨˜è¼‰ã•ã‚Œã¾ã™ã€‚\n"
 "    メール本文ã¯ã€2ãªã„ã—3ã®éƒ¨ä½ã‹ã‚‰æ§‹æˆã•ã‚Œã¾ã™ã€‚最åˆã®éƒ¨ä½ã«ã¯ã‚³ãƒŸãƒƒãƒˆ\n"
 "    メッセージã®ç¶šããŒé…ç½®ã•ã‚Œã¾ã™ã€‚次ã®éƒ¨ä½ã«ã¯ã€diffstat コマンドãŒ\n"
 "    利用å¯èƒ½ã§ä¸”㤠-d/--diffstat ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã€ãƒ‘ッãƒã®å·®åˆ†çµ±è¨ˆãŒ\n"
 "    é…ç½®ã•ã‚Œã¾ã™ã€‚最後ã®éƒ¨ä½ã«ã¯ã€'hg export' ã®ç”Ÿæˆã™ã‚‹å·®åˆ†ã«ã‚ˆã‚‹\n"
-"    パッãƒãŒé…ç½®ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    パッãƒãŒé…ç½®ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    By default the patch is included as text in the email body for\n"
+"    easy reviewing. Using the -a/--attach option will instead create\n"
+"    an attachment for the patch. With -i/--inline an inline attachment\n"
+"    will be created."
+msgstr ""
 "    特ã«æŒ‡å®šã®ç„¡ã„å ´åˆã€ãƒ‘ッãƒã¯ãƒ¡ãƒ¼ãƒ«æœ¬æ–‡ä¸­ã«é€šå¸¸ãƒ†ã‚­ã‚¹ãƒˆã¨ã—ã¦åŸ‹ã‚è¾¼ã¾\n"
 "    ã‚Œã¾ã™ã€‚-a/--attach 指定ã«ã‚ˆã‚Šã€ãƒ‘ッãƒãŒæ·»ä»˜ãƒ•ã‚¡ã‚¤ãƒ«åŒ–ã•ã‚Œã¾ã™ã€‚\n"
-"    -i/--inline 指定ã«ã‚ˆã‚Šã€ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³æ·»ä»˜ãƒ•ã‚¡ã‚¤ãƒ«ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
+"    -i/--inline 指定ã«ã‚ˆã‚Šã€ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³æ·»ä»˜ãƒ•ã‚¡ã‚¤ãƒ«ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
+"    With -o/--outgoing, emails will be generated for patches not found\n"
+"    in the destination repository (or only those which are ancestors\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
 "    -o/--outgoing 指定ãŒã‚ã‚‹å ´åˆã€é€£æºå¯¾è±¡ãƒªãƒã‚¸ãƒˆãƒªã«å­˜åœ¨ã—ãªã„\n"
 "    (ã‚ã‚‹ã„ã¯ã€æŒ‡å®šãƒªãƒ“ジョンã®å­å­«ã¨ãªã‚‹)リビジョンã®ãŸã‚ã®ãƒ‘ッãƒã®ã¿ãŒ\n"
-"    メールã§é€ä¿¡ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    メールã§é€ä¿¡ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
+"    single email containing a binary Mercurial bundle as an attachment\n"
+"    will be sent."
+msgstr ""
 "    -b/--bundle 指定ãŒã‚ã‚‹å ´åˆã€å¯¾è±¡ãƒªãƒ“ジョンã®é¸æŠžã¯ --outgoing 指定\n"
 "    時ã¨åŒæ§˜ã«è¡Œã‚ã‚Œã¾ã™ãŒã€Mercurial ã®ãƒãƒ³ãƒ‰ãƒ«å½¢å¼ãƒ•ã‚¡ã‚¤ãƒ«ã‚’添付\n"
-"    ファイルã¨ã™ã‚‹å˜ä¸€ã®ãƒ¡ãƒ¼ãƒ«ã¨ã—ã¦é€ä¿¡ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    実行例::\n"
-"\n"
+"    ファイルã¨ã™ã‚‹å˜ä¸€ã®ãƒ¡ãƒ¼ãƒ«ã¨ã—ã¦é€ä¿¡ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"      hg email -r 3000          # send patch 3000 only\n"
+"      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
+"      hg email -r 3000:3005     # send patches 3000 through 3005\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
 "      hg email -r 3000          # リビジョン 3000 \n"
 "      hg email -r 3000 -r 3001  # リビジョン 3000 ãŠã‚ˆã³ 3001\n"
 "      hg email -r 3000:3005     # リビジョン 3000 ã‹ã‚‰ 3005 ã¾ã§\n"
-"      hg email 3000             # リビジョン 3000 (éžæŽ¨å¥¨å½¢å¼)\n"
-"\n"
+"      hg email 3000             # リビジョン 3000 (éžæŽ¨å¥¨å½¢å¼)"
+
+msgid ""
+"      hg email -o               # send all patches not in default\n"
+"      hg email -o DEST          # send all patches not in DEST\n"
+"      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
 "      hg email -o               # default ã«ç„¡ã„リビジョン\n"
 "      hg email -o DEST          # DEST ã«ç„¡ã„リビジョン\n"
 "      hg email -o -r 3000       # default ã«ç„¡ã„ 3000 以後\n"
-"      hg email -o -r 3000 DEST  # DEST ã«ç„¡ã„ 3000 以後\n"
-"\n"
+"      hg email -o -r 3000 DEST  # DEST ã«ç„¡ã„ 3000 以後"
+
+msgid ""
+"      hg email -b               # send bundle of all patches not in default\n"
+"      hg email -b DEST          # send bundle of all patches not in DEST\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
 "      hg email -b               # default ã«ç„¡ã„ã‚‚ã®ã‚’ bundle å½¢å¼ã§\n"
 "      hg email -b DEST          # DEST ã«ç„¡ã„ã‚‚ã®ã‚’ bundle å½¢å¼ã§\n"
 "      hg email -b -r 3000       # default ã«ç„¡ã„ 3000 以後を bundle å½¢å¼ã§\n"
-"      hg email -b -r 3000 DEST  # DEST ã«ç„¡ã„ 3000 以後を bundle å½¢å¼ã§\n"
-"\n"
+"      hg email -b -r 3000 DEST  # DEST ã«ç„¡ã„ 3000 以後を bundle å½¢å¼ã§"
+
+msgid ""
+"    Before using this command, you will need to enable email in your\n"
+"    hgrc. See the [email] section in hgrc(5) for details.\n"
+"    "
+msgstr ""
 "    本コマンドを使用ã™ã‚‹å‰ã«ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«é›»å­ãƒ¡ãƒ¼ãƒ«é–¢é€£è¨­å®šã‚’記述ã™ã‚‹\n"
 "    å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚設定ファイルã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ(hgrc(5))ã‚’å‚ç…§ã—ã¦\n"
 "    ãã ã•ã„。\n"
@@ -4049,20 +4295,14 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
+"Write the introductory message for the patch series."
 msgstr ""
 "\n"
-"一連ã®ãƒ‘ッãƒã®ãŸã‚ã®èª¬æ˜Žæ–‡ã‚’記述ã—ã¦ãã ã•ã„。\n"
-"\n"
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
-msgstr ""
-"一連ã®ãƒ‘ッãƒã¯ %d 個ã®ãƒ‘ッãƒã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„ã¾ã™ã€‚\n"
-"\n"
+"一連ã®ãƒ‘ッãƒã®ãŸã‚ã®èª¬æ˜Žæ–‡ã‚’記述ã—ã¦ãã ã•ã„。"
+
+#, python-format
+msgid "This patch series consists of %d patches."
+msgstr "一連ã®ãƒ‘ッãƒã¯ %d 個ã®ãƒ‘ッãƒã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„ã¾ã™ã€‚"
 
 msgid "Final summary:\n"
 msgstr "統計çµæžœ:\n"
@@ -4145,24 +4385,30 @@
 msgid "hg email [OPTION]... [DEST]..."
 msgstr "hg email [OPTION]... [DEST]...\""
 
-msgid ""
-"show progress bars for some actions\n"
-"\n"
+msgid "show progress bars for some actions"
+msgstr ""
+
+msgid ""
 "This extension uses the progress information logged by hg commands\n"
 "to draw progress bars that are as informative as possible. Some progress\n"
 "bars only offer indeterminate information, while others have a definite\n"
-"end point.\n"
-"\n"
-"The following settings are available::\n"
-"\n"
+"end point."
+msgstr ""
+
+msgid "The following settings are available::"
+msgstr ""
+
+msgid ""
 "  [progress]\n"
 "  delay = 3 # number of seconds (float) before showing the progress bar\n"
 "  refresh = 0.1 # time in seconds between refreshes of the progress bar\n"
 "  format = topic bar number # format of the progress bar\n"
 "  width = <none> # if set, the maximum width of the progress information\n"
 "                 # (that is, min(width, term width) will be used)\n"
-"  clear-complete = True # clear the progress bar after it's done\n"
-"\n"
+"  clear-complete = True # clear the progress bar after it's done"
+msgstr ""
+
+msgid ""
 "Valid entries for the format field are topic, bar, number, unit, and\n"
 "item. item defaults to the last 20 characters of the item, but this\n"
 "can be changed by adding either ``-<num>`` which would take the last\n"
@@ -4172,27 +4418,38 @@
 msgid "command to delete untracked files from the working directory"
 msgstr "作業領域中ã®æœªç™»éŒ²ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰"
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+
+msgid "    This means that purge will delete:"
+msgstr ""
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+
+msgid "    But it will leave untouched:"
+msgstr ""
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -4231,41 +4488,41 @@
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr "hg purge [OPTION]... [DIR]...\""
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr "一連ã®ãƒªãƒ“ジョンを異ãªã‚‹å±¥æ­´ãƒ„リー上ã®ä½ç½®ã«ç§»å‹•ã•ã›ã‚‹ã‚³ãƒžãƒ³ãƒ‰"
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+"本エクステンションã¯ã€æ—¢å­˜ã® Mercurial リãƒã‚¸ãƒˆãƒªã«ãŠã‘るリビジョンã®\n"
+"リベースをå¯èƒ½ã«ã—ã¾ã™ã€‚"
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
-"一連ã®ãƒªãƒ“ジョンを異ãªã‚‹å±¥æ­´ãƒ„リー上ã®ä½ç½®ã«ç§»å‹•ã•ã›ã‚‹ã‚³ãƒžãƒ³ãƒ‰\n"
-"\n"
-"本エクステンションã¯ã€æ—¢å­˜ã® Mercurial リãƒã‚¸ãƒˆãƒªã«ãŠã‘るリビジョンã®\n"
-"リベースをå¯èƒ½ã«ã—ã¾ã™ã€‚\n"
-"\n"
 "詳細ã¯ä»¥ä¸‹ã‚’å‚ç…§ã—ã¦ãã ã•ã„:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr "別ãªå±¥æ­´ä½ç½®ã¸ã®ãƒªãƒ“ジョン(ãŠã‚ˆã³ãã®å­å­«)ã®ç§»å‹•"
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history onto another. This can be useful for linearizing local\n"
-"    changes relative to a master development tree.\n"
-"\n"
-"    If a rebase is interrupted to manually resolve a merge, it can be\n"
-"    continued with --continue/-c or aborted with --abort/-a.\n"
-"    "
-msgstr ""
-"別ãªå±¥æ­´ä½ç½®ã¸ã®ãƒªãƒ“ジョン(ãŠã‚ˆã³ãã®å­å­«)ã®ç§»å‹•\n"
-"\n"
+"    changes relative to a master development tree."
+msgstr ""
 "    ã‚る履歴ä½ç½®ã‹ã‚‰åˆ¥ãªä½ç½®ã¸ã¨ãƒªãƒ“ジョンを移æ¤ã™ã‚‹ãŸã‚ã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯\n"
 "    å復的ãªãƒžãƒ¼ã‚¸ã‚’è¡Œãªã„ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯ã€ä½œæ¥­é ˜åŸŸã«ãŠã‘ã‚‹æˆæžœã‚’開発\n"
 "    用ã®ãƒžã‚¹ã‚¿ãƒ¼ãƒªãƒã‚¸ãƒˆãƒªã«å映ã™ã‚‹éš›ã«ã€æžåˆ†ã‹ã‚Œã®ç„¡ã„状態ã«ã™ã‚‹ã‚ˆã†ãª\n"
-"    å ´åˆã«æœ‰ç”¨ã§ã™ã€‚\n"
-"\n"
+"    å ´åˆã«æœ‰ç”¨ã§ã™ã€‚"
+
+msgid ""
+"    If a rebase is interrupted to manually resolve a merge, it can be\n"
+"    continued with --continue/-c or aborted with --abort/-a.\n"
+"    "
+msgstr ""
 "    手動マージã«ã‚ˆã‚‹è¡çªè§£æ¶ˆã®å¿…è¦ã‹ã‚‰ä¸­æ–­ã•ã‚ŒãŸå ´åˆã€--continue/-c ã§\n"
 "    処ç†ã‚’継続ã—ãŸã‚Šã€--abort/-a ã§å‡¦ç†ã‚’終了ã•ã›ãŸã‚Šã§ãã¾ã™ã€‚\n"
 "    "
@@ -4372,12 +4629,8 @@
 msgid "abort an interrupted rebase"
 msgstr "中断ã•ã‚ŒãŸãƒªãƒ™ãƒ¼ã‚¹ã‚’中止"
 
-msgid ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--detach] [--keep] [--"
-"keepbranches] | [-c] | [-a]"
-msgstr ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--detach] [--keep] [--"
-"keepbranches] | [-c] | [-a]"
+msgid "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--detach] [--keep] [--keepbranches] | [-c] | [-a]"
+msgstr "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--detach] [--keep] [--keepbranches] | [-c] | [-a]"
 
 msgid "commands to interactively select changes for commit/qrefresh"
 msgstr "commit ã¾ãŸã¯ qrefresh 実行時ã«å¯¾è©±çš„ãªå¤‰æ›´é¸æŠžã‚’è¡Œã†ã‚³ãƒžãƒ³ãƒ‰"
@@ -4440,52 +4693,53 @@
 msgid "record change %d/%d to %r?"
 msgstr "ã“ã®å¤‰æ›´ (%d 件目 / %d 件中) ã‚’ %r ã«è¨˜éŒ²ã—ã¾ã™ã‹?"
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr "コミットã™ã‚‹å†…容を対話的ã«é¸æŠžã—ã¾ã™"
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+"    ファイル一覧ãŒæŒ‡å®šã•ã‚Œãªã‹ã£ãŸå ´åˆã¯ \"hg status\" ã§è¡¨ç¤ºã•ã‚Œã‚‹\n"
+"    å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¨˜éŒ²ã®å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr "    -d/--date ã§ä½¿ç”¨ã™ã‚‹æ—¥æ™‚表記㯠'he help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
+"    possible::"
+msgstr ""
+"    変更ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´ç®‡æ‰€ã”ã¨ã«è¨˜éŒ²ã™ã‚‹ã‹ã©ã†ã‹è³ªå•ã•ã‚Œã¾ã™ã€‚\n"
+"    ãã‚Œã«å¯¾ã—ã¦ä»¥ä¸‹ã®æ“作ãŒå¯èƒ½ã§ã™::"
+
+msgid ""
 "      y - record this change\n"
-"      n - skip this change\n"
-"\n"
+"      n - skip this change"
+msgstr ""
+"      y - ã“ã®å¤‰æ›´ã‚’記録ã—ã¾ã™\n"
+"      n - ã“ã®å¤‰æ›´ã‚’スキップã—ã¾ã™"
+
+msgid ""
 "      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
+"      f - record remaining changes to this file"
+msgstr ""
+"      s - ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ®‹ã‚Šã®å¤‰æ›´ã‚’å…¨ã¦ã‚¹ã‚­ãƒƒãƒ—ã—ã¾ã™\n"
+"      f - ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ®‹ã‚Šã®å¤‰æ›´ã‚’å…¨ã¦è¨˜éŒ²ã—ã¾ã™"
+
+msgid ""
 "      d - done, skip remaining changes and files\n"
 "      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
-msgstr ""
-"コミットã™ã‚‹å†…容を対話的ã«é¸æŠžã—ã¾ã™\n"
-"\n"
-"    ファイル一覧ãŒæŒ‡å®šã•ã‚Œãªã‹ã£ãŸå ´åˆã¯ \"hg status\" ã§è¡¨ç¤ºã•ã‚Œã‚‹\n"
-"    å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¨˜éŒ²ã®å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
-"    -d/--date ã§ä½¿ç”¨ã™ã‚‹æ—¥æ™‚表記㯠'he help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
-"    変更ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´ç®‡æ‰€ã”ã¨ã«è¨˜éŒ²ã™ã‚‹ã‹ã©ã†ã‹è³ªå•ã•ã‚Œã¾ã™ã€‚\n"
-"    ãã‚Œã«å¯¾ã—ã¦ä»¥ä¸‹ã®æ“作ãŒå¯èƒ½ã§ã™::\n"
-"\n"
-"      y - ã“ã®å¤‰æ›´ã‚’記録ã—ã¾ã™\n"
-"      n - ã“ã®å¤‰æ›´ã‚’スキップã—ã¾ã™\n"
-"\n"
-"      s - ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ®‹ã‚Šã®å¤‰æ›´ã‚’å…¨ã¦ã‚¹ã‚­ãƒƒãƒ—ã—ã¾ã™\n"
-"      f - ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ®‹ã‚Šã®å¤‰æ›´ã‚’å…¨ã¦è¨˜éŒ²ã—ã¾ã™\n"
-"\n"
+"      q - quit, recording no changes"
+msgstr ""
 "      d - 残りã®å¤‰æ›´ãŠã‚ˆã³ãƒ•ã‚¡ã‚¤ãƒ«ã‚’スキップã—ã¦çµ‚了ã—ã¾ã™\n"
 "      a - 残り全ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´ã‚’記録ã—ã¾ã™\n"
-"      q - 変更を記録ã—ãªã„ã§çµ‚了ã—ã¾ã™\n"
-"\n"
-"      ? - ヘルプを表示ã—ã¾ã™"
+"      q - 変更を記録ã—ãªã„ã§çµ‚了ã—ã¾ã™"
+
+msgid "      ? - display help"
+msgstr "      ? - ヘルプを表示ã—ã¾ã™"
 
 msgid "'mq' extension not loaded"
 msgstr "'mq' エクステンションãŒèª­ã¿è¾¼ã¾ã‚Œã¦ã„ã¾ã›ã‚“"
@@ -4508,27 +4762,38 @@
 msgid "recreates hardlinks between repository clones"
 msgstr "複製リãƒã‚¸ãƒˆãƒªé–“ã§ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®å†ç”Ÿæˆ"
 
-msgid ""
-"recreate hardlinks between two repositories\n"
-"\n"
+msgid "recreate hardlinks between two repositories"
+msgstr ""
+
+msgid ""
 "    When repositories are cloned locally, their data files will be\n"
-"    hardlinked so that they only use the space of a single repository.\n"
-"\n"
+"    hardlinked so that they only use the space of a single repository."
+msgstr ""
+
+msgid ""
 "    Unfortunately, subsequent pulls into either repository will break\n"
 "    hardlinks for any files touched by the new changesets, even if\n"
-"    both repositories end up pulling the same changes.\n"
-"\n"
+"    both repositories end up pulling the same changes."
+msgstr ""
+
+msgid ""
 "    Similarly, passing --rev to \"hg clone\" will fail to use any\n"
 "    hardlinks, falling back to a complete copy of the source\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    This command lets you recreate those hardlinks and reclaim that\n"
-"    wasted space.\n"
-"\n"
+"    wasted space."
+msgstr ""
+
+msgid ""
 "    This repository will be relinked to share space with ORIGIN, which\n"
 "    must be on the same local disk. If ORIGIN is omitted, looks for\n"
-"    \"default-relink\", then \"default\", in [paths].\n"
-"\n"
+"    \"default-relink\", then \"default\", in [paths]."
+msgstr ""
+
+msgid ""
 "    Do not attempt any read operations on this repository while the\n"
 "    command is running. (Both repositories will be locked against\n"
 "    writes.)\n"
@@ -4570,39 +4835,55 @@
 msgid "[ORIGIN]"
 msgstr "[ORIGIN]"
 
-msgid ""
-"extend schemes with shortcuts to repository swarms\n"
-"\n"
+msgid "extend schemes with shortcuts to repository swarms"
+msgstr ""
+
+msgid ""
 "This extension allows you to specify shortcuts for parent URLs with a\n"
-"lot of repositories to act like a scheme, for example::\n"
-"\n"
+"lot of repositories to act like a scheme, for example::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
-"  py = http://code.python.org/hg/\n"
-"\n"
-"After that you can use it like::\n"
-"\n"
-"  hg clone py://trunk/\n"
-"\n"
+"  py = http://code.python.org/hg/"
+msgstr ""
+
+msgid "After that you can use it like::"
+msgstr ""
+
+msgid "  hg clone py://trunk/"
+msgstr ""
+
+msgid ""
 "Additionally there is support for some more complex schemas, for\n"
-"example used by Google Code::\n"
-"\n"
+"example used by Google Code::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
-"  gcode = http://{1}.googlecode.com/hg/\n"
-"\n"
+"  gcode = http://{1}.googlecode.com/hg/"
+msgstr ""
+
+msgid ""
 "The syntax is taken from Mercurial templates, and you have unlimited\n"
 "number of variables, starting with ``{1}`` and continuing with\n"
 "``{2}``, ``{3}`` and so on. This variables will receive parts of URL\n"
 "supplied, split by ``/``. Anything not specified as ``{part}`` will be\n"
-"just appended to an URL.\n"
-"\n"
-"For convenience, the extension adds these schemes by default::\n"
-"\n"
+"just appended to an URL."
+msgstr ""
+
+msgid "For convenience, the extension adds these schemes by default::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
 "  py = http://hg.python.org/\n"
 "  bb = https://bitbucket.org/\n"
 "  bb+ssh = ssh://hg@bitbucket.org/\n"
-"  gcode = https://{1}.googlecode.com/hg/\n"
-"\n"
+"  gcode = https://{1}.googlecode.com/hg/"
+msgstr ""
+
+msgid ""
 "You can override a predefined scheme by defining a new scheme with the\n"
 "same name.\n"
 msgstr ""
@@ -4610,12 +4891,15 @@
 msgid "share a common history between several working directories"
 msgstr "複数作業領域ã«ã‚ˆã‚‹å±¥æ­´æƒ…報領域ã®å…±æœ‰"
 
-msgid ""
-"create a new shared repository (experimental)\n"
-"\n"
+msgid "create a new shared repository (experimental)"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: using rollback or extensions that destroy/modify history\n"
 "    (mq, rebase, etc.) can cause considerable confusion with shared\n"
 "    clones. In particular, if two shared clones are both updated to\n"
@@ -4634,18 +4918,16 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr "[-U] SOURCE [DEST]"
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr "別ブランãƒã‹ã‚‰ãƒ‘ッãƒã‚’移æ¤ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰"
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr "本エクステンションã¯ã€åˆ¥ãƒ–ランãƒã‹ã‚‰ã®ãƒ‘ッãƒã®ç§»æ¤ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚"
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
-"別ブランãƒã‹ã‚‰ãƒ‘ッãƒã‚’移æ¤ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰\n"
-"\n"
-"本エクステンションã¯ã€åˆ¥ãƒ–ランãƒã‹ã‚‰ã®ãƒ‘ッãƒã®ç§»æ¤ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚\n"
-"\n"
 "移æ¤ã•ã‚ŒãŸãƒ‘ッãƒã®æƒ…å ±ã¯ã€ç§»æ¤å…ˆãƒªãƒ“ジョンã®ãƒãƒƒã‚·ãƒ¥å€¤ã‹ã‚‰ã€ç§»æ¤å…ƒ\n"
 "リãƒã‚¸ãƒˆãƒªã«ãŠã‘ã‚‹ãƒãƒƒã‚·ãƒ¥å€¤ã¸ã®å¤‰æ›ã¨ã—ã¦ã€.hg/transplant/transplants\n"
 "ã«è¨˜éŒ²ã•ã‚Œã¾ã™ã€‚\n"
@@ -4720,72 +5002,76 @@
 msgid "no such option\n"
 msgstr "ãã®ã‚ˆã†ãªã‚ªãƒ—ションã¯ã‚ã‚Šã¾ã›ã‚“\n"
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr "別ã®ãƒ–ランãƒã¸ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®ç§»æ¤"
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+"    é¸æŠžã•ã‚ŒãŸãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¯ã€å…ƒãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã¨ä¸€ç·’ã«\n"
+"    ç¾åœ¨ã®ä½œæ¥­é ˜åŸŸä¸Šã«é©ç”¨ã•ã‚Œã¾ã™ã€‚--log 指定ãŒã‚ã‚‹å ´åˆã€ä»¥ä¸‹ã®å½¢å¼ã®\n"
+"    メッセージãŒè¿½åŠ ã•ã‚Œã¾ã™::"
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr "      (transplanted from CHANGESETHASH)"
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+"    --filter ã«ã‚ˆã‚Šã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã‚’改変ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚指定ã•ã‚ŒãŸå€¤ã¯\n"
+"    コマンド起動ã«ä½¿ç”¨ã•ã‚Œã€ç¬¬1引数ã«ã¯ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€ç¬¬2引数ã«ã¯\n"
+"    パッãƒãŒæŒ‡å®šã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
-"    hg transplant --branch REVISION --all will rebase the selected\n"
-"    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
-"    You can optionally mark selected transplanted changesets as merge\n"
-"    changesets. You will not be prompted to transplant any ancestors\n"
-"    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
-"    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
-"    If a changeset application fails, you can fix the merge by hand\n"
-"    and then resume where you left off by calling hg transplant\n"
-"    --continue/-c.\n"
-"    "
-msgstr ""
-"別ã®ãƒ–ランãƒã¸ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®ç§»æ¤\n"
-"\n"
-"    é¸æŠžã•ã‚ŒãŸãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¯ã€å…ƒãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã¨ä¸€ç·’ã«\n"
-"    ç¾åœ¨ã®ä½œæ¥­é ˜åŸŸä¸Šã«é©ç”¨ã•ã‚Œã¾ã™ã€‚--log 指定ãŒã‚ã‚‹å ´åˆã€ä»¥ä¸‹ã®å½¢å¼ã®\n"
-"    メッセージãŒè¿½åŠ ã•ã‚Œã¾ã™::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
-"    --filter ã«ã‚ˆã‚Šã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã‚’改変ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚指定ã•ã‚ŒãŸå€¤ã¯\n"
-"    コマンド起動ã«ä½¿ç”¨ã•ã‚Œã€ç¬¬1引数ã«ã¯ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€ç¬¬2引数ã«ã¯\n"
-"    パッãƒãŒæŒ‡å®šã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    changesets you want."
+msgstr ""
 "    --source/-s ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šã®ãƒªãƒã‚¸ãƒˆãƒªã‹ã‚‰ç§»æ¤ã•ã‚Œã¾ã™ã€‚\n"
 "    --branch/-b ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šã®åå‰ã‚’æŒã¤ãƒ–ランãƒã‹ã‚‰ç§»æ¤\n"
 "    ã•ã‚Œã¾ã™ã€‚--all/-a ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šã•ã‚ŒãŸãƒ–ランãƒä¸­ã®å…¨ã¦ã®\n"
 "    ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆãŒç§»æ¤å¯¾å‡¦ã¨ãªã‚Šã€ãれ以外ã®å ´åˆã¯ç§»æ¤å¯¾è±¡ã¨ã™ã‚‹\n"
-"    ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®å•ã„åˆã‚ã›ãŒã‚ã‚Šã¾ã™ã€‚\n"
-"\n"
+"    ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®å•ã„åˆã‚ã›ãŒã‚ã‚Šã¾ã™ã€‚"
+
+msgid ""
+"    hg transplant --branch REVISION --all will rebase the selected\n"
+"    branch (up to the named revision) onto your current working\n"
+"    directory."
+msgstr ""
 "    hg transplant --branch REVISION --all å½¢å¼ã§ã®èµ·å‹•ã®å ´åˆã€æŒ‡å®šã•ã‚ŒãŸ\n"
 "    REVISION ãŒå±žã™ã‚‹ãƒ–ランãƒä¸­ã®å…¨ã¦ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆãŒã€ç¾åœ¨ã®ä½œæ¥­é ˜åŸŸ\n"
-"    上ã«ç§»æ¤ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    上ã«ç§»æ¤ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    You can optionally mark selected transplanted changesets as merge\n"
+"    changesets. You will not be prompted to transplant any ancestors\n"
+"    of a merged transplant, and you can merge descendants of them\n"
+"    normally instead of transplanting them."
+msgstr ""
 "    é¸æŠžã—ãŸå¯¾è±¡ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®ç§»æ¤ã‚’ã€ãƒžãƒ¼ã‚¸å®Ÿæ–½ã¨ã¿ãªã™ã“ã¨ã‚‚å¯èƒ½\n"
 "    ã§ã™ã€‚移æ¤ã®éš›ã«ãƒžãƒ¼ã‚¸å¯¾è±¡ãƒªãƒ“ジョンã«é–¢ã™ã‚‹å•ã„åˆã‚ã›ã¯ç„¡ãã€ç§»æ¤\n"
-"    後ã®ç§»æ¤å…ƒã®å­å­«ã«å¯¾ã—ã¦ã¯ã€ç§»æ¤ã§ã¯ãªã通常ã®ãƒžãƒ¼ã‚¸ãŒå¯èƒ½ã§ã™ã€‚\n"
-"\n"
+"    後ã®ç§»æ¤å…ƒã®å­å­«ã«å¯¾ã—ã¦ã¯ã€ç§»æ¤ã§ã¯ãªã通常ã®ãƒžãƒ¼ã‚¸ãŒå¯èƒ½ã§ã™ã€‚"
+
+msgid ""
+"    If no merges or revisions are provided, hg transplant will start\n"
+"    an interactive changeset browser."
+msgstr ""
 "    マージ対象もリビジョン指定もãªã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯å¯¾è©±çš„ã«ç§»æ¤ã‚’\n"
-"    è¡Œãªã„ã¾ã™ã€‚\n"
-"\n"
+"    è¡Œãªã„ã¾ã™ã€‚"
+
+msgid ""
+"    If a changeset application fails, you can fix the merge by hand\n"
+"    and then resume where you left off by calling hg transplant\n"
+"    --continue/-c.\n"
+"    "
+msgstr ""
 "    移æ¤ã«å¤±æ•—ã—ãŸå ´åˆã€æ‰‹å‹•ã§ã®è¡çªè§£æ¶ˆå¾Œã« --continue/-c を指定ã—ã¦\n"
 "    本コマンドをå†å®Ÿè¡Œã™ã‚‹ã“ã¨ã§ã€ä¸­æ–­ã•ã‚ŒãŸç§»æ¤ã‚’å†é–‹å¯èƒ½ã§ã™ã™ã€‚\n"
 "    "
@@ -4835,79 +5121,75 @@
 msgid "filter changesets through FILTER"
 msgstr "ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®ãƒ•ã‚£ãƒ«ã‚¿æŒ‡å®š"
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-msgstr ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgstr "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr "å•é¡Œã®ã‚る文字コードã§ã®å¤šãƒã‚¤ãƒˆç¬¦å·åŒ–文字を使用ã—ãŸãƒ‘スåã®æœ‰åŠ¹åŒ–"
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
-"- Japanese Windows users using shift_jis encoding.\n"
-"- Chinese Windows users using big5 encoding.\n"
-"- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
-"- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
-"- You should use single encoding in one repository.\n"
-"\n"
-"\n"
-"By default, win32mbcs uses encoding.encoding decided by Mercurial.\n"
-"You can specify the encoding by config option::\n"
-"\n"
-" [win32mbcs]\n"
-" encoding = sjis\n"
-"\n"
-"It is useful for the users who want to commit with UTF-8 log message.\n"
-msgstr ""
-"å•é¡Œã®ã‚る文字コードã§ã®å¤šãƒã‚¤ãƒˆç¬¦å·åŒ–文字を使用ã—ãŸãƒ‘スåã®æœ‰åŠ¹åŒ–\n"
-"\n"
+"operation."
+msgstr ""
 "パスåã®å–り扱ã„(例: パスè¦ç´ ã®åˆ†å‰²ã€æ–‡å­—大å°å¤‰æ›ç­‰)上ã€ä¸é©åˆ‡ãªæ–‡å­—ã‚’\n"
 "å«ã‚€å¤šãƒã‚¤ãƒˆç¬¦å·åŒ–文字セット(MBCS)ãŒå­˜åœ¨ã—ã¾ã™ã€‚ã“ã“ã§ã¯ãã®ã‚ˆã†ãªæ–‡å­—\n"
 "セット(例: shift_jis ãŠã‚ˆã³ big5)を「å•é¡Œæ–‡å­—コードã€ã¨å‘¼ã³ã¾ã™ã€‚\n"
 "本エクステンションã¯ã€ãƒ‘スæ“作ã®å®Ÿæ–½å‰ã« unicode 文字列化ã™ã‚‹å‡¦ç†ã‚’\n"
-"割り込ã¾ã›ã‚‹ã“ã¨ã§ã€å•é¡Œæ–‡å­—コードã«ã‚ˆã£ã¦ç™ºç”Ÿã™ã‚‹éšœå®³ã‚’防ãŽã¾ã™ã€‚\n"
-"\n"
-"ã“ã®ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã¯ä»¥ä¸‹ã®å ´åˆã«æœ‰ç”¨ã§ã™:\n"
-"\n"
+"割り込ã¾ã›ã‚‹ã“ã¨ã§ã€å•é¡Œæ–‡å­—コードã«ã‚ˆã£ã¦ç™ºç”Ÿã™ã‚‹éšœå®³ã‚’防ãŽã¾ã™ã€‚"
+
+msgid "This extension is useful for:"
+msgstr "ã“ã®ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã¯ä»¥ä¸‹ã®å ´åˆã«æœ‰ç”¨ã§ã™:"
+
+msgid ""
+"- Japanese Windows users using shift_jis encoding.\n"
+"- Chinese Windows users using big5 encoding.\n"
+"- All users who use a repository with one of problematic encodings on\n"
+"  case-insensitive file system."
+msgstr ""
 "- shift_jis 文字コードを使用ã™ã‚‹æ—¥æœ¬èªž Windows ã®ãƒ¦ãƒ¼ã‚¶\n"
 "- big5 文字コードを使用ã™ã‚‹ä¸­å›½èªž Windows ã®ãƒ¦ãƒ¼ã‚¶\n"
 "- 文字大å°ã‚’区別ã§ããªã„ファイルシステム上ã§ã€å•é¡Œæ–‡å­—コードを\n"
-"  使用ã—ãŸãƒªãƒã‚¸ãƒˆãƒªã‚’é‹ç”¨ã™ã‚‹ãƒ¦ãƒ¼ã‚¶\n"
-"\n"
-"ã“ã®ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã¯ä»¥ä¸‹ã®å ´åˆã«ã¯ä¸è¦ã§ã™:\n"
-"\n"
+"  使用ã—ãŸãƒªãƒã‚¸ãƒˆãƒªã‚’é‹ç”¨ã™ã‚‹ãƒ¦ãƒ¼ã‚¶"
+
+msgid "This extension is not needed for:"
+msgstr "ã“ã®ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã¯ä»¥ä¸‹ã®å ´åˆã«ã¯ä¸è¦ã§ã™:"
+
+msgid ""
+"- Any user who use only ASCII chars in path.\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
 "- パスåã« ASCII 文字ã—ã‹ä½¿ç”¨ã—ãªã„ユーザ\n"
-"- å•é¡Œæ–‡å­—コードを使用ã—ãªã„ユーザ\n"
+"- å•é¡Œæ–‡å­—コードを使用ã—ãªã„ユーザ"
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr "ã“ã®ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã®åˆ©ç”¨ã«ã¯å¹¾ã¤ã‹ã®åˆ¶é™ãŒã‚ã‚Šã¾ã™:"
+
+msgid "- You should use single encoding in one repository."
+msgstr "- リãƒã‚¸ãƒˆãƒªå†…ã§ã¯å˜ä¸€ã®æ–‡å­—コードを使用ã—ã¦ãã ã•ã„"
+
+msgid ""
 "\n"
-"ã“ã®ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã®åˆ©ç”¨ã«ã¯å¹¾ã¤ã‹ã®åˆ¶é™ãŒã‚ã‚Šã¾ã™:\n"
-"\n"
-"- リãƒã‚¸ãƒˆãƒªå†…ã§ã¯å˜ä¸€ã®æ–‡å­—コードを使用ã—ã¦ãã ã•ã„\n"
-"\n"
+"By default, win32mbcs uses encoding.encoding decided by Mercurial.\n"
+"You can specify the encoding by config option::"
+msgstr ""
 "\n"
 "指定ã®ç„¡ã„å ´åˆã€win32mbcs 㯠Mercurial ã«ã‚ˆã‚Šæ±ºå®šã•ã‚Œã‚‹\n"
 "(Python プログラム上ã®) encoding.encoding 変数値を使用ã—ã¾ã™ã€‚\n"
-"以下ã®è¨­å®šè¨˜è¿°ã«ã‚ˆã‚Šã€æ–‡å­—コードを指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™::\n"
-"\n"
+"以下ã®è¨­å®šè¨˜è¿°ã«ã‚ˆã‚Šã€æ–‡å­—コードを指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™::"
+
+msgid ""
 " [win32mbcs]\n"
-" encoding = sjis\n"
-"\n"
-"ログメッセージã®æ–‡å­—コード㫠UTF-8 を使用ã—ãŸã„ユーザ等ã«æœ‰ç”¨ã§ã™ã€‚\n"
+" encoding = sjis"
+msgstr ""
+" [win32mbcs]\n"
+" encoding = sjis"
+
+msgid "It is useful for the users who want to commit with UTF-8 log message.\n"
+msgstr "ログメッセージã®æ–‡å­—コード㫠UTF-8 を使用ã—ãŸã„ユーザ等ã«æœ‰ç”¨ã§ã™ã€‚\n"
 
 #, python-format
 msgid "[win32mbcs] filename conversion failed with %s encoding\n"
@@ -4916,57 +5198,56 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr "[win32mbcs] ã“ã®ãƒ—ラットフォームã§ã¯å®Ÿè¡Œã§ãã¾ã›ã‚“。\n"
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr "改行形å¼ã®è‡ªå‹•å¤‰æ›"
+
+msgid "To perform automatic newline conversion, use::"
+msgstr "改行形å¼ã®è‡ªå‹•å¤‰æ›ã‚’è¡Œã†å ´åˆã€ä»¥ä¸‹ã®ã‚ˆã†ã«è¨­å®šã—ã¾ã™::"
+
+msgid ""
+"  [extensions]\n"
+"  win32text =\n"
+"  [encode]\n"
+"  ** = cleverencode:\n"
+"  # or ** = macencode:"
+msgstr ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # ãªã„ã— ** = macencode:"
+
+msgid ""
+"  [decode]\n"
+"  ** = cleverdecode:\n"
+"  # or ** = macdecode:"
+msgstr ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # ãªã„ã— ** = macdecode:"
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr "変æ›ã¯ã—ãªã„ã‚‚ã®ã®ã€é–“é•ã£ãŸæ”¹è¡Œå½¢å¼ã§ã®ã‚³ãƒŸãƒƒãƒˆã‚’防止ã—ãŸã„å ´åˆã¯::"
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+"  [hooks]\n"
+"  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
+"  # ãªã„ã— pretxncommit.cr = python:hgext.win32text.forbidcr"
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr "æ„図ã›ã¬å±¥æ­´å映ã®é˜²æ­¢ã®ãŸã‚ã«ã€ã‚µãƒ¼ãƒå´ã§åŒæ§˜ã®ç¢ºèªã‚’è¡Œã„ãŸã„å ´åˆã¯::"
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
 msgstr ""
-"改行形å¼ã®è‡ªå‹•å¤‰æ›\n"
-"\n"
-"改行形å¼ã®è‡ªå‹•å¤‰æ›ã‚’è¡Œã†å ´åˆã€ä»¥ä¸‹ã®ã‚ˆã†ã«è¨­å®šã—ã¾ã™::\n"
-"\n"
-"  [extensions]\n"
-"  win32text =\n"
-"  [encode]\n"
-"  ** = cleverencode:\n"
-"  # ãªã„ã— ** = macencode:\n"
-"\n"
-"  [decode]\n"
-"  ** = cleverdecode:\n"
-"  # ãªã„ã— ** = macdecode:\n"
-"\n"
-"変æ›ã¯ã—ãªã„ã‚‚ã®ã®ã€é–“é•ã£ãŸæ”¹è¡Œå½¢å¼ã§ã®ã‚³ãƒŸãƒƒãƒˆã‚’防止ã—ãŸã„å ´åˆã¯::\n"
-"\n"
-"  [hooks]\n"
-"  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # ãªã„ã— pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
-"æ„図ã›ã¬å±¥æ­´å映ã®é˜²æ­¢ã®ãŸã‚ã«ã€ã‚µãƒ¼ãƒå´ã§åŒæ§˜ã®ç¢ºèªã‚’è¡Œã„ãŸã„å ´åˆã¯::\n"
-"\n"
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # ãªã„ã— pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -4995,13 +5276,26 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
 "\n"
+"åŒæ§˜ã®é–“é•ã„を防ãã«ã¯ã€ä»¥ä¸‹ã®è¨­å®šã‚’ Mercurial.ini ãªã„ã— .hg/hgrc ã«\n"
+"以下ã®è¨˜è¿°ã‚’追加ã—ã¦ãã ã•ã„:"
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+"[hooks]\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+
+#, python-format
+msgid "and also consider adding:"
+msgstr "å¿…è¦ã§ã‚ã‚Œã°ä»¥ä¸‹ã®è¨˜è¿°ã‚‚追加ã—ã¦ãã ã•ã„:"
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -5009,15 +5303,6 @@
 "[decode]\n"
 "** = %sdecode:\n"
 msgstr ""
-"\n"
-"åŒæ§˜ã®é–“é•ã„を防ãã«ã¯ã€ä»¥ä¸‹ã®è¨­å®šã‚’ Mercurial.ini ãªã„ã— .hg/hgrc ã«\n"
-"以下ã®è¨˜è¿°ã‚’追加ã—ã¦ãã ã•ã„:\n"
-"\n"
-"[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"å¿…è¦ã§ã‚ã‚Œã°ä»¥ä¸‹ã®è¨˜è¿°ã‚‚追加ã—ã¦ãã ã•ã„:\n"
-"\n"
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -5025,21 +5310,29 @@
 "[decode]\n"
 "** = %sdecode:\n"
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr ""
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
@@ -5263,8 +5556,7 @@
 msgstr "ファイルåãŒæ˜Žç¤ºã•ã‚ŒãŸå ´åˆã®ã¿è¤‡è£½/改åを追跡å¯èƒ½ã§ã™"
 
 msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
-msgstr ""
-"HG: コミットメッセージを入力ã—ã¦ãã ã•ã„。 HG: ã§å§‹ã¾ã‚‹è¡Œã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚"
+msgstr "HG: コミットメッセージを入力ã—ã¦ãã ã•ã„。 HG: ã§å§‹ã¾ã‚‹è¡Œã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚"
 
 msgid "HG: Leave message empty to abort commit."
 msgstr "HG: メッセージãŒç©ºã ã¨ã‚³ãƒŸãƒƒãƒˆã§ãã¾ã›ã‚“。"
@@ -5296,29 +5588,42 @@
 msgid "HG: removed %s"
 msgstr "HG: %s を削除"
 
-#
 msgid "HG: no files changed"
 msgstr "HG: ファイル変更ãªã—"
 
 msgid "empty commit message"
 msgstr "コミットメッセージãŒã‚ã‚Šã¾ã›ã‚“"
 
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr "指定ファイルã®è¿½åŠ ç™»éŒ²äºˆç´„"
+
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    構æˆç®¡ç†ã¸ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®è¿½åŠ ç™»éŒ²ã‚’予約ã—ã¾ã™ã€‚"
+
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
-"    If no names are given, add all files to the repository.\n"
-"\n"
-"    .. container:: verbose\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+"    指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã¯æ¬¡å›žã®ã‚³ãƒŸãƒƒãƒˆã‹ã‚‰æ§‹æˆç®¡ç†å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
+"    コミットå‰ã®è¿½åŠ ç™»éŒ²ã®å–り消ã—ã¯ã€'hg help revert' ã‚’å‚ç…§ã—ã¦\n"
+"    ãã ã•ã„。"
+
+msgid "    If no names are given, add all files to the repository."
+msgstr "    ファイルå指定ãŒç„¡ã„å ´åˆã€ä½œæ¥­é ˜åŸŸä¸­ã®å…¨ãƒ•ã‚¡ã‚¤ãƒ«ãŒå¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid "    .. container:: verbose"
+msgstr "    .. container:: verbose"
+
+msgid ""
 "       An example showing how new (unknown) files are added\n"
-"       automatically by ``hg add``::\n"
-"\n"
+"       automatically by ``hg add``::"
+msgstr ""
+"       以下ã®å®Ÿè¡Œä¾‹ã¯ã€``hg add`` 実行ã«ãŠã‘ã‚‹(未知ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®)自動的ãª\n"
+"       追加ã®ä¾‹ã§ã™::"
+
+msgid ""
 "         $ ls\n"
 "         foo.c\n"
 "         $ hg status\n"
@@ -5329,21 +5634,6 @@
 "         A foo.c\n"
 "    "
 msgstr ""
-"指定ファイルã®è¿½åŠ ç™»éŒ²äºˆç´„\n"
-"\n"
-"    構æˆç®¡ç†ã¸ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®è¿½åŠ ç™»éŒ²ã‚’予約ã—ã¾ã™ã€‚\n"
-"\n"
-"    指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã¯æ¬¡å›žã®ã‚³ãƒŸãƒƒãƒˆã‹ã‚‰æ§‹æˆç®¡ç†å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
-"    コミットå‰ã®è¿½åŠ ç™»éŒ²ã®å–り消ã—ã¯ã€'hg help revert' ã‚’å‚ç…§ã—ã¦\n"
-"    ãã ã•ã„。\n"
-"\n"
-"    ファイルå指定ãŒç„¡ã„å ´åˆã€ä½œæ¥­é ˜åŸŸä¸­ã®å…¨ãƒ•ã‚¡ã‚¤ãƒ«ãŒå¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
-"    .. container:: verbose\n"
-"\n"
-"       以下ã®å®Ÿè¡Œä¾‹ã¯ã€``hg add`` 実行ã«ãŠã‘ã‚‹(未知ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®)自動的ãª\n"
-"       追加ã®ä¾‹ã§ã™::\n"
-"\n"
 "         $ ls\n"
 "         foo.c\n"
 "         $ hg status\n"
@@ -5354,16 +5644,25 @@
 "         A foo.c\n"
 "    "
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr "æ–°è¦ãƒ•ã‚¡ã‚¤ãƒ«ã®è¿½åŠ ç™»éŒ²ã€ãŠã‚ˆã³ä¸åœ¨ãƒ•ã‚¡ã‚¤ãƒ«ã®ç™»éŒ²é™¤å¤–"
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    作業領域中ã®æ–°è¦ãƒ•ã‚¡ã‚¤ãƒ«ã®è¿½åŠ ç™»éŒ²ã€ãŠã‚ˆã³å…¨ä¸åœ¨ãƒ•ã‚¡ã‚¤ãƒ«ã®ç™»éŒ²é™¤å¤–ã‚’\n"
+"    è¡Œãªã„ã¾ã™ã€‚"
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+"    .hgignore ã«è¨˜è¿°ã•ã‚ŒãŸãƒ‘ターンã«åˆè‡´ã™ã‚‹æ–°è¦ãƒ•ã‚¡ã‚¤ãƒ«ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚\n"
+"    'hg add' ã¨åŒæ§˜ã«ã€å®Ÿè¡ŒåŠ¹æžœãŒç™ºæ®ã•ã‚Œã‚‹ã®ã¯æ¬¡å›žã‚³ãƒŸãƒƒãƒˆæ™‚点ã§ã™ã€‚"
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -5372,14 +5671,6 @@
 "    can be expensive.\n"
 "    "
 msgstr ""
-"æ–°è¦ãƒ•ã‚¡ã‚¤ãƒ«ã®è¿½åŠ ç™»éŒ²ã€ãŠã‚ˆã³ä¸åœ¨ãƒ•ã‚¡ã‚¤ãƒ«ã®ç™»éŒ²é™¤å¤–\n"
-"\n"
-"    作業領域中ã®æ–°è¦ãƒ•ã‚¡ã‚¤ãƒ«ã®è¿½åŠ ç™»éŒ²ã€ãŠã‚ˆã³å…¨ä¸åœ¨ãƒ•ã‚¡ã‚¤ãƒ«ã®ç™»éŒ²é™¤å¤–ã‚’\n"
-"    è¡Œãªã„ã¾ã™ã€‚\n"
-"\n"
-"    .hgignore ã«è¨˜è¿°ã•ã‚ŒãŸãƒ‘ターンã«åˆè‡´ã™ã‚‹æ–°è¦ãƒ•ã‚¡ã‚¤ãƒ«ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚\n"
-"    'hg add' ã¨åŒæ§˜ã«ã€å®Ÿè¡ŒåŠ¹æžœãŒç™ºæ®ã•ã‚Œã‚‹ã®ã¯æ¬¡å›žã‚³ãƒŸãƒƒãƒˆæ™‚点ã§ã™ã€‚\n"
-"\n"
 "    ファイルã®æ”¹åを検知ã™ã‚‹ã«ã¯ -s/--similarity を使用ã—ã¾ã™ã€‚0 より\n"
 "    大ããªå€¤ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€è¿½åŠ ãƒ»é™¤å¤–ファイルã®å…¨ã¦ãŒæ¯”較ã•ã‚Œã€æ”¹åã¨\n"
 "    ã¿ãªã›ã‚‹ã‹å¦ã‹ãŒåˆ¤å®šã•ã‚Œã¾ã™ã€‚ã“ã®ã‚ªãƒ—ションã«ã¯ã€0(改å比較無効)\n"
@@ -5393,27 +5684,26 @@
 msgid "similarity must be between 0 and 100"
 msgstr "類似度ã¯0ã‹ã‚‰100ã®é–“ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“"
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr "ファイル行毎ã®ãƒªãƒ“ジョン情報表示"
+
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr "    ファイルã®å„行毎ã«ã€ãã®å†…容ãŒç”±æ¥ã™ã‚‹ãƒªãƒ“ジョンIDを表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr "    本コマンドã¯ã€å¤‰æ›´ã®å®Ÿæ–½è€…ãªã„ã—実施時期を特定ã™ã‚‹ã®ã«æœ‰ç”¨ã§ã™ã€‚"
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
 "    nor desirable.\n"
 "    "
 msgstr ""
-"ファイル行毎ã®ãƒªãƒ“ジョン情報表示\n"
-"\n"
-"    ファイルã®å„行毎ã«ã€ãã®å†…容ãŒç”±æ¥ã™ã‚‹ãƒªãƒ“ジョンIDを表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    本コマンドã¯ã€å¤‰æ›´ã®å®Ÿæ–½è€…ãªã„ã—実施時期を特定ã™ã‚‹ã®ã«æœ‰ç”¨ã§ã™ã€‚\n"
-"\n"
 "    -a/--text 指定ãŒç„¡ã„å ´åˆã€ãƒã‚¤ãƒŠãƒªã¨æ€ã—ãファイルã¯å‡¦ç†å¯¾è±¡ã‹ã‚‰\n"
 "    除外ã•ã‚Œã¾ã™ã€‚-a 指定ãŒæœ‰ã‚‹å ´åˆã€çµæžœã«é–¢ã‚らãšå…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ\n"
 "    処ç†å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
@@ -5429,50 +5719,53 @@
 msgid "%s: binary file\n"
 msgstr "%s: ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã§ã™\n"
 
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr "特定リビジョン時点ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®ãƒªãƒã‚¸ãƒˆãƒªå¤–ã¸ã®ç”Ÿæˆ"
+
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+"    ä»–ã®ãƒªãƒ“ジョンを指定ã™ã‚‹å ´åˆã¯ -r/--rev を使用ã—ã¾ã™ã€‚"
+
+msgid ""
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are:\n"
-"\n"
+"    types are:"
+msgstr ""
+"    生æˆã™ã‚‹ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®ç¨®åˆ¥ã‚’指定ã™ã‚‹å ´åˆã¯ã€-t/--type を使用ã—ã¾ã™ã€‚\n"
+"    使用å¯èƒ½ãªç¨®åˆ¥ã¯:"
+
+msgid ""
 "    :``files``: a directory full of files (default)\n"
 "    :``tar``:   tar archive, uncompressed\n"
 "    :``tbz2``:  tar archive, compressed using bzip2\n"
 "    :``tgz``:   tar archive, compressed using gzip\n"
 "    :``uzip``:  zip archive, uncompressed\n"
-"    :``zip``:   zip archive, compressed using deflate\n"
-"\n"
-"    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
-"    Each member added to an archive file has a directory prefix\n"
-"    prepended. Use -p/--prefix to specify a format string for the\n"
-"    prefix. The default is the basename of the archive, with suffixes\n"
-"    removed.\n"
-"    "
-msgstr ""
-"特定リビジョン時点ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®ãƒªãƒã‚¸ãƒˆãƒªå¤–ã¸ã®ç”Ÿæˆ\n"
-"\n"
-"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
-"    ä»–ã®ãƒªãƒ“ジョンを指定ã™ã‚‹å ´åˆã¯ -r/--rev を使用ã—ã¾ã™ã€‚\n"
-"\n"
-"    生æˆã™ã‚‹ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®ç¨®åˆ¥ã‚’指定ã™ã‚‹å ´åˆã¯ã€-t/--type を使用ã—ã¾ã™ã€‚\n"
-"    使用å¯èƒ½ãªç¨®åˆ¥ã¯:\n"
-"\n"
+"    :``zip``:   zip archive, compressed using deflate"
+msgstr ""
 "    :``files``: 展開済ã¿ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®ã‚¤ãƒ¡ãƒ¼ã‚¸(無指定時)\n"
 "    :``tar``:   éžåœ§ç¸®ã® tar アーカイブ形å¼\n"
 "    :``tbz2``:  bzip2 圧縮㮠tar アーカイブ形å¼\n"
 "    :``tgz``:   gzip 圧縮㮠tar アーカイブ形å¼\n"
 "    :``uzip``:  éžåœ§ç¸®ã® zip アーカイブ形å¼\n"
-"    :``zip``:   deflate 圧縮㮠zip アーカイブ形å¼\n"
-"\n"
+"    :``zip``:   deflate 圧縮㮠zip アーカイブ形å¼"
+
+msgid ""
+"    The exact name of the destination archive or directory is given\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
 "    アーカイブ生æˆå…ˆã¨ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åãªã„ã—ディレクトリåã®æŒ‡å®šã«ã¯\n"
 "    ç½®æ›æŒ‡å®šã‚’使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ç½®æ›æŒ‡å®šã«é–¢ã™ã‚‹è©³ç´°ã¯ \n"
-"    'hg help export' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"    'hg help export' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
+"    Each member added to an archive file has a directory prefix\n"
+"    prepended. Use -p/--prefix to specify a format string for the\n"
+"    prefix. The default is the basename of the archive, with suffixes\n"
+"    removed.\n"
+"    "
+msgstr ""
 "    アーカイブ生æˆã®éš›ã«ã¯ã€å±•é–‹æ™‚ã®æ ¼ç´å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåãŒè¨˜éŒ²ã•ã‚Œã¾ã™ã€‚\n"
 "    -p/--prefix ã«ã‚ˆã‚Šãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåを指定ã§ãã¾ã™(ç½®æ›æŒ‡å®šå¯èƒ½)。特ã«\n"
 "    指定ãŒç„¡ã„å ´åˆã¯ã€ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–åã‹ã‚‰æ‹¡å¼µå­ã‚’除ã„ãŸã‚‚ã®ãŒè¨˜éŒ²ã•ã‚Œã¾ã™ã€‚\n"
@@ -5487,41 +5780,36 @@
 msgid "cannot archive plain files to stdout"
 msgstr "通常ファイルã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–å…ˆã«æ¨™æº–出力を指定ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
 
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgid "reverse effect of earlier changeset"
+msgstr "以å‰ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã«ãŠã‘る変更ã®æ‰“ã¡æ¶ˆã—"
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+"    打ã¡æ¶ˆã—用ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã‚’æ–°è¦ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¨ã—ã¦ã‚³ãƒŸãƒƒãƒˆã—ã¾ã™ã€‚\n"
+"    æ–°è¦ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¯ã€æ‰“消ã—対象ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®å­ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆ\n"
+"    ã¨ã—ã¦ä½œæˆã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+"    tip 以外ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã‚’打ã¡æ¶ˆã™å ´åˆã€æ–°è¦ãƒ˜ãƒƒãƒ‰ãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚\n"
+"    ã“ã®ãƒ˜ãƒƒãƒ‰ã¯æ–°è¦ tip ã¨ãªã‚Šã¾ã™ã®ã§ã€ã“ã®æ‰“ã¡æ¶ˆã—ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¨\n"
+"    ä»–ã®ãƒ˜ãƒƒãƒ‰(通常ã¯æ‰“ã¡æ¶ˆã—実施å‰ã®ãƒ˜ãƒƒãƒ‰)をマージã—ã¦ãã ã•ã„。"
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"以å‰ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã«ãŠã‘る変更ã®æ‰“ã¡æ¶ˆã—\n"
-"\n"
-"    打ã¡æ¶ˆã—用ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã‚’æ–°è¦ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¨ã—ã¦ã‚³ãƒŸãƒƒãƒˆã—ã¾ã™ã€‚\n"
-"    æ–°è¦ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¯ã€æ‰“消ã—対象ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®å­ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆ\n"
-"    ã¨ã—ã¦ä½œæˆã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    tip 以外ã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã‚’打ã¡æ¶ˆã™å ´åˆã€æ–°è¦ãƒ˜ãƒƒãƒ‰ãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚\n"
-"    ã“ã®ãƒ˜ãƒƒãƒ‰ã¯æ–°è¦ tip ã¨ãªã‚Šã¾ã™ã®ã§ã€ã“ã®æ‰“ã¡æ¶ˆã—ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¨\n"
-"    ä»–ã®ãƒ˜ãƒƒãƒ‰(通常ã¯æ‰“ã¡æ¶ˆã—実施å‰ã®ãƒ˜ãƒƒãƒ‰)をマージã—ã¦ãã ã•ã„。\n"
-"\n"
+"    The result of this merge is not committed, as with a normal merge."
+msgstr ""
 "    --merge 指定時ã¯ã€å‡¦ç†å®Ÿæ–½å‰ã«ä½œæ¥­é ˜åŸŸã®è¦ªãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆãŒè¨˜éŒ²ã•ã‚Œã€\n"
 "    処ç†å®Ÿæ–½å¾Œã«æ–°ãŸãªãƒ˜ãƒƒãƒ‰ã¨ãã®ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆãŒãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã™ã€‚\n"
 "    ã“ã‚Œã«ã‚ˆã‚Šæ‰‹å‹•ãƒžãƒ¼ã‚¸ã®æ‰‹é–“ãŒçœã‘ã¾ã™ã€‚通常㮠merge ã¨åŒæ§˜ã«ã€\n"
-"    ã“ã®ãƒžãƒ¼ã‚¸çµæžœã¯è‡ªå‹•çš„ã«ã¯ commit ã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
-"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"    "
+"    ã“ã®ãƒžãƒ¼ã‚¸çµæžœã¯è‡ªå‹•çš„ã«ã¯ commit ã•ã‚Œã¾ã›ã‚“。"
 
 msgid "please specify just one revision"
 msgstr "リビジョン指定ã¯1ã¤ã ã‘ã§ã™"
@@ -5559,9 +5847,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr "(自動的ã«ãƒžãƒ¼ã‚¸ã™ã‚‹å ´åˆã¯ \"backout --merge\" ã—ã¦ãã ã•ã„)\n"
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr "リビジョンã®åˆ†å‰²æŽ¢ç´¢"
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -5569,31 +5858,31 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
-"    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
-"    If you supply a command, it will be used for automatic bisection.\n"
-"    Its exit status will be used to mark revisions as good or bad:\n"
-"    status 0 means good, 125 means to skip the revision, 127\n"
-"    (command not found) will abort the bisection, and any other\n"
-"    non-zero exit status means the revision is bad.\n"
-"    "
-msgstr ""
-"リビジョンã®åˆ†å‰²æŽ¢ç´¢\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
 "    å•é¡Œç™ºç”Ÿå¥‘æ©Ÿã¨ãªã‚‹ãƒªãƒ“ジョンã®ç‰¹å®šã‚’補助ã—ã¾ã™ã€‚使用開始ã®éš›ã«ã¯ã€\n"
 "    å•é¡ŒãŒç™ºç”Ÿã™ã‚‹æ—¢çŸ¥ã®ãƒªãƒ“ジョンã®ã†ã¡ã€æœ€å¤ã®ã‚‚ã®ã‚’ bad ã¨ãƒžãƒ¼ã‚¯ã—ã€\n"
 "    å•é¡ŒãŒç™ºç”Ÿã—ãªã„既知ã®ãƒªãƒ“ジョンã®ã†ã¡ã€æœ€æ–°ã®ã‚‚ã®ã‚’ good ã¨ãƒžãƒ¼ã‚¯\n"
 "    ã—ã¾ã™ã€‚本コマンドã¯ã€æ¤œè¨¼å¯¾è±¡ãƒªãƒ“ジョンã§ä½œæ¥­é ˜åŸŸã‚’æ›´æ–°ã—ã¾ã™(-U/\n"
 "    --noupdate 指定時除ã)。当該リビジョンを検証ã—ãŸãªã‚‰ã€bad ã‚ã‚‹ã„ã¯\n"
 "    good ã§ãƒžãƒ¼ã‚¯ã—ã¦ãã ã•ã„。本コマンドã¯ã€æ¬¡ã®æ¤œè¨¼å€™è£œãƒªãƒ“ジョンã§\n"
-"    作業領域を更新ã™ã‚‹ã‹ã€å•é¡Œå¥‘機リビジョンを特定ã§ããŸæ—¨ã‚’出力ã—ã¾ã™ã€‚\n"
-"\n"
+"    作業領域を更新ã™ã‚‹ã‹ã€å•é¡Œå¥‘機リビジョンを特定ã§ããŸæ—¨ã‚’出力ã—ã¾ã™ã€‚"
+
+msgid ""
+"    As a shortcut, you can also use the revision argument to mark a\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
 "    ã¦ã¿ã˜ã‹ãªæ‰‹é †ã¨ã—ã¦ã¯ã€ä½œæ¥­é ˜åŸŸã‚’æ›´æ–°ã›ãšã«ã€ãƒªãƒ“ジョン指定を使用\n"
-"    ã—ã¦ãƒªãƒ“ジョンを good ãªã„ã— bad ã«ãƒžãƒ¼ã‚¯ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚\n"
-"\n"
+"    ã—ã¦ãƒªãƒ“ジョンを good ãªã„ã— bad ã«ãƒžãƒ¼ã‚¯ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
+
+msgid ""
+"    If you supply a command, it will be used for automatic bisection.\n"
+"    Its exit status will be used to mark revisions as good or bad:\n"
+"    status 0 means good, 125 means to skip the revision, 127\n"
+"    (command not found) will abort the bisection, and any other\n"
+"    non-zero exit status means the revision is bad.\n"
+"    "
+msgstr ""
 "    コマンドãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€è‡ªå‹•çš„ãªãƒªãƒ“ジョン検証ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
 "    コマンドã®çµ‚了コードã¯ãƒªãƒ“ジョンã«å¯¾ã™ã‚‹ bad ãªã„ã— good ã®ãƒžãƒ¼ã‚¯ä»˜ã‘\n"
 "    ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚終了コード 0 㯠goodã€125 ã¯ã‚¹ã‚­ãƒƒãƒ—ã€127(コマンドãŒ\n"
@@ -5641,39 +5930,41 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr "リビジョン %d:%s を検証中(検証残 %dã€æ¤œè¨¼æ¸ˆã¿ %d)\n"
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr "ブランãƒåã®è¨­å®šã€ãªã„ã—ç¾ãƒ–ランãƒåã®è¡¨ç¤º"
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
-"    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
-"    Use -C/--clean to reset the working directory branch to that of\n"
-"    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch. Use\n"
-"    'hg commit --close-branch' to mark this branch as closed.\n"
-"    "
-msgstr ""
-"ブランãƒåã®è¨­å®šã€ãªã„ã—ç¾ãƒ–ランãƒåã®è¡¨ç¤º\n"
-"\n"
+"    branch."
+msgstr ""
 "    引数無ã—ã®å ´åˆã€ç¾ãƒ–ランãƒåを表示ã—ã¾ã™ã€‚引数ãŒï¼‘ã¤æŒ‡å®šã•ã‚ŒãŸå ´åˆã€\n"
 "    作業領域ã®ãƒ–ランãƒåを設定ã—ã¾ã™(次回コミット時ã¾ã§ã€ãƒ–ランãƒã¯ç”Ÿæˆ\n"
 "    ã•ã‚Œã¾ã›ã‚“)。作業時ã«åŸºæœ¬ã¨ã™ã‚‹ãƒ–ランãƒã«ã¯ã€'default' ブランãƒã‚’\n"
-"    使用ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚\n"
-"\n"
+"    使用ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚"
+
+msgid ""
+"    Unless -f/--force is specified, branch will not let you set a\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
 "    -f/--force 指定ãŒç„¡ã„å ´åˆã€ä¾‹ãˆãã‚ŒãŒéžã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªã‚‚ã®ã§ã‚ã£ã¦ã‚‚ã€\n"
-"    既存ブランãƒã¨åŒã˜åå‰ã¯è¨­å®šã§ãã¾ã›ã‚“。\n"
-"\n"
+"    既存ブランãƒã¨åŒã˜åå‰ã¯è¨­å®šã§ãã¾ã›ã‚“。"
+
+msgid ""
+"    Use -C/--clean to reset the working directory branch to that of\n"
+"    the parent of the working directory, negating a previous branch\n"
+"    change."
+msgstr ""
 "    -C/--clean を指定ã™ã‚‹ã“ã¨ã§ã€ä»¥å‰ã®ãƒ–ランãƒå設定を無効ã«ã—ã¦ã€ä½œæ¥­\n"
-"    領域ã®è¦ªãƒªãƒ“ジョンã®ãƒ–ランãƒåã«æˆ»ã—ã¾ã™ã€‚\n"
-"\n"
+"    領域ã®è¦ªãƒªãƒ“ジョンã®ãƒ–ランãƒåã«æˆ»ã—ã¾ã™ã€‚"
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch. Use\n"
+"    'hg commit --close-branch' to mark this branch as closed.\n"
+"    "
+msgstr ""
 "    作業領域ã®å†…容を既存ブランãƒã®ã‚‚ã®ã§æ›´æ–°ã™ã‚‹å ´åˆã¯ 'hg update' ã‚’\n"
 "    使用ã—ã¦ãã ã•ã„。ç¾ãƒ–ランãƒã‚’閉鎖ã™ã‚‹å ´åˆã¯\n"
 "    'hg commit --close-branch' を使用ã—ã¦ãã ã•ã„。\n"
@@ -5690,28 +5981,29 @@
 msgid "marked working directory as branch %s\n"
 msgstr "作業領域をブランム%s ã«è¨­å®š\n"
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr "リãƒã‚¸ãƒˆãƒªä¸­ã®åå‰ä»˜ãブランãƒã®ä¸€è¦§"
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
-"    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-msgstr ""
-"リãƒã‚¸ãƒˆãƒªä¸­ã®åå‰ä»˜ãブランãƒã®ä¸€è¦§\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
 "    リãƒã‚¸ãƒˆãƒªä¸­ã®åå‰ä»˜ãブランãƒã‚’ã€éžæ´»æ€§(inactive)ã‹å¦ã‹ã¨å…±ã«\n"
 "    一覧表示ã—ã¾ã™ã€‚-c/--closed 指定時ã«ã¯ã€é–‰éŽ–済ã¿ã®ãƒ–ランãƒ\n"
-"    ('hg commit' ã¸ã® --close-branch 指定ã§å®Ÿæ–½)も表示ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    ('hg commit' ã¸ã® --close-branch 指定ã§å®Ÿæ–½)も表示ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    If -a/--active is specified, only show active branches. A branch\n"
+"    is considered active if it contains repository heads."
+msgstr ""
 "    -a/--active 指定時ã«ã¯ã€æ´»æ€§(active)ブランãƒã®ã¿ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
-"    リãƒã‚¸ãƒˆãƒªä¸­ã«ãƒ˜ãƒƒãƒ‰ã‚’æŒã¤ã‚‚ã®ãŒæ´»æ€§ãƒ–ランãƒã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    リãƒã‚¸ãƒˆãƒªä¸­ã«ãƒ˜ãƒƒãƒ‰ã‚’æŒã¤ã‚‚ã®ãŒæ´»æ€§ãƒ–ランãƒã¨ã¿ãªã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch.\n"
+"    "
+msgstr ""
 "    作業領域ã®å†…容を既存ブランãƒã®ã‚‚ã®ã§æ›´æ–°ã™ã‚‹å ´åˆã¯ 'hg update' ã‚’\n"
 "    使用ã—ã¦ãã ã•ã„。\n"
 "    "
@@ -5722,48 +6014,51 @@
 msgid " (inactive)"
 msgstr " (éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–)"
 
-msgid ""
-"create a changegroup file\n"
-"\n"
+msgid "create a changegroup file"
+msgstr "ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®ç”Ÿæˆ"
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+"    連æºå¯¾è±¡ãƒªãƒã‚¸ãƒˆãƒªã«å­˜åœ¨ã—ãªã„リビジョンã®æƒ…報をã¾ã¨ã‚ã¦ã€åœ§ç¸®\n"
+"    付ããƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’生æˆã—ã¾ã™ã€‚"
+
+msgid ""
 "    If you omit the destination repository, then hg assumes the\n"
 "    destination will have all the nodes you specify with --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+"    連æºå¯¾è±¡ãƒªãƒã‚¸ãƒˆãƒªãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€1ã¤ä»¥ä¸Šã® --base ã§æŒ‡å®š\n"
+"    ã•ã‚ŒãŸãƒªãƒ“ジョンをæŒã¤ãƒªãƒã‚¸ãƒˆãƒªãŒæƒ³å®šã•ã‚Œã¾ã™ã€‚å…¨ã¦ã®ãƒªãƒ“ジョンを\n"
+"    å«ã‚€ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’生æˆã™ã‚‹ã«ã¯ã€-a/--all (ãªã„ã— --base null)ã‚’\n"
+"    指定ã—ã¾ã™ã€‚"
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+"    圧縮方å¼ã‚’変更ã™ã‚‹å ´åˆã¯ -t/--type を使用ã—ã¾ã™ã€‚利用å¯èƒ½ãªåœ§ç¸®\n"
+"    å½¢å¼ã¯ none(無圧縮), bzip2, gzip ã§ã™(無指定時㯠bzip2 圧縮)。"
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-msgstr ""
-"ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®ç”Ÿæˆ\n"
-"\n"
-"    連æºå¯¾è±¡ãƒªãƒã‚¸ãƒˆãƒªã«å­˜åœ¨ã—ãªã„リビジョンã®æƒ…報をã¾ã¨ã‚ã¦ã€åœ§ç¸®\n"
-"    付ããƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’生æˆã—ã¾ã™ã€‚\n"
-"\n"
-"    連æºå¯¾è±¡ãƒªãƒã‚¸ãƒˆãƒªãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€1ã¤ä»¥ä¸Šã® --base ã§æŒ‡å®š\n"
-"    ã•ã‚ŒãŸãƒªãƒ“ジョンをæŒã¤ãƒªãƒã‚¸ãƒˆãƒªãŒæƒ³å®šã•ã‚Œã¾ã™ã€‚å…¨ã¦ã®ãƒªãƒ“ジョンを\n"
-"    å«ã‚€ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’生æˆã™ã‚‹ã«ã¯ã€-a/--all (ãªã„ã— --base null)ã‚’\n"
-"    指定ã—ã¾ã™ã€‚\n"
-"\n"
-"    圧縮方å¼ã‚’変更ã™ã‚‹å ´åˆã¯ -t/--type を使用ã—ã¾ã™ã€‚利用å¯èƒ½ãªåœ§ç¸®\n"
-"    å½¢å¼ã¯ none(無圧縮), bzip2, gzip ã§ã™(無指定時㯠bzip2 圧縮)。\n"
-"\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
 "    ä»»æ„ã®æ–¹æ³•ã§è»¢é€ã—ãŸãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€ä»–ã®ãƒªãƒã‚¸ãƒˆãƒªä¸Šã§\n"
 "    'hg unbundle' ãªã„ã— 'hg pull' ã«ã‚ˆã‚Šé©ç”¨å¯èƒ½ã§ã™ã€‚ãƒãƒ³ãƒ‰ãƒ«ã«ã‚ˆã‚‹\n"
 "    ä¼æ’­ã¯ã€ 'hg push/pull' ã«ã‚ˆã‚‹ç›´æŽ¥è»¢é€ãŒã§ããªã„å ´åˆã‚„ã€ãƒªãƒã‚¸ãƒˆãƒª\n"
-"    全体ã®å…¬é–‹ãŒæœ›ã¾ã—ãç„¡ã„å ´åˆã«æœ‰ç”¨ã§ã™ã€‚\n"
-"\n"
+"    全体ã®å…¬é–‹ãŒæœ›ã¾ã—ãç„¡ã„å ´åˆã«æœ‰ç”¨ã§ã™ã€‚"
+
+msgid ""
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+msgstr ""
 "    ãƒãƒ³ãƒ‰ãƒ«ã®é©ç”¨ã§ã¯ã€æ¨©é™è¨­å®šã€è¤‡è£½ï¼æ”¹åã€å¤‰æ›´å±¥æ­´ã¨ã„ã£ãŸæƒ…報を\n"
 "    å«ã‚€å…¨ã¦ã®æ›´æ–°å†…容ãŒå–ã‚Šè¾¼ã¾ã‚Œã¾ã™ã€‚\n"
 "    "
@@ -5774,68 +6069,104 @@
 msgid "unknown bundle type specified with --type"
 msgstr "--type ã«æœªçŸ¥ã®ãƒãƒ³ãƒ‰ãƒ«ç¨®åˆ¥ãŒæŒ‡å®šã•ã‚Œã¾ã—ãŸ"
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr "指定ã•ã‚ŒãŸãƒªãƒ“ジョン時点ã®ãƒ•ã‚¡ã‚¤ãƒ«å†…容ã®å‡ºåŠ›"
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+"    指定ã•ã‚ŒãŸãƒªãƒ“ジョン時点ã§ã®ãƒ•ã‚¡ã‚¤ãƒ«å†…容を出力ã—ã¾ã™ã€‚リビジョンãŒ\n"
+"    指定ã•ã‚Œãªã„å ´åˆã¯ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒã€ä½œæ¥­é ˜åŸŸã®æ›´æ–°å‰ãªã‚‰ tip\n"
+"    ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions:\n"
-"\n"
+"    for the export command, with the following additions:"
+msgstr ""
+"    出力先指定(ç½®æ›æŒ‡å®šå¯èƒ½)ãŒã‚ã‚‹å ´åˆã€å‡ºåŠ›ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚\n"
+"    ç½®æ›æŒ‡å®šã«ã¯ 'hg export' ã§æŒ‡å®šå¯èƒ½ãªã‚‚ã®ã«åŠ ãˆã¦ä»¥ä¸‹ã®ã‚‚ã®ã‚’指定\n"
+"    ã§ãã¾ã™:"
+
+msgid ""
 "    :``%s``: basename of file being printed\n"
 "    :``%d``: dirname of file being printed, or '.' if in repository root\n"
 "    :``%p``: root-relative path name of file being printed\n"
 "    "
 msgstr ""
-"指定ã•ã‚ŒãŸãƒªãƒ“ジョン時点ã®ãƒ•ã‚¡ã‚¤ãƒ«å†…容ã®å‡ºåŠ›\n"
-"\n"
-"    指定ã•ã‚ŒãŸãƒªãƒ“ジョン時点ã§ã®ãƒ•ã‚¡ã‚¤ãƒ«å†…容を出力ã—ã¾ã™ã€‚リビジョンãŒ\n"
-"    指定ã•ã‚Œãªã„å ´åˆã¯ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒã€ä½œæ¥­é ˜åŸŸã®æ›´æ–°å‰ãªã‚‰ tip\n"
-"    ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    出力先指定(ç½®æ›æŒ‡å®šå¯èƒ½)ãŒã‚ã‚‹å ´åˆã€å‡ºåŠ›ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚\n"
-"    ç½®æ›æŒ‡å®šã«ã¯ 'hg export' ã§æŒ‡å®šå¯èƒ½ãªã‚‚ã®ã«åŠ ãˆã¦ä»¥ä¸‹ã®ã‚‚ã®ã‚’指定\n"
-"    ã§ãã¾ã™:\n"
-"\n"
 "    :``%s``: 対象ファイルã®ãƒ™ãƒ¼ã‚¹å\n"
 "    :``%d``: 対象ファイルã®æ ¼ç´ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã€ãªã„ã— '.'\n"
 "    :``%p``: 対象ファイルã®ãƒªãƒã‚¸ãƒˆãƒªãƒ«ãƒ¼ãƒˆã‹ã‚‰ã®ç›¸å¯¾ãƒ‘ス\n"
 "    "
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+msgid "make a copy of an existing repository"
+msgstr "既存リãƒã‚¸ãƒˆãƒªã®è¤‡è£½"
+
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr "    既存リãƒã‚¸ãƒˆãƒªã‚’ã€æ–°è¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«è¤‡è£½ã—ã¾ã™ã€‚"
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr ""
+"    複製先ディレクトリãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€è¤‡è£½å…ƒã®ãƒ™ãƒ¼ã‚¹å(パスåã®\n"
+"    末尾è¦ç´ )を使用ã—ã¾ã™ã€‚"
+
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+"    å°†æ¥çš„㪠'hg pull' 実施ã«å‚™ãˆã¦ã€è¤‡è£½å…ˆãƒªãƒã‚¸ãƒˆãƒªã® .hg/hgrc \n"
+"    ファイルã«ã¯ã€è¤‡è£½å…ƒãƒªãƒã‚¸ãƒˆãƒªä½ç½®ãŒ default å義ã§è¨˜éŒ²ã•ã‚Œã¾ã™ã€‚"
+
+msgid "    See 'hg help urls' for valid source format details."
+msgstr "    リãƒã‚¸ãƒˆãƒªä½ç½®æŒ‡å®šã«é–¢ã™ã‚‹è©³ç´°ã¯ã€'hg help urls' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ``ssh://`` URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ``ssh://`` URLs."
+msgstr ""
+"    複製先ã¨ã—㦠``ssh://`` URL å½¢å¼ã‚’指定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ãŒã€é éš”ホスト\n"
+"    上ã§ã¯ã€.hg/hgrc ã®ä½œæˆã‚‚ã€ä½œæ¥­é ˜åŸŸã®æ›´æ–°ã‚‚è¡Œã‚ã‚Œã¾ã›ã‚“。\n"
+"    ``ssh://`` URL å½¢å¼ã®è©³ç´°ã¯ã€'hg help urls' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "    If the -U/--noupdate option is specified, the new clone will contain\n"
 "    only a repository (.hg) and no working copy (the working copy parent\n"
 "    will be the null changeset). Otherwise, clone will initially check\n"
-"    out (in order of precedence):\n"
-"\n"
+"    out (in order of precedence):"
+msgstr ""
+"    -U/--noupdate ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ–°è¦è¤‡è£½å…ˆã¯ã€\n"
+"    管ç†é ˜åŸŸ(.hg)ã®ã¿ã‚’ä¿æŒã—ã€ä½œæ¥­é ˜åŸŸã®æ›´æ–°ã¯è¡Œã‚ã‚Œã¾ã›ã‚“\n"
+"    (作業領域ã®è¦ªãƒªãƒ“ジョン㯠null リビジョンã¨ãªã‚Šã¾ã™)。\n"
+"    ãれ以外ã®å ´åˆã¯ã€ä»¥ä¸‹ã®å„ªå…ˆé †ä½ã§å®šã¾ã‚‹ãƒªãƒ“ジョン時点ã®å†…容ã§\n"
+"    作業領域を更新ã—ã¾ã™:"
+
+msgid ""
 "    a) the changeset, tag or branch specified with -u/--updaterev\n"
 "    b) the changeset, tag or branch given with the first -r/--rev\n"
 "    c) the branch given with the first -b/--branch\n"
 "    d) the branch given with the url#branch source syntax\n"
-"    e) the head of the default branch\n"
-"\n"
+"    e) the head of the default branch"
+msgstr ""
+"    a) -u/--updaterev ã§æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョン(タグやブランãƒåã‚‚å¯)\n"
+"    b) 最åˆã® -r/--rev ã§æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョン(タグやブランãƒåã‚‚å¯)\n"
+"    c) 最åˆã® -b/--branch ã§æŒ‡å®šã•ã‚ŒãŸãƒ–ランãƒ\n"
+"    d) 複製元指定ã«ãŠã„㦠url#branch å½¢å¼ã§æŒ‡å®šã•ã‚ŒãŸãƒ–ランãƒ\n"
+"    e) 'default' ブランãƒã®ãƒ˜ãƒƒãƒ‰ãƒªãƒ“ジョン"
+
+msgid ""
 "    Use 'hg clone -u . src dst' to checkout the source repository's\n"
-"    parent changeset (applicable for local source repositories only).\n"
-"\n"
+"    parent changeset (applicable for local source repositories only)."
+msgstr ""
+"    複製元ã®ä½œæ¥­é ˜åŸŸã«ãŠã‘る親リビジョンã§ã€è¤‡è£½å…ˆãƒªãƒã‚¸ãƒˆãƒªã®ä½œæ¥­é ˜åŸŸã‚’\n"
+"    æ›´æ–°ã™ã‚‹ã«ã¯ã€'hg clone -u . 複製元 複製先' ã¨æŒ‡å®šã—ã¾ã™\n"
+"    (ローカルホスト上ã®è¤‡è£½å…ƒé™å®š)。"
+
+msgid ""
 "    A set of changesets (tags, or branch names) to pull may be specified\n"
 "    by listing each changeset (tag, or branch name) with -r/--rev.\n"
 "    If -r/--rev is used, the cloned repository will contain only a subset\n"
@@ -5843,63 +6174,8 @@
 "    defined by all -r/--rev options (including all their ancestors)\n"
 "    will be pulled into the destination repository.\n"
 "    No subsequent changesets (including subsequent tags) will be present\n"
-"    in the destination.\n"
-"\n"
-"    Using -r/--rev (or 'clone src#rev dest') implies --pull, even for\n"
-"    local source repositories.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"    "
-msgstr ""
-"既存リãƒã‚¸ãƒˆãƒªã®è¤‡è£½\n"
-"\n"
-"    既存リãƒã‚¸ãƒˆãƒªã‚’ã€æ–°è¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«è¤‡è£½ã—ã¾ã™ã€‚\n"
-"\n"
-"    複製先ディレクトリãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€è¤‡è£½å…ƒã®ãƒ™ãƒ¼ã‚¹å(パスåã®\n"
-"    末尾è¦ç´ )を使用ã—ã¾ã™ã€‚\n"
-"\n"
-"    å°†æ¥çš„㪠'hg pull' 実施ã«å‚™ãˆã¦ã€è¤‡è£½å…ˆãƒªãƒã‚¸ãƒˆãƒªã® .hg/hgrc \n"
-"    ファイルã«ã¯ã€è¤‡è£½å…ƒãƒªãƒã‚¸ãƒˆãƒªä½ç½®ãŒ default å義ã§è¨˜éŒ²ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    リãƒã‚¸ãƒˆãƒªä½ç½®æŒ‡å®šã«é–¢ã™ã‚‹è©³ç´°ã¯ã€'hg help urls' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
-"    複製先ã¨ã—㦠``ssh://`` URL å½¢å¼ã‚’指定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ãŒã€é éš”ホスト\n"
-"    上ã§ã¯ã€.hg/hgrc ã®ä½œæˆã‚‚ã€ä½œæ¥­é ˜åŸŸã®æ›´æ–°ã‚‚è¡Œã‚ã‚Œã¾ã›ã‚“。\n"
-"    ``ssh://`` URL å½¢å¼ã®è©³ç´°ã¯ã€'hg help urls' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
-"    -U/--noupdate ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ–°è¦è¤‡è£½å…ˆã¯ã€\n"
-"    管ç†é ˜åŸŸ(.hg)ã®ã¿ã‚’ä¿æŒã—ã€ä½œæ¥­é ˜åŸŸã®æ›´æ–°ã¯è¡Œã‚ã‚Œã¾ã›ã‚“\n"
-"    (作業領域ã®è¦ªãƒªãƒ“ジョン㯠null リビジョンã¨ãªã‚Šã¾ã™)。\n"
-"    ãれ以外ã®å ´åˆã¯ã€ä»¥ä¸‹ã®å„ªå…ˆé †ä½ã§å®šã¾ã‚‹ãƒªãƒ“ジョン時点ã®å†…容ã§\n"
-"    作業領域を更新ã—ã¾ã™:\n"
-"\n"
-"    a) -u/--updaterev ã§æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョン(タグやブランãƒåã‚‚å¯)\n"
-"    b) 最åˆã® -r/--rev ã§æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョン(タグやブランãƒåã‚‚å¯)\n"
-"    c) 最åˆã® -b/--branch ã§æŒ‡å®šã•ã‚ŒãŸãƒ–ランãƒ\n"
-"    d) 複製元指定ã«ãŠã„㦠url#branch å½¢å¼ã§æŒ‡å®šã•ã‚ŒãŸãƒ–ランãƒ\n"
-"    e) 'default' ブランãƒã®ãƒ˜ãƒƒãƒ‰ãƒªãƒ“ジョン\n"
-"\n"
-"    複製元ã®ä½œæ¥­é ˜åŸŸã«ãŠã‘る親リビジョンã§ã€è¤‡è£½å…ˆãƒªãƒã‚¸ãƒˆãƒªã®ä½œæ¥­é ˜åŸŸã‚’\n"
-"    æ›´æ–°ã™ã‚‹ã«ã¯ã€'hg clone -u . 複製元 複製先' ã¨æŒ‡å®šã—ã¾ã™\n"
-"    (ローカルホスト上ã®è¤‡è£½å…ƒé™å®š)。\n"
-"\n"
+"    in the destination."
+msgstr ""
 "    複製先ã«å–り込む一連ã®ãƒªãƒ“ジョンã¯ã€-r/--rev を使用ã—ã¦ãƒªãƒ“ジョン\n"
 "    (ã‚¿ã‚°åやブランãƒåã‚‚å¯)を列挙ã™ã‚‹ã“ã¨ã§æŒ‡å®šã—ã¾ã™ã€‚\n"
 "    -r/--rev ã«ã‚ˆã‚‹ãƒªãƒ“ジョン指定複製を行ãªã†å ´åˆã€è¤‡è£½å…ˆãƒªãƒã‚¸ãƒˆãƒªã¯\n"
@@ -5907,24 +6183,50 @@
 "    -r/--rev ã«ã‚ˆã£ã¦æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョン(ãŠã‚ˆã³ãã®ç¥–å…ˆã¨ãªã‚‹ãƒªãƒ“ジョン)\n"
 "    ãŒå–ã‚Šè¾¼ã¿å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
 "    複製先リãƒã‚¸ãƒˆãƒªã«ã¯ã€æŒ‡å®šãƒªãƒ“ジョン以後ã®ãƒªãƒ“ジョンã¯å–ã‚Šè¾¼ã¾ã‚Œã¾ã›ã‚“\n"
-"    (後続ã®ã‚¿ã‚°ä»˜ã‘リビジョンも除外ã•ã‚Œã¾ã™)。\n"
-"\n"
+"    (後続ã®ã‚¿ã‚°ä»˜ã‘リビジョンも除外ã•ã‚Œã¾ã™)。"
+
+msgid ""
+"    Using -r/--rev (or 'clone src#rev dest') implies --pull, even for\n"
+"    local source repositories."
+msgstr ""
 "    -r/--rev 指定付ã(ãªã„ã—㯠'hg clone 複製元#リビジョン' å½¢å¼)\n"
 "    複製ã®å ´åˆã€åŒä¸€ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã§ã®è¤‡è£½ã§ã‚ã£ã¦ã‚‚ã€\n"
-"    暗黙的㫠--pull 指定を伴ã„ã¾ã™ã€‚\n"
-"\n"
+"    暗黙的㫠--pull 指定を伴ã„ã¾ã™ã€‚"
+
+msgid ""
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking."
+msgstr ""
 "    複製元ï¼è¤‡è£½å…ˆãŒåŒä¸€ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã«ã‚ã‚‹å ´åˆã€\n"
 "    資æºåŠ¹çŽ‡ç­‰ã®ç†ç”±ã‹ã‚‰(リãƒã‚¸ãƒˆãƒªã®å†…部データã«å¯¾ã—ã¦ã®ã¿)\n"
 "    ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
 "    AFS ã‚’å«ã‚€å¹¾ã¤ã‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã¯ã€ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯å®Ÿè£…ãŒä¸é©åˆ‡ã§ã‚ã‚‹\n"
 "    ã«ã‚‚é–¢ã‚らãšã€ã‚¨ãƒ©ãƒ¼é€šçŸ¥ãŒã‚ã‚Šã¾ã›ã‚“。ã“ã®ã‚ˆã†ãªå ´åˆã«ã¯ --pull ã‚’\n"
-"    指定ã™ã‚‹ã“ã¨ã§ã€ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’抑止ã—ã¾ã™ã€‚\n"
-"\n"
+"    指定ã™ã‚‹ã“ã¨ã§ã€ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’抑止ã—ã¾ã™ã€‚"
+
+msgid ""
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with ::"
+msgstr ""
 "    リãƒã‚¸ãƒˆãƒªã®å†…部データã¨ä½œæ¥­é ˜åŸŸä¸­ã®ãƒ•ã‚¡ã‚¤ãƒ«å…¨ã¦ã«å¯¾ã—ã¦ã€ãƒãƒ¼ãƒ‰\n"
-"    リンクã«ã‚ˆã‚‹è¤‡è£½ã‚’作æˆã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®æ–¹æ³•ãŒä½¿ãˆã‚‹ã‹ã‚‚知れã¾ã›ã‚“::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    リンクã«ã‚ˆã‚‹è¤‡è£½ã‚’作æˆã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®æ–¹æ³•ãŒä½¿ãˆã‚‹ã‹ã‚‚知れã¾ã›ã‚“::"
+
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr "      $ cp -al REPO REPOCLONE"
+
+msgid ""
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"    "
+msgstr ""
 "    ã“ã®æ–¹æ³•ã¯æœ€é€Ÿã®è¤‡è£½æ–¹æ³•ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€å¸¸ã«å®‰å…¨ã¨ã¯é™ã‚Šã¾ã›ã‚“。\n"
 "    æ“作ã®å˜ä¸€æ€§ã¯ä¿éšœã•ã‚Œã¾ã›ã‚“(REPO ã®è¤‡è£½ä¸­æ”¹å¤‰ã®é˜²æ­¢ã¯åˆ©ç”¨è€…責務)ã—ã€\n"
 "    利用ã™ã‚‹ã‚¨ãƒ‡ã‚£ã‚¿ã®ãƒ•ã‚¡ã‚¤ãƒ«æ”¹å¤‰æ™‚ã®æŒ¯ã‚‹èˆžã„ãŒã€\n"
@@ -5937,43 +6239,39 @@
 msgid "cannot specify both --noupdate and --updaterev"
 msgstr "--noupdate 㨠--updaterev ã¯ä½µç”¨ã§ãã¾ã›ã‚“"
 
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr "指定ファイルãªã„ã—å…¨ã¦ã®å¤‰æ›´å†…容ã®ãƒªãƒã‚¸ãƒˆãƒªã¸ã®è¨˜éŒ²"
+
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
-"    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
-"    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"指定ファイルãªã„ã—å…¨ã¦ã®å¤‰æ›´å†…容ã®ãƒªãƒã‚¸ãƒˆãƒªã¸ã®è¨˜éŒ²\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr ""
 "    指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´å†…容を管ç†é ˜åŸŸã«è¨˜éŒ²(コミット)ã—ã¾ã™ã€‚\n"
 "    RCS ã®ã‚ˆã†ãªä¸­å¤®é›†æ¨©çš„ãªãƒ„ールã¨ç•°ãªã‚Šã€ã“ã®æ“作ã¯æ‰‹å…ƒã®ç®¡ç†é ˜åŸŸã«\n"
 "    対ã™ã‚‹è¨˜éŒ²ã—ã‹è¡Œã„ã¾ã›ã‚“。変更を能動的ã«å…¬é–‹ã™ã‚‹æ–¹æ³•ã«é–¢ã—ã¦ã¯\n"
-"    'hg help push' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"    'hg help push' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
+"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    will be committed."
+msgstr ""
 "    ファイル指定ãŒçœç•¥ã•ã‚ŒãŸå ´åˆã€'hg status' ã«ã‚ˆã‚Šæ¤œå‡ºã•ã‚Œã‚‹å…¨ã¦ã®\n"
-"    変更内容ãŒã‚³ãƒŸãƒƒãƒˆã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    変更内容ãŒã‚³ãƒŸãƒƒãƒˆã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    If you are committing the result of a merge, do not provide any\n"
+"    filenames or -I/-X filters."
+msgstr ""
 "    'hg merge' çµæžœã‚’コミットã™ã‚‹å ´åˆã€ãƒ•ã‚¡ã‚¤ãƒ«åãªã„ã— -I/-X ã®ã„ãšã‚Œã‚‚\n"
-"    指定ã—ãªã„ã§ãã ã•ã„。\n"
-"\n"
+"    指定ã—ãªã„ã§ãã ã•ã„。"
+
+msgid ""
+"    If no commit message is specified, the configured editor is\n"
+"    started to prompt you for a message."
+msgstr ""
 "    コミットメッセージãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€è¨­å®šã«å¾“ã£ã¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸å…¥åŠ›ç”¨ã®\n"
-"    プログラムãŒèµ·å‹•ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"    "
+"    プログラムãŒèµ·å‹•ã•ã‚Œã¾ã™ã€‚"
 
 msgid "nothing changed\n"
 msgstr "変更ãªã—\n"
@@ -5985,31 +6283,32 @@
 msgid "committed changeset %d:%s\n"
 msgstr "コミット対象リビジョン %d:%s\n"
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr "指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®è¤‡è£½"
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+"    対象ファイルãŒè¤‡è£½å…ƒã‹ã‚‰ã®è¤‡è£½ã§ã‚ã‚‹ã“ã¨ã‚’記録ã—ã¾ã™ã€‚複製先指定ãŒ\n"
+"    ディレクトリã®å ´åˆã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«è¤‡è£½ãŒä½œæˆã•ã‚Œã¾ã™ã€‚複製先指定ãŒ\n"
+"    ファイルã®å ´åˆã€è¤‡è£½å…ƒã¯1ã¤ã—ã‹æŒ‡å®šã§ãã¾ã›ã‚“。"
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€è¤‡è£½å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容をæŒã¤è¤‡è£½å…ˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’作業\n"
+"    領域ã«ä½œæˆã—ã¾ã™ã€‚-A/--after 指定ãŒã‚ã‚‹å ´åˆã€ã€Œè¤‡è£½ã€æ“作ã¯è¨˜éŒ²ã•ã‚Œ\n"
+"    ã¾ã™ãŒã€ãƒ•ã‚¡ã‚¤ãƒ«ã®è¤‡è£½ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。"
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
-"指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®è¤‡è£½\n"
-"\n"
-"    対象ファイルãŒè¤‡è£½å…ƒã‹ã‚‰ã®è¤‡è£½ã§ã‚ã‚‹ã“ã¨ã‚’記録ã—ã¾ã™ã€‚複製先指定ãŒ\n"
-"    ディレクトリã®å ´åˆã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«è¤‡è£½ãŒä½œæˆã•ã‚Œã¾ã™ã€‚複製先指定ãŒ\n"
-"    ファイルã®å ´åˆã€è¤‡è£½å…ƒã¯1ã¤ã—ã‹æŒ‡å®šã§ãã¾ã›ã‚“。\n"
-"\n"
-"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€è¤‡è£½å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容をæŒã¤è¤‡è£½å…ˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’作業\n"
-"    領域ã«ä½œæˆã—ã¾ã™ã€‚-A/--after 指定ãŒã‚ã‚‹å ´åˆã€ã€Œè¤‡è£½ã€æ“作ã¯è¨˜éŒ²ã•ã‚Œ\n"
-"    ã¾ã™ãŒã€ãƒ•ã‚¡ã‚¤ãƒ«ã®è¤‡è£½ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。\n"
-"\n"
 "    本コマンドã®å®Ÿè¡Œçµæžœã¯æ¬¡å›žã®ã‚³ãƒŸãƒƒãƒˆã®éš›ã«åŠ¹æžœã‚’発æ®ã—ã¾ã™ã€‚コミット\n"
 "    å‰ã«è¤‡è£½æ“作をå–り消ã™æ–¹æ³•ã¯ 'hg help revert' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
@@ -6051,31 +6350,31 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr "親リビジョンã®ç®¡ç†æƒ…報㨠.hg/dirstate ã®é–“ã«ä¸æ•´åˆãŒã‚ã‚Šã¾ã™"
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr "全設定ファイルã«ã‚ˆã‚‹æœ€çµ‚çš„ãªè¨­å®šå†…容ã®è¡¨ç¤º"
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr "    引数指定ãŒç„¡ã„å ´åˆã€å…¨ã¦ã®è¨­å®šé …ç›®ã«å¯¾ã—ã¦ã€åå‰ã¨å€¤ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+"    'section.name' å½¢å¼ã«åˆè‡´ã™ã‚‹å¼•æ•°ã‚’1ã¤ã ã‘指定ã—ãŸå ´åˆã€ãã®è¨­å®šé …ç›®\n"
+"    値ã®ã¿ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+"    複数ã®å¼•æ•°ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãれらをセクションåã¨ã¿ãªã—ã€è©²å½“ã™ã‚‹\n"
+"    セクションã®è¨­å®šé …目を全ã¦è¡¨ç¤ºã—ã¾ã™ã€‚"
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
 msgstr ""
-"全設定ファイルã«ã‚ˆã‚‹æœ€çµ‚çš„ãªè¨­å®šå†…容ã®è¡¨ç¤º\n"
-"\n"
-"    引数指定ãŒç„¡ã„å ´åˆã€å…¨ã¦ã®è¨­å®šé …ç›®ã«å¯¾ã—ã¦ã€åå‰ã¨å€¤ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    'section.name' å½¢å¼ã«åˆè‡´ã™ã‚‹å¼•æ•°ã‚’1ã¤ã ã‘指定ã—ãŸå ´åˆã€ãã®è¨­å®šé …ç›®\n"
-"    値ã®ã¿ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    複数ã®å¼•æ•°ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãれらをセクションåã¨ã¿ãªã—ã€è©²å½“ã™ã‚‹\n"
-"    セクションã®è¨­å®šé …目を全ã¦è¡¨ç¤ºã—ã¾ã™ã€‚\n"
-"\n"
 "    --debug 指定ãŒã‚ã‚‹å ´åˆã€è¨­å®šé …目毎ã«è¨˜è¿°ä½ç½®(ファイルåã¨è¡Œç•ªå·)ãŒ\n"
 "    表示ã•ã‚Œã¾ã™ã€‚\n"
 "    "
@@ -6083,15 +6382,14 @@
 msgid "only one config item permitted"
 msgstr "複数ã®è¨­å®šé …目指定ã¯ç„¡åŠ¹ã§ã™"
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr "作業領域ã®è¦ªãƒªãƒ“ジョンã®æ‰‹å‹•è¨­å®š"
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
 msgstr ""
-"作業領域ã®è¦ªãƒªãƒ“ジョンã®æ‰‹å‹•è¨­å®š\n"
-"\n"
 "    本コマンドã¯ãƒªãƒã‚¸ãƒˆãƒªå¤‰æ›ãƒ„ールã®ä½œæˆã«æœ‰ç”¨ã§ã™ãŒã€åˆ©ç”¨ã«ã¯æ³¨æ„ãŒ\n"
 "    å¿…è¦ã§ã™ã€‚\n"
 "    "
@@ -6156,14 +6454,10 @@
 msgid " patch test failed!\n"
 msgstr " パッãƒé©ç”¨è©¦é¨“ãŒå¤±æ•—\n"
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
 msgstr " (ツールãŒæœªå¯¾å¿œãªãƒ‘ッãƒå½¢å¼ã‹ã€è¨­å®šãƒŸã‚¹ã§ã™ã€‚設定確èªãŒå¿…è¦ã§ã™)\n"
 
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
 msgstr ""
 " 内部パッãƒãƒ„ールãŒæ©Ÿèƒ½ã—ã¾ã›ã‚“。\n"
 "http://mercurial.selenic.com/bts ã¸ã®ã‚¨ãƒ©ãƒ¼å ±å‘Šã«ã”å”力ãã ã•ã„\n"
@@ -6208,75 +6502,78 @@
 msgid "show how files match on given patterns"
 msgstr "指定パターンã¸ã®ãƒ•ã‚¡ã‚¤ãƒ«åˆè‡´çŠ¶æ³ã®è¡¨ç¤º"
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr "作業領域全体(ãªã„ã—指定ファイル)ã®å·®åˆ†æŠ½å‡º"
+
+msgid "    Show differences between revisions for the specified files."
+msgstr "    指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã—ã¦ã€ãƒªãƒ“ジョン間ã®å·®åˆ†ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid "    Differences between files are shown using the unified diff format."
+msgstr "    差分㯠unified diff å½¢å¼ã§è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
+"    備考: マージã«å¯¾ã™ã‚‹å·®åˆ†è¡¨ç¤ºãŒæœŸå¾…ã¨ç•°ãªã‚‹å ´åˆãŒã‚ã‚‹ã®ã¯ã€ç„¡æŒ‡å®šæ™‚ã«\n"
+"    比較対象ã¨ãªã‚‹ã®ãŒã€ä½œæ¥­é ˜åŸŸã®ç¬¬1親ã§ã‚ã‚‹ãŸã‚ã§ã™ã€‚"
+
+msgid ""
 "    Alternatively you can specify -c/--change with a revision to see\n"
-"    the changes in that changeset relative to its first parent.\n"
-"\n"
+"    the changes in that changeset relative to its first parent."
+msgstr ""
+"    指定リビジョンã¨ã€ãã®ç¬¬1親ã¨ã®é–“ã®å·®åˆ†ã‚’見るã«ã¯ã€-c/--change ã§\n"
+"    対象リビジョンを指定ã™ã‚‹æ–¹æ³•ã‚‚使用ã§ãã¾ã™ã€‚"
+
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+"    -a/--text 指定ãŒç„¡ã„å ´åˆã€ãƒã‚¤ãƒŠãƒªã¨æ€ã—ãファイルã¯å‡¦ç†å¯¾è±¡ã‹ã‚‰\n"
+"    除外ã•ã‚Œã¾ã™ã€‚-a 指定ãŒæœ‰ã‚‹å ´åˆã€çµæžœã«é–¢ã‚らãšå…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ\n"
+"    処ç†å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
 msgstr ""
-"作業領域全体(ãªã„ã—指定ファイル)ã®å·®åˆ†æŠ½å‡º\n"
-"\n"
-"    指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã—ã¦ã€ãƒªãƒ“ジョン間ã®å·®åˆ†ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    差分㯠unified diff å½¢å¼ã§è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    備考: マージã«å¯¾ã™ã‚‹å·®åˆ†è¡¨ç¤ºãŒæœŸå¾…ã¨ç•°ãªã‚‹å ´åˆãŒã‚ã‚‹ã®ã¯ã€ç„¡æŒ‡å®šæ™‚ã«\n"
-"    比較対象ã¨ãªã‚‹ã®ãŒã€ä½œæ¥­é ˜åŸŸã®ç¬¬1親ã§ã‚ã‚‹ãŸã‚ã§ã™ã€‚\n"
-"\n"
-"    リビジョンãŒ2ã¤æŒ‡å®šã•ã‚ŒãŸå ´åˆã€ä¸¡ãƒªãƒ“ジョン間ã®å·®åˆ†ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
-"    リビジョンãŒ1ã¤æŒ‡å®šã•ã‚ŒãŸå ´åˆã€å½“該リビジョンã¨ä½œæ¥­é ˜åŸŸã®å†…容ãŒæ¯”較\n"
-"    ã•ã‚Œã€ãƒªãƒ“ジョンãŒ1ã¤ã‚‚指定ã•ã‚Œãªã„å ´åˆã¯ã€ä½œæ¥­é ˜åŸŸã®å†…容ã¨\n"
-"    親リビジョンã¨ãŒæ¯”較ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    指定リビジョンã¨ã€ãã®ç¬¬1親ã¨ã®é–“ã®å·®åˆ†ã‚’見るã«ã¯ã€-c/--change ã§\n"
-"    対象リビジョンを指定ã™ã‚‹æ–¹æ³•ã‚‚使用ã§ãã¾ã™ã€‚\n"
-"\n"
-"    -a/--text 指定ãŒç„¡ã„å ´åˆã€ãƒã‚¤ãƒŠãƒªã¨æ€ã—ãファイルã¯å‡¦ç†å¯¾è±¡ã‹ã‚‰\n"
-"    除外ã•ã‚Œã¾ã™ã€‚-a 指定ãŒæœ‰ã‚‹å ´åˆã€çµæžœã«é–¢ã‚らãšå…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ\n"
-"    処ç†å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
 "    git 拡張差分形å¼ã§è¡¨ç¤ºã™ã‚‹ã«ã¯ -g/--git を指定ã—ã¾ã™ã€‚詳細ã¯\n"
 "    'hg help diffs' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr "1ã¤ä»¥ä¸Šã®ãƒªãƒ“ジョンã«å¯¾ã™ã‚‹ãƒ˜ãƒƒãƒ€ãŠã‚ˆã³å¤‰æ›´å†…容ã®å‡ºåŠ›"
+
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr "    1ã¤ä»¥ä¸Šã®ãƒªãƒ“ジョンã«å¯¾ã—ã¦ã€ãƒ˜ãƒƒãƒ€æƒ…å ±ãŠã‚ˆã³å¤‰æ›´å†…容を表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    The information shown in the changeset header is: author, date,\n"
 "    branch name (if non-default), changeset hash, parent(s) and commit\n"
-"    comment.\n"
-"\n"
+"    comment."
+msgstr ""
+"    ヘッダ情報ã¨ã—ã¦è¡¨ç¤ºã•ã‚Œã‚‹æƒ…å ±ã¯:作æˆè€…/日付/\n"
+"    (default 以外ã®å ´åˆã¯)ブランãƒåå‰/ãƒãƒƒã‚·ãƒ¥å€¤/親リビジョン/コミットログ"
+
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+"    備考: マージ実施リビジョンã«å¯¾ã—ã¦ã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ãŒæœŸå¾…ã¨ç•°ãªã‚‹å·®åˆ†ã‚’\n"
+"    出力ã™ã‚‹ã®ã¯ã€ç¬¬1親ã¨ã®å·®åˆ†ã®ã¿ã‚’出力ã™ã‚‹ãŸã‚ã§ã™ã€‚"
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:\n"
-"\n"
+"    given using a format string. The formatting rules are as follows:"
+msgstr ""
+"    出力先指定(ç½®æ›æŒ‡å®šå¯èƒ½)ãŒã‚ã‚‹å ´åˆã€å‡ºåŠ›ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚\n"
+"    ç½®æ›æŒ‡å®šã¨ã—ã¦ä»¥ä¸‹ã®ã‚‚ã®ãŒä½¿ç”¨å¯èƒ½ã§ã™:"
+
+msgid ""
 "    :``%%``: literal \"%\" character\n"
 "    :``%H``: changeset hash (40 bytes of hexadecimal)\n"
 "    :``%N``: number of patches being generated\n"
@@ -6284,32 +6581,8 @@
 "    :``%b``: basename of the exporting repository\n"
 "    :``%h``: short-form changeset hash (12 bytes of hexadecimal)\n"
 "    :``%n``: zero-padded sequence number, starting at 1\n"
-"    :``%r``: zero-padded changeset revision number\n"
-"\n"
-"    Without the -a/--text option, export will avoid generating diffs\n"
-"    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
-"    With the --switch-parent option, the diff will be against the\n"
-"    second parent. It can be useful to review a merge.\n"
-"    "
-msgstr ""
-"1ã¤ä»¥ä¸Šã®ãƒªãƒ“ジョンã«å¯¾ã™ã‚‹ãƒ˜ãƒƒãƒ€ãŠã‚ˆã³å¤‰æ›´å†…容ã®å‡ºåŠ›\n"
-"\n"
-"    1ã¤ä»¥ä¸Šã®ãƒªãƒ“ジョンã«å¯¾ã—ã¦ã€ãƒ˜ãƒƒãƒ€æƒ…å ±ãŠã‚ˆã³å¤‰æ›´å†…容を表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    ヘッダ情報ã¨ã—ã¦è¡¨ç¤ºã•ã‚Œã‚‹æƒ…å ±ã¯:作æˆè€…/日付/\n"
-"    (default 以外ã®å ´åˆã¯)ブランãƒåå‰/ãƒãƒƒã‚·ãƒ¥å€¤/親リビジョン/コミットログ\n"
-"\n"
-"    備考: マージ実施リビジョンã«å¯¾ã—ã¦ã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ãŒæœŸå¾…ã¨ç•°ãªã‚‹å·®åˆ†ã‚’\n"
-"    出力ã™ã‚‹ã®ã¯ã€ç¬¬1親ã¨ã®å·®åˆ†ã®ã¿ã‚’出力ã™ã‚‹ãŸã‚ã§ã™ã€‚\n"
-"\n"
-"    出力先指定(ç½®æ›æŒ‡å®šå¯èƒ½)ãŒã‚ã‚‹å ´åˆã€å‡ºåŠ›ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚\n"
-"    ç½®æ›æŒ‡å®šã¨ã—ã¦ä»¥ä¸‹ã®ã‚‚ã®ãŒä½¿ç”¨å¯èƒ½ã§ã™:\n"
-"\n"
+"    :``%r``: zero-padded changeset revision number"
+msgstr ""
 "    :``%%``: \"%\" 文字ãã®ã‚‚ã®\n"
 "    :``%H``: ãƒãƒƒã‚·ãƒ¥å€¤(40 æ¡ 16 進数)\n"
 "    :``%N``: 生æˆã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ç·æ•°\n"
@@ -6317,15 +6590,29 @@
 "    :``%b``: 対象リãƒã‚¸ãƒˆãƒªã®ãƒ™ãƒ¼ã‚¹å\n"
 "    :``%h``: 短縮形å¼ãƒãƒƒã‚·ãƒ¥å€¤(12 æ¡ 16 進数)\n"
 "    :``%n``: 1ã‹ã‚‰å§‹ã¾ã‚‹ã‚¼ãƒ­è©°ã‚ã®é€šã—番å·\n"
-"    :``%r``: ゼロ詰ã‚ã®ãƒªãƒ“ジョン番å·\n"
-"\n"
+"    :``%r``: ゼロ詰ã‚ã®ãƒªãƒ“ジョン番å·"
+
+msgid ""
+"    Without the -a/--text option, export will avoid generating diffs\n"
+"    of files it detects as binary. With -a, export will generate a\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
 "    -a/--text 指定ãŒç„¡ã„å ´åˆã€ãƒã‚¤ãƒŠãƒªã¨æ€ã—ãファイルã¯å‡¦ç†å¯¾è±¡ã‹ã‚‰\n"
 "    除外ã•ã‚Œã¾ã™ã€‚-a 指定ãŒæœ‰ã‚‹å ´åˆã€çµæžœã«é–¢ã‚らãšã€å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ\n"
-"    処ç†å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
+"    処ç†å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
+"    Use the -g/--git option to generate diffs in the git extended diff\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
 "    git 拡張差分形å¼ã§å‡ºåŠ›ã™ã‚‹ã«ã¯ -g/--git を指定ã—ã¾ã™ã€‚詳細ã¯\n"
-"    'hg help diffs' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"    'hg help diffs' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
+"    With the --switch-parent option, the diff will be against the\n"
+"    second parent. It can be useful to review a merge.\n"
+"    "
+msgstr ""
 "    --switch-parent を指定ã™ã‚‹ã“ã¨ã§ã€æ¯”較対象ãŒç¬¬2親ã«ãªã‚Šã¾ã™ã€‚\n"
 "    ã“ã‚Œã¯ãƒžãƒ¼ã‚¸ã®ãƒ¬ãƒ“ューã®éš›ãªã©ã«æœ‰åŠ¹ã§ã™ã€‚\n"
 "    "
@@ -6339,26 +6626,26 @@
 msgid "exporting patch:\n"
 msgstr "パッãƒã®ä½œæˆä¸­:\n"
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr "次回コミットã«ãŠã‘る指定ファイルã®ç™»éŒ²é™¤å¤–"
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr "    指定ファイルã®æ¬¡å›žã‚³ãƒŸãƒƒãƒˆã«ãŠã‘る登録除外を予約ã—ã¾ã™ã€‚"
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+"    本コマンドã§ã®ç™»éŒ²é™¤å¤–ã¯ã€ç¾ãƒ–ランãƒã«ãŠã‘る登録除外ã®ã¿ã‚’æ„味ã—ã€\n"
+"    履歴ãã®ã‚‚ã®ã¯ä¿æŒã•ã‚Œç¶šã‘ã¾ã™ã—ã€ä½œæ¥­é ˜åŸŸã‹ã‚‰ã‚‚削除ã•ã‚Œã¾ã›ã‚“。"
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
-"次回コミットã«ãŠã‘る指定ファイルã®ç™»éŒ²é™¤å¤–\n"
-"\n"
-"    指定ファイルã®æ¬¡å›žã‚³ãƒŸãƒƒãƒˆã«ãŠã‘る登録除外を予約ã—ã¾ã™ã€‚\n"
-"\n"
-"    本コマンドã§ã®ç™»éŒ²é™¤å¤–ã¯ã€ç¾ãƒ–ランãƒã«ãŠã‘る登録除外ã®ã¿ã‚’æ„味ã—ã€\n"
-"    履歴ãã®ã‚‚ã®ã¯ä¿æŒã•ã‚Œç¶šã‘ã¾ã™ã—ã€ä½œæ¥­é ˜åŸŸã‹ã‚‰ã‚‚削除ã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
 "    コミットå‰ã®ç™»éŒ²é™¤å¤–ã®å–り消ã—㯠'hg help add' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
@@ -6369,16 +6656,24 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr "%s ã¯å‰Šé™¤ã•ã‚Œã¾ã›ã‚“: æ—¢ã«æ§‹æˆç®¡ç†å¯¾è±¡ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr "特定ã®ãƒ‘ターンã«åˆè‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã¨ãƒªãƒ“ジョンã®æ¤œç´¢"
+
+msgid "    Search revisions of files for a regular expression."
+msgstr "    æ­£è¦è¡¨ç¾ã«åˆè‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å«ã‚€ãƒªãƒ“ジョンを検索ã—ã¾ã™ã€‚"
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+"    本コマンドã®æŒ™å‹•ã¯ Unix ã® grep ã¨ã¯ç•°ãªã‚Šã¾ã™ã€‚解釈å¯èƒ½ãªæ­£è¦è¡¨ç¾ã¯\n"
+"    Python/Perl å½¢å¼ã®ã‚‚ã®ã ã‘ã§ã™ã€‚検索対象ã¯ãƒªãƒã‚¸ãƒˆãƒªå†…ã®ãƒ‡ãƒ¼ã‚¿ã®ã¿ã§ã€\n"
+"    作業領域ã¯æ¤œç´¢å¯¾è±¡ã«ã¯å«ã¾ã‚Œã¾ã›ã‚“。パターンã«åˆè‡´ã™ã‚‹å†…容ãŒç¾ã‚ŒãŸ\n"
+"    リビジョンを表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -6386,15 +6681,6 @@
 "    use the --all flag.\n"
 "    "
 msgstr ""
-"特定ã®ãƒ‘ターンã«åˆè‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã¨ãƒªãƒ“ジョンã®æ¤œç´¢\n"
-"\n"
-"    æ­£è¦è¡¨ç¾ã«åˆè‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å«ã‚€ãƒªãƒ“ジョンを検索ã—ã¾ã™ã€‚\n"
-"\n"
-"    本コマンドã®æŒ™å‹•ã¯ Unix ã® grep ã¨ã¯ç•°ãªã‚Šã¾ã™ã€‚解釈å¯èƒ½ãªæ­£è¦è¡¨ç¾ã¯\n"
-"    Python/Perl å½¢å¼ã®ã‚‚ã®ã ã‘ã§ã™ã€‚検索対象ã¯ãƒªãƒã‚¸ãƒˆãƒªå†…ã®ãƒ‡ãƒ¼ã‚¿ã®ã¿ã§ã€\n"
-"    作業領域ã¯æ¤œç´¢å¯¾è±¡ã«ã¯å«ã¾ã‚Œã¾ã›ã‚“。パターンã«åˆè‡´ã™ã‚‹å†…容ãŒç¾ã‚ŒãŸ\n"
-"    リビジョンを表示ã—ã¾ã™ã€‚\n"
-"\n"
 "    指定ãŒç„¡ã„å ´åˆæœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯ã€ãƒ‘ターンã«åˆè‡´ã™ã‚‹å†…容ãŒæœ€åˆã«ç¾ã‚ŒãŸ\n"
 "    リビジョンをå„ファイル毎ã«è¡¨ç¤ºã—ã¾ã™ã€‚パターンã«åˆè‡´ã™ã‚‹å¤‰æ›´ã®ã‚ã£ãŸ\n"
 "    å…¨ã¦ã®ãƒªãƒ“ジョンを表示ã™ã‚‹å ´åˆã€--all を指定ã—ã¾ã™(パターンåˆè‡´éƒ¨åˆ†ã«\n"
@@ -6405,48 +6691,49 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr "grep: '%s' ã¯ä¸æ­£ãªãƒ‘ターンã§ã™\n"
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository branch heads.\n"
-"\n"
+msgid "show current repository heads or show branch heads"
+msgstr "ç¾æ™‚点ã§ã®ãƒªãƒã‚¸ãƒˆãƒª(ãªã„ã—ブランãƒ)ã®ãƒ˜ãƒƒãƒ‰è¡¨ç¤º"
+
+msgid "    With no arguments, show all repository branch heads."
+msgstr "    引数指定ãŒç„¡ã„å ´åˆã€ãƒªãƒã‚¸ãƒˆãƒªä¸­ã®å…¨ã¦ã®ãƒ–ランãƒãƒ˜ãƒƒãƒ‰ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
 "    for update and merge operations. Branch heads are changesets that have\n"
-"    no child changeset on the same branch.\n"
-"\n"
-"    If one or more REVs are given, only branch heads on the branches\n"
-"    associated with the specified changesets are shown.\n"
-"\n"
-"    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
-"    If STARTREV is specified, only those heads that are descendants of\n"
-"    STARTREV will be displayed.\n"
-"\n"
-"    If -t/--topo is specified, named branch mechanics will be ignored and "
-"only\n"
-"    changesets without children will be shown.\n"
-"    "
-msgstr ""
-"ç¾æ™‚点ã§ã®ãƒªãƒã‚¸ãƒˆãƒª(ãªã„ã—ブランãƒ)ã®ãƒ˜ãƒƒãƒ‰è¡¨ç¤º\n"
-"\n"
-"    引数指定ãŒç„¡ã„å ´åˆã€ãƒªãƒã‚¸ãƒˆãƒªä¸­ã®å…¨ã¦ã®ãƒ–ランãƒãƒ˜ãƒƒãƒ‰ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
+"    no child changeset on the same branch."
+msgstr ""
 "    リãƒã‚¸ãƒˆãƒªã®ã€Œãƒ˜ãƒƒãƒ‰ã€ã¨ã¯ã€å­ãƒªãƒ“ジョンをæŒãŸãªã„リビジョンã®\n"
 "    ã“ã¨ã‚’指ã—ã¾ã™ã€‚改変作業ã®å®Ÿæ–½ã‚„ã€update/merge コマンド実施ã®éš›ã«ã¯ã€\n"
 "    ã“ã®ãƒªãƒ“ジョンを対象ã¨ã™ã‚‹ã®ãŒä¸€èˆ¬çš„ã§ã™ã€‚「ブランãƒãƒ˜ãƒƒãƒ‰ã€ã¨ã¯ã€\n"
-"    åŒã˜åå‰ä»˜ãブランãƒå†…ã«å­ãƒªãƒ“ジョンをæŒãŸãªã„リビジョンã®ã“ã¨ã§ã™ã€‚\n"
-"\n"
+"    åŒã˜åå‰ä»˜ãブランãƒå†…ã«å­ãƒªãƒ“ジョンをæŒãŸãªã„リビジョンã®ã“ã¨ã§ã™ã€‚"
+
+msgid ""
+"    If one or more REVs are given, only branch heads on the branches\n"
+"    associated with the specified changesets are shown."
+msgstr ""
 "    1ã¤ä»¥ä¸Šã®ãƒªãƒ“ジョンãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯æŒ‡å®šãƒªãƒ“ジョンã®\n"
-"    属ã™ã‚‹åå‰ä»˜ãブランãƒã®ãƒ–ランãƒãƒ˜ãƒƒãƒ‰ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
+"    属ã™ã‚‹åå‰ä»˜ãブランãƒã®ãƒ–ランãƒãƒ˜ãƒƒãƒ‰ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
+"    If -c/--closed is specified, also show branch heads marked closed\n"
+"    (see hg commit --close-branch)."
+msgstr ""
 "    -c/--closed 指定時ã«ã¯ã€é–‰éŽ–済ã¿ã®ãƒ–ランãƒ\n"
-"    ('hg commit' ã¸ã® --close-branch 指定ã§å®Ÿæ–½)も表示ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    ('hg commit' ã¸ã® --close-branch 指定ã§å®Ÿæ–½)も表示ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    If STARTREV is specified, only those heads that are descendants of\n"
+"    STARTREV will be displayed."
+msgstr ""
 "    引数ã¨ã—ã¦é–‹å§‹ãƒªãƒ“ジョンãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€\n"
-"    指定リビジョンã®å­å­«ã¨ãªã‚‹ãƒ˜ãƒƒãƒ‰ã®ã¿ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    指定リビジョンã®å­å­«ã¨ãªã‚‹ãƒ˜ãƒƒãƒ‰ã®ã¿ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    If -t/--topo is specified, named branch mechanics will be ignored and only\n"
+"    changesets without children will be shown.\n"
+"    "
+msgstr ""
 "    -t/--topo 指定時ã«ã¯ã€åå‰ä»˜ãブランãƒã«é–¢ã™ã‚‹åˆ¤å®šã¯ç„¡è¦–ã•ã‚Œã€\n"
 "    å˜ã«å­ãƒªãƒ“ジョンをæŒãŸãªã„リビジョンãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
 "    "
@@ -6459,19 +6746,16 @@
 msgid " (started at %s)"
 msgstr "(%s ã‹ã‚‰é–‹å§‹)"
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr "指定ã•ã‚ŒãŸãƒˆãƒ”ックã®ãƒ˜ãƒ«ãƒ—ã‚„ã€ãƒ˜ãƒ«ãƒ—概è¦ã®è¡¨ç¤º"
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr "    引数指定ãŒç„¡ã„å ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ã®ä¸€è¦§ã¨æ¦‚è¦ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
-msgstr ""
-"指定ã•ã‚ŒãŸãƒˆãƒ”ックã®ãƒ˜ãƒ«ãƒ—ã‚„ã€ãƒ˜ãƒ«ãƒ—概è¦ã®è¡¨ç¤º\n"
-"\n"
-"    引数指定ãŒç„¡ã„å ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ã®ä¸€è¦§ã¨æ¦‚è¦ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    トピックやコマンドåãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šå¯¾è±¡ã®ãƒ˜ãƒ«ãƒ—を表示ã—ã¾ã™ã€‚"
+msgstr "    トピックやコマンドåãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šå¯¾è±¡ã®ãƒ˜ãƒ«ãƒ—を表示ã—ã¾ã™ã€‚"
 
 msgid "global options:"
 msgstr "グローãƒãƒ«ã‚ªãƒ—ション:"
@@ -6480,8 +6764,7 @@
 msgstr "全コマンドã®ä¸€è¦§ã¯ \"hg help\" ã§è¡¨ç¤ºã•ã‚Œã¾ã™"
 
 msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
-msgstr ""
-"全コマンドã®ä¸€è¦§ã¯ \"hg help\" ã§ã€ã‚³ãƒžãƒ³ãƒ‰è©³ç´°ã¯ \"hg -v\" ã§è¡¨ç¤ºã•ã‚Œã¾ã™"
+msgstr "全コマンドã®ä¸€è¦§ã¯ \"hg help\" ã§ã€ã‚³ãƒžãƒ³ãƒ‰è©³ç´°ã¯ \"hg -v\" ã§è¡¨ç¤ºã•ã‚Œã¾ã™"
 
 #, python-format
 msgid "use \"hg -v help%s\" to show aliases and global options"
@@ -6491,12 +6774,8 @@
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "グローãƒãƒ«ã‚ªãƒ—ション㯠\"hg -v help %s\" ã§è¡¨ç¤ºã•ã‚Œã¾ã™"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"コマンド一覧:\n"
-"\n"
+msgid "list of commands:"
+msgstr "コマンド一覧:"
 
 #, python-format
 msgid ""
@@ -6510,14 +6789,12 @@
 msgstr "(ヘルプã¯ã‚ã‚Šã¾ã›ã‚“)"
 
 #, python-format
-msgid ""
-"alias for: hg %s\n"
-"\n"
-"%s"
-msgstr ""
-"hg %s ã®åˆ¥å\n"
-"\n"
-"%s"
+msgid "alias for: hg %s"
+msgstr "hg %s ã®åˆ¥å"
+
+#, python-format
+msgid "%s"
+msgstr "%s"
 
 #, python-format
 msgid ""
@@ -6537,12 +6814,8 @@
 msgstr "ヘルプã¯ã‚ã‚Šã¾ã›ã‚“"
 
 #, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
-msgstr ""
-"%s エクステンション - %s\n"
-"\n"
+msgid "%s extension - %s"
+msgstr "%s エクステンション - %s"
 
 msgid "use \"hg help extensions\" for information on enabling extensions\n"
 msgstr "\"hg help extensions\" ã§æœ‰åŠ¹ãªã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã®æƒ…å ±ãŒè¡¨ç¤ºã•ã‚Œã¾ã™\n"
@@ -6554,12 +6827,8 @@
 msgid "Mercurial Distributed SCM\n"
 msgstr "Mercurial - 分散構æˆç®¡ç†ãƒ„ール\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"基本コマンド:\n"
-"\n"
+msgid "basic commands:"
+msgstr "基本コマンド:"
 
 msgid "enabled extensions:"
 msgstr "有効化ã•ã‚Œã¦ã„るエクステンション:"
@@ -6569,35 +6838,33 @@
 
 msgid ""
 "\n"
-"additional help topics:\n"
-"\n"
+"additional help topics:"
 msgstr ""
 "\n"
-"追加ã®ãƒ˜ãƒ«ãƒ—トピック:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+"追加ã®ãƒ˜ãƒ«ãƒ—トピック:"
+
+msgid "identify the working copy or specified revision"
+msgstr "作業領域ãªã„ã—特定リビジョンã®è­˜åˆ¥æƒ…報表示"
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    リビジョン指定無ã—ã®èµ·å‹•ã®éš›ã«ã¯ã€ä½œæ¥­é ˜åŸŸã®çŠ¶æ…‹ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+"    パス指定有りã§ã®èµ·å‹•ã®éš›ã«ã¯ã€ä»–ã®ãƒªãƒã‚¸ãƒˆãƒªãªã„ã—ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®\n"
+"    状態を表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
 "    this revision and a branch name for non-default branches.\n"
 "    "
 msgstr ""
-"作業領域ãªã„ã—特定リビジョンã®è­˜åˆ¥æƒ…報表示\n"
-"\n"
-"    リビジョン指定無ã—ã®èµ·å‹•ã®éš›ã«ã¯ã€ä½œæ¥­é ˜åŸŸã®çŠ¶æ…‹ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
-"    パス指定有りã§ã®èµ·å‹•ã®éš›ã«ã¯ã€ä»–ã®ãƒªãƒã‚¸ãƒˆãƒªãªã„ã—ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®\n"
-"    状態を表示ã—ã¾ã™ã€‚\n"
-"\n"
 "    本コマンドã®å‡ºåŠ›ã™ã‚‹è¦ç´„情報ã¯ã€1ã¤ãªã„ã—2ã¤ã®è¦ªãƒªãƒ“ジョンã®ãƒãƒƒã‚·ãƒ¥\n"
 "    値を使用ã—ã¦ã€ä½œæ¥­é ˜åŸŸã®çŠ¶æ…‹ã‚’識別ã—ã¾ã™ã€‚作業領域ã«æœªã‚³ãƒŸãƒƒãƒˆã®\n"
 "    変更ãŒã‚ã‚‹å ´åˆã¯ \"+\"ã€å½“該リビジョンã«ã‚¿ã‚°ãŒä»˜ã„ã¦ã„ã‚‹å ´åˆã¯ã‚¿ã‚°ã®\n"
@@ -6605,70 +6872,75 @@
 "    続ãã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"import an ordered set of patches\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr "パッãƒã®é †æ¬¡å–ã‚Šè¾¼ã¿"
+
+msgid ""
 "    Import a list of patches and commit them individually (unless\n"
-"    --no-commit is specified).\n"
-"\n"
+"    --no-commit is specified)."
+msgstr ""
+"    列挙ã•ã‚ŒãŸãƒ‘ッãƒã®å–ã‚Šè¾¼ã¿ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆã‚’\n"
+"    (--no-commit 指定ãŒç„¡ã„é™ã‚Š)個別ã«è¡Œã„ã¾ã™ã€‚"
+
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+"    作業領域ã«æœªã‚³ãƒŸãƒƒãƒˆã®å¤‰æ›´ãŒã‚ã‚‹å ´åˆã€-f/--force ãŒæŒ‡å®šã•ã‚Œãªã„é™ã‚Š\n"
+"    å–ã‚Šè¾¼ã¿ã¯å®Ÿæ–½ã•ã‚Œã¾ã›ã‚“。"
+
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
-"    If the imported patch was generated by hg export, user and\n"
-"    description from patch override values from message headers and\n"
-"    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
-"    If --exact is specified, import will set the working directory to\n"
-"    the parent of each patch before applying it, and will abort if the\n"
-"    resulting changeset has a different ID than the one recorded in\n"
-"    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
-"    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
-"    To read a patch from standard input, use \"-\" as the patch name. If\n"
-"    a URL is specified, the patch will be downloaded from it.\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"パッãƒã®é †æ¬¡å–ã‚Šè¾¼ã¿\n"
-"\n"
-"    列挙ã•ã‚ŒãŸãƒ‘ッãƒã®å–ã‚Šè¾¼ã¿ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆã‚’\n"
-"    (--no-commit 指定ãŒç„¡ã„é™ã‚Š)個別ã«è¡Œã„ã¾ã™ã€‚\n"
-"\n"
-"    作業領域ã«æœªã‚³ãƒŸãƒƒãƒˆã®å¤‰æ›´ãŒã‚ã‚‹å ´åˆã€-f/--force ãŒæŒ‡å®šã•ã‚Œãªã„é™ã‚Š\n"
-"    å–ã‚Šè¾¼ã¿ã¯å®Ÿæ–½ã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
+"    message."
+msgstr ""
 "    é›»å­ãƒ¡ãƒ¼ãƒ«ã‹ã‚‰ç›´æŽ¥ãƒ‘ッãƒã‚’å–り込むã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚添付ファイル\n"
 "    å½¢å¼ã®ãƒ‘ッãƒã§ã‚ã£ã¦ã‚‚å–ã‚Šè¾¼ã¿å¯èƒ½ã§ã™(但ã—ã€text/plain ãªã„ã— \n"
 "    text/x-patch åž‹ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“)。作æˆè€…ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ãŒç„¡ã„\n"
 "    å ´åˆã€é›»å­ãƒ¡ãƒ¼ãƒ«ã® From ãŠã‚ˆã³ Subject ヘッダ値ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
 "    最åˆã®ãƒ‘ッãƒãƒ‡ãƒ¼ã‚¿ã«å…ˆç«‹ã¤ text/plain ボディã¯ã€ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã«è¿½è¨˜\n"
-"    ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    If the imported patch was generated by hg export, user and\n"
+"    description from patch override values from message headers and\n"
+"    body. Values given on command line with -m/--message and -u/--user\n"
+"    override these."
+msgstr ""
 "    'hg export' ã«ã‚ˆã‚Šç”Ÿæˆã•ã‚ŒãŸãƒ‘ッãƒã‚’å–り込む場åˆã€é›»å­ãƒ¡ãƒ¼ãƒ«ã®\n"
 "    ヘッダやボディã®æƒ…報よりもã€ãƒ‘ッãƒã«å«ã¾ã‚Œã‚‹æƒ…å ±ã®æ–¹ãŒå„ªå…ˆã—ã¾ã™ã€‚\n"
 "    コマンドラインã§ã® -m/--message ãªã„ã— -u/--user 指定ã¯ã“れらよりも\n"
-"    優先ã—ã¾ã™ã€‚\n"
-"\n"
+"    優先ã—ã¾ã™ã€‚"
+
+msgid ""
+"    If --exact is specified, import will set the working directory to\n"
+"    the parent of each patch before applying it, and will abort if the\n"
+"    resulting changeset has a different ID than the one recorded in\n"
+"    the patch. This may happen due to character set problems or other\n"
+"    deficiencies in the text patch format."
+msgstr ""
 "    --exact ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ä½œæ¥­é ˜åŸŸã‚’パッãƒã®è¦ªãƒªãƒ“ジョンã«æ›´æ–°ã—ã¦\n"
 "    ã‹ã‚‰ãƒ‘ッãƒã‚’é©ç”¨ã—ã¾ã™ãŒã€ä½œæˆã•ã‚ŒãŸãƒªãƒ“ジョンã®ãƒãƒƒã‚·ãƒ¥å€¤ãŒã€ãƒ‘ッãƒ\n"
 "    ã«è¨˜éŒ²ã•ã‚ŒãŸå€¤ã¨ç•°ãªã‚‹å ´åˆã€å–ã‚Šè¾¼ã¿ã¯å®Ÿæ–½ã•ã‚Œã¾ã›ã‚“。ã“ã®ç¾è±¡ã¯ã€\n"
 "    利用ã™ã‚‹æ–‡å­—符å·åŒ–ã®å•é¡Œã‚„ã€ãƒ‘ッãƒã®ãƒ†ã‚­ã‚¹ãƒˆéƒ¨åˆ†ã®ä¸è¶³ãªã©ãŒåŽŸå› ã§\n"
-"    発生ã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚\n"
-"\n"
+"    発生ã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚"
+
+msgid ""
+"    With -s/--similarity, hg will attempt to discover renames and\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
 "    -s/--similarity ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€'hg addremove' ã¨åŒæ§˜ãªæ–¹é‡ã§ã€\n"
-"    パッãƒã«ã‚ˆã‚‹å¤‰æ›´çµæžœã‹ã‚‰ã€æ”¹åや複製を検出ã—ã¾ã™ã€‚\n"
-"\n"
+"    パッãƒã«ã‚ˆã‚‹å¤‰æ›´çµæžœã‹ã‚‰ã€æ”¹åや複製を検出ã—ã¾ã™ã€‚"
+
+msgid ""
+"    To read a patch from standard input, use \"-\" as the patch name. If\n"
+"    a URL is specified, the patch will be downloaded from it.\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
 "    標準入力ã‹ã‚‰ãƒ‘ッãƒã‚’å–り込むã«ã¯ã€ãƒ‘ッãƒåã« \"-\" を指定ã—ã¾ã™ã€‚\n"
 "    URL ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãƒ‘ッãƒã‚’当該 URL ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã—ã¾ã™ã€‚\n"
 "    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
@@ -6693,114 +6965,274 @@
 msgid "no diffs found"
 msgstr "差分ãŒã‚ã‚Šã¾ã›ã‚“"
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr "指定リãƒã‚¸ãƒˆãƒªä¸­ã®æœªå–ã‚Šè¾¼ã¿ãƒªãƒ“ジョンã®æ¤œç´¢"
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
-"    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
-"    See pull for valid source format details.\n"
-"    "
-msgstr ""
-"指定リãƒã‚¸ãƒˆãƒªä¸­ã®æœªå–ã‚Šè¾¼ã¿ãƒªãƒ“ジョンã®æ¤œç´¢\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
 "    ファイルパスや URLã€'hg pull' ã® default å–ã‚Šè¾¼ã¿å¯¾è±¡ã«ã‚ˆã‚ŠæŒ‡å®š\n"
 "    ã•ã‚Œã‚‹ãƒªãƒã‚¸ãƒˆãƒªä¸­ã®ã€æœªå–ã‚Šè¾¼ã¿ãƒªãƒ“ジョンを検索ã—ã¾ã™ã€‚\n"
-"    ã“れらã¯ã€'hg pull' を実行ã—ãŸéš›ã®å–ã‚Šè¾¼ã¿å¯¾è±¡ãƒªãƒ“ジョンã§ã™ã€‚\n"
-"\n"
+"    ã“れらã¯ã€'hg pull' を実行ã—ãŸéš›ã®å–ã‚Šè¾¼ã¿å¯¾è±¡ãƒªãƒ“ジョンã§ã™ã€‚"
+
+msgid ""
+"    For remote repository, using --bundle avoids downloading the\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
 "    é éš”ホストã®ãƒªãƒã‚¸ãƒˆãƒªã®å ´åˆã€--bundle を使用ã™ã‚‹ã“ã¨ã§ã€æœ¬ã‚³ãƒžãƒ³ãƒ‰\n"
-"    実行後㮠'hg pull' 実施ã®éš›ã«ã€å†åº¦ã®ãƒªãƒ“ジョン検索を抑止ã§ãã¾ã™ã€‚\n"
-"\n"
+"    実行後㮠'hg pull' 実施ã®éš›ã«ã€å†åº¦ã®ãƒªãƒ“ジョン検索を抑止ã§ãã¾ã™ã€‚"
+
+msgid ""
+"    See pull for valid source format details.\n"
+"    "
+msgstr ""
 "    対象リãƒã‚¸ãƒˆãƒªã®æŒ‡å®šå½¢å¼ã¯ 'hg help pull' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr "指定ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã®æ–°è¦ãƒªãƒã‚¸ãƒˆãƒªã®ä½œæˆ"
+
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+"    指定ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æ–°è¦ãƒªãƒã‚¸ãƒˆãƒªã‚’作æˆã—ã¾ã™ã€‚指定ã•ã‚ŒãŸ\n"
+"    ディレクトリãŒå­˜åœ¨ã—ãªã„å ´åˆã«ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã—ã¾ã™ã€‚"
+
+msgid "    If no directory is given, the current directory is used."
+msgstr "    ディレクトリãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒåˆæœŸåŒ–ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"指定ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã®æ–°è¦ãƒªãƒã‚¸ãƒˆãƒªã®ä½œæˆ\n"
-"\n"
-"    指定ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æ–°è¦ãƒªãƒã‚¸ãƒˆãƒªã‚’作æˆã—ã¾ã™ã€‚指定ã•ã‚ŒãŸ\n"
-"    ディレクトリãŒå­˜åœ¨ã—ãªã„å ´åˆã«ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã—ã¾ã™ã€‚\n"
-"\n"
-"    ディレクトリãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒåˆæœŸåŒ–ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
 "    複製先ã¨ã—㦠``ssh://`` URL å½¢å¼ã‚’指定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚\n"
 "    詳細ã«é–¢ã—ã¦ã¯ã€'hg help urls' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr "指定ã•ã‚ŒãŸãƒ‘ターンã«åˆè‡´ã™ã‚‹åå‰ã‚’æŒã¤ãƒ•ã‚¡ã‚¤ãƒ«ã®ç‰¹å®š"
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+"    構æˆç®¡ç†å¯¾è±¡ã¨ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸­ã‹ã‚‰ã€æŒ‡å®šã•ã‚ŒãŸãƒ‘ターンã«åˆè‡´ã™ã‚‹\n"
+"    åå‰ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’特定ã—ã¾ã™ã€‚"
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯æ§‹æˆç®¡ç†å¯¾è±¡ã¨ãªã‚‹ä½œæ¥­é ˜åŸŸä¸­ã®\n"
+"    全ディレクトリを検索対象ã¨ã—ã¾ã™ã€‚ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãã®é…下ã®ã¿ã‚’検索\n"
+"    対象ã¨ã™ã‚‹å ´åˆã¯ \"--include .\" を指定ã—ã¾ã™ã€‚"
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+"    パターン指定ãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯æ§‹æˆç®¡ç†å¯¾è±¡ä¸‹ã«ã‚る作業領域中ã®\n"
+"    å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«åを表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
 "    contain whitespace as multiple filenames.\n"
 "    "
 msgstr ""
-"指定ã•ã‚ŒãŸãƒ‘ターンã«åˆè‡´ã™ã‚‹åå‰ã‚’æŒã¤ãƒ•ã‚¡ã‚¤ãƒ«ã®ç‰¹å®š\n"
-"\n"
-"    構æˆç®¡ç†å¯¾è±¡ã¨ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸­ã‹ã‚‰ã€æŒ‡å®šã•ã‚ŒãŸãƒ‘ターンã«åˆè‡´ã™ã‚‹\n"
-"    åå‰ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’特定ã—ã¾ã™ã€‚\n"
-"\n"
-"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯æ§‹æˆç®¡ç†å¯¾è±¡ã¨ãªã‚‹ä½œæ¥­é ˜åŸŸä¸­ã®\n"
-"    全ディレクトリを検索対象ã¨ã—ã¾ã™ã€‚ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãã®é…下ã®ã¿ã‚’検索\n"
-"    対象ã¨ã™ã‚‹å ´åˆã¯ \"--include .\" を指定ã—ã¾ã™ã€‚\n"
-"\n"
-"    パターン指定ãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯æ§‹æˆç®¡ç†å¯¾è±¡ä¸‹ã«ã‚る作業領域中ã®\n"
-"    å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«åを表示ã—ã¾ã™ã€‚\n"
-"\n"
 "    本コマンドã®å‡ºåŠ›ã‚’ \"xargs\" コマンドã¸ã¨æ¸¡ã™å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¨\n"
 "    \"xargs\" コマンドã®ä¸¡æ–¹ã« \"-0\" を指定ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚\n"
 "    空白文字をå«ã‚€å˜ä¸€ã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚’ã€\"xargs\" ãŒè¤‡æ•°ã®ãƒ•ã‚¡ã‚¤ãƒ«åã«è§£é‡ˆ\n"
 "    ã—ã¦ã—ã¾ã†å•é¡Œã¯ã€ã“ã®ã‚ªãƒ—ションã«ã‚ˆã‚Šè§£æ¶ˆã•ã‚Œã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"show revision history of entire repository or files\n"
+#, fuzzy
+msgid "show revision history of entire repository or files"
+msgstr ""
+"リãƒã‚¸ãƒˆãƒªå…¨ä½“ãªã„ã—ファイルã®å¤‰æ›´å±¥æ­´ã®è¡¨ç¤º\n"
+"\n"
+"    特定ã®ãƒ•ã‚¡ã‚¤ãƒ«ãªã„ã—リãƒã‚¸ãƒˆãƒªå…¨ä½“ã®å¤‰æ›´å±¥æ­´ã‚’表示ã—ã¾ã™ã€‚\n"
+"\n"
+"    ファイルã®å±¥æ­´è¡¨ç¤ºã§ã¯ã€æ”¹åï¼è¤‡è£½æ™‚ã®å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã«ã¾ã§ã•ã‹ã®ã¼ã£ãŸ\n"
+"    履歴ã¯è¡¨ç¤ºã—ã¾ã›ã‚“。元ファイルã®å±¥æ­´ã‚’ã•ã‹ã®ã¼ã‚‹å ´åˆã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åã¨ä¸€ç·’ã« -f/--follow を使用ã—ã¾ã™ã€‚--follow 指定ã®éš›ã«ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã¯ã€é–‹å§‹ãƒªãƒ“ジョンã«é€£ãªã‚‹ãƒªãƒ“ジョンã®ã¿ã‚’表示\n"
+"    ã—ã¾ã™ã€‚--follow-first 指定ã¯ã€ãƒžãƒ¼ã‚¸ãƒªãƒ“ジョンã«ãŠã„ã¦ç¬¬1親ã®å±¥æ­´\n"
+"    ã®ã¿ã‚’ã•ã‹ã®ã¼ã‚Šã¾ã™ã€‚\n"
+"\n"
+"    特ã«æŒ‡å®šã•ã‚Œãªã„å ´åˆã€å¯¾è±¡ã¨ãªã‚‹ãƒªãƒ“ジョンã®ç¯„囲ã¯tip:0 ã¨ã¿ãªã•ã‚Œ\n"
+"    ã¾ã™ãŒã€--follow ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒé–‹å§‹\n"
+"    リビジョンã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
+"\n"
+"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
+"\n"
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯ä»¥ä¸‹ã®æƒ…報を出力ã—ã¾ã™:\n"
+"\n"
+"        リビジョン番å·ã€ãƒãƒƒã‚·ãƒ¥å€¤ã€ã‚¿ã‚°ã€(リビジョン番å·ã®é›¢ã‚ŒãŸ)\n"
+"        親リビジョンã€ä½œæˆè€…ã€ä½œæˆæ—¥æ™‚ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã®1行目\n"
+"\n"
+"    -v/--verbose ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€å¤‰æ›´å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã¨ã€ã‚³ãƒŸãƒƒãƒˆ\n"
+"    ログã®å…¨æ–‡ã‚‚表示ã•ã‚Œã¾ã™ã€‚\n"
 "\n"
+"    備考: マージ実施リビジョンã«å¯¾ã™ã‚‹ -p/--patch ãŒäºˆæœŸã›ã¬å‡ºåŠ›ã‚’生æˆ\n"
+"    ã™ã‚‹ã®ã¯ã€å¸¸ã«ç¬¬1親ã¨ã®å·®åˆ†ã‚’表示ã™ã‚‹ãŸã‚ã§ã™ã€‚ファイル一覧ãŒäºˆæœŸ\n"
+"    ã›ã¬å†…容ã¨ãªã‚‹ã®ã¯ã€ä¸¡æ–¹ã®è¦ªã¨ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒåˆ—挙ã•ã‚Œã‚‹ãŸã‚ã§ã™ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
+"    project."
+msgstr ""
+"リãƒã‚¸ãƒˆãƒªå…¨ä½“ãªã„ã—ファイルã®å¤‰æ›´å±¥æ­´ã®è¡¨ç¤º\n"
+"\n"
+"    特定ã®ãƒ•ã‚¡ã‚¤ãƒ«ãªã„ã—リãƒã‚¸ãƒˆãƒªå…¨ä½“ã®å¤‰æ›´å±¥æ­´ã‚’表示ã—ã¾ã™ã€‚\n"
+"\n"
+"    ファイルã®å±¥æ­´è¡¨ç¤ºã§ã¯ã€æ”¹åï¼è¤‡è£½æ™‚ã®å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã«ã¾ã§ã•ã‹ã®ã¼ã£ãŸ\n"
+"    履歴ã¯è¡¨ç¤ºã—ã¾ã›ã‚“。元ファイルã®å±¥æ­´ã‚’ã•ã‹ã®ã¼ã‚‹å ´åˆã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åã¨ä¸€ç·’ã« -f/--follow を使用ã—ã¾ã™ã€‚--follow 指定ã®éš›ã«ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã¯ã€é–‹å§‹ãƒªãƒ“ジョンã«é€£ãªã‚‹ãƒªãƒ“ジョンã®ã¿ã‚’表示\n"
+"    ã—ã¾ã™ã€‚--follow-first 指定ã¯ã€ãƒžãƒ¼ã‚¸ãƒªãƒ“ジョンã«ãŠã„ã¦ç¬¬1親ã®å±¥æ­´\n"
+"    ã®ã¿ã‚’ã•ã‹ã®ã¼ã‚Šã¾ã™ã€‚\n"
+"\n"
+"    特ã«æŒ‡å®šã•ã‚Œãªã„å ´åˆã€å¯¾è±¡ã¨ãªã‚‹ãƒªãƒ“ジョンã®ç¯„囲ã¯tip:0 ã¨ã¿ãªã•ã‚Œ\n"
+"    ã¾ã™ãŒã€--follow ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒé–‹å§‹\n"
+"    リビジョンã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
 "\n"
+"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
+"\n"
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯ä»¥ä¸‹ã®æƒ…報を出力ã—ã¾ã™:\n"
+"\n"
+"        リビジョン番å·ã€ãƒãƒƒã‚·ãƒ¥å€¤ã€ã‚¿ã‚°ã€(リビジョン番å·ã®é›¢ã‚ŒãŸ)\n"
+"        親リビジョンã€ä½œæˆè€…ã€ä½œæˆæ—¥æ™‚ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã®1行目\n"
+"\n"
+"    -v/--verbose ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€å¤‰æ›´å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã¨ã€ã‚³ãƒŸãƒƒãƒˆ\n"
+"    ログã®å…¨æ–‡ã‚‚表示ã•ã‚Œã¾ã™ã€‚\n"
+"\n"
+"    備考: マージ実施リビジョンã«å¯¾ã™ã‚‹ -p/--patch ãŒäºˆæœŸã›ã¬å‡ºåŠ›ã‚’生æˆ\n"
+"    ã™ã‚‹ã®ã¯ã€å¸¸ã«ç¬¬1親ã¨ã®å·®åˆ†ã‚’表示ã™ã‚‹ãŸã‚ã§ã™ã€‚ファイル一覧ãŒäºˆæœŸ\n"
+"    ã›ã¬å†…容ã¨ãªã‚‹ã®ã¯ã€ä¸¡æ–¹ã®è¦ªã¨ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒåˆ—挙ã•ã‚Œã‚‹ãŸã‚ã§ã™ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
+"リãƒã‚¸ãƒˆãƒªå…¨ä½“ãªã„ã—ファイルã®å¤‰æ›´å±¥æ­´ã®è¡¨ç¤º\n"
+"\n"
+"    特定ã®ãƒ•ã‚¡ã‚¤ãƒ«ãªã„ã—リãƒã‚¸ãƒˆãƒªå…¨ä½“ã®å¤‰æ›´å±¥æ­´ã‚’表示ã—ã¾ã™ã€‚\n"
+"\n"
+"    ファイルã®å±¥æ­´è¡¨ç¤ºã§ã¯ã€æ”¹åï¼è¤‡è£½æ™‚ã®å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã«ã¾ã§ã•ã‹ã®ã¼ã£ãŸ\n"
+"    履歴ã¯è¡¨ç¤ºã—ã¾ã›ã‚“。元ファイルã®å±¥æ­´ã‚’ã•ã‹ã®ã¼ã‚‹å ´åˆã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åã¨ä¸€ç·’ã« -f/--follow を使用ã—ã¾ã™ã€‚--follow 指定ã®éš›ã«ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã¯ã€é–‹å§‹ãƒªãƒ“ジョンã«é€£ãªã‚‹ãƒªãƒ“ジョンã®ã¿ã‚’表示\n"
+"    ã—ã¾ã™ã€‚--follow-first 指定ã¯ã€ãƒžãƒ¼ã‚¸ãƒªãƒ“ジョンã«ãŠã„ã¦ç¬¬1親ã®å±¥æ­´\n"
+"    ã®ã¿ã‚’ã•ã‹ã®ã¼ã‚Šã¾ã™ã€‚\n"
+"\n"
+"    特ã«æŒ‡å®šã•ã‚Œãªã„å ´åˆã€å¯¾è±¡ã¨ãªã‚‹ãƒªãƒ“ジョンã®ç¯„囲ã¯tip:0 ã¨ã¿ãªã•ã‚Œ\n"
+"    ã¾ã™ãŒã€--follow ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒé–‹å§‹\n"
+"    リビジョンã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
 "\n"
+"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
+"\n"
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯ä»¥ä¸‹ã®æƒ…報を出力ã—ã¾ã™:\n"
+"\n"
+"        リビジョン番å·ã€ãƒãƒƒã‚·ãƒ¥å€¤ã€ã‚¿ã‚°ã€(リビジョン番å·ã®é›¢ã‚ŒãŸ)\n"
+"        親リビジョンã€ä½œæˆè€…ã€ä½œæˆæ—¥æ™‚ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã®1行目\n"
+"\n"
+"    -v/--verbose ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€å¤‰æ›´å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã¨ã€ã‚³ãƒŸãƒƒãƒˆ\n"
+"    ログã®å…¨æ–‡ã‚‚表示ã•ã‚Œã¾ã™ã€‚\n"
+"\n"
+"    備考: マージ実施リビジョンã«å¯¾ã™ã‚‹ -p/--patch ãŒäºˆæœŸã›ã¬å‡ºåŠ›ã‚’生æˆ\n"
+"    ã™ã‚‹ã®ã¯ã€å¸¸ã«ç¬¬1親ã¨ã®å·®åˆ†ã‚’表示ã™ã‚‹ãŸã‚ã§ã™ã€‚ファイル一覧ãŒäºˆæœŸ\n"
+"    ã›ã¬å†…容ã¨ãªã‚‹ã®ã¯ã€ä¸¡æ–¹ã®è¦ªã¨ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒåˆ—挙ã•ã‚Œã‚‹ãŸã‚ã§ã™ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If no revision range is specified, the default is tip:0 unless\n"
 "    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
+"    used as the starting revision."
+msgstr ""
+"リãƒã‚¸ãƒˆãƒªå…¨ä½“ãªã„ã—ファイルã®å¤‰æ›´å±¥æ­´ã®è¡¨ç¤º\n"
+"\n"
+"    特定ã®ãƒ•ã‚¡ã‚¤ãƒ«ãªã„ã—リãƒã‚¸ãƒˆãƒªå…¨ä½“ã®å¤‰æ›´å±¥æ­´ã‚’表示ã—ã¾ã™ã€‚\n"
+"\n"
+"    ファイルã®å±¥æ­´è¡¨ç¤ºã§ã¯ã€æ”¹åï¼è¤‡è£½æ™‚ã®å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã«ã¾ã§ã•ã‹ã®ã¼ã£ãŸ\n"
+"    履歴ã¯è¡¨ç¤ºã—ã¾ã›ã‚“。元ファイルã®å±¥æ­´ã‚’ã•ã‹ã®ã¼ã‚‹å ´åˆã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åã¨ä¸€ç·’ã« -f/--follow を使用ã—ã¾ã™ã€‚--follow 指定ã®éš›ã«ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã¯ã€é–‹å§‹ãƒªãƒ“ジョンã«é€£ãªã‚‹ãƒªãƒ“ジョンã®ã¿ã‚’表示\n"
+"    ã—ã¾ã™ã€‚--follow-first 指定ã¯ã€ãƒžãƒ¼ã‚¸ãƒªãƒ“ジョンã«ãŠã„ã¦ç¬¬1親ã®å±¥æ­´\n"
+"    ã®ã¿ã‚’ã•ã‹ã®ã¼ã‚Šã¾ã™ã€‚\n"
+"\n"
+"    特ã«æŒ‡å®šã•ã‚Œãªã„å ´åˆã€å¯¾è±¡ã¨ãªã‚‹ãƒªãƒ“ジョンã®ç¯„囲ã¯tip:0 ã¨ã¿ãªã•ã‚Œ\n"
+"    ã¾ã™ãŒã€--follow ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒé–‹å§‹\n"
+"    リビジョンã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
 "\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
+"\n"
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯ä»¥ä¸‹ã®æƒ…報を出力ã—ã¾ã™:\n"
+"\n"
+"        リビジョン番å·ã€ãƒãƒƒã‚·ãƒ¥å€¤ã€ã‚¿ã‚°ã€(リビジョン番å·ã®é›¢ã‚ŒãŸ)\n"
+"        親リビジョンã€ä½œæˆè€…ã€ä½œæˆæ—¥æ™‚ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã®1行目\n"
 "\n"
+"    -v/--verbose ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€å¤‰æ›´å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã¨ã€ã‚³ãƒŸãƒƒãƒˆ\n"
+"    ログã®å…¨æ–‡ã‚‚表示ã•ã‚Œã¾ã™ã€‚\n"
+"\n"
+"    備考: マージ実施リビジョンã«å¯¾ã™ã‚‹ -p/--patch ãŒäºˆæœŸã›ã¬å‡ºåŠ›ã‚’生æˆ\n"
+"    ã™ã‚‹ã®ã¯ã€å¸¸ã«ç¬¬1親ã¨ã®å·®åˆ†ã‚’表示ã™ã‚‹ãŸã‚ã§ã™ã€‚ファイル一覧ãŒäºˆæœŸ\n"
+"    ã›ã¬å†…容ã¨ãªã‚‹ã®ã¯ã€ä¸¡æ–¹ã®è¦ªã¨ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒåˆ—挙ã•ã‚Œã‚‹ãŸã‚ã§ã™ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    By default this command prints revision number and changeset id,\n"
 "    tags, non-trivial parents, user, date and time, and a summary for\n"
 "    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
+"    changed files and full commit message are shown."
+msgstr ""
+"リãƒã‚¸ãƒˆãƒªå…¨ä½“ãªã„ã—ファイルã®å¤‰æ›´å±¥æ­´ã®è¡¨ç¤º\n"
+"\n"
+"    特定ã®ãƒ•ã‚¡ã‚¤ãƒ«ãªã„ã—リãƒã‚¸ãƒˆãƒªå…¨ä½“ã®å¤‰æ›´å±¥æ­´ã‚’表示ã—ã¾ã™ã€‚\n"
+"\n"
+"    ファイルã®å±¥æ­´è¡¨ç¤ºã§ã¯ã€æ”¹åï¼è¤‡è£½æ™‚ã®å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã«ã¾ã§ã•ã‹ã®ã¼ã£ãŸ\n"
+"    履歴ã¯è¡¨ç¤ºã—ã¾ã›ã‚“。元ファイルã®å±¥æ­´ã‚’ã•ã‹ã®ã¼ã‚‹å ´åˆã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åã¨ä¸€ç·’ã« -f/--follow を使用ã—ã¾ã™ã€‚--follow 指定ã®éš›ã«ãƒ•ã‚¡ã‚¤ãƒ«\n"
+"    åãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã¯ã€é–‹å§‹ãƒªãƒ“ジョンã«é€£ãªã‚‹ãƒªãƒ“ジョンã®ã¿ã‚’表示\n"
+"    ã—ã¾ã™ã€‚--follow-first 指定ã¯ã€ãƒžãƒ¼ã‚¸ãƒªãƒ“ジョンã«ãŠã„ã¦ç¬¬1親ã®å±¥æ­´\n"
+"    ã®ã¿ã‚’ã•ã‹ã®ã¼ã‚Šã¾ã™ã€‚\n"
+"\n"
+"    特ã«æŒ‡å®šã•ã‚Œãªã„å ´åˆã€å¯¾è±¡ã¨ãªã‚‹ãƒªãƒ“ジョンã®ç¯„囲ã¯tip:0 ã¨ã¿ãªã•ã‚Œ\n"
+"    ã¾ã™ãŒã€--follow ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒé–‹å§‹\n"
+"    リビジョンã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
 "\n"
+"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
+"\n"
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€æœ¬ã‚³ãƒžãƒ³ãƒ‰ã¯ä»¥ä¸‹ã®æƒ…報を出力ã—ã¾ã™:\n"
+"\n"
+"        リビジョン番å·ã€ãƒãƒƒã‚·ãƒ¥å€¤ã€ã‚¿ã‚°ã€(リビジョン番å·ã®é›¢ã‚ŒãŸ)\n"
+"        親リビジョンã€ä½œæˆè€…ã€ä½œæˆæ—¥æ™‚ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆãƒ­ã‚°ã®1行目\n"
+"\n"
+"    -v/--verbose ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€å¤‰æ›´å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã¨ã€ã‚³ãƒŸãƒƒãƒˆ\n"
+"    ログã®å…¨æ–‡ã‚‚表示ã•ã‚Œã¾ã™ã€‚\n"
+"\n"
+"    備考: マージ実施リビジョンã«å¯¾ã™ã‚‹ -p/--patch ãŒäºˆæœŸã›ã¬å‡ºåŠ›ã‚’生æˆ\n"
+"    ã™ã‚‹ã®ã¯ã€å¸¸ã«ç¬¬1親ã¨ã®å·®åˆ†ã‚’表示ã™ã‚‹ãŸã‚ã§ã™ã€‚ファイル一覧ãŒäºˆæœŸ\n"
+"    ã›ã¬å†…容ã¨ãªã‚‹ã®ã¯ã€ä¸¡æ–¹ã®è¦ªã¨ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒåˆ—挙ã•ã‚Œã‚‹ãŸã‚ã§ã™ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    NOTE: 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"
@@ -6837,56 +7269,57 @@
 "    ã›ã¬å†…容ã¨ãªã‚‹ã®ã¯ã€ä¸¡æ–¹ã®è¦ªã¨ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒåˆ—挙ã•ã‚Œã‚‹ãŸã‚ã§ã™ã€‚\n"
 "    "
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr "ç¾æ™‚点ãªã„ã—指定時点ã§ã®ãƒªãƒã‚¸ãƒˆãƒªãƒžãƒ‹ãƒ•ã‚§ã‚¹ãƒˆã®å‡ºåŠ›"
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+"    指定リビジョンã«ãŠã‘る構æˆç®¡ç†å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚\n"
+"    リビジョン指定ãŒç„¡ã„å ´åˆã€ä½œæ¥­é ˜åŸŸã®(第1)親リビジョンã‹ã€\n"
+"    作業領域ã®æ›´æ–°å‰ãªã‚‰ null ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
-"ç¾æ™‚点ãªã„ã—指定時点ã§ã®ãƒªãƒã‚¸ãƒˆãƒªãƒžãƒ‹ãƒ•ã‚§ã‚¹ãƒˆã®å‡ºåŠ›\n"
-"\n"
-"    指定リビジョンã«ãŠã‘る構æˆç®¡ç†å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚\n"
-"    リビジョン指定ãŒç„¡ã„å ´åˆã€ä½œæ¥­é ˜åŸŸã®(第1)親リビジョンã‹ã€\n"
-"    作業領域ã®æ›´æ–°å‰ãªã‚‰ null ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
 "    -v ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚¢ã‚¯ã‚»ã‚¹æ¨©ã‚„シンボリックリンクã€\n"
 "    実行å¯èƒ½ãƒ“ットã¨ã„ã£ãŸã‚‚ã®ã‚‚表示ã•ã‚Œã¾ã™ã€‚\n"
 "    --debug ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€å„ファイルã®ãƒªãƒ“ジョンã®ãƒãƒƒã‚·ãƒ¥å€¤ãŒ\n"
 "    表示ã•ã‚Œã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr "作業領域ã®å†…容ã¨ä»–ã®ãƒªãƒ“ジョンã®ãƒžãƒ¼ã‚¸"
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+"    ç¾æ™‚点ã§ã®ä½œæ¥­é ˜åŸŸã®å†…容をã€æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョンã¸ã¨è‡³ã‚‹ã¾ã§ã®\n"
+"    共通ã®è¦ªãƒªãƒ“ジョンã‹ã‚‰ã®å¤‰æ›´å†…容ã¨ãƒžãƒ¼ã‚¸ã—ã¾ã™ã€‚"
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+"    両方ã®è¦ªãƒªãƒ“ジョンã«å¯¾ã—ã¦å·®åˆ†ã®ã‚るファイルã¯ã€æ¬¡å›žã‚³ãƒŸãƒƒãƒˆã®éš›ã«ã¯\n"
+"    変更ã•ã‚ŒãŸã‚‚ã®ã¨ã—ã¦è¨˜éŒ²ã•ã‚Œã¾ã™ã®ã§ã€å¿…è¦ä»¥ä¸Šã®å¤‰æ›´ãŒå®Ÿæ–½ã•ã‚Œã‚‹å‰ã«\n"
+"    コミットを実施ã—ã¦ãã ã•ã„。ã“ã®ã‚³ãƒŸãƒƒãƒˆæ™‚ã«ç”Ÿæˆã•ã‚Œã‚‹ãƒªãƒ“ジョンã¯ã€\n"
+"    親リビジョンを2ã¤æŒã¤ãƒªãƒ“ジョンã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
 "    explicit revision with which to merge with must be provided.\n"
 "    "
 msgstr ""
-"作業領域ã®å†…容ã¨ä»–ã®ãƒªãƒ“ジョンã®ãƒžãƒ¼ã‚¸\n"
-"\n"
-"    ç¾æ™‚点ã§ã®ä½œæ¥­é ˜åŸŸã®å†…容をã€æŒ‡å®šã•ã‚ŒãŸãƒªãƒ“ジョンã¸ã¨è‡³ã‚‹ã¾ã§ã®\n"
-"    共通ã®è¦ªãƒªãƒ“ジョンã‹ã‚‰ã®å¤‰æ›´å†…容ã¨ãƒžãƒ¼ã‚¸ã—ã¾ã™ã€‚\n"
-"\n"
-"    両方ã®è¦ªãƒªãƒ“ジョンã«å¯¾ã—ã¦å·®åˆ†ã®ã‚るファイルã¯ã€æ¬¡å›žã‚³ãƒŸãƒƒãƒˆã®éš›ã«ã¯\n"
-"    変更ã•ã‚ŒãŸã‚‚ã®ã¨ã—ã¦è¨˜éŒ²ã•ã‚Œã¾ã™ã®ã§ã€å¿…è¦ä»¥ä¸Šã®å¤‰æ›´ãŒå®Ÿæ–½ã•ã‚Œã‚‹å‰ã«\n"
-"    コミットを実施ã—ã¦ãã ã•ã„。ã“ã®ã‚³ãƒŸãƒƒãƒˆæ™‚ã«ç”Ÿæˆã•ã‚Œã‚‹ãƒªãƒ“ジョンã¯ã€\n"
-"    親リビジョンを2ã¤æŒã¤ãƒªãƒ“ジョンã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
 "    マージ対象リビジョンã®æŒ‡å®šãŒç„¡ãã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンãŒãƒ˜ãƒƒãƒ‰ã§ã€\n"
 "    且ã¤ç¾è¡Œãƒ–ランãƒãŒã‚‚ã†1ã¤ã ã‘ヘッドをæŒã¤å ´åˆã€ãã®ãƒ˜ãƒƒãƒ‰ãŒãƒžãƒ¼ã‚¸å¯¾è±¡\n"
 "    ã¨ãªã‚Šã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ã€æ˜Žç¤ºçš„ãªãƒªãƒ“ジョン指定ãŒå¿…è¦ã§ã™ã€‚\n"
@@ -6913,35 +7346,34 @@
 msgid "%s - use \"hg update\" instead"
 msgstr "%s - \"hg update\" を使用ã—ã¦ãã ã•ã„"
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
 msgstr ""
 "作業領域ã®è¦ªãƒªãƒ“ジョンã¯ãƒ˜ãƒƒãƒ‰ã§ã¯ã‚ã‚Šã¾ã›ã‚“。\n"
 "リビジョンを明示ã—ã¦ã® \"hg update\" ãªã„ã—マージを実施ã—ã¦ãã ã•ã„。"
 
-msgid ""
-"show changesets not found in the destination\n"
-"\n"
+msgid "show changesets not found in the destination"
+msgstr "連æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã«å«ã¾ã‚Œãªã„ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®è¡¨ç¤º"
+
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
-"    See pull for details of valid destination formats.\n"
-"    "
-msgstr ""
-"連æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã«å«ã¾ã‚Œãªã„ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã®è¡¨ç¤º\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
 "    指定ã•ã‚ŒãŸé€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒª(ãªã„ã—ã€ç„¡æŒ‡å®šæ™‚ã® hg push 先リãƒã‚¸ãƒˆãƒª)ã«\n"
 "    å«ã¾ã‚Œãªã„ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã‚’表示ã—ã¾ã™ã€‚ã“ã“ã§è¡¨ç¤ºã•ã‚Œã‚‹ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã¯\n"
-"    hg push 実施ã®éš›ã«ã€é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã¸ã¨å映ã•ã‚Œã‚‹ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã§ã™ã€‚\n"
-"\n"
+"    hg push 実施ã®éš›ã«ã€é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã¸ã¨å映ã•ã‚Œã‚‹ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã§ã™ã€‚"
+
+msgid ""
+"    See pull for details of valid destination formats.\n"
+"    "
+msgstr ""
 "    指定å¯èƒ½ãªãƒªãƒã‚¸ãƒˆãƒªæŒ‡å®šå½¢å¼ã¯ hg pull ã®ãƒ˜ãƒ«ãƒ—ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr "作業領域(ãªã„ã—指定リビジョン)ã®è¦ªãƒªãƒ“ジョンã®è¡¨ç¤º"
+
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -6949,8 +7381,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"作業領域(ãªã„ã—指定リビジョン)ã®è¦ªãƒªãƒ“ジョンã®è¡¨ç¤º\n"
-"\n"
 "    作業領域ã®è¦ªãƒªãƒ“ジョンを表示ã—ã¾ã™ã€‚-r/--rev ã§ã®ãƒªãƒ“ジョン指定ãŒ\n"
 "    ã‚ã‚‹å ´åˆã€æŒ‡å®šãƒªãƒ“ジョンã®è¦ªãƒªãƒ“ジョンを表示ã—ã¾ã™ã€‚ファイルãŒæŒ‡å®š\n"
 "    ã•ã‚ŒãŸå ´åˆã€(作業領域ã®è¦ªãƒªãƒ“ジョンã€ãªã„ã— --rev 指定ã®ãƒªãƒ“ジョン\n"
@@ -6964,27 +7394,28 @@
 msgid "'%s' not found in manifest!"
 msgstr "'%s' ã¯ç®¡ç†å¯¾è±¡ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr "連æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã®åˆ¥å一覧ã®è¡¨ç¤º"
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+"    指定ã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«åã«ç›¸å½“ã™ã‚‹é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã‚’表示ã—ã¾ã™ã€‚\n"
+"    シンボルåãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€å…¨ã¦ã®åˆ¥å定義ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"連æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã®åˆ¥å一覧ã®è¡¨ç¤º\n"
-"\n"
-"    指定ã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«åã«ç›¸å½“ã™ã‚‹é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã‚’表示ã—ã¾ã™ã€‚\n"
-"    シンボルåãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€å…¨ã¦ã®åˆ¥å定義ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
 "    シンボル定義ã¯ã€/etc/mercurial/hgrc ãŠã‚ˆã³ $HOME/.hgrc 等㮠[paths]\n"
 "    セクションã«è¨˜è¿°ã•ã‚Œã¾ã™ã€‚作業領域ã§ã®å®Ÿè¡Œã®å ´åˆã¯ .hg/hgrc ã«ã‚‚記述\n"
-"    å¯èƒ½ã§ã™ã€‚\n"
-"\n"
+"    å¯èƒ½ã§ã™ã€‚"
+
+msgid ""
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    詳細㯠'hg help urls' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
@@ -7000,80 +7431,81 @@
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(作業領域ã®æ›´æ–°ã¯ 'hg update')\n"
 
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+msgid "pull changes from the specified source"
+msgstr "指定リãƒã‚¸ãƒˆãƒªã‹ã‚‰ã®å¤‰æ›´å±¥æ­´ã®å–ã‚Šè¾¼ã¿"
+
+msgid "    Pull changes from a remote repository to a local one."
+msgstr "    連æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã‹ã‚‰æ‰‹å…ƒã®ãƒªãƒã‚¸ãƒˆãƒªã«å¤‰æ›´å±¥æ­´ã‚’å–ã‚Šè¾¼ã¿ã¾ã™ã€‚"
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
+"    パスや URL ã§æŒ‡å®šã•ã‚Œã‚‹é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªä¸­ã®ã€å…¨ã¦ã®ãƒªãƒ“ジョンãŒ\n"
+"    (-R 指定ãŒç„¡ã„å ´åˆã¯ç¾åœ¨ã®)リãƒã‚¸ãƒˆãƒªã¸ã®å–ã‚Šè¾¼ã¿å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
+"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¦ã‚‚ã€ä½œæ¥­é ˜åŸŸã®å†…容ã¯æ›´æ–°\n"
+"    ã•ã‚Œã¾ã›ã‚“。"
+
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
-"    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"指定リãƒã‚¸ãƒˆãƒªã‹ã‚‰ã®å¤‰æ›´å±¥æ­´ã®å–ã‚Šè¾¼ã¿\n"
-"\n"
-"    連æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã‹ã‚‰æ‰‹å…ƒã®ãƒªãƒã‚¸ãƒˆãƒªã«å¤‰æ›´å±¥æ­´ã‚’å–ã‚Šè¾¼ã¿ã¾ã™ã€‚\n"
-"\n"
-"    パスや URL ã§æŒ‡å®šã•ã‚Œã‚‹é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªä¸­ã®ã€å…¨ã¦ã®ãƒªãƒ“ジョンãŒ\n"
-"    (-R 指定ãŒç„¡ã„å ´åˆã¯ç¾åœ¨ã®)リãƒã‚¸ãƒˆãƒªã¸ã®å–ã‚Šè¾¼ã¿å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
-"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¦ã‚‚ã€ä½œæ¥­é ˜åŸŸã®å†…容ã¯æ›´æ–°\n"
-"    ã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
 "    'hg incoming' を使用ã™ã‚‹ã“ã¨ã§ã€å®Ÿéš›ã®å–ã‚Šè¾¼ã¿ã‚’ã›ãšã«ã€'hg pull' ã«\n"
 "    よるå–ã‚Šè¾¼ã¿å¯¾è±¡ã‚’確èªã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚表示ã•ã‚ŒãŸå†…容ã®å–ã‚Šè¾¼ã¿ã‚’\n"
 "    決断ã—ãŸãªã‚‰ã°ã€å…ˆã«è¡¨ç¤ºã•ã‚ŒãŸæœ€å¾Œã®ãƒªãƒ“ジョンを '-r' ã®å¼•æ•°ã«ã—ã¦\n"
-"    'hg pull' を実行ã—ã¾ã—ょã†ã€‚\n"
-"\n"
+"    'hg pull' を実行ã—ã¾ã—ょã†ã€‚"
+
+msgid ""
+"    If SOURCE is omitted, the 'default' path will be used.\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    連æºå…ˆãŒçœç•¥ã•ã‚ŒãŸå ´åˆã€'default' パスãŒé€£æºå…ˆã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
 "    詳細㯠'hg help urls' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the specified destination.\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr "指定リãƒã‚¸ãƒˆãƒªã¸ã®å¤‰æ›´å±¥æ­´ã®å映"
+
+msgid "    Push changes from the local repository to the specified destination."
+msgstr "    手元ã®ãƒªãƒã‚¸ãƒˆãƒªã‹ã‚‰æŒ‡å®šã®é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã«å¤‰æ›´å±¥æ­´ã‚’å映ã—ã¾ã™ã€‚"
+
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
-"    By default, push will refuse to run if it detects the result would\n"
-"    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
-"    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
-"    Please see 'hg help urls' for important details about ``ssh://``\n"
-"    URLs. If DESTINATION is omitted, a default path will be used.\n"
-"    "
-msgstr ""
-"指定リãƒã‚¸ãƒˆãƒªã¸ã®å¤‰æ›´å±¥æ­´ã®å映\n"
-"\n"
-"    手元ã®ãƒªãƒã‚¸ãƒˆãƒªã‹ã‚‰æŒ‡å®šã®é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã«å¤‰æ›´å±¥æ­´ã‚’å映ã—ã¾ã™ã€‚\n"
-"\n"
+"    current one."
+msgstr ""
 "    ã“れ㯠'hg pull' ã¨å¯¾ç§°çš„ãªæ“作ã§ã™ã€‚ç¾åœ¨ã®ãƒªãƒã‚¸ãƒˆãƒªã‹ã‚‰é€£æºå…ˆã¸ã¨\n"
 "    変更履歴をå映ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚連æºå…ˆãŒåŒä¸€ãƒ›ã‚¹ãƒˆä¸Šã®ãƒªãƒã‚¸ãƒˆãƒª\n"
 "    ã§ã‚ã‚Œã°ã€é€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã«ãŠã„ã¦ã€ç¾ãƒªãƒã‚¸ãƒˆãƒªã«å¯¾ã™ã‚‹ 'hg pull'\n"
-"    ã‚’è¡Œã£ãŸå ´åˆã¨åŒä¸€ã®åŠ¹æžœã‚’æŒã¡ã¾ã™ã€‚\n"
-"\n"
+"    ã‚’è¡Œã£ãŸå ´åˆã¨åŒä¸€ã®åŠ¹æžœã‚’æŒã¡ã¾ã™ã€‚"
+
+msgid ""
+"    By default, push will refuse to run if it detects the result would\n"
+"    increase the number of remote heads. This generally indicates the\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
 "    連æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã«ãƒ˜ãƒƒãƒ‰ãŒå¢—ãˆã‚‹å®Ÿè¡Œã¯ã€é€šå¸¸ã¯æ‹’絶ã•ã‚Œã¾ã™ã€‚\n"
 "    ã“ã®ã‚ˆã†ãªå ´åˆã€å¤§æ¦‚㯠'hg push' å‰ã® 'hg pull' ãŠã‚ˆã³ 'hg merge'\n"
-"    実行を忘れã¦ã„ã‚‹ã“ã¨ãŒæ®†ã©ã§ã™ã€‚\n"
-"\n"
+"    実行を忘れã¦ã„ã‚‹ã“ã¨ãŒæ®†ã©ã§ã™ã€‚"
+
+msgid ""
+"    If -r/--rev is used, the named revision and all its ancestors will\n"
+"    be pushed to the remote repository."
+msgstr ""
 "    -r/--rev ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šã•ã‚ŒãŸã‚‚ã®ã¨ã€ãã®ç¥–å…ˆã¨ãªã‚‹\n"
-"    リビジョンãŒé€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã¸ã¨å映ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    リビジョンãŒé€£æºå…ˆãƒªãƒã‚¸ãƒˆãƒªã¸ã¨å映ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    Please see 'hg help urls' for important details about ``ssh://``\n"
+"    URLs. If DESTINATION is omitted, a default path will be used.\n"
+"    "
+msgstr ""
 "    ``ssh://`` URL å½¢å¼ã®è©³ç´°ã¯ã€'hg help urls' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    連æºå…ˆãŒçœç•¥ã•ã‚ŒãŸå ´åˆã€'default' パスãŒé€£æºå…ˆã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
 "    "
@@ -7082,73 +7514,72 @@
 msgid "pushing to %s\n"
 msgstr "%s ã¸ã®å映中\n"
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr "中断ã•ã‚ŒãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å–り消ã—"
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr "    commit ã‚„ pull ãŒä¸­æ–­ã•ã‚ŒãŸå ´åˆã®å¾©æ—§ã‚’è¡Œã„ã¾ã™ã€‚"
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
-"中断ã•ã‚ŒãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å–り消ã—\n"
-"\n"
-"    commit ã‚„ pull ãŒä¸­æ–­ã•ã‚ŒãŸå ´åˆã®å¾©æ—§ã‚’è¡Œã„ã¾ã™ã€‚\n"
-"\n"
 "    本コマンドã¯ã€æ“作ãŒä¸­æ–­ã•ã‚ŒãŸéš›ã®ãƒªãƒã‚¸ãƒˆãƒªçŠ¶æ…‹ã®ä¿®å¾©ã‚’è¡Œã„ã¾ã™ã€‚\n"
 "    本コマンドã®å®Ÿè¡Œã¯ã€Mercurial ãŒå®Ÿè¡Œã‚’促ã—ãŸå ´åˆã®ã¿ã§å分ã§ã™ã€‚\n"
 "    "
 
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr "次回コミットã«ãŠã‘る指定ファイルã®ç™»éŒ²é™¤å¤–"
+
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr "    構æˆç®¡ç†å¯¾è±¡ã‹ã‚‰ã®æŒ‡å®šãƒ•ã‚¡ã‚¤ãƒ«ã®ç™»éŒ²é™¤å¤–を予約ã—ã¾ã™ã€‚"
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+"    ç¾è¡Œãƒ–ランãƒã«ãŠã‘る登録除外ã§ã‚ã‚Šã€ãƒªãƒã‚¸ãƒˆãƒªå±¥æ­´ã‹ã‚‰æŠ¹æ¶ˆã•ã‚Œã‚‹\n"
+"    ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。手動ã§å‰Šé™¤ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’登録除外ã™ã‚‹ã«ã¯\n"
+"    -A/--after ã‚’ã€å¼·åˆ¶çš„ã«ç™»éŒ²é™¤å¤–ã™ã‚‹ã«ã¯ -f/--force ã‚’ã€ä½œæ¥­é ˜åŸŸä¸­ã®\n"
+"    ファイルを削除ã™ã‚‹ã“ã¨ãªã登録除外ã™ã‚‹ã«ã¯ -Af を指定ã—ã¾ã™ã€‚"
+
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
-"             A  C  M  !\n"
-"      none   W  RD W  R\n"
-"      -f     R  RD RD R\n"
-"      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
-msgstr ""
-"次回コミットã«ãŠã‘る指定ファイルã®ç™»éŒ²é™¤å¤–\n"
-"\n"
-"    構æˆç®¡ç†å¯¾è±¡ã‹ã‚‰ã®æŒ‡å®šãƒ•ã‚¡ã‚¤ãƒ«ã®ç™»éŒ²é™¤å¤–を予約ã—ã¾ã™ã€‚\n"
-"\n"
-"    ç¾è¡Œãƒ–ランãƒã«ãŠã‘る登録除外ã§ã‚ã‚Šã€ãƒªãƒã‚¸ãƒˆãƒªå±¥æ­´ã‹ã‚‰æŠ¹æ¶ˆã•ã‚Œã‚‹\n"
-"    ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。手動ã§å‰Šé™¤ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’登録除外ã™ã‚‹ã«ã¯\n"
-"    -A/--after ã‚’ã€å¼·åˆ¶çš„ã«ç™»éŒ²é™¤å¤–ã™ã‚‹ã«ã¯ -f/--force ã‚’ã€ä½œæ¥­é ˜åŸŸä¸­ã®\n"
-"    ファイルを削除ã™ã‚‹ã“ã¨ãªã登録除外ã™ã‚‹ã«ã¯ -Af を指定ã—ã¾ã™ã€‚\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
 "    ファイルã®çŠ¶æ…‹(横)ã¨ã‚ªãƒ—ション指定(縦)ã®çµ„ã¿åˆã‚ã›ã«ãŠã‘る挙動ã¯ã€\n"
 "    以下ã®ä¸€è¦§ã‚’å‚ç…§ã—ã¦ãã ã•ã„。ファイルã®çŠ¶æ…‹ã¯ã€'hg status' ã®è¡¨ç¤ºã«\n"
 "    倣ã„ã€è¿½åŠ (Added)[A]ã€æ”¹å¤‰ç„¡ã—(Clean)[C]ã€æ”¹å¤‰æœ‰ã‚Š(Modified)[M] \n"
 "    ãŠã‚ˆã³ä¸åœ¨(Missing)[!] ã§è¡¨ã—ã¾ã™ã€‚\n"
 "    挙動ã¯ã€è­¦å‘Š(Warn)[W]ã€æ§‹æˆç®¡ç†ã‹ã‚‰ã®ç™»éŒ²é™¤å¤–(Remove)[R] ãŠã‚ˆã³\n"
-"    作業領域ã‹ã‚‰ã®å‰Šé™¤(Delete)[D] ã§è¡¨ã—ã¾ã™::\n"
-"\n"
+"    作業領域ã‹ã‚‰ã®å‰Šé™¤(Delete)[D] ã§è¡¨ã—ã¾ã™::"
+
+msgid ""
+"             A  C  M  !\n"
+"      none   W  RD W  R\n"
+"      -f     R  RD RD R\n"
+"      -A     W  W  W  R\n"
+"      -Af    R  R  R  R"
+msgstr ""
 "             A  C  M  !\n"
 "      無指定 W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
+"      -Af    R  R  R  R"
+
+msgid ""
+"    This command schedules the files to be removed at the next commit.\n"
+"    To undo a remove before that, see hg revert.\n"
+"    "
+msgstr ""
 "    指定ファイルã¯ã€æ¬¡å›žã®ã‚³ãƒŸãƒƒãƒˆã®éš›ã«ç™»éŒ²é™¤å¤–ã•ã‚Œã¾ã™ã€‚コミットå‰ã«\n"
 "    登録除外をå–り消ã™æ–¹æ³•ã¯ 'hg help revert' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
@@ -7172,47 +7603,49 @@
 msgid "has been marked for add"
 msgstr "追加登録対象ã§ã™"
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr "ファイルã®æ”¹å(copy + remove ã¨ç­‰ä¾¡)"
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+"    改åå…ƒã®è¤‡è£½ã¨ã—ã¦æ”¹å先を追加登録ã—ã€æ”¹å元を登録除外ã—ã¾ã™ã€‚\n"
+"    改åå…ˆãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å ´åˆã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«è¤‡è£½ãŒä½œæˆã•ã‚Œã¾ã™ã€‚\n"
+"    改åå…ˆãŒãƒ•ã‚¡ã‚¤ãƒ«ã®å ´åˆã€æ”¹åå…ƒã¯1ã¤ã—ã‹æŒ‡å®šã§ãã¾ã›ã‚“。"
+
+msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
-"ファイルã®æ”¹å(copy + remove ã¨ç­‰ä¾¡)\n"
-"\n"
-"    改åå…ƒã®è¤‡è£½ã¨ã—ã¦æ”¹å先を追加登録ã—ã€æ”¹å元を登録除外ã—ã¾ã™ã€‚\n"
-"    改åå…ˆãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å ´åˆã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«è¤‡è£½ãŒä½œæˆã•ã‚Œã¾ã™ã€‚\n"
-"    改åå…ˆãŒãƒ•ã‚¡ã‚¤ãƒ«ã®å ´åˆã€æ”¹åå…ƒã¯1ã¤ã—ã‹æŒ‡å®šã§ãã¾ã›ã‚“。\n"
-"\n"
-"    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€æ”¹å元ファイルã®å†…容をæŒã¤æ”¹å先ファイルを\n"
-"    作業領域ã«ä½œæˆã—ã¾ã™ã€‚-A/--after 指定ãŒã‚ã‚‹å ´åˆã€ã€Œæ”¹åã€æ“作ã¯\n"
-"    記録ã•ã‚Œã¾ã™ãŒã€ãƒ•ã‚¡ã‚¤ãƒ«ã®è¤‡è£½ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。\n"
-"\n"
 "    本コマンドã®å®Ÿè¡Œçµæžœã¯æ¬¡å›žã®ã‚³ãƒŸãƒƒãƒˆã®éš›ã«åŠ¹æžœã‚’発æ®ã—ã¾ã™ã€‚コミット\n"
 "    å‰ã«æ”¹åæ“作をå–り消ã™æ–¹æ³•ã¯ 'hg help revert' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
 "    "
 
-msgid ""
-"various operations to help finish a merge\n"
-"\n"
+msgid "various operations to help finish a merge"
+msgstr "マージ作業完了を補助ã™ã‚‹ç¨®ã€…ã®æ“作"
+
+msgid ""
 "    This command includes several actions that are often useful while\n"
 "    performing a merge, after running ``merge`` but before running\n"
 "    ``commit``.  (It is only meaningful if your working directory has\n"
 "    two parents.)  It is most relevant for merges with unresolved\n"
 "    conflicts, which are typically a result of non-interactive merging with\n"
-"    ``internal:merge`` or a command-line merge tool like ``diff3``.\n"
-"\n"
-"    The available actions are:\n"
-"\n"
+"    ``internal:merge`` or a command-line merge tool like ``diff3``."
+msgstr ""
+"    本コマンドã«ã¯ã€``merge`` 実行後ã‹ã‚‰ ``commit`` 実行ã¾ã§ã®ã€\n"
+"    マージ作業を補助ã™ã‚‹è¤‡æ•°ã®æ©Ÿèƒ½ãŒå«ã¾ã‚Œã¦ã„ã¾ã™\n"
+"    (本コマンドã¯ä½œæ¥­é ˜åŸŸãŒï¼’ã¤ã®è¦ªã‚’æŒã¤å ´åˆã«ã®ã¿æ„味をæŒã¡ã¾ã™)。\n"
+"    典型的ã«ã¯ã€``internal:merge`` ã‚„ã€``diff3`` ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰è¡Œ\n"
+"    ベースã®ãƒžãƒ¼ã‚¸ãƒ„ールã«ã‚ˆã‚‹éžå¯¾è©±çš„ãªãƒžãƒ¼ã‚¸ã®çµæžœã«ã‚ˆã£ã¦ç”Ÿã˜ãŸ\n"
+"    未解消ã®è¡çªã®æ‰±ã„ã«é–¢ã™ã‚‹æ©Ÿèƒ½ã§ã™ã€‚"
+
+msgid "    The available actions are:"
+msgstr "    以下ã®æ“作ãŒå¯èƒ½ã§ã™:"
+
+msgid ""
 "      1) list files that were merged with conflicts (U, for unresolved)\n"
 "         and without conflicts (R, for resolved): ``hg resolve -l``\n"
 "         (this is like ``status`` for merges)\n"
@@ -7222,24 +7655,8 @@
 "         ``hg resolve -u [file ...]`` (default: unmark all resolved files)\n"
 "      4) discard your current attempt(s) at resolving conflicts and\n"
 "         restart the merge from scratch: ``hg resolve file...``\n"
-"         (or ``-a`` for all unresolved files)\n"
-"\n"
-"    Note that Mercurial will not let you commit files with unresolved merge\n"
-"    conflicts.  You must use ``hg resolve -m ...`` before you can commit\n"
-"    after a conflicting merge.\n"
-"    "
-msgstr ""
-"マージ作業完了を補助ã™ã‚‹ç¨®ã€…ã®æ“作\n"
-"\n"
-"    本コマンドã«ã¯ã€``merge`` 実行後ã‹ã‚‰ ``commit`` 実行ã¾ã§ã®ã€\n"
-"    マージ作業を補助ã™ã‚‹è¤‡æ•°ã®æ©Ÿèƒ½ãŒå«ã¾ã‚Œã¦ã„ã¾ã™\n"
-"    (本コマンドã¯ä½œæ¥­é ˜åŸŸãŒï¼’ã¤ã®è¦ªã‚’æŒã¤å ´åˆã«ã®ã¿æ„味をæŒã¡ã¾ã™)。\n"
-"    典型的ã«ã¯ã€``internal:merge`` ã‚„ã€``diff3`` ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰è¡Œ\n"
-"    ベースã®ãƒžãƒ¼ã‚¸ãƒ„ールã«ã‚ˆã‚‹éžå¯¾è©±çš„ãªãƒžãƒ¼ã‚¸ã®çµæžœã«ã‚ˆã£ã¦ç”Ÿã˜ãŸ\n"
-"    未解消ã®è¡çªã®æ‰±ã„ã«é–¢ã™ã‚‹æ©Ÿèƒ½ã§ã™ã€‚\n"
-"\n"
-"    以下ã®æ“作ãŒå¯èƒ½ã§ã™:\n"
-"\n"
+"         (or ``-a`` for all unresolved files)"
+msgstr ""
 "      1) è¡çªæœªè§£æ¶ˆ(U: unresolved)ãŠã‚ˆã³è¡çªè§£æ¶ˆæ¸ˆã¿(R: resolved)ãªãƒžãƒ¼ã‚¸\n"
 "         対象ファイルを一覧表示: ``hg resolve -l``\n"
 "         (マージã«ãŠã‘ã‚‹ ``status`` ã®ã‚ˆã†ãªã‚‚ã®ã§ã™)\n"
@@ -7248,8 +7665,14 @@
 "      3) 指定ファイルã®è¡çªã‚’解消ã—ãŸã“ã¨ã‚’å–り消ã™:\n"
 "         ``hg resolve -u [file ...]`` (無指定時ã¯å…¨ãƒ•ã‚¡ã‚¤ãƒ«ãŒå¯¾è±¡)\n"
 "      4) å…¨ã¦ã®è¡çªè§£æ¶ˆä½œæ¥­ã‚’破棄ã—ã€ãƒžãƒ¼ã‚¸ã‚’最åˆã‹ã‚‰ã‚„ã‚Šç›´ã™:\n"
-"         ``hg resolve file...`` (``-a`` 指定時ã¯å…¨ãƒ•ã‚¡ã‚¤ãƒ«ãŒå¯¾è±¡)\n"
-"\n"
+"         ``hg resolve file...`` (``-a`` 指定時ã¯å…¨ãƒ•ã‚¡ã‚¤ãƒ«ãŒå¯¾è±¡)"
+
+msgid ""
+"    Note that Mercurial will not let you commit files with unresolved merge\n"
+"    conflicts.  You must use ``hg resolve -m ...`` before you can commit\n"
+"    after a conflicting merge.\n"
+"    "
+msgstr ""
 "    è¡çªæœªè§£æ¶ˆã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚ã‚‹é–“ã¯ã‚³ãƒŸãƒƒãƒˆã§ãã¾ã›ã‚“。マージã«ãŠã‘ã‚‹\n"
 "    è¡çªè§£æ¶ˆã®éš›ã«ã¯ã€ã‚³ãƒŸãƒƒãƒˆå‰ã« ``hg resolve -m ...`` ã—ã¦ãã ã•ã„。\n"
 "    "
@@ -7263,68 +7686,73 @@
 msgid "no files or directories specified; use --all to remerge all files"
 msgstr "å†ãƒžãƒ¼ã‚¸ã«ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ï¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã€--all を指定ã—ã¦ãã ã•ã„"
 
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgid "restore individual files or directories to an earlier state"
+msgstr "ファイルï¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªçŠ¶æ…‹ã®å¾©æ—§"
+
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+"    ('hg revert' ã¯ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンを変更ã—ãªã„ã®ã§ã€ä½œæ¥­é ˜åŸŸã®\n"
+"    状態を以å‰ã®ç‰ˆã«æˆ»ã™å ´åˆã¯ã€'hg update' を使用ã—ã¦ãã ã•ã„)"
+
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify a\n"
-"    revision.\n"
-"\n"
+"    revision."
+msgstr ""
+"    リビジョン指定ãŒç„¡ã„å ´åˆã€æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ï¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作業\n"
+"    領域ã®è¦ªãƒªãƒ“ジョン時点ã®å†…容ã¸ã¨å¾©æ—§ã—ã¾ã™ã€‚本コマンドã¯å¯¾è±¡\n"
+"    ファイルã«å¯¾ã—ã¦ã€çŠ¶æ…‹ã‚’「改変無ã—ã€ã¨ã—ã€add/remove/copy/rename\n"
+"    実行ã®åŠ¹æžœã‚’打ã¡æ¶ˆã—ã¾ã™ã€‚作業領域ã®è¦ªãƒªãƒ“ジョンãŒ2ã¤ã‚ã‚‹å ´åˆã¯ã€\n"
+"    ã©ã¡ã‚‰ã®å†…容ã§å¾©æ—§ã™ã‚‹ã®ã‹ã‚’明示的ã«æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+"    -r/--rev ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ï¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ã€\n"
+"    指定ã•ã‚ŒãŸãƒªãƒ“ジョン時点ã®å†…容ã¸ã¨å¾©æ—§ã—ã¾ã™ã€‚以å‰ã®å¤‰æ›´å†…容ã®ä¸€éƒ¨\n"
+"    ãªã„ã—全部をå–り消ã™ç”¨é€”ã«ã‚‚使用ã§ãã¾ã™ã€‚-d/--date ã®æŒ‡å®šã«é–¢ã—ã¦ã¯\n"
+"    'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
-"    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
-"    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
-"    Modified files are saved with a .orig suffix before reverting.\n"
-"    To disable these backups, use --no-backup.\n"
-"    "
-msgstr ""
-"ファイルï¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªçŠ¶æ…‹ã®å¾©æ—§\n"
-"\n"
-"    ('hg revert' ã¯ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンを変更ã—ãªã„ã®ã§ã€ä½œæ¥­é ˜åŸŸã®\n"
-"    状態を以å‰ã®ç‰ˆã«æˆ»ã™å ´åˆã¯ã€'hg update' を使用ã—ã¦ãã ã•ã„)\n"
-"\n"
-"    リビジョン指定ãŒç„¡ã„å ´åˆã€æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ï¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作業\n"
-"    領域ã®è¦ªãƒªãƒ“ジョン時点ã®å†…容ã¸ã¨å¾©æ—§ã—ã¾ã™ã€‚本コマンドã¯å¯¾è±¡\n"
-"    ファイルã«å¯¾ã—ã¦ã€çŠ¶æ…‹ã‚’「改変無ã—ã€ã¨ã—ã€add/remove/copy/rename\n"
-"    実行ã®åŠ¹æžœã‚’打ã¡æ¶ˆã—ã¾ã™ã€‚作業領域ã®è¦ªãƒªãƒ“ジョンãŒ2ã¤ã‚ã‚‹å ´åˆã¯ã€\n"
-"    ã©ã¡ã‚‰ã®å†…容ã§å¾©æ—§ã™ã‚‹ã®ã‹ã‚’明示的ã«æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚\n"
-"\n"
-"    -r/--rev ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ï¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ã€\n"
-"    指定ã•ã‚ŒãŸãƒªãƒ“ジョン時点ã®å†…容ã¸ã¨å¾©æ—§ã—ã¾ã™ã€‚以å‰ã®å¤‰æ›´å†…容ã®ä¸€éƒ¨\n"
-"    ãªã„ã—全部をå–り消ã™ç”¨é€”ã«ã‚‚使用ã§ãã¾ã™ã€‚-d/--date ã®æŒ‡å®šã«é–¢ã—ã¦ã¯\n"
-"    'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"    afterwards."
+msgstr ""
 "    本コマンドã¯ä½œæ¥­é ˜åŸŸã®å†…容ã¯å¤‰æ›´ã—ã¾ã™ãŒã€å¤‰æ›´ã®ã‚³ãƒŸãƒƒãƒˆã‚„ã€ä½œæ¥­\n"
 "    領域ã®è¦ªãƒªãƒ“ジョンã¯å¤‰æ›´ã—ã¾ã›ã‚“。ãã®ãŸã‚ã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョン\n"
 "    以外ã®ãƒªãƒ“ジョンを指定ã—ã¦å¾©æ—§ã—ãŸå ´åˆã€å¾©æ—§å¾Œã®ãƒ•ã‚¡ã‚¤ãƒ«ã®çŠ¶æ…‹ã¯\n"
-"    「改変有りã€ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    「改変有りã€ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    If a file has been deleted, it is restored. If the executable mode\n"
+"    of a file was changed, it is reset."
+msgstr ""
 "    ファイルãŒå‰Šé™¤ã•ã‚Œã¦ã„ãŸå ´åˆã€ãƒ•ã‚¡ã‚¤ãƒ«ã¯å¾©æ—§ã•ã‚Œã¾ã™ã€‚実行権é™ãŒå¤‰æ›´\n"
-"    ã•ã‚Œã¦ã„ãŸå ´åˆã€å¤‰æ›´å‰ã®çŠ¶æ…‹ã«å¾©æ—§ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    ã•ã‚Œã¦ã„ãŸå ´åˆã€å¤‰æ›´å‰ã®çŠ¶æ…‹ã«å¾©æ—§ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    If names are given, all files matching the names are reverted.\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
 "    復旧対象ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æŒ‡å®šã•ã‚ŒãŸåå‰ã«åˆè‡´ã™ã‚‹å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ\n"
 "    復旧対象ã¨ãªã‚Šã¾ã™ã€‚復旧対象ãŒæŒ‡å®šã•ã‚Œãªã‹ã£ãŸå ´åˆã¯ã€ã„ãšã‚Œã®\n"
-"    ファイルも復旧ã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
+"    ファイルも復旧ã•ã‚Œã¾ã›ã‚“。"
+
+msgid ""
+"    Modified files are saved with a .orig suffix before reverting.\n"
+"    To disable these backups, use --no-backup.\n"
+"    "
+msgstr ""
 "    改変ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®å¾©æ—§ã§ã¯ã€å¾©æ—§å‰ã®å†…容㌠.orig æ‹¡å¼µå­ã‚’付ã‘ãŸ\n"
 "    ファイルã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚ã“ã®ä¿å­˜ã¯ --no-backup ã§ç„¡åŠ¹åŒ–ã•ã‚Œã¾ã™ã€‚\n"
 "    "
@@ -7359,26 +7787,46 @@
 msgid "no changes needed to %s\n"
 msgstr "%s ã«ã¯æ”¹å¤‰ã®å¿…è¦ãŒã‚ã‚Šã¾ã›ã‚“\n"
 
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr "ç›´å‰ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å·»ã戻ã—"
+
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+"    本コマンドã®ä½¿ç”¨ã«ã¯æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚å·»ã戻ã—ã¯ï¼‘段階é™ã‚Šã§ã€å·»ã\n"
+"    戻ã—ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å†å®Ÿæ–½ã¯ã§ãã¾ã›ã‚“。本コマンドã¯ã€ç›´å‰ã®\n"
+"    トランザクション実施時点㮠dirstate を復元ã—ã€ãã®æ™‚点以後ã®å¤‰æ›´ã¯\n"
+"    å…¨ã¦å¤±ã‚ã‚Œã¾ã™ã€‚但ã—ã€ä½œæ¥­é ˜åŸŸå†…容ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。"
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back:\n"
-"\n"
+"    and their effects can be rolled back:"
+msgstr ""
+"    トランザクションã¨ã¯ã€æ–°è¦ãƒªãƒ“ジョンã®ä½œæˆã€ãªã„ã—外部ã‹ã‚‰ã®æ—¢å­˜\n"
+"    リビジョンã®å–ã‚Šè¾¼ã¿ã«ãŠã‘るコマンドã®æ”¹å¤‰æ“作を一括化ã™ã‚‹ã‚‚ã®ã§ã™ã€‚\n"
+"    例ãˆã°ã€ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã„ãšã‚Œã‚‚トランザクションを形æˆã™ã‚‹ã‚‚ã®ã§ã€\n"
+"    ãã®åŠ¹æžœã¯æœ¬ã‚³ãƒžãƒ³ãƒ‰ã«ã‚ˆã‚Šå·»ã戻ã—å¯èƒ½ã§ã™:"
+
+msgid ""
 "    - commit\n"
 "    - import\n"
 "    - pull\n"
 "    - push (with this repository as the destination)\n"
-"    - unbundle\n"
-"\n"
+"    - unbundle"
+msgstr ""
+"    - commit\n"
+"    - import\n"
+"    - pull\n"
+"    - push (ç¾ãƒªãƒã‚¸ãƒˆãƒªãŒã€å映対象ã¨ã—ã¦æŒ‡å®šã•ã‚ŒãŸå ´åˆ)\n"
+"    - unbundle"
+
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -7387,24 +7835,6 @@
 "    may fail if a rollback is performed.\n"
 "    "
 msgstr ""
-"ç›´å‰ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å·»ã戻ã—\n"
-"\n"
-"    本コマンドã®ä½¿ç”¨ã«ã¯æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚å·»ã戻ã—ã¯ï¼‘段階é™ã‚Šã§ã€å·»ã\n"
-"    戻ã—ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å†å®Ÿæ–½ã¯ã§ãã¾ã›ã‚“。本コマンドã¯ã€ç›´å‰ã®\n"
-"    トランザクション実施時点㮠dirstate を復元ã—ã€ãã®æ™‚点以後ã®å¤‰æ›´ã¯\n"
-"    å…¨ã¦å¤±ã‚ã‚Œã¾ã™ã€‚但ã—ã€ä½œæ¥­é ˜åŸŸå†…容ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
-"    トランザクションã¨ã¯ã€æ–°è¦ãƒªãƒ“ジョンã®ä½œæˆã€ãªã„ã—外部ã‹ã‚‰ã®æ—¢å­˜\n"
-"    リビジョンã®å–ã‚Šè¾¼ã¿ã«ãŠã‘るコマンドã®æ”¹å¤‰æ“作を一括化ã™ã‚‹ã‚‚ã®ã§ã™ã€‚\n"
-"    例ãˆã°ã€ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã„ãšã‚Œã‚‚トランザクションを形æˆã™ã‚‹ã‚‚ã®ã§ã€\n"
-"    ãã®åŠ¹æžœã¯æœ¬ã‚³ãƒžãƒ³ãƒ‰ã«ã‚ˆã‚Šå·»ã戻ã—å¯èƒ½ã§ã™:\n"
-"\n"
-"    - commit\n"
-"    - import\n"
-"    - pull\n"
-"    - push (ç¾ãƒªãƒã‚¸ãƒˆãƒªãŒã€å映対象ã¨ã—ã¦æŒ‡å®šã•ã‚ŒãŸå ´åˆ)\n"
-"    - unbundle\n"
-"\n"
 "    本コマンドã¯ã€å…¬é–‹ãƒªãƒã‚¸ãƒˆãƒªã§ã®å®Ÿè¡Œã‚’想定ã—ã¦ã„ã¾ã›ã‚“。他ã®ãƒ¦ãƒ¼ã‚¶\n"
 "    ã‹ã‚‰ 'hg pull' å¯èƒ½ãªçŠ¶æ…‹ã«ãªã£ã¦ã—ã¾ã£ãŸãªã‚‰ã€å…¬é–‹ãƒªãƒã‚¸ãƒˆãƒªã§ã®\n"
 "    rollback ã¯(æ—¢ã«ä»–ã®ãƒ¦ãƒ¼ã‚¶ã«ã‚ˆã£ã¦è¤‡è£½ã•ã‚Œã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã®ã§)\n"
@@ -7413,31 +7843,28 @@
 "    å·»ã戻ã—ã«ã‚ˆã£ã¦å¤±æ•—ã—ã¦ã—ã¾ã†å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr "作業領域ã®ãƒ«ãƒ¼ãƒˆ(最上ä½)ディレクトリä½ç½®ã®è¡¨ç¤º"
+
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
-"作業領域ã®ãƒ«ãƒ¼ãƒˆ(最上ä½)ディレクトリä½ç½®ã®è¡¨ç¤º\n"
-"\n"
 "    作業領域ã®ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä½ç½®ã‚’表示ã—ã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
+msgid "export the repository via HTTP"
+msgstr "HTTP 経由ã§ã®ãƒªãƒã‚¸ãƒˆãƒªã®å…¬é–‹"
+
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr "    リãƒã‚¸ãƒˆãƒªå‚照㨠'hg pull' ã®ãŸã‚ã® HTTP サーãƒã‚’èµ·å‹•ã—ã¾ã™ã€‚"
+
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
 "    files.\n"
 "    "
 msgstr ""
-"HTTP 経由ã§ã®ãƒªãƒã‚¸ãƒˆãƒªã®å…¬é–‹\n"
-"\n"
-"    リãƒã‚¸ãƒˆãƒªå‚照㨠'hg pull' ã®ãŸã‚ã® HTTP サーãƒã‚’èµ·å‹•ã—ã¾ã™ã€‚\n"
-"\n"
 "    特ã«æŒ‡å®šãŒç„¡ã„å ´åˆã€ã‚µãƒ¼ãƒã¯ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã‚’標準出力ã«ã€ã‚¨ãƒ©ãƒ¼ã‚’\n"
 "    標準エラー出力ã«è¡¨ç¤ºã—ã¾ã™ã€‚ログをファイルã«è¨˜éŒ²ã™ã‚‹å ´åˆã¯ã€\n"
 "    -A/--accesslog ã‚„ -E/--errorlog ã§æŒ‡å®šã—ã¾ã™ã€‚\n"
@@ -7447,31 +7874,58 @@
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr "http://%s%s/%s ã§å¾…ã¡å—ã‘開始(ãƒã‚¤ãƒ³ãƒ‰å…ˆã¯ %s:%d)\n"
 
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr "作業領域ã®ãƒ•ã‚¡ã‚¤ãƒ«æ“作状æ³ã®è¡¨ç¤º"
+
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+"    作業領域ã®ãƒ•ã‚¡ã‚¤ãƒ«çŠ¶æ…‹ã‚’表示ã—ã¾ã™ã€‚åå‰(パターン)指定ã®ã‚ã‚‹å ´åˆã€\n"
+"    ãã®åå‰ã«åˆè‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚変更無ã—(clean)ã€\n"
+"    無視(ignored)ãªã„ã—複製(copy)・改å(rename)ã®å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã«é–¢ã—ã¦ã¯ã€\n"
+"    ãã‚Œãžã‚Œ -c/--cleanã€-i/--ignored ãªã„ã— -C/--copy ãŒæŒ‡å®šã•ã‚Œã‚‹ã‹ã€\n"
+"    ã‚ã‚‹ã„㯠-A/--all ãŒæŒ‡å®šã•ã‚Œãªã„é™ã‚Šè¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。\n"
+"    ã„ãšã‚Œã®è¡¨ç¤ºå¯¾è±¡é¸æŠžã‚ªãƒ—ションも指定ã•ã‚Œãªã„å ´åˆã€\n"
+"    -m -a -r -d -u ãŒæŒ‡å®šã•ã‚ŒãŸã‚‚ã®ã¨ã¿ãªã—ã¾ã™ã€‚"
+
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+"    -q/--quiet 指定ãŒã‚ã‚‹å ´åˆã€-u/--unknown ãªã„ã— -i/--ignored ãŒæ˜Žç¤º\n"
+"    çš„ã«æŒ‡å®šã•ã‚Œãªã„é™ã‚Šã€æ§‹æˆç®¡ç†å¯¾è±¡å¤–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。"
+
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+"    備考: 権é™è¨­å®šã®å¤‰æ›´ã‚„マージãŒè¡Œã‚ã‚ŒãŸå ´åˆã€å·®åˆ†è¡¨ç¤ºã‹ã‚‰æœŸå¾…ã•ã‚Œã‚‹\n"
+"    çµæžœã¨ã¯ç•°ãªã‚‹çŠ¶æ…‹ãŒè¡¨ç¤ºã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚標準的ãªå·®åˆ†å½¢å¼ã¯\n"
+"    権é™å¤‰æ›´ã®æƒ…報をå«ã¿ã¾ã›ã‚“ã—ã€ãƒžãƒ¼ã‚¸ã®éš›ã«ã¯ä¸€æ–¹ã®è¦ªãƒªãƒ“ジョンã¨ã®\n"
+"    差分ã—ã‹è¡¨ç¤ºã—ã¾ã›ã‚“。"
+
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
 "    shown. The --change option can also be used as a shortcut to list\n"
-"    the changed files of a revision from its first parent.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    the changed files of a revision from its first parent."
+msgstr ""
+"    1ã¤ã®ãƒªãƒ“ジョンãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ¯”較元リビジョンã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚\n"
+"    2ã¤ã®ãƒªãƒ“ジョンãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ä¸¡ãƒªãƒ“ジョン間ã§çŠ¶æ…‹ã‚’比較ã—ã¾ã™ã€‚\n"
+"    --change 指定を使ã†ã“ã¨ã§ã€ç¬¬1親ã‹ã‚‰å¤‰æ›´ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã‚’ç°¡å˜ã«\n"
+"    表示ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+msgid "    The codes used to show the status of files are::"
+msgstr "    ファイルã®çŠ¶æ…‹ã‚’表ã™è¨˜å·ã¯ä»¥ä¸‹ã®é€šã‚Š::"
+
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -7482,31 +7936,6 @@
 "        = origin of the previous file listed as A (added)\n"
 "    "
 msgstr ""
-"作業領域ã®ãƒ•ã‚¡ã‚¤ãƒ«æ“作状æ³ã®è¡¨ç¤º\n"
-"\n"
-"    作業領域ã®ãƒ•ã‚¡ã‚¤ãƒ«çŠ¶æ…‹ã‚’表示ã—ã¾ã™ã€‚åå‰(パターン)指定ã®ã‚ã‚‹å ´åˆã€\n"
-"    ãã®åå‰ã«åˆè‡´ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚変更無ã—(clean)ã€\n"
-"    無視(ignored)ãªã„ã—複製(copy)・改å(rename)ã®å…ƒãƒ•ã‚¡ã‚¤ãƒ«ã«é–¢ã—ã¦ã¯ã€\n"
-"    ãã‚Œãžã‚Œ -c/--cleanã€-i/--ignored ãªã„ã— -C/--copy ãŒæŒ‡å®šã•ã‚Œã‚‹ã‹ã€\n"
-"    ã‚ã‚‹ã„㯠-A/--all ãŒæŒ‡å®šã•ã‚Œãªã„é™ã‚Šè¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。\n"
-"    ã„ãšã‚Œã®è¡¨ç¤ºå¯¾è±¡é¸æŠžã‚ªãƒ—ションも指定ã•ã‚Œãªã„å ´åˆã€\n"
-"    -m -a -r -d -u ãŒæŒ‡å®šã•ã‚ŒãŸã‚‚ã®ã¨ã¿ãªã—ã¾ã™ã€‚\n"
-"\n"
-"    -q/--quiet 指定ãŒã‚ã‚‹å ´åˆã€-u/--unknown ãªã„ã— -i/--ignored ãŒæ˜Žç¤º\n"
-"    çš„ã«æŒ‡å®šã•ã‚Œãªã„é™ã‚Šã€æ§‹æˆç®¡ç†å¯¾è±¡å¤–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
-"    備考: 権é™è¨­å®šã®å¤‰æ›´ã‚„マージãŒè¡Œã‚ã‚ŒãŸå ´åˆã€å·®åˆ†è¡¨ç¤ºã‹ã‚‰æœŸå¾…ã•ã‚Œã‚‹\n"
-"    çµæžœã¨ã¯ç•°ãªã‚‹çŠ¶æ…‹ãŒè¡¨ç¤ºã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚標準的ãªå·®åˆ†å½¢å¼ã¯\n"
-"    権é™å¤‰æ›´ã®æƒ…報をå«ã¿ã¾ã›ã‚“ã—ã€ãƒžãƒ¼ã‚¸ã®éš›ã«ã¯ä¸€æ–¹ã®è¦ªãƒªãƒ“ジョンã¨ã®\n"
-"    差分ã—ã‹è¡¨ç¤ºã—ã¾ã›ã‚“。\n"
-"\n"
-"    1ã¤ã®ãƒªãƒ“ジョンãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ¯”較元リビジョンã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚\n"
-"    2ã¤ã®ãƒªãƒ“ジョンãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ä¸¡ãƒªãƒ“ジョン間ã§çŠ¶æ…‹ã‚’比較ã—ã¾ã™ã€‚\n"
-"    --change 指定を使ã†ã“ã¨ã§ã€ç¬¬1親ã‹ã‚‰å¤‰æ›´ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã‚’ç°¡å˜ã«\n"
-"    表示ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
-"\n"
-"    ファイルã®çŠ¶æ…‹ã‚’表ã™è¨˜å·ã¯ä»¥ä¸‹ã®é€šã‚Š::\n"
-"\n"
 "      M = 改変有り(Modified)\n"
 "      A = 追加登録予定(Added)\n"
 "      R = 登録除外予定(Removed)\n"
@@ -7517,21 +7946,21 @@
 "        = ç›´å‰ã«è¡¨ç¤ºã•ã‚Œã‚‹æ–°è¦ç™»éŒ²äºˆå®šãƒ•ã‚¡ã‚¤ãƒ«(A)ã®è¤‡è£½å…ƒ\n"
 "    "
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr "作業領域状態ã®æ¦‚è¦è¡¨ç¤º"
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+"    親リビジョンã€ãƒ–ランãƒã€æƒ³å®šã‚³ãƒŸãƒƒãƒˆçµæžœã‚„ã€ä½œæ¥­é ˜åŸŸæ›´æ–°å€™è£œç­‰ã‚’å«ã‚€\n"
+"    作業領域状態ã®æ¦‚è¦ã‚’表示ã—ã¾ã™ã€‚"
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
 msgstr ""
-"作業領域状態ã®æ¦‚è¦è¡¨ç¤º\n"
-"\n"
-"    親リビジョンã€ãƒ–ランãƒã€æƒ³å®šã‚³ãƒŸãƒƒãƒˆçµæžœã‚„ã€ä½œæ¥­é ˜åŸŸæ›´æ–°å€™è£œç­‰ã‚’å«ã‚€\n"
-"    作業領域状態ã®æ¦‚è¦ã‚’表示ã—ã¾ã™ã€‚\n"
-"\n"
 "    --remote ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€default 連æºå…ˆã«å¯¾ã™ã‚‹å–ã‚Šè¾¼ã¿ï¼å映ã«\n"
 "    é–¢ã™ã‚‹æ¦‚è¦ã‚‚表示ã—ã¾ã™ã€‚ã“ã®å‡¦ç†ã«ã¯æ™‚é–“ã‚’è¦ã™ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚\n"
 "    "
@@ -7619,45 +8048,39 @@
 msgid "remote: (synced)\n"
 msgstr "想定連æºçµæžœ    : (åŒæœŸæ¸ˆã¿)\n"
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr "ç¾ãƒªãƒ“ジョンãªã„ã—指定リビジョンã¸ã®ã‚¿ã‚°ã®ä»˜ä¸Ž"
+
+msgid "    Name a particular revision using <name>."
+msgstr "    特定ã®ãƒªãƒ“ジョンã«ã€æŒ‡å®šã•ã‚ŒãŸåå‰ã‚’付ã‘ã¾ã™ã€‚"
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+"    リãƒã‚¸ãƒˆãƒªä¸­ã®ç‰¹å®šã®ãƒªãƒ“ジョンã«ä»˜ã‘られãŸåå‰ã§ã‚ã‚‹ã‚¿ã‚°ã¯ã€ãƒªãƒ“ジョン\n"
+"    é–“ã§ã®æ¯”較やã€é‡è¦ãªãƒªãƒ“ジョンã®å‚ç…§ã€åˆã¯ãƒªãƒªãƒ¼ã‚¹ã®éš›ã®åˆ†å²ç‚¹ã«å¯¾ã™ã‚‹\n"
+"    ç›®å°ã¨ã„ã£ãŸç”¨é€”ãªã©ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚"
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+"    リビジョンãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンã‹ã€ä½œæ¥­é ˜åŸŸæ›´æ–°å‰\n"
+"    ãªã‚‰ tip ãŒã‚¿ã‚°ä»˜ã‘ã®å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"ç¾ãƒªãƒ“ジョンãªã„ã—指定リビジョンã¸ã®ã‚¿ã‚°ã®ä»˜ä¸Ž\n"
-"\n"
-"    特定ã®ãƒªãƒ“ジョンã«ã€æŒ‡å®šã•ã‚ŒãŸåå‰ã‚’付ã‘ã¾ã™ã€‚\n"
-"\n"
-"    リãƒã‚¸ãƒˆãƒªä¸­ã®ç‰¹å®šã®ãƒªãƒ“ジョンã«ä»˜ã‘られãŸåå‰ã§ã‚ã‚‹ã‚¿ã‚°ã¯ã€ãƒªãƒ“ジョン\n"
-"    é–“ã§ã®æ¯”較やã€é‡è¦ãªãƒªãƒ“ジョンã®å‚ç…§ã€åˆã¯ãƒªãƒªãƒ¼ã‚¹ã®éš›ã®åˆ†å²ç‚¹ã«å¯¾ã™ã‚‹\n"
-"    ç›®å°ã¨ã„ã£ãŸç”¨é€”ãªã©ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚\n"
-"\n"
-"    リビジョンãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンã‹ã€ä½œæ¥­é ˜åŸŸæ›´æ–°å‰\n"
-"    ãªã‚‰ tip ãŒã‚¿ã‚°ä»˜ã‘ã®å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
+"    shared among repositories)."
+msgstr ""
 "    分散構æˆç®¡ç†ã«ãŠã‘るタグ付ã‘ã®é›†ç´„を容易ã«ã™ã‚‹ãŸã‚ã«ã€æ§‹æˆç®¡ç†ä¸‹ã«ã‚ã‚‹\n"
 "    ä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¨åŒæ§˜ã«ã€ã‚¿ã‚°ã®æƒ…報㯠\".hgtags\" ファイルã§ç®¡ç†ã•ã‚Œã€\n"
 "    å¿…è¦ã§ã‚ã‚Œã°æ‰‹å‹•ã§ã®ç·¨é›†ã‚‚å¯èƒ½ã§ã™ã€‚ローカルタグ㯠'.hg/localtags' ã§\n"
-"    管ç†ã•ã‚Œã¾ã™(リãƒã‚¸ãƒˆãƒªé–“ã§å…±æœ‰ã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“)\n"
-"\n"
-"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"    "
+"    管ç†ã•ã‚Œã¾ã™(リãƒã‚¸ãƒˆãƒªé–“ã§å…±æœ‰ã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“)"
 
 msgid "tag names must be unique"
 msgstr "ã‚¿ã‚°åãŒé‡è¤‡ã—ã¦ã„ã¾ã™"
@@ -7681,70 +8104,78 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr "ã‚¿ã‚° '%s' ã¯å­˜åœ¨ã—ã¾ã™(強制実行ã™ã‚‹å ´åˆã¯ -f を指定ã—ã¦ãã ã•ã„)"
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr "リãƒã‚¸ãƒˆãƒªä¸­ã®ã‚¿ã‚°ä¸€è¦§ã®è¡¨ç¤º"
+
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
-"リãƒã‚¸ãƒˆãƒªä¸­ã®ã‚¿ã‚°ä¸€è¦§ã®è¡¨ç¤º\n"
-"\n"
 "    本コマンドã¯ã€é€šå¸¸ã®ã‚¿ã‚°ãŠã‚ˆã³ãƒ­ãƒ¼ã‚«ãƒ«ã‚¿ã‚°ã®ä¸¡æ–¹ã‚’一覧表示ã—ã¾ã™ã€‚\n"
 "    -v/--verbose ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãƒ­ãƒ¼ã‚«ãƒ«ã‚¿ã‚°ã®è­˜åˆ¥æƒ…報用㫠\"local\"\n"
 "    カラムãŒè¿½åŠ è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr "tip リビジョンã®è¡¨ç¤º"
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+"    tip リビジョン(一般ã«ã¯å˜ã« tip ã¨è¡¨è¨˜)ã¨ã¯ã€ãƒªãƒã‚¸ãƒˆãƒªãŠã„ã¦æœ€ã‚‚\n"
+"    æ–°ã—ã追加ã•ã‚ŒãŸãƒªãƒ“ジョンã§ã‚ã‚‹ã¨åŒæ™‚ã«ã€æœ€ã‚‚æ–°ã—ã変更ã•ã‚ŒãŸãƒ˜ãƒƒãƒ‰\n"
+"    ã®ã“ã¨ã§ã‚‚ã‚ã‚Šã¾ã™ã€‚"
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
 "    and cannot be renamed or assigned to a different changeset.\n"
 "    "
 msgstr ""
-"tip リビジョンã®è¡¨ç¤º\n"
-"\n"
-"    tip リビジョン(一般ã«ã¯å˜ã« tip ã¨è¡¨è¨˜)ã¨ã¯ã€ãƒªãƒã‚¸ãƒˆãƒªãŠã„ã¦æœ€ã‚‚\n"
-"    æ–°ã—ã追加ã•ã‚ŒãŸãƒªãƒ“ジョンã§ã‚ã‚‹ã¨åŒæ™‚ã«ã€æœ€ã‚‚æ–°ã—ã変更ã•ã‚ŒãŸãƒ˜ãƒƒãƒ‰\n"
-"    ã®ã“ã¨ã§ã‚‚ã‚ã‚Šã¾ã™ã€‚\n"
-"\n"
 "    コミットã—ãŸç›´å¾Œã§ã‚ã‚Œã°ã€ç”Ÿæˆã•ã‚ŒãŸãƒªãƒ“ジョン㌠tip ã¨ãªã‚Šã¾ã™ã€‚\n"
 "    ä»–ã®ãƒªãƒã‚¸ãƒˆãƒªã‹ã‚‰å¤‰æ›´å±¥æ­´ã®å–ã‚Šè¾¼ã¿ã‚’ã—ãŸç›´å¾Œã§ã‚ã‚Œã°ã€é€£æºå…ˆ\n"
 "    リãƒã‚¸ãƒˆãƒªã§ã® tip ãŒç¾ãƒªãƒã‚¸ãƒˆãƒªã® tip ã¨ãªã‚Šã¾ã™ã€‚\"tip\" ã‚¿ã‚°ã¯\n"
 "    特別ãªã‚¿ã‚°ã§ã€æ”¹åã‚„ã€ä»–ã®ãƒªãƒ“ジョンã¸ã®ä»˜ã‘替ãˆã¯ã§ãã¾ã›ã‚“。\n"
 "    "
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr "ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®é©ç”¨"
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
-"ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®é©ç”¨\n"
-"\n"
 "    hg bundle コマンドã§ç”Ÿæˆã•ã‚ŒãŸãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é©ç”¨ã—ã¾ã™ã€‚\n"
 "    "
 
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr "作業領域ã®æ›´æ–°"
+
+msgid ""
 "    Update the repository's working directory to the specified\n"
-"    changeset.\n"
-"\n"
+"    changeset."
+msgstr "    指定ã•ã‚ŒãŸãƒªãƒ“ジョン時点ã®å†…容ã§ã€ä½œæ¥­é ˜åŸŸã‚’æ›´æ–°ã—ã¾ã™ã€‚"
+
+msgid ""
 "    If no changeset is specified, attempt to update to the head of the\n"
 "    current branch. If this head is a descendant of the working\n"
-"    directory's parent, update to it, otherwise abort.\n"
-"\n"
+"    directory's parent, update to it, otherwise abort."
+msgstr ""
+"    リビジョン指定ãŒç„¡ã„å ´åˆã€ç¾è¡Œãƒ–ランãƒã®ãƒ˜ãƒƒãƒ‰ã«ã‚ˆã‚‹æ›´æ–°ã‚’試ã¿ã¾ã™ã€‚\n"
+"    ã“ã®ãƒ˜ãƒƒãƒ‰ãŒã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンã®ç›´ç³»ã®å­å­«ã§ã‚ã‚Œã°ã€\n"
+"    作業領域ã®æ›´æ–°ãŒå®Ÿæ–½ã•ã‚Œã¾ã™ãŒã€ãれ以外ã®å ´åˆã¯æ›´æ–°ãŒä¸­æ–­ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "    The following rules apply when the working directory contains\n"
-"    uncommitted changes:\n"
-"\n"
+"    uncommitted changes:"
+msgstr "    作業領域ã«æœªã‚³ãƒŸãƒƒãƒˆå¤‰æ›´ãŒã‚ã‚‹å ´åˆã€ä»¥ä¸‹ã®è¦å‰‡ãŒé©ç”¨ã•ã‚Œã¾ã™:"
+
+msgid ""
 "    1. If neither -c/--check nor -C/--clean is specified, and if\n"
 "       the requested changeset is an ancestor or descendant of\n"
 "       the working directory's parent, the uncommitted changes\n"
@@ -7752,53 +8183,38 @@
 "       result is left uncommitted. If the requested changeset is\n"
 "       not an ancestor or descendant (that is, it is on another\n"
 "       branch), the update is aborted and the uncommitted changes\n"
-"       are preserved.\n"
-"\n"
-"    2. With the -c/--check option, the update is aborted and the\n"
-"       uncommitted changes are preserved.\n"
-"\n"
-"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
-"       the working directory is updated to the requested changeset.\n"
-"\n"
-"    Use null as the changeset to remove the working directory (like 'hg\n"
-"    clone -U').\n"
-"\n"
-"    If you want to update just one file to an older changeset, use 'hg "
-"revert'.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"作業領域ã®æ›´æ–°\n"
-"\n"
-"    指定ã•ã‚ŒãŸãƒªãƒ“ジョン時点ã®å†…容ã§ã€ä½œæ¥­é ˜åŸŸã‚’æ›´æ–°ã—ã¾ã™ã€‚\n"
-"\n"
-"    リビジョン指定ãŒç„¡ã„å ´åˆã€ç¾è¡Œãƒ–ランãƒã®ãƒ˜ãƒƒãƒ‰ã«ã‚ˆã‚‹æ›´æ–°ã‚’試ã¿ã¾ã™ã€‚\n"
-"    ã“ã®ãƒ˜ãƒƒãƒ‰ãŒã€ä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンã®ç›´ç³»ã®å­å­«ã§ã‚ã‚Œã°ã€\n"
-"    作業領域ã®æ›´æ–°ãŒå®Ÿæ–½ã•ã‚Œã¾ã™ãŒã€ãれ以外ã®å ´åˆã¯æ›´æ–°ãŒä¸­æ–­ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    作業領域ã«æœªã‚³ãƒŸãƒƒãƒˆå¤‰æ›´ãŒã‚ã‚‹å ´åˆã€ä»¥ä¸‹ã®è¦å‰‡ãŒé©ç”¨ã•ã‚Œã¾ã™:\n"
-"\n"
+"       are preserved."
+msgstr ""
 "    1. -c/--check 㨠-C/--clean ã®ã„ãšã‚Œã‚‚指定ã•ã‚Œãšã€æŒ‡å®šãƒªãƒ“ジョンãŒ\n"
 "       作業領域ã®è¦ªãƒªãƒ“ジョンã«ã¨ã£ã¦ç›´ç³»ã®å…ˆç¥–ãªã„ã—å­å­«ã§ã‚ã£ãŸå ´åˆã€\n"
 "       未コミット変更ã®å†…容ã¯æŒ‡å®šãƒªãƒ“ジョンã¸ã¨ãƒžãƒ¼ã‚¸ã•ã‚Œã€\n"
 "       マージçµæžœã¯æœªã‚³ãƒŸãƒƒãƒˆã®ã¾ã¾ä½œæ¥­é ˜åŸŸã«æ®‹ã‚Šã¾ã™ã€‚\n"
 "       別ã®(åå‰ç„¡ã—)ブランãƒä¸Šã«ã‚るリビジョンãªã©ã€ç›´ç³»ã®å…ˆç¥–ï¼å­å­«\n"
-"       以外ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ›´æ–°ã¯ä¸­æ–­ã•ã‚Œã€æœªã‚³ãƒŸãƒƒãƒˆå¤‰æ›´ã¯æ®‹ã‚Šã¾ã™ã€‚\n"
-"\n"
+"       以外ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ›´æ–°ã¯ä¸­æ–­ã•ã‚Œã€æœªã‚³ãƒŸãƒƒãƒˆå¤‰æ›´ã¯æ®‹ã‚Šã¾ã™ã€‚"
+
+msgid ""
+"    2. With the -c/--check option, the update is aborted and the\n"
+"       uncommitted changes are preserved."
+msgstr ""
 "    2. -c/--check ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æ›´æ–°ã¯ä¸­æ–­ã•ã‚Œã€æœªã‚³ãƒŸãƒƒãƒˆå¤‰æ›´ã¯\n"
-"       残りã¾ã™ã€‚\n"
-"\n"
+"       残りã¾ã™ã€‚"
+
+msgid ""
+"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
+"       the working directory is updated to the requested changeset."
+msgstr ""
 "    3. -C/--clean ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€æœªã‚³ãƒŸãƒƒãƒˆå¤‰æ›´ã¯ç ´æ£„ã•ã‚Œã€\n"
-"       作業領域ã¯æŒ‡å®šã®ãƒªãƒ“ジョンã§æ›´æ–°ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"       作業領域ã¯æŒ‡å®šã®ãƒªãƒ“ジョンã§æ›´æ–°ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"    Use null as the changeset to remove the working directory (like 'hg\n"
+"    clone -U')."
+msgstr ""
 "    作業領域中ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã™ã‚‹å ´åˆã¯ã€ãƒªãƒ“ジョン㫠null を指定ã—ã¾ã™\n"
-"    ('hg clone -U' ã¨åŒç­‰)。\n"
-"\n"
-"    特定ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’以å‰ã®çŠ¶æ…‹ã«æˆ»ã™å ´åˆã¯ 'hg revert' を使用ã—ã¾ã™ã€‚\n"
-"\n"
-"    -d/--date ã¸ã®æŒ‡å®šã«é–¢ã—ã¦ã¯ã€'hg help dates' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"    "
+"    ('hg clone -U' ã¨åŒç­‰)。"
+
+msgid "    If you want to update just one file to an older changeset, use 'hg revert'."
+msgstr "    特定ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’以å‰ã®çŠ¶æ…‹ã«æˆ»ã™å ´åˆã¯ 'hg revert' を使用ã—ã¾ã™ã€‚"
 
 msgid "cannot specify both -c/--check and -C/--clean"
 msgstr "-c/--check 㨠-C/--clean ã¯ä½µç”¨ã§ãã¾ã›ã‚“"
@@ -7806,21 +8222,19 @@
 msgid "uncommitted local changes"
 msgstr "作業領域ã«æœªã‚³ãƒŸãƒƒãƒˆã®å¤‰æ›´ãŒã‚ã‚Šã¾ã™"
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr "リãƒã‚¸ãƒˆãƒªã®æ•´åˆæ€§æ¤œè¨¼"
+
+msgid "    Verify the integrity of the current repository."
+msgstr "    ç¾ãƒªãƒã‚¸ãƒˆãƒªã®æ•´åˆæ€§ã‚’検証ã—ã¾ã™ã€‚"
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
 "    integrity of their crosslinks and indices.\n"
 "    "
 msgstr ""
-"リãƒã‚¸ãƒˆãƒªã®æ•´åˆæ€§æ¤œè¨¼\n"
-"\n"
-"    ç¾ãƒªãƒã‚¸ãƒˆãƒªã®æ•´åˆæ€§ã‚’検証ã—ã¾ã™ã€‚\n"
-"\n"
 "    本コマンドã¯ã€ãƒªãƒã‚¸ãƒˆãƒªã®æ•´åˆæ€§ã«é–¢ã™ã‚‹åºƒç¯„ãªæ¤œè¨¼ã‚’è¡Œã„ã¾ã™ã€‚\n"
 "    変更記録・マニフェスト・å„構æˆç®¡ç†å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ã«ãŠã‘ã‚‹ãƒãƒƒã‚·ãƒ¥å€¤ãŠã‚ˆã³\n"
 "    ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã€ç›¸äº’関連付ã‘ãŠã‚ˆã³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ç­‰ã®æ•´åˆæ€§ãŒæ¤œè¨¼ã•ã‚Œã¾ã™ã€‚\n"
@@ -8240,9 +8654,7 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr "[-nibt] [-r REV] [SOURCE]"
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
 msgstr "パスè¦ç´ é™¤åŽ»æ•°(patch コマンドã®åŒåオプションã¨åŒæ©Ÿèƒ½)"
 
 msgid "base path"
@@ -8712,9 +9124,7 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr "--cwd 指定値ãŒæœªè§£æžã®å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™!"
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
 msgstr "-R ã¯ç‹¬ç«‹è¨˜è¿°(例: '-dR' ã¯ä¸å¯)ã€--repository ã®ç•¥è¨˜ã¯ --repo ã®ã¿"
 
 #, python-format
@@ -8732,12 +9142,8 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr "ä¸æ­£ãªãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ '%s' を無視ã—ã¾ã™\n"
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
-msgstr ""
-"lsprof ãŒåˆ©ç”¨ã§ãã¾ã›ã‚“ - http://codespeak.net/svn/user/arigo/hack/misc/"
-"lsprof/ ã‹ã‚‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
+msgstr "lsprof ãŒåˆ©ç”¨ã§ãã¾ã›ã‚“ - http://codespeak.net/svn/user/arigo/hack/misc/lsprof/ ã‹ã‚‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„"
 
 #, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
@@ -8846,10 +9252,15 @@
 
 msgid ""
 "Mercurial reads configuration data from several files, if they exist.\n"
-"Below we list the most specific file first.\n"
-"\n"
-"On Windows, these configuration files are read:\n"
-"\n"
+"Below we list the most specific file first."
+msgstr ""
+"Mercurial ã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’複数ã®å ´æ‰€ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n"
+"優先度順ã«èª­ã¿è¾¼ã¿ä½ç½®ã‚’並ã¹ãŸã‚‚ã®ã‚’以下ã«ç¤ºã—ã¾ã™ã€‚"
+
+msgid "On Windows, these configuration files are read:"
+msgstr "Windows 環境ã§ã¯ä»¥ä¸‹ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ãŒèª­ã¿è¾¼ã¾ã‚Œã¾ã™:"
+
+msgid ""
 "- ``<repo>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -8857,37 +9268,8 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<install-dir>\\Mercurial.ini``\n"
-"\n"
-"On Unix, these files are read:\n"
-"\n"
-"- ``<repo>/.hg/hgrc``\n"
-"- ``$HOME/.hgrc``\n"
-"- ``/etc/mercurial/hgrc``\n"
-"- ``/etc/mercurial/hgrc.d/*.rc``\n"
-"- ``<install-root>/etc/mercurial/hgrc``\n"
-"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
-"The configuration files for Mercurial use a simple ini-file format. A\n"
-"configuration file consists of sections, led by a ``[section]`` header\n"
-"and followed by ``name = value`` entries::\n"
-"\n"
-"  [ui]\n"
-"  username = Firstname Lastname <firstname.lastname@example.net>\n"
-"  verbose = True\n"
-"\n"
-"This above entries will be referred to as ``ui.username`` and\n"
-"``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
-"description of the possible configuration values:\n"
-"\n"
-"- on Unix-like systems: ``man hgrc``\n"
-"- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
-msgstr ""
-"Mercurial ã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’複数ã®å ´æ‰€ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n"
-"優先度順ã«èª­ã¿è¾¼ã¿ä½ç½®ã‚’並ã¹ãŸã‚‚ã®ã‚’以下ã«ç¤ºã—ã¾ã™ã€‚\n"
-"\n"
-"Windows 環境ã§ã¯ä»¥ä¸‹ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ãŒèª­ã¿è¾¼ã¾ã‚Œã¾ã™:\n"
-"\n"
+"- ``<install-dir>\\Mercurial.ini``"
+msgstr ""
 "- ``<リãƒã‚¸ãƒˆãƒª>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -8895,40 +9277,74 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<インストール先>\\Mercurial.ini``\n"
-"\n"
-"Unix 環境ã§ã¯ä»¥ä¸‹ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ãŒèª­ã¿è¾¼ã¾ã‚Œã¾ã™:\n"
-"\n"
+"- ``<インストール先>\\Mercurial.ini``"
+
+msgid "On Unix, these files are read:"
+msgstr "Unix 環境ã§ã¯ä»¥ä¸‹ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ãŒèª­ã¿è¾¼ã¾ã‚Œã¾ã™:"
+
+msgid ""
+"- ``<repo>/.hg/hgrc``\n"
+"- ``$HOME/.hgrc``\n"
+"- ``/etc/mercurial/hgrc``\n"
+"- ``/etc/mercurial/hgrc.d/*.rc``\n"
+"- ``<install-root>/etc/mercurial/hgrc``\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+msgstr ""
 "- ``<リãƒã‚¸ãƒˆãƒª>/.hg/hgrc``\n"
 "- ``$HOME/.hgrc``\n"
 "- ``/etc/mercurial/hgrc``\n"
 "- ``/etc/mercurial/hgrc.d/*.rc``\n"
 "- ``<インストール先>/etc/mercurial/hgrc``\n"
-"- ``<インストール先>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
+"- ``<インストール先>/etc/mercurial/hgrc.d/*.rc``"
+
+msgid ""
+"The configuration files for Mercurial use a simple ini-file format. A\n"
+"configuration file consists of sections, led by a ``[section]`` header\n"
+"and followed by ``name = value`` entries::"
+msgstr ""
 "Mercurial ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€ã„ã‚ゆる ini ファイル形å¼ã§è¨˜è¿°ã•ã‚Œã¾ã™ã€‚\n"
 "設定ファイルã¯ã€``[セクションå]`` å½¢å¼ã®ãƒ˜ãƒƒãƒ€ã‹ã‚‰å§‹ã¾ã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‹ã‚‰\n"
-"構æˆã•ã‚Œã€``åå‰ = 値`` å½¢å¼ã®è¦ç´ ãŒåˆ—挙ã•ã‚Œã¾ã™::\n"
-"\n"
+"構æˆã•ã‚Œã€``åå‰ = 値`` å½¢å¼ã®è¦ç´ ãŒåˆ—挙ã•ã‚Œã¾ã™::"
+
+msgid ""
 "  [ui]\n"
 "  username = Firstname Lastname <firstname.lastname@example.net>\n"
-"  verbose = True\n"
-"\n"
+"  verbose = True"
+msgstr ""
+"  [ui]\n"
+"  username = Firstname Lastname <firstname.lastname@example.net>\n"
+"  verbose = True"
+
+msgid ""
+"This above entries will be referred to as ``ui.username`` and\n"
+"``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
+"description of the possible configuration values:"
+msgstr ""
 "上記è¦ç´ ã¯ãã‚Œãžã‚Œã€``ui.username`` ãŠã‚ˆã³ ``ui.verbose`` ã¨ã—ã¦\n"
 "å‚ç…§ã•ã‚Œã¾ã™ã€‚設定ファイルã§æŒ‡å®šå¯èƒ½ãªå€¤ã®è©³ç´°ã«é–¢ã—ã¦ã¯ã€\n"
-"hgrc ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãƒšãƒ¼ã‚¸ã‚’å‚ç…§ã—ã¦ãã ã•ã„:\n"
-"\n"
+"hgrc ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãƒšãƒ¼ã‚¸ã‚’å‚ç…§ã—ã¦ãã ã•ã„:"
+
+msgid ""
+"- on Unix-like systems: ``man hgrc``\n"
+"- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
+msgstr ""
 "- Unix 系システム: ``man hgrc``\n"
 "- オンライン版: http://www.selenic.com/mercurial/hgrc.5.html\n"
 
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr "以下ã®ã‚³ãƒžãƒ³ãƒ‰ã§æ—¥æ™‚指定ãŒå¯èƒ½ã§ã™:"
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples:\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+"- backout, commit, import, tag: コミット日時ã®æŒ‡å®š\n"
+"- log, revert, update: 日時ã«ã‚ˆã‚‹ãƒªãƒ“ジョンã®æŒ‡å®š"
+
+msgid "Many date formats are valid. Here are some examples:"
+msgstr "有効ãªæ—¥æ™‚指定形å¼ã¯æ²¢å±±ã‚ã‚Šã¾ã™ã€‚以下ã«ã„ãã¤ã‹ã®ä¾‹ã‚’示ã—ã¾ã™:"
+
+msgid ""
 "- ``Wed Dec 6 13:18:29 2006`` (local timezone assumed)\n"
 "- ``Dec 6 13:18 -0600`` (year assumed, time offset provided)\n"
 "- ``Dec 6 13:18 UTC`` (UTC and GMT are aliases for +0000)\n"
@@ -8941,31 +9357,8 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format:\n"
-"\n"
-"- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
-"This is the internal representation format for dates. unixtime is the\n"
-"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
-"the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges:\n"
-"\n"
-"- ``<{datetime}`` - at or before a given date/time\n"
-"- ``>{datetime}`` - on or after a given date/time\n"
-"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
-"- ``-{days}`` - within a given number of days of today\n"
-msgstr ""
-"以下ã®ã‚³ãƒžãƒ³ãƒ‰ã§æ—¥æ™‚指定ãŒå¯èƒ½ã§ã™:\n"
-"\n"
-"- backout, commit, import, tag: コミット日時ã®æŒ‡å®š\n"
-"- log, revert, update: 日時ã«ã‚ˆã‚‹ãƒªãƒ“ジョンã®æŒ‡å®š\n"
-"\n"
-"有効ãªæ—¥æ™‚指定形å¼ã¯æ²¢å±±ã‚ã‚Šã¾ã™ã€‚以下ã«ã„ãã¤ã‹ã®ä¾‹ã‚’示ã—ã¾ã™:\n"
-"\n"
+"- ``12/6/6`` (Dec 6 2006)"
+msgstr ""
 "- ``Wed Dec 6 13:18:29 2006`` (「ローカルタイムゾーンã€ã‚’想定)\n"
 "- ``Dec 6 13:18 -0600`` (「今年ã€ã‚’想定ã€ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ã¯ã‚ªãƒ•ã‚»ãƒƒãƒˆæŒ‡å®š)\n"
 "- ``Dec 6 13:18 UTC`` (UTC ãŠã‚ˆã³ GMT 㯠+0000 ã®åˆ¥å)\n"
@@ -8978,18 +9371,33 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (2006年12月6日)\n"
-"\n"
-"最後ã«ã€Mercurial 固有ã®å†…部形å¼ã‚’示ã—ã¾ã™:\n"
-"\n"
-"- ``1165432709 0`` (2006年12月6日 13:18:29 UTC)\n"
-"\n"
+"- ``12/6/6`` (2006年12月6日)"
+
+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 ""
+"This is the internal representation format for dates. unixtime is the\n"
+"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
+"the offset of the local timezone, in seconds west of UTC (negative if\n"
+"the timezone is east of UTC)."
+msgstr ""
 "ã“ã‚Œã¯æ—¥æ™‚ã®å†…部表ç¾å½¢å¼ã§ã™ã€‚基点ã¨ãªã‚‹ 1970å¹´1月1æ—¥ 00:00 UTC ã‹ã‚‰ã®\n"
 "経éŽç§’数を表㙠unixtime å½¢å¼éƒ¨åˆ†ã¨ã€ãƒ­ãƒ¼ã‚«ãƒ«ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆå€¤\n"
-"(UTC よりもæ±å´ã®åœ°åŸŸã¯è² å€¤)を表ã™ã‚ªãƒ•ã‚»ãƒƒãƒˆéƒ¨åˆ†ã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„ã¾ã™ã€‚\n"
-"\n"
-"log コマンドã«ã¯ã€æ—¥æ™‚範囲指定å¯èƒ½ã§ã™:\n"
-"\n"
+"(UTC よりもæ±å´ã®åœ°åŸŸã¯è² å€¤)を表ã™ã‚ªãƒ•ã‚»ãƒƒãƒˆéƒ¨åˆ†ã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„ã¾ã™ã€‚"
+
+msgid "The log command also accepts date ranges:"
+msgstr "log コマンドã«ã¯ã€æ—¥æ™‚範囲指定å¯èƒ½ã§ã™:"
+
+msgid ""
+"- ``<{datetime}`` - at or before a given date/time\n"
+"- ``>{datetime}`` - on or after a given date/time\n"
+"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
+"- ``-{days}`` - within a given number of days of today\n"
+msgstr ""
 "- ``<{datetime}`` - 指定日時以å‰(指定日時å«ã‚€)\n"
 "- ``>{datetime}`` - 指定日時以後(指定日時å«ã‚€)\n"
 "- ``{datetime} to {datetime}`` - 指定日時範囲(指定日時å«ã‚€)\n"
@@ -8998,57 +9406,61 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+"無指定時㫠Mercurial ãŒ2ã¤ã®ãƒªãƒ“ジョンを比較ã—ã¦å·®åˆ†è¡¨ç¤ºã™ã‚‹éš›ã®å½¢å¼ã¯\n"
+"GNU diff ã® unified å½¢å¼äº’æ›ã®ã‚‚ã®ã§ã€GNU patch ã‚’ã¯ã˜ã‚ã¨ã™ã‚‹å¤šãã®\n"
+"標準的ãªãƒ„ールã§ä½¿ç”¨ã§ãã‚‹ã‚‚ã®ã§ã™ã€‚"
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr "ã“ã®æ¨™æº–çš„ãªå½¢å¼ã¯æ¦‚ã­å分ãªã®ã§ã™ãŒã€ä»¥ä¸‹ã®ã‚ˆã†ãªæƒ…å ±ã¯å«ã¾ã‚Œã¾ã›ã‚“:"
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+"- 実行å¯å¦ãŠã‚ˆã³æ¨©é™è¨­å®š\n"
+"- 複製ï¼æ”¹å情報\n"
+"- ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´\n"
+"- 空ファイルã®ä½œæˆï¼å‰Šé™¤"
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+"Mercurial ã¯ã€åˆ¥ã®æ§‹æˆç®¡ç†ãƒ„ールã§ã‚ã‚‹ git ã«ç”±æ¥ã™ã‚‹æ‹¡å¼µå·®åˆ†å½¢å¼ã«ã‚‚\n"
+"対応ã—ã¦ãŠã‚Šã€ã“ã®å½¢å¼ã¯å¾“æ¥ã®å·®åˆ†å½¢å¼ã®æŒã¤åˆ¶é™ã‚’解消ã—ã¦ã„ã¾ã™ã€‚\n"
+"但ã—ã€æ™®åŠã—ã¦ã„るツールã®å¹¾ã¤ã‹ãŒ git 差分形å¼ã«å¯¾å¿œã—ã¦ã„ãªã„ãŸã‚ã€\n"
+"Mercurial ã¯æŒ‡å®šãŒç„¡ã„å ´åˆã¯ã“ã®å½¢å¼ã§ã¯å‡ºåŠ›ã—ã¾ã›ã‚“。"
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
-"To make Mercurial produce the git extended diff format, use the --git\n"
-"option available for many commands, or set 'git = True' in the [diff]\n"
-"section of your hgrc. You do not need to set this option when\n"
-"importing diffs in this format or using them in the mq extension.\n"
-msgstr ""
-"無指定時㫠Mercurial ãŒ2ã¤ã®ãƒªãƒ“ジョンを比較ã—ã¦å·®åˆ†è¡¨ç¤ºã™ã‚‹éš›ã®å½¢å¼ã¯\n"
-"GNU diff ã® unified å½¢å¼äº’æ›ã®ã‚‚ã®ã§ã€GNU patch ã‚’ã¯ã˜ã‚ã¨ã™ã‚‹å¤šãã®\n"
-"標準的ãªãƒ„ールã§ä½¿ç”¨ã§ãã‚‹ã‚‚ã®ã§ã™ã€‚\n"
-"\n"
-"ã“ã®æ¨™æº–çš„ãªå½¢å¼ã¯æ¦‚ã­å分ãªã®ã§ã™ãŒã€ä»¥ä¸‹ã®ã‚ˆã†ãªæƒ…å ±ã¯å«ã¾ã‚Œã¾ã›ã‚“:\n"
-"\n"
-"- 実行å¯å¦ãŠã‚ˆã³æ¨©é™è¨­å®š\n"
-"- 複製ï¼æ”¹å情報\n"
-"- ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´\n"
-"- 空ファイルã®ä½œæˆï¼å‰Šé™¤\n"
-"\n"
-"Mercurial ã¯ã€åˆ¥ã®æ§‹æˆç®¡ç†ãƒ„ールã§ã‚ã‚‹ git ã«ç”±æ¥ã™ã‚‹æ‹¡å¼µå·®åˆ†å½¢å¼ã«ã‚‚\n"
-"対応ã—ã¦ãŠã‚Šã€ã“ã®å½¢å¼ã¯å¾“æ¥ã®å·®åˆ†å½¢å¼ã®æŒã¤åˆ¶é™ã‚’解消ã—ã¦ã„ã¾ã™ã€‚\n"
-"但ã—ã€æ™®åŠã—ã¦ã„るツールã®å¹¾ã¤ã‹ãŒ git 差分形å¼ã«å¯¾å¿œã—ã¦ã„ãªã„ãŸã‚ã€\n"
-"Mercurial ã¯æŒ‡å®šãŒç„¡ã„å ´åˆã¯ã“ã®å½¢å¼ã§ã¯å‡ºåŠ›ã—ã¾ã›ã‚“。\n"
-"\n"
+"format for communicating changes."
+msgstr ""
 "ã¤ã¾ã‚Šã€Mercurial ãŒ(\"hg export\" ç­‰ã§)生æˆã—ãŸæ¨™æº–ã®å·®åˆ†å½¢å¼ã¯ã€\n"
 "ä»–ã®ãƒªãƒã‚¸ãƒˆãƒªã«å¯¾ã—ã¦é©ç”¨ã—ãŸå ´åˆã€ä¸Šè¿°ã—ãŸæƒ…å ±ã®æ¬ è½ãŒã‚ã‚‹ã“ã¨ã‹ã‚‰ã€\n"
 "ファイルã®è¤‡è£½ãƒ»æ”¹åã‚’ã¯ã˜ã‚ã¨ã™ã‚‹ä¸Šè¨˜ã®åˆ¶é™ã«é¡žã™ã‚‹æ“作ã«é–¢ã—ã¦ã¯ã€\n"
 "å分注æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚push ã‚„ pull ã®ã‚ˆã†ã«ã€Mercurial ã®\n"
 "内部形å¼ã§å®Ÿæ–½ã•ã‚Œã‚‹æ“作ã«é–¢ã—ã¦ã¯ã€ãƒã‚¤ãƒŠãƒªå½¢å¼ã§å¤‰æ›´æƒ…å ±ã®æŽˆå—ã‚’è¡Œã†\n"
-"ã“ã¨ã‹ã‚‰ã€æƒ…å ±ã®æ¬ è½ã«é–¢ã—ã¦ã¯å¿ƒé…ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。\n"
-"\n"
+"ã“ã¨ã‹ã‚‰ã€æƒ…å ±ã®æ¬ è½ã«é–¢ã—ã¦ã¯å¿ƒé…ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。"
+
+msgid ""
+"To make Mercurial produce the git extended diff format, use the --git\n"
+"option available for many commands, or set 'git = True' in the [diff]\n"
+"section of your hgrc. You do not need to set this option when\n"
+"importing diffs in this format or using them in the mq extension.\n"
+msgstr ""
 "Mercurial ã‹ã‚‰ git 拡張差分形å¼ã®å‡ºåŠ›ã‚’å¾—ã‚‹ã«ã¯ã€å—ç†å¯èƒ½ãªã‚³ãƒžãƒ³ãƒ‰ã«\n"
 "対ã—㦠--git を指定ã™ã‚‹ã‹ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã® [diff] セクションã«\n"
 "'git = True' 記述を追加ã—ã¦ãã ã•ã„。hg import ã‚„ mq エクステンションを\n"
@@ -9060,107 +9472,48 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+"HG\n"
+"    'hg' コマンドã¸ã®ãƒ‘ス。フックï¼ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ãªã„ã—外部ツールã®èµ·å‹•ã®\n"
+"    éš›ã«è‡ªå‹•çš„ã«è¨­å®šã•ã‚Œã¾ã™ã€‚未設定や空ã®å ´åˆã¯ã€frozen å½¢å¼ã®\n"
+"    hg 実行å¯èƒ½ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã‹è¨­å®šã•ã‚Œã‚‹ã‹ã€'hg' ã¨ã„ã†åå‰ã®å®Ÿè¡Œå¯èƒ½\n"
+"    ファイルãŒæ¤œç´¢ã•ã‚Œã¾ã™(Windows ã®å ´åˆã€PATHEXT 環境変数ã«è¨­å®šã•ã‚ŒãŸ\n"
+"    COM/EXE/BAT/CMD ç­‰ã®æ‹¡å¼µå­ä»˜ã)。"
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+"HGEDITOR\n"
+"    コミットã®éš›ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸å…¥åŠ›ã‚’è¡Œã†ãŸã‚ã®ã‚¨ãƒ‡ã‚£ã‚¿ã®åå‰ã€‚EDITOR 環境変数\n"
+"    ã«ã¤ã„ã¦ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid "    (deprecated, use .hgrc)"
+msgstr "    (推奨ã•ã‚Œãªã„環境変数。設定ファイル経由ã§æŒ‡å®šã—ã¦ãã ã•ã„。)"
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+"HGENCODING\n"
+"    Mercurial ã«ã‚ˆã‚‹ãƒ­ã‚±ãƒ¼ãƒ«è‡ªå‹•æ¤œå‡ºã®ä¸Šæ›¸ã。ã“ã®è¨­å®šã¯ã€ãƒ¦ãƒ¼ã‚¶åã€\n"
+"    コミットメッセージã€ã‚¿ã‚°åãŠã‚ˆã³ãƒ–ランãƒåを内部データ形å¼ã«å¤‰æ›ã™ã‚‹\n"
+"    éš›ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã®ç’°å¢ƒå¤‰æ•°è¨­å®šã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã§ã® --encoding\n"
+"    使用ã«ã‚ˆã‚Šã€æ›´ã«ä¸Šæ›¸ãã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚"
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
-"HGMERGE\n"
-"    An executable to use for resolving merge conflicts. The program\n"
-"    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"HGRCPATH\n"
-"    A list of files or directories to search for hgrc files. Item\n"
-"    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
-"    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
-"    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
-"HGPLAIN\n"
-"    When set, this disables any options in .hgrc that might change\n"
-"    Mercurial's default output. This includes encoding, defaults,\n"
-"    verbose mode, debug mode, quiet mode, tracebacks, and\n"
-"    localization. This can be useful when scripting against Mercurial\n"
-"    in the face of existing user configuration.\n"
-"\n"
-"    Equivalent options set via command line flags or environment\n"
-"    variables are not overridden.\n"
-"\n"
-"HGUSER\n"
-"    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
-"    - HGUSER (deprecated)\n"
-"    - hgrc files from the HGRCPATH\n"
-"    - EMAIL\n"
-"    - interactive prompt\n"
-"    - LOGNAME (with ``@hostname`` appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
-"LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
-"VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
-"EDITOR\n"
-"    Sometimes Mercurial needs to open a text file in an editor for a\n"
-"    user to modify, for example when writing commit messages. The\n"
-"    editor it uses is determined by looking at the environment\n"
-"    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
-"    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
-"PYTHONPATH\n"
-"    This is used by Python to find imported modules and may need to be\n"
-"    set appropriately if this Mercurial is not installed system-wide.\n"
-msgstr ""
-"HG\n"
-"    'hg' コマンドã¸ã®ãƒ‘ス。フックï¼ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ãªã„ã—外部ツールã®èµ·å‹•ã®\n"
-"    éš›ã«è‡ªå‹•çš„ã«è¨­å®šã•ã‚Œã¾ã™ã€‚未設定や空ã®å ´åˆã¯ã€frozen å½¢å¼ã®\n"
-"    hg 実行å¯èƒ½ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã‹è¨­å®šã•ã‚Œã‚‹ã‹ã€'hg' ã¨ã„ã†åå‰ã®å®Ÿè¡Œå¯èƒ½\n"
-"    ファイルãŒæ¤œç´¢ã•ã‚Œã¾ã™(Windows ã®å ´åˆã€PATHEXT 環境変数ã«è¨­å®šã•ã‚ŒãŸ\n"
-"    COM/EXE/BAT/CMD ç­‰ã®æ‹¡å¼µå­ä»˜ã)。\n"
-"\n"
-"HGEDITOR\n"
-"    コミットã®éš›ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸å…¥åŠ›ã‚’è¡Œã†ãŸã‚ã®ã‚¨ãƒ‡ã‚£ã‚¿ã®åå‰ã€‚EDITOR 環境変数\n"
-"    ã«ã¤ã„ã¦ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
-"    (推奨ã•ã‚Œãªã„環境変数。設定ファイル経由ã§æŒ‡å®šã—ã¦ãã ã•ã„。)\n"
-"\n"
-"HGENCODING\n"
-"    Mercurial ã«ã‚ˆã‚‹ãƒ­ã‚±ãƒ¼ãƒ«è‡ªå‹•æ¤œå‡ºã®ä¸Šæ›¸ã。ã“ã®è¨­å®šã¯ã€ãƒ¦ãƒ¼ã‚¶åã€\n"
-"    コミットメッセージã€ã‚¿ã‚°åãŠã‚ˆã³ãƒ–ランãƒåを内部データ形å¼ã«å¤‰æ›ã™ã‚‹\n"
-"    éš›ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã®ç’°å¢ƒå¤‰æ•°è¨­å®šã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã§ã® --encoding\n"
-"    使用ã«ã‚ˆã‚Šã€æ›´ã«ä¸Šæ›¸ãã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
 "HGENCODINGMODE\n"
 "    ユーザã‹ã‚‰ã®æŒ‡å®šå€¤ã‚’内部データ形å¼ã«å¤‰æ›ã™ã‚‹éš›ã«ã€æŒ‡å®šã®ç¬¦å·åŒ–ã¨\n"
 "    åˆè‡´ã—ãªã„文字ãŒæ¤œå‡ºã•ã‚ŒãŸå ´åˆã® Mercurial ã®æŒ™å‹•ã®æŒ‡å®šã€‚無指定時ã¯ã€\n"
@@ -9168,68 +9521,132 @@
 "    ã•ã‚ŒãŸã‚‚ã®ã¨ã¿ãªã—ã¾ã™ã€‚ä»–ã«ã¯ã€ã€ŒæœªçŸ¥ã®æ–‡å­—ã®ç½®ãæ›ãˆã€ã‚’æ„味ã™ã‚‹\n"
 "    \"replace\" ã¨ã€ã€ŒæœªçŸ¥ã®æ–‡å­—ã®åˆ‡ã‚Šæ¨ã¦ã€ã‚’æ„味ã™ã‚‹ \"ignore\" ãŒæŒ‡å®š\n"
 "    出æ¥ã¾ã™ã€‚ã“ã®ç’°å¢ƒå¤‰æ•°è¨­å®šã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã§ã® --encodingmode\n"
-"    使用ã«ã‚ˆã‚Šã€æ›´ã«ä¸Šæ›¸ãã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚\n"
-"\n"
+"    使用ã«ã‚ˆã‚Šã€æ›´ã«ä¸Šæ›¸ãã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚"
+
+msgid ""
+"HGMERGE\n"
+"    An executable to use for resolving merge conflicts. The program\n"
+"    will be executed with three arguments: local file, remote file,\n"
+"    ancestor file."
+msgstr ""
 "HGMERGE\n"
 "    マージã®éš›ã®è¡çªè§£æ¶ˆã«ä½¿ç”¨ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã€‚指定ã•ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ã®èµ·å‹•ã«ã¯ã€\n"
 "    作業領域ã®ãƒ•ã‚¡ã‚¤ãƒ«ã€ãƒžãƒ¼ã‚¸å¯¾è±¡åˆ¥ãƒªãƒ“ジョンã®ãƒ•ã‚¡ã‚¤ãƒ«ã€\n"
-"    両者ã®è¦ªãƒªãƒ“ジョンã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’表ã™3ã¤ã®å¼•æ•°ãŒæŒ‡å®šã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    (推奨ã•ã‚Œãªã„環境変数。設定ファイル経由ã§æŒ‡å®šã—ã¦ãã ã•ã„)\n"
-"\n"
+"    両者ã®è¦ªãƒªãƒ“ジョンã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’表ã™3ã¤ã®å¼•æ•°ãŒæŒ‡å®šã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"HGRCPATH\n"
+"    A list of files or directories to search for hgrc files. Item\n"
+"    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
+"    platform default search path is used. If empty, only the .hg/hgrc\n"
+"    from the current repository is read."
+msgstr ""
 "HGRCPATH\n"
 "    設定ファイル読込ã®ãŸã‚ã®ã€ãƒ•ã‚¡ã‚¤ãƒ«ãªã„ã—ディレクトリã®ä¸€è¦§ã®æŒ‡å®šã€‚\n"
 "    一覧è¦ç´ ã®åŒºåˆ‡ã‚Šè¨˜å·ã¯ã€Unix ãªã‚‰ \":\"ã€WIndows ãªã‚‰ \";\" ã§ã™ã€‚\n"
 "    HGRCPATH 環境変数ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„å ´åˆã€å„稼åƒç’°å¢ƒã«å¿œã˜ãŸ\n"
 "    読ã¿è¾¼ã¿å…ˆã‹ã‚‰èª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚空ã®å€¤ãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€\n"
-"    ç¾ãƒªãƒã‚¸ãƒˆãƒªã® .hg/hgrc ã®ã¿ãŒèª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚\n"
-"\n"
-"    指定ã•ã‚ŒãŸä¸€è¦§ã®å„è¦ç´ ã«å¯¾ã—ã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ã«æŒ¯èˆžã„ã¾ã™:\n"
-"\n"
+"    ç¾ãƒªãƒã‚¸ãƒˆãƒªã® .hg/hgrc ã®ã¿ãŒèª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚"
+
+msgid "    For each element in HGRCPATH:"
+msgstr "    指定ã•ã‚ŒãŸä¸€è¦§ã®å„è¦ç´ ã«å¯¾ã—ã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ã«æŒ¯èˆžã„ã¾ã™:"
+
+msgid ""
+"    - if it's a directory, all files ending with .rc are added\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
 "    - ディレクトリãªã‚‰ã€é…下㮠\".rc\" ã§çµ‚ã‚ã‚‹åå‰ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€\n"
-"    - ファイルãªã‚‰ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«è‡ªèº«ã‚’読ã¿è¾¼ã‚€\n"
-"\n"
+"    - ファイルãªã‚‰ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«è‡ªèº«ã‚’読ã¿è¾¼ã‚€"
+
+msgid ""
+"HGPLAIN\n"
+"    When set, this disables any options in .hgrc that might change\n"
+"    Mercurial's default output. This includes encoding, defaults,\n"
+"    verbose mode, debug mode, quiet mode, tracebacks, and\n"
+"    localization. This can be useful when scripting against Mercurial\n"
+"    in the face of existing user configuration."
+msgstr ""
 "HGPLAIN\n"
 "    ã“ã®ç’°å¢ƒå¤‰æ•°ãŒè¨­å®šã•ã‚ŒãŸå ´åˆã€Mercurial ã®è¡¨ç¤ºè¨­å®šã‚’変更ã—å¾—ã‚‹\n"
 "    .hgrc 中ã®è¨˜è¿°ãŒå…¨ã¦ç„¡è¦–ã•ã‚Œã¾ã™ã€‚encoding ã‚„ defaults ã®æŒ‡å®šã€\n"
 "    verbose モードã€debug モードã€quiet モードã€tracebacks ã‚„å„国語設定ãŒ\n"
 "    対象ã¨ãªã‚Šã¾ã™ã€‚ユーザ設定を温存ã—ãŸã¾ã¾ã§ã€ãƒ„ール等ã‹ã‚‰ Mercurial ã‚’\n"
-"    使用ã™ã‚‹å ´åˆã«æœ‰ç”¨ã§ã™ã€‚\n"
-"\n"
+"    使用ã™ã‚‹å ´åˆã«æœ‰ç”¨ã§ã™ã€‚"
+
+msgid ""
+"    Equivalent options set via command line flags or environment\n"
+"    variables are not overridden."
+msgstr ""
 "    コマンドラインや環境変数ã«ã‚ˆã£ã¦åŒç­‰ã®ã‚ªãƒ—ションãŒæ˜Žç¤ºçš„ã«æŒ‡å®šã•ã‚ŒãŸ\n"
-"    å ´åˆã«ã¯ã€ã“ららã¯ç„¡è¦–ã•ã‚Œã¾ã›ã‚“。\n"
-"\n"
+"    å ´åˆã«ã¯ã€ã“ららã¯ç„¡è¦–ã•ã‚Œã¾ã›ã‚“。"
+
+msgid ""
+"HGUSER\n"
+"    This is the string used as the author of a commit. If not set,\n"
+"    available values will be considered in this order:"
+msgstr ""
 "HGUSER\n"
 "    ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆä½œæˆè€…ã¨ã—ã¦ã‚³ãƒŸãƒƒãƒˆæ™‚ã«è¨˜éŒ²ã™ã‚‹åå‰ã®æŒ‡å®šã€‚\n"
-"    作æˆè€…åã¨ã—ã¦æŽ¡ç”¨ã•ã‚Œã‚‹å€¤ã®æ±ºå®šé †åºã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™:\n"
-"\n"
+"    作æˆè€…åã¨ã—ã¦æŽ¡ç”¨ã•ã‚Œã‚‹å€¤ã®æ±ºå®šé †åºã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™:"
+
+msgid ""
+"    - HGUSER (deprecated)\n"
+"    - hgrc files from the HGRCPATH\n"
+"    - EMAIL\n"
+"    - interactive prompt\n"
+"    - LOGNAME (with ``@hostname`` appended)"
+msgstr ""
 "    - HGUSER 環境変数値(推奨ã•ã‚Œã¾ã›ã‚“)\n"
 "    - (HGRCPATH 環境変数ã§æŒ‡å®šã•ã‚Œã‚‹)設定ファイル中ã®è¨­å®š\n"
 "    - EMAIL 環境変数値\n"
 "    - 対話的ãªå…¥åŠ›\n"
-"    - LOGNAME 環境変数値(``@hostname`` ãŒä»˜ä¸Žã•ã‚Œã¾ã™)\n"
-"\n"
-"    (推奨ã•ã‚Œãªã„環境変数。設定ファイル経由ã§æŒ‡å®šã—ã¦ãã ã•ã„)\n"
-"\n"
+"    - LOGNAME 環境変数値(``@hostname`` ãŒä»˜ä¸Žã•ã‚Œã¾ã™)"
+
+msgid ""
+"EMAIL\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
 "EMAIL\n"
 "    ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆä½œæˆè€…ã¨ã—ã¦ã“ã®ç’°å¢ƒå¤‰æ•°å€¤ãŒè¨˜éŒ²ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚\n"
-"    詳細㯠HGUSER ã®è¨˜è¿°ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"    詳細㯠HGUSER ã®è¨˜è¿°ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
+"LOGNAME\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
 "LOGNAME\n"
 "    ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆä½œæˆè€…ã¨ã—ã¦ã“ã®ç’°å¢ƒå¤‰æ•°å€¤ãŒè¨˜éŒ²ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚\n"
-"    詳細㯠HGUSER ã®è¨˜è¿°ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"    詳細㯠HGUSER ã®è¨˜è¿°ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
+"VISUAL\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
 "VISUAL\n"
 "    コミット時ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’編集ã™ã‚‹ã‚¨ãƒ‡ã‚£ã‚¿åã®æŒ‡å®šã€‚EDITOR 環境変数\n"
-"    ã«ã¤ã„ã¦ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"    ã«ã¤ã„ã¦ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
+"EDITOR\n"
+"    Sometimes Mercurial needs to open a text file in an editor for a\n"
+"    user to modify, for example when writing commit messages. The\n"
+"    editor it uses is determined by looking at the environment\n"
+"    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
+"    non-empty one is chosen. If all of them are empty, the editor\n"
+"    defaults to 'vi'."
+msgstr ""
 "EDITOR\n"
 "    コミット時ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ã‚ˆã†ã«ã€ã‚¨ãƒ‡ã‚£ã‚¿ã§ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ãã€ãƒ¦ãƒ¼ã‚¶ã«ã‚ˆã‚‹\n"
 "    編集を促ã™çŠ¶æ³ãŒã‚ã‚Šã¾ã™ã€‚ãã“ã§ä½¿ç”¨ã•ã‚Œã‚‹ã‚¨ãƒ‡ã‚£ã‚¿ã¯ã€HGEDITORã€VISUAL\n"
 "    ã‚ã‚‹ã„㯠EDITOR 環境変数ã«è¨­å®šã•ã‚ŒãŸã‚‚ã®ã‚’(ã“ã®é †åºã§)使用ã—ã¾ã™ã€‚\n"
 "    最åˆã®ç©ºã§ç„¡ã„値ã«è¨­å®šã•ã‚ŒãŸç’°å¢ƒå¤‰æ•°ã®å€¤ã‚’使用ã—ã¾ã™ã€‚ã„ãšã‚Œã‚‚未設定\n"
-"    (ã‚ã‚‹ã„ã¯ç©º)ã®å ´åˆã¯ã€'vi' ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"    (ã‚ã‚‹ã„ã¯ç©º)ã®å ´åˆã¯ã€'vi' ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"PYTHONPATH\n"
+"    This is used by Python to find imported modules and may need to be\n"
+"    set appropriately if this Mercurial is not installed system-wide.\n"
+msgstr ""
 "PYTHONPATH\n"
 "    Mercurial ãŒå½“該システムã®å…±æœ‰é ˜åŸŸã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ãªã„å ´åˆã€\n"
 "    Python ãŒå¿…è¦ãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’読ã¿è¾¼ã‚€ãŸã‚ã«ã¯ã€ã“ã®ç’°å¢ƒå¤‰æ•°ã®è¨­å®šãŒ\n"
@@ -9239,64 +9656,69 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+"Mercurial ã«ã¯ã€æ–°è¦æ©Ÿèƒ½ã‚’「エクステンションã€ã¨ã„ã†æ©Ÿæ§‹ã‚’用ã„ã¦\n"
+"追加ã™ã‚‹ä»•çµ„ã¿ãŒå‚™ã‚ã£ã¦ã„ã¾ã™ã€‚エクステンションã§ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ã®\n"
+"æ–°è¦è¿½åŠ ã€æ—¢å­˜ã‚³ãƒžãƒ³ãƒ‰ã¸ã®ã‚ªãƒ—ションã®è¿½åŠ ã€ã‚³ãƒžãƒ³ãƒ‰ã®æŒ™å‹•ã®å¤‰æ›´ã€\n"
+"フックã®å®Ÿè£…ã¨ã„ã£ãŸã“ã¨ãŒå¯èƒ½ã§ã™ã€‚"
+
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
+"needed."
+msgstr ""
+"様々ãªäº‹æƒ…ã‹ã‚‰ã€ç‰¹ã«æŒ‡å®šã®ç„¡ã„å ´åˆã«ã¯ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã¯èª­ã¿è¾¼ã¾ã‚Œ\n"
+"ã¾ã›ã‚“。付加的ãªèª­ã¿è¾¼ã¿ã¯ã€èµ·å‹•æ™‚é–“ã®å¢—加をæ„味ã—ã¾ã™ã€‚上級用途\n"
+"é™å®šã®ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™ã€‚(履歴ã®ç ´å£Šã‚„改変ãªã©ã®)潜在的ãªå±é™ºæ€§ã‚’æŒã¤\n"
+"å ´åˆã‚‚ã‚ã‚Šã¾ã™ã€‚実験的ãªã‚‚ã®ã§ã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã‚Œã¾ã§ã®\n"
+"Mercurial ã®æŒ¯ã‚‹èˆžã„を変ãˆã¦ã—ã¾ã†ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。エクステンションを\n"
+"å¿…è¦ã«å¿œã˜ã¦æœ‰åŠ¹åŒ–ã™ã‚‹ã®ã¯åˆ©ç”¨è€…ã®è²¬å‹™ã§ã™ã€‚"
+
+msgid ""
 "To enable the \"foo\" extension, either shipped with Mercurial or in\n"
 "the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+"\"foo\" ã¨ã„ã†ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã‚’有効化ã™ã‚‹ã«ã¯ã€Mercurial åŒæ¢±ã®\n"
+"ã‚‚ã®ã§ã‚ã‚ã†ã¨ã€Python ã®æ¤œç´¢ãƒ‘ス中ã®ã‚‚ã®ã§ã‚ã‚ã†ã¨ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«\n"
+"ã«ãŠã„ã¦ä»¥ä¸‹ã®ã‚ˆã†ãªè¨˜è¿°ãŒå¿…è¦ã§ã™::"
+
+msgid ""
+"  [extensions]\n"
+"  foo ="
+msgstr ""
 "  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
+"  foo ="
+
+msgid "You may also specify the full path to an extension::"
+msgstr "エクステンションã¸ã®ãƒ•ãƒ«ãƒ‘スを記述ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™::"
+
+msgid ""
+"  [extensions]\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
 "  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"  myfeature = ~/.hgext/myfeature.py"
+
+msgid ""
 "To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
+"scope, prepend its path with !::"
+msgstr ""
+"明示的ã«ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã‚’無効化ã™ã‚‹å ´åˆã€é©åˆ‡ãªè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«ãŠã„ã¦\n"
+"パス指定ã®å†’é ­ã« '!' を付与ã—ã¾ã™::"
+
+msgid ""
 "  [extensions]\n"
 "  # disabling extension bar residing in /path/to/extension/bar.py\n"
 "  bar = !/path/to/extension/bar.py\n"
 "  # ditto, but no path was supplied for extension baz\n"
 "  baz = !\n"
 msgstr ""
-"Mercurial ã«ã¯ã€æ–°è¦æ©Ÿèƒ½ã‚’「エクステンションã€ã¨ã„ã†æ©Ÿæ§‹ã‚’用ã„ã¦\n"
-"追加ã™ã‚‹ä»•çµ„ã¿ãŒå‚™ã‚ã£ã¦ã„ã¾ã™ã€‚エクステンションã§ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ã®\n"
-"æ–°è¦è¿½åŠ ã€æ—¢å­˜ã‚³ãƒžãƒ³ãƒ‰ã¸ã®ã‚ªãƒ—ションã®è¿½åŠ ã€ã‚³ãƒžãƒ³ãƒ‰ã®æŒ™å‹•ã®å¤‰æ›´ã€\n"
-"フックã®å®Ÿè£…ã¨ã„ã£ãŸã“ã¨ãŒå¯èƒ½ã§ã™ã€‚\n"
-"\n"
-"様々ãªäº‹æƒ…ã‹ã‚‰ã€ç‰¹ã«æŒ‡å®šã®ç„¡ã„å ´åˆã«ã¯ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã¯èª­ã¿è¾¼ã¾ã‚Œ\n"
-"ã¾ã›ã‚“。付加的ãªèª­ã¿è¾¼ã¿ã¯ã€èµ·å‹•æ™‚é–“ã®å¢—加をæ„味ã—ã¾ã™ã€‚上級用途\n"
-"é™å®šã®ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™ã€‚(履歴ã®ç ´å£Šã‚„改変ãªã©ã®)潜在的ãªå±é™ºæ€§ã‚’æŒã¤\n"
-"å ´åˆã‚‚ã‚ã‚Šã¾ã™ã€‚実験的ãªã‚‚ã®ã§ã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã‚Œã¾ã§ã®\n"
-"Mercurial ã®æŒ¯ã‚‹èˆžã„を変ãˆã¦ã—ã¾ã†ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。エクステンションを\n"
-"å¿…è¦ã«å¿œã˜ã¦æœ‰åŠ¹åŒ–ã™ã‚‹ã®ã¯åˆ©ç”¨è€…ã®è²¬å‹™ã§ã™ã€‚\n"
-"\n"
-"\"foo\" ã¨ã„ã†ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã‚’有効化ã™ã‚‹ã«ã¯ã€Mercurial åŒæ¢±ã®\n"
-"ã‚‚ã®ã§ã‚ã‚ã†ã¨ã€Python ã®æ¤œç´¢ãƒ‘ス中ã®ã‚‚ã®ã§ã‚ã‚ã†ã¨ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«\n"
-"ã«ãŠã„ã¦ä»¥ä¸‹ã®ã‚ˆã†ãªè¨˜è¿°ãŒå¿…è¦ã§ã™::\n"
-"\n"
-"  [extensions]\n"
-"  foo =\n"
-"\n"
-"エクステンションã¸ã®ãƒ•ãƒ«ãƒ‘スを記述ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™::\n"
-"\n"
-"  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
-"明示的ã«ã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã‚’無効化ã™ã‚‹å ´åˆã€é©åˆ‡ãªè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«ãŠã„ã¦\n"
-"パス指定ã®å†’é ­ã« '!' を付与ã—ã¾ã™::\n"
-"\n"
 "  [extensions]\n"
 "  # /path/to/extension/bar.py ã«ã‚るエクステンション bar ã®ç„¡åŠ¹åŒ–\n"
 "  bar = !/path/to/extension/bar.py\n"
@@ -9306,174 +9728,181 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+"Mercurial ã«è¤‡æ•°ã®ãƒªãƒ“ジョンを指定ã™ã‚‹å ´åˆã®æ–¹æ³•ã«ã¯ã€\n"
+"個々ã®ãƒªãƒ“ジョンをãã‚Œãžã‚ŒæŒ‡å®šã™ã‚‹æ–¹æ³•ä»¥å¤–ã«ã‚‚ã€\":\" を区切り\n"
+"記å·ã«ã—ãŸç¯„囲指定ã«ã‚ˆã‚‹æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚"
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
-"A range acts as a closed interval. This means that a range of 3:5\n"
-"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
-msgstr ""
-"Mercurial ã«è¤‡æ•°ã®ãƒªãƒ“ジョンを指定ã™ã‚‹å ´åˆã®æ–¹æ³•ã«ã¯ã€\n"
-"個々ã®ãƒªãƒ“ジョンをãã‚Œãžã‚ŒæŒ‡å®šã™ã‚‹æ–¹æ³•ä»¥å¤–ã«ã‚‚ã€\":\" を区切り\n"
-"記å·ã«ã—ãŸç¯„囲指定ã«ã‚ˆã‚‹æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
 "範囲表記ã®æ–‡æ³•ã¯ã€\"[開始]:[終了]\" ã¨ã„ã†ã‚‚ã®ã§ã€\"開始\"・\"終了\"\n"
 "部分ã«ã¯ãã‚Œãžã‚Œãƒªãƒ“ジョン識別用ã®æƒ…å ±ãŒè¨˜è¿°ã•ã‚Œã¾ã™ã€‚\n"
 "\"開始\"・\"終了\" ã¯ãã‚Œãžã‚Œçœç•¥å¯èƒ½ã§ã™ã€‚\"開始\" 部分ãŒ\n"
 "記述ã•ã‚Œãªã„å ´åˆã€ãƒªãƒ“ã‚¸ãƒ§ãƒ³ç•ªå· 0 ãŒè¨˜è¿°ã•ã‚ŒãŸã‚‚ã®ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
 "\"終了\" 部分ãŒè¨˜è¿°ã•ã‚Œãªã„å ´åˆã€tip ãŒè¨˜è¿°ã•ã‚ŒãŸã‚‚ã®ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
-"以上ã®ã“ã¨ã‹ã‚‰ã€\":\" ã¨ã„ã†è¨˜è¿°ã¯ \"全リビジョン\" を指ã—ã¾ã™ã€‚\n"
-"\n"
+"以上ã®ã“ã¨ã‹ã‚‰ã€\":\" ã¨ã„ã†è¨˜è¿°ã¯ \"全リビジョン\" を指ã—ã¾ã™ã€‚"
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
 "\"開始\" 指定㌠\"終了\" 指定よりも後ã®ãƒªãƒ“ジョンã§ã‚ã‚‹å ´åˆã€é€†é †æŒ‡å®š\n"
-"ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"A range acts as a closed interval. This means that a range of 3:5\n"
+"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
+msgstr ""
 "範囲指定㯠\"閉区間\" ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚ã¤ã¾ã‚Šã€3:5 ã¨ã„ã†ç¯„囲指定ã¯\n"
 "3, 4, 5 ã®æŒ‡å®šã¨ç­‰ä¾¡ã§ã™ã€‚åŒæ§˜ã« 9:6 ã¨ã„ã†æŒ‡å®šã¯ 9, 8, 7, 6 ã®æŒ‡å®šã¨\n"
 "等価ã§ã™ã€‚\n"
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr "Mercurial ã«ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚’特定ã™ã‚‹ãƒ‘ターン指定方法ãŒè¤‡æ•°ã‚ã‚Šã¾ã™ã€‚"
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+"特ã«æŒ‡å®šã®ç„¡ã„å ´åˆã€Mercurial ã¯æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«åã«å¯¾ã—ã¦ã€\n"
+"shell å½¢å¼ã®æ‹¡å¼µãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰åˆè‡´ã‚’è¡Œã„ã¾ã™ã€‚"
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr "別ãªå½¢å¼ã§ã®ãƒ‘ターン記述ã®éš›ã«ã¯ã€æ˜Žç¤ºçš„ã«ç¨®åˆ¥ã‚’指定ã—ã¦ãã ã•ã„。"
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+"パターンåˆè‡´ã‚’è¡Œã‚ãšã«ã€æŒ‡å®šã•ã‚ŒãŸåå‰ã‚’ãã®ã¾ã¾ä½¿ç”¨ã™ã‚‹å ´åˆã€\n"
+"åå‰ã®å‰ã« ``path:`` を記述ã—ã¾ã™ã€‚ã“ã®å½¢å¼ã‚’使用ã™ã‚‹å ´åˆã€\n"
+"リãƒã‚¸ãƒˆãƒªã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã®ãƒ‘スã¨å®Œå…¨ã«ä¸€è‡´ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+"拡張ワイルドカードåˆè‡´ã®å ´åˆã€åå‰ã®å‰ã« ``glob:`` を記述ã—ã¾ã™ã€‚ã“ã®\n"
+"å½¢å¼ã§ã¯ã€ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã®ç›¸å¯¾ã«ãªã‚Šã¾ã™ã®ã§ã€``*.c`` パターンã¯\n"
+"末尾㌠``.c`` ã§çµ‚ã‚ã‚‹ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸­ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¨ã®ã¿åˆè‡´ã—ã¾ã™ã€‚"
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+"ワイルドカードã®æ‹¡å¼µæ–‡æ³•ã«ã¯ã€ãƒ‘ス区切りもå«ã‚ãŸä»»æ„ã®æ–‡å­—列ã¨åˆè‡´ã™ã‚‹\n"
+"``**`` ã¨ã€\"a ãªã„ã— b\" ã‚’æ„味ã™ã‚‹ ``{a,b}`` ã¨ã„ã†å½¢å¼ãŒã‚ã‚Šã¾ã™ã€‚"
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+"Perl/Python å½¢å¼ã®æ­£è¦è¡¨ç¾ã®å ´åˆã€åå‰ã®å‰ã« ``re:`` を記述ã—ã¾ã™ã€‚\n"
+"æ­£è¦è¡¨ç¾å½¢å¼ã§ã¯ã€ãƒªãƒã‚¸ãƒˆãƒªã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã®åˆè‡´ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
+"(訳注: .hgignore ã§ã®æŒ‡å®šã§ã¯ä»˜ä¸Žã€Œã•ã‚Œã¾ã›ã‚“ã€ã®ã§æ³¨æ„ãŒå¿…è¦ã§ã™)。"
+
+msgid "Plain examples::"
+msgstr "パターンåˆè‡´æœªä½¿ç”¨ä¾‹::"
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+"  path:foo/bar   リãƒã‚¸ãƒˆãƒªãƒ«ãƒ¼ãƒˆç›´ä¸‹ã® foo ディレクトリ中㮠bar\n"
+"  path:path:name \"path:name\" ã¨ã„ã†åå‰"
+
+msgid "Glob examples::"
+msgstr "ワイルドカード指定例::"
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-"Mercurial ã«ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚’特定ã™ã‚‹ãƒ‘ターン指定方法ãŒè¤‡æ•°ã‚ã‚Šã¾ã™ã€‚\n"
-"\n"
-"特ã«æŒ‡å®šã®ç„¡ã„å ´åˆã€Mercurial ã¯æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«åã«å¯¾ã—ã¦ã€\n"
-"shell å½¢å¼ã®æ‹¡å¼µãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰åˆè‡´ã‚’è¡Œã„ã¾ã™ã€‚\n"
-"\n"
-"別ãªå½¢å¼ã§ã®ãƒ‘ターン記述ã®éš›ã«ã¯ã€æ˜Žç¤ºçš„ã«ç¨®åˆ¥ã‚’指定ã—ã¦ãã ã•ã„。\n"
-"\n"
-"パターンåˆè‡´ã‚’è¡Œã‚ãšã«ã€æŒ‡å®šã•ã‚ŒãŸåå‰ã‚’ãã®ã¾ã¾ä½¿ç”¨ã™ã‚‹å ´åˆã€\n"
-"åå‰ã®å‰ã« ``path:`` を記述ã—ã¾ã™ã€‚ã“ã®å½¢å¼ã‚’使用ã™ã‚‹å ´åˆã€\n"
-"リãƒã‚¸ãƒˆãƒªã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã®ãƒ‘スã¨å®Œå…¨ã«ä¸€è‡´ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
-"\n"
-"拡張ワイルドカードåˆè‡´ã®å ´åˆã€åå‰ã®å‰ã« ``glob:`` を記述ã—ã¾ã™ã€‚ã“ã®\n"
-"å½¢å¼ã§ã¯ã€ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã®ç›¸å¯¾ã«ãªã‚Šã¾ã™ã®ã§ã€``*.c`` パターンã¯\n"
-"末尾㌠``.c`` ã§çµ‚ã‚ã‚‹ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸­ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¨ã®ã¿åˆè‡´ã—ã¾ã™ã€‚\n"
-"\n"
-"ワイルドカードã®æ‹¡å¼µæ–‡æ³•ã«ã¯ã€ãƒ‘ス区切りもå«ã‚ãŸä»»æ„ã®æ–‡å­—列ã¨åˆè‡´ã™ã‚‹\n"
-"``**`` ã¨ã€\"a ãªã„ã— b\" ã‚’æ„味ã™ã‚‹ ``{a,b}`` ã¨ã„ã†å½¢å¼ãŒã‚ã‚Šã¾ã™ã€‚\n"
-"\n"
-"Perl/Python å½¢å¼ã®æ­£è¦è¡¨ç¾ã®å ´åˆã€åå‰ã®å‰ã« ``re:`` を記述ã—ã¾ã™ã€‚\n"
-"æ­£è¦è¡¨ç¾å½¢å¼ã§ã¯ã€ãƒªãƒã‚¸ãƒˆãƒªã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã®åˆè‡´ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
-"(訳注: .hgignore ã§ã®æŒ‡å®šã§ã¯ä»˜ä¸Žã€Œã•ã‚Œã¾ã›ã‚“ã€ã®ã§æ³¨æ„ãŒå¿…è¦ã§ã™)。\n"
-"\n"
-"パターンåˆè‡´æœªä½¿ç”¨ä¾‹::\n"
-"\n"
-"  path:foo/bar   リãƒã‚¸ãƒˆãƒªãƒ«ãƒ¼ãƒˆç›´ä¸‹ã® foo ディレクトリ中㮠bar\n"
-"  path:path:name \"path:name\" ã¨ã„ã†åå‰\n"
-"\n"
-"ワイルドカード指定例::\n"
-"\n"
+"                 including itself."
+msgstr ""
 "  glob:*.c       ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªç›´ä¸‹ã§ã€åå‰ãŒ \".c\" ã§çµ‚ã‚ã‚‹ã‚‚ã®\n"
 "  *.c            ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªç›´ä¸‹ã§ã€åå‰ãŒ \".c\" ã§çµ‚ã‚ã‚‹ã‚‚ã®\n"
 "  **.c           ç¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãªã„ã—ãã®é…下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãŠã„ã¦ã€\n"
 "                 åå‰ãŒ \".c\" ã§çµ‚ã‚ã‚‹ã‚‚ã®\n"
 "  foo/*.c        foo ディレクトリ直下ã§ã€åå‰ãŒ \".c\" ã§çµ‚ã‚ã‚‹ã‚‚ã®\n"
 "  foo/**.c       foo ディレクトリãªã„ã—ãã®é…下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãŠã„ã¦ã€\n"
-"                 åå‰ãŒ \".c\" ã§çµ‚ã‚ã‚‹ã‚‚ã®\n"
-"\n"
-"æ­£è¦è¡¨ç¾æŒ‡å®šä¾‹::\n"
-"\n"
-"  re:.*\\.c$     作業領域中ã®ä»»æ„ã®ä½ç½®ã§ã€åå‰ãŒ \".c\" ã§çµ‚ã‚ã‚‹ã‚‚ã®\n"
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"                 åå‰ãŒ \".c\" ã§çµ‚ã‚ã‚‹ã‚‚ã®"
+
+msgid "Regexp examples::"
+msgstr "æ­£è¦è¡¨ç¾æŒ‡å®šä¾‹::"
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr "  re:.*\\.c$     作業領域中ã®ä»»æ„ã®ä½ç½®ã§ã€åå‰ãŒ \".c\" ã§çµ‚ã‚ã‚‹ã‚‚ã®\n"
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr "Mercurial ã«å€‹ã€…ã®ãƒªãƒ“ジョン指定ã™ã‚‹éš›ã«ã¯è¤‡æ•°ã®è¨˜æ³•ãŒä½¿ç”¨ã§ãã¾ã™ã€‚"
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+"整数値ã¯ã€ã€Œãƒªãƒ“ジョン番å·ã€ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚負値ã¯ã€tip ã‹ã‚‰ã®è·é›¢ã‚’\n"
+"æ„味ã—ã€-1 㯠tip 自身をã€-2 㯠tip ã®ç›´å‰ã¨ã„ã£ãŸãƒªãƒ“ジョンを指ã—ã¾ã™ã€‚"
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr "40æ¡ã®16進文字列ã¯ã€ä¸€æ„ãªã€Œãƒªãƒ“ジョン識別å­ã€ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+"40æ¡æœªæº€ã®16進文字列ã¯ã€ä¸€æ„ãªã€Œãƒªãƒ“ジョン識別å­ã€ã®çŸ­ç¸®å½¢å¼ã¨\n"
+"ã¿ãªã•ã‚Œã¾ã™ã€‚短縮形å¼ã®è­˜åˆ¥å­ã¯ã€åŽ³å¯†ã«1ã¤ã®å®Œå…¨é•·ã®è­˜åˆ¥å­ã¨ã ã‘\n"
+"å‰æ–¹ä¸€è‡´ã™ã‚‹å ´åˆã«ã®ã¿æœ‰åŠ¹ã§ã™ã€‚"
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+"ãれ以外ã®æ–‡å­—列ã¯ã€ã€Œã‚¿ã‚°åã€ãªã„ã—「ブランãƒåã€ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
+"「タグåã€ã¯ãƒªãƒ“ジョン識別å­ã«ä»˜ä¸Žã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãªåå‰ã§ã™ã€‚\n"
+"「ブランãƒåã€ã¯ã€ãƒ–ランãƒä¸­ã®æœ€æ–°ãƒªãƒ“ジョンをæ„味ã—ã¾ã™ã€‚\n"
+"ã‚¿ã‚°åãŠã‚ˆã³ãƒ–ランãƒå㯠\":\" ã‚’å«ã‚“ã§ã¯ãªã‚Šã¾ã›ã‚“。"
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+"常ã«ã€Œæœ€æ–°ã®ãƒªãƒ“ジョンã€ã‚’æ„味ã™ã‚‹åå‰ \"tip\" ã¯ã€ç‰¹åˆ¥ãªã‚¿ã‚°åã¨ã—ã¦\n"
+"予約ã•ã‚Œã¦ã„ã¾ã™ã€‚"
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+"「空リビジョンã€ã‚’æ„味ã™ã‚‹åå‰ \"null\" ã¯ã€ç‰¹åˆ¥ãªåå‰ã¨ã—ã¦äºˆç´„\n"
+"ã•ã‚Œã¦ã„ã¾ã™ã€‚空リãƒã‚¸ãƒˆãƒªã«ãŠã‘るリビジョンã¯ã“ã®ãƒªãƒ“ジョンã§ã€\n"
+"リビジョン 0 ã®è¦ªã¯ \"null\" リビジョンã§ã™ã€‚"
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
 "parent.\n"
 msgstr ""
-"Mercurial ã«å€‹ã€…ã®ãƒªãƒ“ジョン指定ã™ã‚‹éš›ã«ã¯è¤‡æ•°ã®è¨˜æ³•ãŒä½¿ç”¨ã§ãã¾ã™ã€‚\n"
-"\n"
-"整数値ã¯ã€ã€Œãƒªãƒ“ジョン番å·ã€ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚負値ã¯ã€tip ã‹ã‚‰ã®è·é›¢ã‚’\n"
-"æ„味ã—ã€-1 㯠tip 自身をã€-2 㯠tip ã®ç›´å‰ã¨ã„ã£ãŸãƒªãƒ“ジョンを指ã—ã¾ã™ã€‚\n"
-"\n"
-"40æ¡ã®16進文字列ã¯ã€ä¸€æ„ãªã€Œãƒªãƒ“ジョン識別å­ã€ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
-"\n"
-"40æ¡æœªæº€ã®16進文字列ã¯ã€ä¸€æ„ãªã€Œãƒªãƒ“ジョン識別å­ã€ã®çŸ­ç¸®å½¢å¼ã¨\n"
-"ã¿ãªã•ã‚Œã¾ã™ã€‚短縮形å¼ã®è­˜åˆ¥å­ã¯ã€åŽ³å¯†ã«1ã¤ã®å®Œå…¨é•·ã®è­˜åˆ¥å­ã¨ã ã‘\n"
-"å‰æ–¹ä¸€è‡´ã™ã‚‹å ´åˆã«ã®ã¿æœ‰åŠ¹ã§ã™ã€‚\n"
-"\n"
-"ãれ以外ã®æ–‡å­—列ã¯ã€ã€Œã‚¿ã‚°åã€ãªã„ã—「ブランãƒåã€ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚\n"
-"「タグåã€ã¯ãƒªãƒ“ジョン識別å­ã«ä»˜ä¸Žã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãªåå‰ã§ã™ã€‚\n"
-"「ブランãƒåã€ã¯ã€ãƒ–ランãƒä¸­ã®æœ€æ–°ãƒªãƒ“ジョンをæ„味ã—ã¾ã™ã€‚\n"
-"ã‚¿ã‚°åãŠã‚ˆã³ãƒ–ランãƒå㯠\":\" ã‚’å«ã‚“ã§ã¯ãªã‚Šã¾ã›ã‚“。\n"
-"\n"
-"常ã«ã€Œæœ€æ–°ã®ãƒªãƒ“ジョンã€ã‚’æ„味ã™ã‚‹åå‰ \"tip\" ã¯ã€ç‰¹åˆ¥ãªã‚¿ã‚°åã¨ã—ã¦\n"
-"予約ã•ã‚Œã¦ã„ã¾ã™ã€‚\n"
-"\n"
-"「空リビジョンã€ã‚’æ„味ã™ã‚‹åå‰ \"null\" ã¯ã€ç‰¹åˆ¥ãªåå‰ã¨ã—ã¦äºˆç´„\n"
-"ã•ã‚Œã¦ã„ã¾ã™ã€‚空リãƒã‚¸ãƒˆãƒªã«ãŠã‘るリビジョンã¯ã“ã®ãƒªãƒ“ジョンã§ã€\n"
-"リビジョン 0 ã®è¦ªã¯ \"null\" リビジョンã§ã™ã€‚\n"
-"\n"
 "常ã«ã€Œä½œæ¥­é ˜åŸŸã®è¦ªãƒªãƒ“ジョンã€ã‚’示ã™ãŸã‚ã®åå‰ \".\" ã¯ã€ç‰¹åˆ¥ãªåå‰ã¨ã—ã¦\n"
 "予約ã•ã‚Œã¦ã„ã¾ã™ã€‚作業領域ãŒæœªæ›´æ–°ã®å ´åˆã¯ã€\"null\" 指定ã¨ç­‰ä¾¡ã§ã™ã€‚\n"
 "未コミットã®ãƒžãƒ¼ã‚¸ä¸­ã®å ´åˆã€\".\" ã¯ç¬¬1親リビジョンを指ã—ã¾ã™ã€‚\n"
@@ -9482,421 +9911,434 @@
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+"Mercurial ã§ã¯ã€ãƒ†ãƒ³ãƒ—レート機能ã«ã‚ˆã£ã¦ã‚³ãƒžãƒ³ãƒ‰ã®å‡ºåŠ›ã‚’カスタマイズ\n"
+"ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚コマンドラインã‹ã‚‰ã®æŒ‡å®šã§ã¯ã€--template ã«ã‚ˆã‚‹\n"
+"テンプレート指定ã¨ã€--style ã«ã‚ˆã‚‹ã‚¹ã‚¿ã‚¤ãƒ«æŒ‡å®šã®ä¸¡æ–¹ãŒä½¿ç”¨ã§ãã¾ã™ã€‚"
+
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+"「log çš„ã€ãªå‡ºåŠ›ã‚’è¡Œã†ä¸€é€£ã®ã‚³ãƒžãƒ³ãƒ‰å‡ºåŠ›ã‚’カスタマイズå¯èƒ½ã§ã™:\n"
+"log, outgoing, incoming, tip, parents, heads, glog"
+
+msgid ""
 "Three styles are packaged with Mercurial: default (the style used\n"
 "when no explicit preference is passed), compact and changelog.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"Usage::"
+msgstr ""
+"Mercurial ã«ã¯(明示的ãªæŒ‡å®šãŒç„¡ã„å ´åˆã«ä½¿ç”¨ã•ã‚Œã‚‹)defaultã€compact\n"
+"ãŠã‚ˆã³ changelog ã®3ã¤ã®ã‚¹ã‚¿ã‚¤ãƒ«è¨­å®šãŒåŒæ¢±ã•ã‚Œã¦ã„ã¾ã™ã€‚利用方法ã¯::"
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr "    $ hg log -r1 --style changelog"
+
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
+"expansion::"
+msgstr "テンプレートã¨ã¯ã€å¤‰æ•°å±•é–‹ãƒžãƒ¼ã‚¯ã‚¢ãƒƒãƒ—機能を備ãˆãŸãƒ†ã‚­ã‚¹ãƒˆã§ã™::"
+
+msgid ""
 "    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
-":author: String. The unmodified author of the changeset.\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+"波括弧ã§å›²ã¾ã‚ŒãŸéƒ¨åˆ†ã¯ã€Œã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã€ã¨å‘¼ã°ã‚Œã¾ã™ã€‚キーワード利用ã®\n"
+"å¯å¦ã¯ã€ãƒ†ãƒ³ãƒ—レートã®åˆ©ç”¨ã•ã‚Œã‚‹çŠ¶æ³ã«ä¾å­˜ã—ã¾ã™ã€‚以下ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã¯\n"
+"log çš„ãªã‚³ãƒžãƒ³ãƒ‰ã§ã®ãƒ†ãƒ³ãƒ—レート利用ã®éš›ã«ã¯å¸¸ã«ä½¿ç”¨å¯èƒ½ã§ã™:"
+
+msgid ":author: String. The unmodified author of the changeset."
+msgstr ":author: 文字列。リビジョンã®ä½œè€…å(記録情報ãã®ã¾ã¾)。"
+
+msgid ""
 ":branches: String. The name of the branch on which the changeset was\n"
-"    committed. Will be empty if the branch name was default.\n"
-"\n"
-":date: Date information. The date when the changeset was committed.\n"
-"\n"
-":desc: String. The text of the changeset description.\n"
-"\n"
+"    committed. Will be empty if the branch name was default."
+msgstr ""
+":branches: 文字列。リビジョンã®å±žã™ã‚‹ãƒ–ランãƒå。所属ブランãƒãŒ\n"
+"    default ã®å ´åˆã¯ç©ºæ–‡å­—列。"
+
+msgid ":date: Date information. The date when the changeset was committed."
+msgstr ":date: 日時情報。リビジョンãŒè¨˜éŒ²ã•ã‚ŒãŸæ—¥æ™‚。"
+
+msgid ":desc: String. The text of the changeset description."
+msgstr ":desc:      文字列。リビジョンã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€‚"
+
+msgid ""
 ":diffstat: String. Statistics of changes with the following format:\n"
-"    \"modified files: +added/-removed lines\"\n"
-"\n"
+"    \"modified files: +added/-removed lines\""
+msgstr ""
+":diffstat: 文字列。以下ã®å½¢å¼ã§ã®å¤‰æ›´æ¦‚è¦ã€‚\n"
+"    \"変更対象ファイル: +追加行数/-削除行数\""
+
+msgid ""
 ":files: List of strings. All files modified, added, or removed by this\n"
-"    changeset.\n"
-"\n"
-":file_adds: List of strings. Files added by this changeset.\n"
-"\n"
+"    changeset."
+msgstr ""
+":files: 文字列列挙。当該リビジョンã§ã®ã€å¤‰æ›´ï¼è¿½åŠ ç™»éŒ²ãªã„ã—\n"
+"    登録除外ファイルã®ä¸€è¦§ã€‚"
+
+msgid ":file_adds: List of strings. Files added by this changeset."
+msgstr ":file_adds: 文字列列挙。当該リビジョンã§ã®è¿½åŠ ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã€‚"
+
+msgid ""
 ":file_copies: List of strings. Files copied in this changeset with\n"
-"    their sources.\n"
-"\n"
+"    their sources."
+msgstr ":file_copies: 文字列列挙。 当該リビジョンã§ã®è¤‡è£½å…ƒãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã€‚"
+
+msgid ""
 ":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
-"    only if the --copied switch is set.\n"
-"\n"
-":file_mods: List of strings. Files modified by this changeset.\n"
-"\n"
-":file_dels: List of strings. Files removed by this changeset.\n"
-"\n"
+"    only if the --copied switch is set."
+msgstr ""
+":file_copies_switch: 文字列列挙。 \"file_copies\" ã¨åŒç¾©ã ãŒã€\n"
+"    --copied 指定ã®ã‚る時ã®ã¿è¡¨ç¤ºã€‚"
+
+msgid ":file_mods: List of strings. Files modified by this changeset."
+msgstr ":file_mods: 文字列列挙。当該リビジョンã§ã®å¤‰æ›´ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã€‚"
+
+msgid ":file_dels: List of strings. Files removed by this changeset."
+msgstr ":file_dels: 文字列列挙。当該リビジョンã§ã®ç™»éŒ²é™¤å¤–ファイル一覧。"
+
+msgid ""
 ":node: String. The changeset identification hash, as a 40-character\n"
-"    hexadecimal string.\n"
-"\n"
-":parents: List of strings. The parents of the changeset.\n"
-"\n"
-":rev: Integer. The repository-local changeset revision number.\n"
-"\n"
-":tags: List of strings. Any tags associated with the changeset.\n"
-"\n"
+"    hexadecimal string."
+msgstr ":node: 文字列。リビジョン識別用㮠40 æ¡ 16 進数ãƒãƒƒã‚·ãƒ¥å€¤ã€‚"
+
+msgid ":parents: List of strings. The parents of the changeset."
+msgstr ":parents: 文字列列挙。リビジョンã®è¦ªã€‚"
+
+msgid ":rev: Integer. The repository-local changeset revision number."
+msgstr ":rev: 整数。å„リãƒã‚¸ãƒˆãƒªå›ºæœ‰ã®ãƒªãƒ“ジョン番å·ã€‚"
+
+msgid ":tags: List of strings. Any tags associated with the changeset."
+msgstr ":tags: 文字列列挙。当該リビジョンã«ä»˜ä¸Žã•ã‚ŒãŸã‚¿ã‚°ã®ä¸€è¦§ã€‚"
+
+msgid ""
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
-"    changeset.\n"
-"\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+"    changeset."
+msgstr ":latesttag: 文字列。当該リビジョンã®å…ˆç¥–ã«å¯¾ã—ã¦æœ€ã‚‚最近ã«ä»˜ä¸Žã•ã‚ŒãŸã‚¿ã‚°"
+
+msgid ":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ":latesttagdistance: 整数。最新タグã¸ã®æœ€é•·ãƒ‘ス"
+
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. You can also use a chain of filters to get the desired\n"
-"output::\n"
-"\n"
+"output::"
+msgstr ""
+"\"date\" キーワードã®å‡ºåŠ›ã¯å¯èª­å½¢å¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。出力ã«æ—¥æ™‚情報を\n"
+"å«ã‚ãŸã„å ´åˆã€å¯èª­åŒ–ã™ã‚‹ãŸã‚ã«ã€Œãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ã€ã‚’使用ã—ã¾ã™ã€‚\n"
+"「フィルターã€ã¨ã¯ã€æŒ‡å®šå€¤ã«åŸºã¥ã„ã¦æ–‡å­—列を生æˆã™ã‚‹æ©Ÿèƒ½ã§ã™ã€‚複数ã®\n"
+"フィルターを連ã­ã‚‹ã“ã¨ã§ã€æ§˜ã€…ãªå‡ºåŠ›ã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™::"
+
+msgid ""
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
 "   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"   2008-08-21 18:22 +0000"
+
+msgid "List of filters:"
+msgstr "フィルター一覧(入力ã¨ã€ãã‚Œã«å¯¾ã™ã‚‹å‡ºåŠ›):"
+
+msgid ""
 ":addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
-"    every line except the last.\n"
-"\n"
+"    every line except the last."
+msgstr ""
+":addbreaks: 文字列。最終行を除ãå„è¡Œã®è¡Œæœ«ã« XHTML ã® \n"
+"    \"<br />\" タグを追加ã—ã¾ã™ã€‚"
+
+msgid ""
 ":age: Date. Returns a human-readable date/time difference between the\n"
-"    given date/time and the current date/time.\n"
-"\n"
+"    given date/time and the current date/time."
+msgstr ""
+":age: 日時情報。与ãˆã‚‰ã‚ŒãŸæ—¥æ™‚ã¨ã€ç¾åœ¨æ—¥æ™‚ã¨ã®å·®åˆ†ã‚’表ã™\n"
+"    å¯èª­å½¢å¼ã®æ–‡å­—列を生æˆã—ã¾ã™ã€‚"
+
+msgid ""
 ":basename: Any text. Treats the text as a path, and returns the last\n"
 "    component of the path after splitting by the path separator\n"
 "    (ignoring trailing separators). For example, \"foo/bar/baz\" becomes\n"
-"    \"baz\" and \"foo/bar//\" becomes \"bar\".\n"
-"\n"
-":stripdir: Treat the text as path and strip a directory level, if\n"
-"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\".\n"
-"\n"
-":date: Date. Returns a date in a Unix date format, including the\n"
-"    timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
-"\n"
-":domain: Any text. Finds the first string that looks like an email\n"
-"    address, and extracts just the domain component. Example: ``User\n"
-"    <user@example.com>`` becomes ``example.com``.\n"
-"\n"
-":email: Any text. Extracts the first string that looks like an email\n"
-"    address. Example: ``User <user@example.com>`` becomes\n"
-"    ``user@example.com``.\n"
-"\n"
-":escape: Any text. Replaces the special XML/XHTML characters \"&\", \"<\"\n"
-"    and \">\" with XML entities.\n"
-"\n"
-":fill68: Any text. Wraps the text to fit in 68 columns.\n"
-"\n"
-":fill76: Any text. Wraps the text to fit in 76 columns.\n"
-"\n"
-":firstline: Any text. Returns the first line of text.\n"
-"\n"
-":nonempty: Any text. Returns '(none)' if the string is empty.\n"
-"\n"
-":hgdate: Date. Returns the date as a pair of numbers: \"1157407993\n"
-"    25200\" (Unix timestamp, timezone offset).\n"
-"\n"
-":isodate: Date. Returns the date in ISO 8601 format: \"2009-08-18 13:00\n"
-"    +0200\".\n"
-"\n"
-":isodatesec: Date. Returns the date in ISO 8601 format, including\n"
-"    seconds: \"2009-08-18 13:00:13 +0200\". See also the rfc3339date\n"
-"    filter.\n"
-"\n"
-":localdate: Date. Converts a date to local date.\n"
-"\n"
-":obfuscate: Any text. Returns the input text rendered as a sequence of\n"
-"    XML entities.\n"
-"\n"
-":person: Any text. Returns the text before an email address.\n"
-"\n"
-":rfc822date: Date. Returns a date using the same format used in email\n"
-"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
-"\n"
-":rfc3339date: Date. Returns a date using the Internet date format\n"
-"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n"
-"\n"
-":short: Changeset hash. Returns the short form of a changeset hash,\n"
-"    i.e. a 12-byte hexadecimal string.\n"
-"\n"
-":shortdate: Date. Returns a date like \"2006-09-18\".\n"
-"\n"
-":strip: Any text. Strips all leading and trailing whitespace.\n"
-"\n"
-":tabindent: Any text. Returns the text, with every line except the\n"
-"     first starting with a tab character.\n"
-"\n"
-":urlescape: Any text. Escapes all \"special\" characters. For example,\n"
-"    \"foo bar\" becomes \"foo%20bar\".\n"
-"\n"
-":user: Any text. Returns the user portion of an email address.\n"
-msgstr ""
-"Mercurial ã§ã¯ã€ãƒ†ãƒ³ãƒ—レート機能ã«ã‚ˆã£ã¦ã‚³ãƒžãƒ³ãƒ‰ã®å‡ºåŠ›ã‚’カスタマイズ\n"
-"ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚コマンドラインã‹ã‚‰ã®æŒ‡å®šã§ã¯ã€--template ã«ã‚ˆã‚‹\n"
-"テンプレート指定ã¨ã€--style ã«ã‚ˆã‚‹ã‚¹ã‚¿ã‚¤ãƒ«æŒ‡å®šã®ä¸¡æ–¹ãŒä½¿ç”¨ã§ãã¾ã™ã€‚\n"
-"\n"
-"「log çš„ã€ãªå‡ºåŠ›ã‚’è¡Œã†ä¸€é€£ã®ã‚³ãƒžãƒ³ãƒ‰å‡ºåŠ›ã‚’カスタマイズå¯èƒ½ã§ã™:\n"
-"log, outgoing, incoming, tip, parents, heads, glog\n"
-"\n"
-"Mercurial ã«ã¯(明示的ãªæŒ‡å®šãŒç„¡ã„å ´åˆã«ä½¿ç”¨ã•ã‚Œã‚‹)defaultã€compact\n"
-"ãŠã‚ˆã³ changelog ã®3ã¤ã®ã‚¹ã‚¿ã‚¤ãƒ«è¨­å®šãŒåŒæ¢±ã•ã‚Œã¦ã„ã¾ã™ã€‚利用方法ã¯::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
-"テンプレートã¨ã¯ã€å¤‰æ•°å±•é–‹ãƒžãƒ¼ã‚¯ã‚¢ãƒƒãƒ—機能を備ãˆãŸãƒ†ã‚­ã‚¹ãƒˆã§ã™::\n"
-"\n"
-"    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
-"波括弧ã§å›²ã¾ã‚ŒãŸéƒ¨åˆ†ã¯ã€Œã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã€ã¨å‘¼ã°ã‚Œã¾ã™ã€‚キーワード利用ã®\n"
-"å¯å¦ã¯ã€ãƒ†ãƒ³ãƒ—レートã®åˆ©ç”¨ã•ã‚Œã‚‹çŠ¶æ³ã«ä¾å­˜ã—ã¾ã™ã€‚以下ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã¯\n"
-"log çš„ãªã‚³ãƒžãƒ³ãƒ‰ã§ã®ãƒ†ãƒ³ãƒ—レート利用ã®éš›ã«ã¯å¸¸ã«ä½¿ç”¨å¯èƒ½ã§ã™:\n"
-"\n"
-":author: 文字列。リビジョンã®ä½œè€…å(記録情報ãã®ã¾ã¾)。\n"
-"\n"
-":branches: 文字列。リビジョンã®å±žã™ã‚‹ãƒ–ランãƒå。所属ブランãƒãŒ\n"
-"    default ã®å ´åˆã¯ç©ºæ–‡å­—列。\n"
-"\n"
-":date: 日時情報。リビジョンãŒè¨˜éŒ²ã•ã‚ŒãŸæ—¥æ™‚。\n"
-"\n"
-":desc:      文字列。リビジョンã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€‚\n"
-"\n"
-":diffstat: 文字列。以下ã®å½¢å¼ã§ã®å¤‰æ›´æ¦‚è¦ã€‚\n"
-"    \"変更対象ファイル: +追加行数/-削除行数\"\n"
-"\n"
-":files: 文字列列挙。当該リビジョンã§ã®ã€å¤‰æ›´ï¼è¿½åŠ ç™»éŒ²ãªã„ã—\n"
-"    登録除外ファイルã®ä¸€è¦§ã€‚\n"
-"\n"
-":file_adds: 文字列列挙。当該リビジョンã§ã®è¿½åŠ ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã€‚\n"
-"\n"
-":file_copies: 文字列列挙。 当該リビジョンã§ã®è¤‡è£½å…ƒãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã€‚\n"
-"\n"
-":file_copies_switch: 文字列列挙。 \"file_copies\" ã¨åŒç¾©ã ãŒã€\n"
-"    --copied 指定ã®ã‚る時ã®ã¿è¡¨ç¤ºã€‚\n"
-"\n"
-":file_mods: 文字列列挙。当該リビジョンã§ã®å¤‰æ›´ãƒ•ã‚¡ã‚¤ãƒ«ä¸€è¦§ã€‚\n"
-"\n"
-":file_dels: 文字列列挙。当該リビジョンã§ã®ç™»éŒ²é™¤å¤–ファイル一覧。\n"
-"\n"
-":node: 文字列。リビジョン識別用㮠40 æ¡ 16 進数ãƒãƒƒã‚·ãƒ¥å€¤ã€‚\n"
-"\n"
-":parents: 文字列列挙。リビジョンã®è¦ªã€‚\n"
-"\n"
-":rev: 整数。å„リãƒã‚¸ãƒˆãƒªå›ºæœ‰ã®ãƒªãƒ“ジョン番å·ã€‚\n"
-"\n"
-":tags: 文字列列挙。当該リビジョンã«ä»˜ä¸Žã•ã‚ŒãŸã‚¿ã‚°ã®ä¸€è¦§ã€‚\n"
-"\n"
-":latesttag: 文字列。当該リビジョンã®å…ˆç¥–ã«å¯¾ã—ã¦æœ€ã‚‚最近ã«ä»˜ä¸Žã•ã‚ŒãŸã‚¿ã‚°\n"
-"\n"
-":latesttagdistance: 整数。最新タグã¸ã®æœ€é•·ãƒ‘ス\n"
-"\n"
-"\"date\" キーワードã®å‡ºåŠ›ã¯å¯èª­å½¢å¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。出力ã«æ—¥æ™‚情報を\n"
-"å«ã‚ãŸã„å ´åˆã€å¯èª­åŒ–ã™ã‚‹ãŸã‚ã«ã€Œãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ã€ã‚’使用ã—ã¾ã™ã€‚\n"
-"「フィルターã€ã¨ã¯ã€æŒ‡å®šå€¤ã«åŸºã¥ã„ã¦æ–‡å­—列を生æˆã™ã‚‹æ©Ÿèƒ½ã§ã™ã€‚複数ã®\n"
-"フィルターを連ã­ã‚‹ã“ã¨ã§ã€æ§˜ã€…ãªå‡ºåŠ›ã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™::\n"
-"\n"
-"   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"フィルター一覧(入力ã¨ã€ãã‚Œã«å¯¾ã™ã‚‹å‡ºåŠ›):\n"
-"\n"
-":addbreaks: 文字列。最終行を除ãå„è¡Œã®è¡Œæœ«ã« XHTML ã® \n"
-"    \"<br />\" タグを追加ã—ã¾ã™ã€‚\n"
-"\n"
-":age: 日時情報。与ãˆã‚‰ã‚ŒãŸæ—¥æ™‚ã¨ã€ç¾åœ¨æ—¥æ™‚ã¨ã®å·®åˆ†ã‚’表ã™\n"
-"    å¯èª­å½¢å¼ã®æ–‡å­—列を生æˆã—ã¾ã™ã€‚\n"
-"\n"
+"    \"baz\" and \"foo/bar//\" becomes \"bar\"."
+msgstr ""
 ":basename: 文字列。与ãˆã‚‰ã‚ŒãŸæ–‡å­—列をパスã¨ã¿ãªã—ã€ãƒ‘ス区切りã§\n"
 "    区切られãŸæœ€å¾Œã®è¦ç´ ã ã‘ã‚’å–り出ã—ã¾ã™(末尾パス\n"
 "    区切りã¯ç„¡è¦–ã•ã‚Œã¾ã™)。\n"
-"    例) \"foo/bar/baz\" 㯠\"baz\"ã€\"foo/bar//\" 㯠\"bar\"\n"
-"\n"
+"    例) \"foo/bar/baz\" 㯠\"baz\"ã€\"foo/bar//\" 㯠\"bar\""
+
+msgid ""
+":stripdir: Treat the text as path and strip a directory level, if\n"
+"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\"."
+msgstr ""
 ":stripdir: 文字列。与ãˆã‚‰ã‚ŒãŸæ–‡å­—列をパスã¨ã¿ãªã—ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª\n"
 "    階層ãŒã‚ã‚Œã°ãれをå–り除ãã¾ã™ã€‚\n"
-"    例) \"foo\" ãŠã‚ˆã³ \"foo/bar\" 㯠\"foo\"\n"
-"\n"
+"    例) \"foo\" ãŠã‚ˆã³ \"foo/bar\" 㯠\"foo\""
+
+msgid ""
+":date: Date. Returns a date in a Unix date format, including the\n"
+"    timezone: \"Mon Sep 04 15:13:13 2006 0700\"."
+msgstr ""
 ":date: 日時情報。タイムゾーン込ã¿ã® Unix date コマンド形å¼ã«ã—ã¾ã™ã€‚\n"
-"    例) \"Mon Sep 04 15:13:13 2006 0700\"\n"
-"\n"
+"    例) \"Mon Sep 04 15:13:13 2006 0700\""
+
+msgid ""
+":domain: Any text. Finds the first string that looks like an email\n"
+"    address, and extracts just the domain component. Example: ``User\n"
+"    <user@example.com>`` becomes ``example.com``."
+msgstr ""
 ":domain: 文字列。メールアドレスã¨æ€ã—ã最åˆã®æ–‡å­—列部分ã‹ã‚‰\n"
 "    ドメイン部分ã ã‘ã‚’å–り出ã—ã¾ã™ã€‚\n"
-"    例) ``User <user@example.com>`` 㯠``example.com``\n"
-"\n"
+"    例) ``User <user@example.com>`` 㯠``example.com``"
+
+msgid ""
+":email: Any text. Extracts the first string that looks like an email\n"
+"    address. Example: ``User <user@example.com>`` becomes\n"
+"    ``user@example.com``."
+msgstr ""
 ":email: 文字列。メールアドレスã¨æ€ã—ã最åˆã®éƒ¨åˆ†ã‚’å–り出ã—ã¾ã™ã€‚\n"
-"    例) ``User <user@example.com>`` 㯠``user@example.com``\n"
-"\n"
+"    例) ``User <user@example.com>`` 㯠``user@example.com``"
+
+msgid ""
+":escape: Any text. Replaces the special XML/XHTML characters \"&\", \"<\"\n"
+"    and \">\" with XML entities."
+msgstr ""
 ":escape: 文字列。XML/XHTML ã®ç‰¹æ®Šæ–‡å­—ã§ã‚ã‚‹ \"&\"ã€\"<\" ãŠã‚ˆã³\n"
-"    \">\" ã‚’ XML ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£å½¢å¼ã«å¤‰æ›ã—ã¾ã™ã€‚\n"
-"\n"
-":fill68: 文字列。68 æ¡ã«åŽã¾ã‚‹ã‚ˆã†ã«æ–‡å­—列を折り返ã—ã¾ã™ã€‚\n"
-"\n"
-":fill76: 文字列。76 æ¡ã«åŽã¾ã‚‹ã‚ˆã†ã«æ–‡å­—列を折り返ã—ã¾ã™ã€‚\n"
-"\n"
-":firstline: 文字列。最åˆã®è¡Œã®ã¿ã‚’å–り出ã—ã¾ã™ã€‚\n"
-"\n"
-":nonempty: 文字列。与ãˆã‚‰ã‚ŒãŸæ–‡å­—列ãŒç©ºã®å ´åˆ '(none)'ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
+"    \">\" ã‚’ XML ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£å½¢å¼ã«å¤‰æ›ã—ã¾ã™ã€‚"
+
+msgid ":fill68: Any text. Wraps the text to fit in 68 columns."
+msgstr ":fill68: 文字列。68 æ¡ã«åŽã¾ã‚‹ã‚ˆã†ã«æ–‡å­—列を折り返ã—ã¾ã™ã€‚"
+
+msgid ":fill76: Any text. Wraps the text to fit in 76 columns."
+msgstr ":fill76: 文字列。76 æ¡ã«åŽã¾ã‚‹ã‚ˆã†ã«æ–‡å­—列を折り返ã—ã¾ã™ã€‚"
+
+msgid ":firstline: Any text. Returns the first line of text."
+msgstr ":firstline: 文字列。最åˆã®è¡Œã®ã¿ã‚’å–り出ã—ã¾ã™ã€‚"
+
+msgid ":nonempty: Any text. Returns '(none)' if the string is empty."
+msgstr ":nonempty: 文字列。与ãˆã‚‰ã‚ŒãŸæ–‡å­—列ãŒç©ºã®å ´åˆ '(none)'ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ""
+":hgdate: Date. Returns the date as a pair of numbers: \"1157407993\n"
+"    25200\" (Unix timestamp, timezone offset)."
+msgstr ""
 ":hgdate: 日時情報。Unix タイムスタンプã¨ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆã«ã‚ˆã‚‹\n"
 "   数値対形å¼ã§å¯èª­åŒ–ã—ã¾ã™ã€‚\n"
-"   例) \"1157407993 25200\"\n"
-"\n"
+"   例) \"1157407993 25200\""
+
+msgid ""
+":isodate: Date. Returns the date in ISO 8601 format: \"2009-08-18 13:00\n"
+"    +0200\"."
+msgstr ""
 ":isodate: 日時情報。ISO 8601 å½¢å¼ã§å¯èª­åŒ–ã—ã¾ã™:\n"
-"   例) \"2009-08-18 13:00 +0200\"\n"
-"\n"
+"   例) \"2009-08-18 13:00 +0200\""
+
+msgid ""
+":isodatesec: Date. Returns the date in ISO 8601 format, including\n"
+"    seconds: \"2009-08-18 13:00:13 +0200\". See also the rfc3339date\n"
+"    filter."
+msgstr ""
 ":isodatesec: 日時情報。秒情報付ãã® ISO 8601 å½¢å¼ã§å¯èª­åŒ–ã—ã¾ã™:\n"
 "   例) \"2009-08-18 13:00:13 +0200\"\n"
-"   ※ 後述ã™ã‚‹ rfc3339date フィルタã®èª¬æ˜Žã‚‚å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
-":localdate: 日時情報。ローカル日時ã§å¯èª­åŒ–ã—ã¾ã™ã€‚\n"
-"\n"
-":obfuscate: 文字列。全ã¦ã®æ–‡å­—ã‚’ XML エンティティ形å¼ã«å¤‰æ›ã—ã¾ã™ã€‚\n"
-"\n"
-":person: 文字列。メールアドレス直å‰ã®éƒ¨åˆ†ã ã‘ã‚’å–り出ã—ã¾ã™ã€‚\n"
-"\n"
+"   ※ 後述ã™ã‚‹ rfc3339date フィルタã®èª¬æ˜Žã‚‚å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ":localdate: Date. Converts a date to local date."
+msgstr ":localdate: 日時情報。ローカル日時ã§å¯èª­åŒ–ã—ã¾ã™ã€‚"
+
+msgid ""
+":obfuscate: Any text. Returns the input text rendered as a sequence of\n"
+"    XML entities."
+msgstr ":obfuscate: 文字列。全ã¦ã®æ–‡å­—ã‚’ XML エンティティ形å¼ã«å¤‰æ›ã—ã¾ã™ã€‚"
+
+msgid ":person: Any text. Returns the text before an email address."
+msgstr ":person: 文字列。メールアドレス直å‰ã®éƒ¨åˆ†ã ã‘ã‚’å–り出ã—ã¾ã™ã€‚"
+
+msgid ""
+":rfc822date: Date. Returns a date using the same format used in email\n"
+"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\"."
+msgstr ""
 ":rfc822date: 日時情報。メールã®ãƒ˜ãƒƒãƒ€ã¨åŒå½¢å¼ã§å¯èª­åŒ–ã—ã¾ã™:\n"
-"    例) \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
-"\n"
+"    例) \"Tue, 18 Aug 2009 13:00:13 +0200\"."
+
+msgid ""
+":rfc3339date: Date. Returns a date using the Internet date format\n"
+"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\"."
+msgstr ""
 ":rfc3339date: 日付情報。 RFC 3339 ã§å®šã‚られãŸæ—¥ä»˜å½¢å¼ã§å¯èª­åŒ–ã—ã¾ã™ã€‚\n"
-"    例) \"2009-08-18T13:00:13+02:00\".\n"
-"\n"
-":short: リビジョンãƒãƒƒã‚·ãƒ¥ 値。12 æ¡ç¨‹åº¦ã®çŸ­ç¸®å½¢å¼ã«ã—ã¾ã™ã€‚\n"
-"\n"
-":shortdate: 日時情報。\"2006-09-18\" å½¢å¼ã§å¯èª­åŒ–ã—ã¾ã™ã€‚\n"
-"\n"
-":strip: 文字列。先頭ï¼æœ«å°¾ã®ç©ºç™½æ–‡å­—ã‚’å–り除ãã¾ã™ã€‚\n"
-"\n"
-":tabindent: 文字列。タブ文字以外ã§å§‹ã¾ã‚‹è¡Œã‚’タブ文字ã§å­—下ã’ã—ã¾ã™ã€‚\n"
-"\n"
+"    例) \"2009-08-18T13:00:13+02:00\"."
+
+msgid ""
+":short: Changeset hash. Returns the short form of a changeset hash,\n"
+"    i.e. a 12-byte hexadecimal string."
+msgstr ":short: リビジョンãƒãƒƒã‚·ãƒ¥ 値。12 æ¡ç¨‹åº¦ã®çŸ­ç¸®å½¢å¼ã«ã—ã¾ã™ã€‚"
+
+msgid ":shortdate: Date. Returns a date like \"2006-09-18\"."
+msgstr ":shortdate: 日時情報。\"2006-09-18\" å½¢å¼ã§å¯èª­åŒ–ã—ã¾ã™ã€‚"
+
+msgid ":strip: Any text. Strips all leading and trailing whitespace."
+msgstr ":strip: 文字列。先頭ï¼æœ«å°¾ã®ç©ºç™½æ–‡å­—ã‚’å–り除ãã¾ã™ã€‚"
+
+msgid ""
+":tabindent: Any text. Returns the text, with every line except the\n"
+"     first starting with a tab character."
+msgstr ":tabindent: 文字列。タブ文字以外ã§å§‹ã¾ã‚‹è¡Œã‚’タブ文字ã§å­—下ã’ã—ã¾ã™ã€‚"
+
+msgid ""
+":urlescape: Any text. Escapes all \"special\" characters. For example,\n"
+"    \"foo bar\" becomes \"foo%20bar\"."
+msgstr ""
 ":urlescape: 文字列。全ã¦ã®ã€Œç‰¹æ®Šã€æ–‡å­—を変æ›ã—ã¾ã™ã€‚\n"
-"    例ãˆã° \"foo bar\" 㯠\"foo%20bar\" ã¨ãªã‚Šã¾ã™ã€‚\n"
-"\n"
-":user: 文字列。メールアドレスã®ãƒ¦ãƒ¼ã‚¶å部分をå–り出ã—ã¾ã™ã€‚\n"
-
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+"    例ãˆã° \"foo bar\" 㯠\"foo%20bar\" ã¨ãªã‚Šã¾ã™ã€‚"
+
+msgid ":user: Any text. Returns the user portion of an email address.\n"
+msgstr ":user: 文字列。メールアドレスã®ãƒ¦ãƒ¼ã‚¶å部分をå–り出ã—ã¾ã™ã€‚\n"
+
+msgid "Valid URLs are of the form::"
+msgstr "有効㪠URL 指定ã¯ä»¥ä¸‹ã®å½¢å¼ã§ã™::"
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
-"Paths in the local filesystem can either point to Mercurial\n"
-"repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
-"An optional identifier after # indicates a particular branch, tag, or\n"
-"changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
-"Some features, such as pushing to http:// and https:// URLs are only\n"
-"possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
-"- SSH requires an accessible shell account on the destination machine\n"
-"  and a copy of hg in the remote path or specified with as remotecmd.\n"
-"- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
-"- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
-"    Host *.mylocalnetwork.example.com\n"
-"      Compression no\n"
-"    Host *\n"
-"      Compression yes\n"
-"\n"
-"  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
-"These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
-"  [paths]\n"
-"  alias1 = URL1\n"
-"  alias2 = URL2\n"
-"  ...\n"
-"\n"
-"You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' will be treated as 'hg pull URL1').\n"
-"\n"
-"Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
-"default:\n"
-"  When you create a repository with hg clone, the clone command saves\n"
-"  the location of the source repository as the new repository's\n"
-"  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
-"default-push:\n"
-"  The push command will look for a path named 'default-push', and\n"
-"  prefer it over 'default' if both are defined.\n"
-msgstr ""
-"有効㪠URL 指定ã¯ä»¥ä¸‹ã®å½¢å¼ã§ã™::\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+
+msgid ""
+"Paths in the local filesystem can either point to Mercurial\n"
+"repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
+"incoming --bundle')."
+msgstr ""
 "ローカルファイルシステム上ã®ãƒ‘スãŒæŒ‡ã™å…ˆã¯ã€Mercurial ã®ãƒªãƒã‚¸ãƒˆãƒªã§ã‚‚ã€\n"
 "ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«('hg bundle' ãªã„ã— 'hg incoming --bundle' ã§ç”Ÿæˆ)ã§ã‚‚\n"
-"構ã„ã¾ã›ã‚“。\n"
-"\n"
+"構ã„ã¾ã›ã‚“。"
+
+msgid ""
+"An optional identifier after # indicates a particular branch, tag, or\n"
+"changeset to use from the remote repository. See also 'hg help\n"
+"revisions'."
+msgstr ""
 "連æºå…ˆãƒªãƒã‚¸ãƒˆãƒªæŒ‡å®šã«ãŠã„ã¦ã€'#' 記å·ã«ç¶šã‘ã¦è­˜åˆ¥å­ã‚’指定ã™ã‚‹ã“ã¨ã§ã€\n"
 "特定ã®ãƒ–ランãƒã€ã‚¿ã‚°ãªã„ã—ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã‚’指定ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚\n"
-"'hg help revisions' ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。\n"
-"\n"
+"'hg help revisions' ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。"
+
+msgid ""
+"Some features, such as pushing to http:// and https:// URLs are only\n"
+"possible if the feature is explicitly enabled on the remote Mercurial\n"
+"server."
+msgstr ""
 "http:// ã‚„ https:// å½¢å¼ã® URL ã§æŒ‡å®šã•ã‚Œã‚‹é€£æºå…ˆã¸ã® push ã®æ§˜ãª\n"
 "機能ã®ã†ã¡ã®å¹¾ã¤ã‹ã¯ã€ãã®æ©Ÿèƒ½ãŒé€£æºå…ˆã® Mercurial サーãƒå´ã§æ˜Žç¤ºçš„ã«\n"
-"利用å¯èƒ½ã«ãªã£ã¦ã„ã‚‹å ´åˆã«é™ã‚Šä½¿ç”¨å¯èƒ½ã§ã™ã€‚\n"
-"\n"
-"Mercurial 㨠SSH を併用ã™ã‚‹å ´åˆã®æ³¨æ„点:\n"
-"\n"
+"利用å¯èƒ½ã«ãªã£ã¦ã„ã‚‹å ´åˆã«é™ã‚Šä½¿ç”¨å¯èƒ½ã§ã™ã€‚"
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr "Mercurial 㨠SSH を併用ã™ã‚‹å ´åˆã®æ³¨æ„点:"
+
+msgid ""
+"- SSH requires an accessible shell account on the destination machine\n"
+"  and a copy of hg in the remote path or specified with as remotecmd.\n"
+"- path is relative to the remote user's home directory by default. Use\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
 "- SSH アクセス先ホスト上ã«ã€shell アカウント㨠hg コマンドãŒå¿…è¦ã§ã™ã€‚\n"
 "  hg コマンドãŒã‚¢ã‚¯ã‚»ã‚¹å…ˆãƒ›ã‚¹ãƒˆã® PATH 設定ã§åˆ©ç”¨å¯èƒ½ã«ãªã£ã¦ã„ãªã„\n"
 "  å ´åˆã¯ã€--remotecmd ã§æ˜Žç¤ºçš„ã«æŒ‡å®šã—ã¦ãã ã•ã„。\n"
 "- URL 中ã®ãƒ‘ス指定ã¯ã€ã‚¢ã‚¯ã‚»ã‚¹å…ˆãƒ›ã‚¹ãƒˆä¸Šã®ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª\n"
 "  ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã¿ãªã•ã‚Œã¾ã™ã€‚絶対パスを指定ã™ã‚‹å ´åˆã¯ã€ãƒ‘スã®å…ˆé ­ã«\n"
-"  æ›´ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥('/')を付与ã—ã¦ãã ã•ã„::\n"
-"\n"
-"     例: ssh://example.com//tmp/repository\n"
-"\n"
+"  æ›´ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥('/')を付与ã—ã¦ãã ã•ã„::"
+
+msgid "    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"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
 "- SSH 連æºã®éš›ã«ã¯ Mercurial ã¯è‡ªèº«ã®åœ§ç¸®å‡¦ç†ã‚’è¡Œã„ã¾ã›ã‚“。以下ã®ã‚ˆã†ã«\n"
-"  ~/.ssh/config 等㧠SSH ã®åœ§ç¸®å®Ÿæ–½ã‚’指示ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™::\n"
-"\n"
+"  ~/.ssh/config 等㧠SSH ã®åœ§ç¸®å®Ÿæ–½ã‚’指示ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™::"
+
+msgid ""
+"    Host *.mylocalnetwork.example.com\n"
+"      Compression no\n"
+"    Host *\n"
+"      Compression yes"
+msgstr ""
 "    Host *.mylocalnetwork.example.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+
+msgid ""
+"  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
+"  with the --ssh command line option."
+msgstr ""
 "  ã‚ã‚‹ã„ã¯ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«ãŠã‘ã‚‹ ssh コマンド指定やã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã§ã®\n"
-"  --ssh ã«å¯¾ã—ã¦ã€'ssh -C' を指定ã™ã‚‹æ–¹æ³•ã‚‚ã‚ã‚Šã¾ã™ã€‚\n"
-"\n"
+"  --ssh ã«å¯¾ã—ã¦ã€'ssh -C' を指定ã™ã‚‹æ–¹æ³•ã‚‚ã‚ã‚Šã¾ã™ã€‚"
+
+msgid ""
+"These URLs can all be stored in your hgrc with path aliases under the\n"
+"[paths] section like so::"
+msgstr ""
 "連æºå…ˆ URL ã¯ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã® [paths] セクションã§ã€åˆ¥åを付ã‘ã¦è¨˜è¿°\n"
-"ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™::\n"
-"\n"
+"ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™::"
+
+msgid ""
 "  [paths]\n"
 "  alias1 = URL1\n"
 "  alias2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+msgstr ""
+"  [paths]\n"
+"  alias1 = URL1\n"
+"  alias2 = URL2\n"
+"  ..."
+
+msgid ""
+"You can then use the alias for any command that uses a URL (for\n"
+"example 'hg pull alias1' will be treated as 'hg pull URL1')."
+msgstr ""
 "URL 指定ãŒå¿…è¦ãªã‚³ãƒžãƒ³ãƒ‰ã«å¯¾ã—ã¦ã¯ã€åˆ¥åを指定ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™\n"
-"(例ãˆã°ã€'hg pull alias1' 㯠alias1 ã®æŒ‡ã™å…ˆã‹ã‚‰å¤‰æ›´ã‚’å–ã‚Šè¾¼ã¿ã¾ã™)。\n"
-"\n"
+"(例ãˆã°ã€'hg pull alias1' 㯠alias1 ã®æŒ‡ã™å…ˆã‹ã‚‰å¤‰æ›´ã‚’å–ã‚Šè¾¼ã¿ã¾ã™)。"
+
+msgid ""
+"Two path aliases are special because they are used as defaults when\n"
+"you do not provide the URL to a command:"
+msgstr ""
 "コマンド㫠URL を指定ã—ãªã‹ã£ãŸå ´åˆã«ã€æš—é»™ã®é€£æºå…ˆã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã‚‹\n"
-"é‡è¦ãªåˆ¥åãŒ2ã¤ã‚ã‚Šã¾ã™:\n"
-"\n"
+"é‡è¦ãªåˆ¥åãŒ2ã¤ã‚ã‚Šã¾ã™:"
+
+msgid ""
+"default:\n"
+"  When you create a repository with hg clone, the clone command saves\n"
+"  the location of the source repository as the new repository's\n"
+"  'default' path. This is then used when you omit path from push- and\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
 "default:\n"
 "  'hg clone' ã«ã‚ˆã£ã¦è¤‡è£½ã—ãŸå ´åˆã€æ–°è¦ãƒªãƒã‚¸ãƒˆãƒªã® 'default' ã¨ã—ã¦\n"
 "  複製元リãƒã‚¸ãƒˆãƒªã® URL ãŒä¿å­˜ã•ã‚Œã¾ã™ã€‚\n"
 "  以後ã€é€£æºå…ˆã‚’çœç•¥ã—㦠'hg push' ã‚„ 'hg pull' ã«é¡žã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã‚’\n"
-"  実行ã—ãŸéš›ã«ã¯ã€ã“ã® URL ãŒé€£æºå…ˆã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
-"\n"
+"  実行ã—ãŸéš›ã«ã¯ã€ã“ã® URL ãŒé€£æºå…ˆã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
+
+msgid ""
+"default-push:\n"
+"  The push command will look for a path named 'default-push', and\n"
+"  prefer it over 'default' if both are defined.\n"
+msgstr ""
 "default-push:\n"
 "  'hg push' ã¯ã€'default-push' ã®åˆ¥åã§å®šç¾©ã•ã‚Œã‚‹ URL を探ã—ã¾ã™ã€‚\n"
 "  'default' ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚‹å ´åˆã§ã‚‚ã€'default-push' ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚Œã°\n"
@@ -9926,9 +10368,7 @@
 msgid "destination '%s' is not empty"
 msgstr "複製先 '%s' ã¯ç©ºã§ã¯ã‚ã‚Šã¾ã›ã‚“"
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
 msgstr "指定ã®è¤‡è£½å…ƒã§ã¯ã€ãƒªãƒ“ジョン指定付ãã§ã®è¤‡è£½ãŒã§ãã¾ã›ã‚“"
 
 msgid "clone from remote to remote not supported"
@@ -9939,16 +10379,13 @@
 msgstr "ブランム%s ã¸æ›´æ–°ä¸­\n"
 
 #, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
 msgstr "ファイル状態: æ›´æ–°æ•° %dã€ãƒžãƒ¼ã‚¸æ•° %dã€å‰Šé™¤æ•° %dã€è¡çªæœªè§£æ±ºæ•° %d\n"
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr "'hg resolve' ã§ãƒžãƒ¼ã‚¸ã®è¡çªã‚’解消ã—ã¦ãã ã•ã„\n"
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
 msgstr "'hg resolve' ã§ã®å†åº¦è¡çªè§£æ¶ˆã‹ã€'hg up -C' ã§å¤‰æ›´ç ´æ£„ã—ã¦ãã ã•ã„\n"
 
 msgid "(branch merge, don't forget to commit)\n"
@@ -10245,9 +10682,7 @@
 msgid "requesting all changes\n"
 msgstr "å…¨ãƒã‚§ãƒ³ã‚¸ã‚»ãƒƒãƒˆã‚’å–得中\n"
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
 msgstr "連æºå…ˆã® changegroupsubset 機能未対応ã«ã‚ˆã‚Šã€éƒ¨åˆ†å–ã‚Šè¾¼ã¿ã§ãã¾ã›ã‚“。"
 
 #, python-format
@@ -10401,9 +10836,7 @@
 msgstr "差分コンテキストã§ã®è¡Œæ•°æŒ‡å®šãŒä¸æ­£ã§ã™: %r"
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr "未登録ファイル %s ã¯æŒ‡å®šãƒªãƒ“ジョンã§ã®è¨˜éŒ²å†…容ã¨ç•°ãªã‚Šã¾ã™"
 
 #, python-format
@@ -10484,15 +10917,11 @@
 msgid "outstanding uncommitted changes (use 'hg status' to list changes)"
 msgstr "未コミット変更ãŒã‚ã‚Šã¾ã™('hg status' ã§å¤‰æ›´ä¸€è¦§è¡¨ç¤ºå¯èƒ½)"
 
-msgid ""
-"crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard "
-"changes)"
-msgstr ""
-"ブランãƒæ¨ªæ–­('hg merge' ã§ã®ãƒžãƒ¼ã‚¸ã‹ã€'hg update -C' ã§å¤‰æ›´ç ´æ£„ã—ã¦ãã ã•ã„)"
+msgid "crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)"
+msgstr "ブランãƒæ¨ªæ–­('hg merge' ã§ã®ãƒžãƒ¼ã‚¸ã‹ã€'hg update -C' ã§å¤‰æ›´ç ´æ£„ã—ã¦ãã ã•ã„)"
 
 msgid "crosses branches (use 'hg merge' or use 'hg update -c')"
-msgstr ""
-"ブランãƒæ¨ªæ–­('hg merge' ã§ã®ãƒžãƒ¼ã‚¸ã‹ã€'hg update -c' ã§å¤‰æ›´ç¢ºèªã—ã¦ãã ã•ã„)"
+msgstr "ブランãƒæ¨ªæ–­('hg merge' ã§ã®ãƒžãƒ¼ã‚¸ã‹ã€'hg update -c' ã§å¤‰æ›´ç¢ºèªã—ã¦ãã ã•ã„)"
 
 #, python-format
 msgid "cannot create %s: destination already exists"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/i18n/polib.LICENSE	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,19 @@
+copyright (c) 2006-2010 David JEAN LOUIS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/i18n/polib.py	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,1680 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# License: MIT (see LICENSE file provided)
+# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
+
+"""
+**polib** allows you to manipulate, create, modify gettext files (pot, po
+and mo files).  You can load existing files, iterate through it's entries,
+add, modify entries, comments or metadata, etc... or create new po files
+from scratch.
+
+**polib** provides a simple and pythonic API, exporting only three
+convenience functions (*pofile*, *mofile* and *detect_encoding*), and the
+four core classes, *POFile*, *MOFile*, *POEntry* and *MOEntry* for creating
+new files/entries.
+
+**Basic example**:
+
+>>> import polib
+>>> # load an existing po file
+>>> po = polib.pofile('tests/test_utf8.po')
+>>> for entry in po:
+...     # do something with entry...
+...     pass
+>>> # add an entry
+>>> entry = polib.POEntry(msgid='Welcome', msgstr='Bienvenue')
+>>> entry.occurrences = [('welcome.py', '12'), ('anotherfile.py', '34')]
+>>> po.append(entry)
+>>> # to save our modified po file:
+>>> # po.save()
+>>> # or you may want to compile the po file
+>>> # po.save_as_mofile('tests/test_utf8.mo')
+"""
+
+__author__    = 'David JEAN LOUIS <izimobil@gmail.com>'
+__version__   = '0.5.2'
+__all__       = ['pofile', 'POFile', 'POEntry', 'mofile', 'MOFile', 'MOEntry',
+                 'detect_encoding', 'escape', 'unescape', 'detect_encoding',]
+
+import codecs
+import struct
+import textwrap
+import types
+import re
+
+default_encoding = 'utf-8'
+
+# function pofile() {{{
+
+def pofile(fpath, **kwargs):
+    """
+    Convenience function that parse the po/pot file *fpath* and return
+    a POFile instance.
+
+    **Keyword arguments**:
+      - *fpath*: string, full or relative path to the po/pot file to parse
+      - *wrapwidth*: integer, the wrap width, only useful when -w option was
+        passed to xgettext (optional, default to 78)
+      - *autodetect_encoding*: boolean, if set to False the function will
+        not try to detect the po file encoding (optional, default to True)
+      - *encoding*: string, an encoding, only relevant if autodetect_encoding
+        is set to False
+      - *check_for_duplicates*: whether to check for duplicate entries when
+        adding entries to the file, default: False (optional)
+
+    **Example**:
+
+    >>> import polib
+    >>> po = polib.pofile('tests/test_weird_occurrences.po',
+    ...     check_for_duplicates=True)
+    >>> po #doctest: +ELLIPSIS
+    <POFile instance at ...>
+    >>> import os, tempfile
+    >>> all_attrs = ('msgctxt', 'msgid', 'msgstr', 'msgid_plural', 
+    ...              'msgstr_plural', 'obsolete', 'comment', 'tcomment', 
+    ...              'occurrences', 'flags', 'previous_msgctxt', 
+    ...              'previous_msgid', 'previous_msgid_plural')
+    >>> for fname in ['test_iso-8859-15.po', 'test_utf8.po']:
+    ...     orig_po = polib.pofile('tests/'+fname)
+    ...     tmpf = tempfile.NamedTemporaryFile().name
+    ...     orig_po.save(tmpf)
+    ...     try:
+    ...         new_po = polib.pofile(tmpf)
+    ...         for old, new in zip(orig_po, new_po):
+    ...             for attr in all_attrs:
+    ...                 if getattr(old, attr) != getattr(new, attr):
+    ...                     getattr(old, attr)
+    ...                     getattr(new, attr)
+    ...     finally:
+    ...         os.unlink(tmpf)
+    >>> po_file = polib.pofile('tests/test_save_as_mofile.po')
+    >>> tmpf = tempfile.NamedTemporaryFile().name
+    >>> po_file.save_as_mofile(tmpf)
+    >>> try:
+    ...     mo_file = polib.mofile(tmpf)
+    ...     for old, new in zip(po_file, mo_file):
+    ...         if po_file._encode(old.msgid) != mo_file._encode(new.msgid):
+    ...             'OLD: ', po_file._encode(old.msgid)
+    ...             'NEW: ', mo_file._encode(new.msgid)
+    ...         if po_file._encode(old.msgstr) != mo_file._encode(new.msgstr):
+    ...             'OLD: ', po_file._encode(old.msgstr)
+    ...             'NEW: ', mo_file._encode(new.msgstr)
+    ...             print new.msgstr
+    ... finally:
+    ...     os.unlink(tmpf)
+    """
+    if kwargs.get('autodetect_encoding', True) == True:
+        enc = detect_encoding(fpath)
+    else:
+        enc = kwargs.get('encoding', default_encoding)
+    check_for_duplicates = kwargs.get('check_for_duplicates', False)
+    parser = _POFileParser(
+        fpath,
+        encoding=enc,
+        check_for_duplicates=kwargs.get('check_for_duplicates', False)
+    )
+    instance = parser.parse()
+    instance.wrapwidth = kwargs.get('wrapwidth', 78)
+    return instance
+
+# }}}
+# function mofile() {{{
+
+def mofile(fpath, **kwargs):
+    """
+    Convenience function that parse the mo file *fpath* and return
+    a MOFile instance.
+
+    **Keyword arguments**:
+      - *fpath*: string, full or relative path to the mo file to parse
+      - *wrapwidth*: integer, the wrap width, only useful when -w option was
+        passed to xgettext to generate the po file that was used to format
+        the mo file (optional, default to 78)
+      - *autodetect_encoding*: boolean, if set to False the function will
+        not try to detect the po file encoding (optional, default to True)
+      - *encoding*: string, an encoding, only relevant if autodetect_encoding
+        is set to False
+      - *check_for_duplicates*: whether to check for duplicate entries when
+        adding entries to the file, default: False (optional)
+
+    **Example**:
+
+    >>> import polib
+    >>> mo = polib.mofile('tests/test_utf8.mo', check_for_duplicates=True)
+    >>> mo #doctest: +ELLIPSIS
+    <MOFile instance at ...>
+    >>> import os, tempfile
+    >>> for fname in ['test_iso-8859-15.mo', 'test_utf8.mo']:
+    ...     orig_mo = polib.mofile('tests/'+fname)
+    ...     tmpf = tempfile.NamedTemporaryFile().name
+    ...     orig_mo.save(tmpf)
+    ...     try:
+    ...         new_mo = polib.mofile(tmpf)
+    ...         for old, new in zip(orig_mo, new_mo):
+    ...             if old.msgid != new.msgid:
+    ...                 old.msgstr
+    ...                 new.msgstr
+    ...     finally:
+    ...         os.unlink(tmpf)
+    """
+    if kwargs.get('autodetect_encoding', True) == True:
+        enc = detect_encoding(fpath, True)
+    else:
+        enc = kwargs.get('encoding', default_encoding)
+    parser = _MOFileParser(
+        fpath,
+        encoding=enc,
+        check_for_duplicates=kwargs.get('check_for_duplicates', False)
+    )
+    instance = parser.parse()
+    instance.wrapwidth = kwargs.get('wrapwidth', 78)
+    return instance
+
+# }}}
+# function detect_encoding() {{{
+
+def detect_encoding(fpath, binary_mode=False):
+    """
+    Try to detect the encoding used by the file *fpath*. The function will
+    return polib default *encoding* if it's unable to detect it.
+
+    **Keyword argument**:
+      - *fpath*: string, full or relative path to the mo file to parse.
+
+    **Examples**:
+
+    >>> print(detect_encoding('tests/test_noencoding.po'))
+    utf-8
+    >>> print(detect_encoding('tests/test_utf8.po'))
+    UTF-8
+    >>> print(detect_encoding('tests/test_utf8.mo', True))
+    UTF-8
+    >>> print(detect_encoding('tests/test_iso-8859-15.po'))
+    ISO_8859-15
+    >>> print(detect_encoding('tests/test_iso-8859-15.mo', True))
+    ISO_8859-15
+    """
+    import re
+    rx = re.compile(r'"?Content-Type:.+? charset=([\w_\-:\.]+)')
+    if binary_mode:
+        mode = 'rb'
+    else:
+        mode = 'r'
+    f = open(fpath, mode)
+    for l in f.readlines():
+        match = rx.search(l)
+        if match:
+            f.close()
+            return match.group(1).strip()
+    f.close()
+    return default_encoding
+
+# }}}
+# function escape() {{{
+
+def escape(st):
+    """
+    Escape special chars and return the given string *st*.
+
+    **Examples**:
+
+    >>> escape('\\t and \\n and \\r and " and \\\\')
+    '\\\\t and \\\\n and \\\\r and \\\\" and \\\\\\\\'
+    """
+    return st.replace('\\', r'\\')\
+             .replace('\t', r'\t')\
+             .replace('\r', r'\r')\
+             .replace('\n', r'\n')\
+             .replace('\"', r'\"')
+
+# }}}
+# function unescape() {{{
+
+def unescape(st):
+    """
+    Unescape special chars and return the given string *st*.
+
+    **Examples**:
+
+    >>> unescape('\\\\t and \\\\n and \\\\r and \\\\" and \\\\\\\\')
+    '\\t and \\n and \\r and " and \\\\'
+    >>> unescape(r'\\n')
+    '\\n'
+    >>> unescape(r'\\\\n')
+    '\\\\n'
+    >>> unescape(r'\\\\n\\n')
+    '\\\\n\\n'
+    """
+    def unescape_repl(m):
+        m = m.group(1)
+        if m == 'n':
+            return '\n'
+        if m == 't':
+            return '\t'
+        if m == 'r':
+            return '\r'
+        if m == '\\':
+            return '\\'
+        return m # handles escaped double quote
+    return re.sub(r'\\(\\|n|t|r|")', unescape_repl, st)
+
+# }}}
+# class _BaseFile {{{
+
+class _BaseFile(list):
+    """
+    Common parent class for POFile and MOFile classes.
+    This class must **not** be instanciated directly.
+    """
+
+    def __init__(self, *args, **kwargs):
+        """
+        Constructor.
+
+        **Keyword arguments**:
+          - *fpath*: string, path to po or mo file
+          - *wrapwidth*: integer, the wrap width, only useful when -w option
+            was passed to xgettext to generate the po file that was used to
+            format the mo file, default to 78 (optional),
+          - *encoding*: string, the encoding to use, defaults to
+            "default_encoding" global variable (optional),
+          - *check_for_duplicates*: whether to check for duplicate entries
+            when adding entries to the file, default: False (optional).
+        """
+        list.__init__(self)
+        # the opened file handle
+        self.fpath = kwargs.get('fpath')
+        # the width at which lines should be wrapped
+        self.wrapwidth = kwargs.get('wrapwidth', 78)
+        # the file encoding
+        self.encoding = kwargs.get('encoding', default_encoding)
+        # whether to check for duplicate entries or not
+        self.check_for_duplicates = kwargs.get('check_for_duplicates', False)
+        # header
+        self.header = ''
+        # both po and mo files have metadata
+        self.metadata = {}
+        self.metadata_is_fuzzy = 0
+
+    def __str__(self):
+        """
+        String representation of the file.
+        """
+        ret = []
+        entries = [self.metadata_as_entry()] + \
+                  [e for e in self if not e.obsolete]
+        for entry in entries:
+            ret.append(entry.__str__(self.wrapwidth))
+        for entry in self.obsolete_entries():
+            ret.append(entry.__str__(self.wrapwidth))
+        return '\n'.join(ret)
+
+    def __contains__(self, entry):
+        """
+        Overriden method to implement the membership test (in and not in).
+        The method considers that an entry is in the file if it finds an 
+        entry that has the same msgid (case sensitive).
+
+        **Keyword argument**:
+          - *entry*: an instance of polib._BaseEntry
+
+        **Tests**:
+        >>> po = POFile()
+        >>> e1 = POEntry(msgid='foobar', msgstr='spam')
+        >>> e2 = POEntry(msgid='barfoo', msgstr='spam')
+        >>> e3 = POEntry(msgid='foobar', msgstr='eggs')
+        >>> e4 = POEntry(msgid='spameggs', msgstr='eggs')
+        >>> po.append(e1)
+        >>> po.append(e2)
+        >>> e1 in po
+        True
+        >>> e2 not in po
+        False
+        >>> e3 in po
+        True
+        >>> e4 in po
+        False
+        """
+        return self.find(entry.msgid, by='msgid') is not None
+
+    def append(self, entry):
+        """
+        Overriden method to check for duplicates entries, if a user tries to
+        add an entry that already exists, the method will raise a ValueError
+        exception.
+
+        **Keyword argument**:
+          - *entry*: an instance of polib._BaseEntry
+
+        **Tests**:
+        >>> e1 = POEntry(msgid='foobar', msgstr='spam')
+        >>> e2 = POEntry(msgid='foobar', msgstr='eggs')
+        >>> po = POFile(check_for_duplicates=True)
+        >>> po.append(e1)
+        >>> try:
+        ...     po.append(e2)
+        ... except ValueError, e:
+        ...     unicode(e)
+        u'Entry "foobar" already exists'
+        """
+        if self.check_for_duplicates and entry in self:
+            raise ValueError('Entry "%s" already exists' % entry.msgid)
+        super(_BaseFile, self).append(entry)
+
+    def insert(self, index, entry):
+        """
+        Overriden method to check for duplicates entries, if a user tries to
+        insert an entry that already exists, the method will raise a ValueError
+        exception.
+
+        **Keyword arguments**:
+          - *index*: index at which the entry should be inserted
+          - *entry*: an instance of polib._BaseEntry
+
+        **Tests**:
+        >>> import polib
+        >>> polib.check_for_duplicates = True
+        >>> e1 = POEntry(msgid='foobar', msgstr='spam')
+        >>> e2 = POEntry(msgid='barfoo', msgstr='eggs')
+        >>> e3 = POEntry(msgid='foobar', msgstr='eggs')
+        >>> po = POFile(check_for_duplicates=True)
+        >>> po.insert(0, e1)
+        >>> po.insert(1, e2)
+        >>> try:
+        ...     po.insert(0, e3)
+        ... except ValueError, e:
+        ...     unicode(e)
+        u'Entry "foobar" already exists'
+        """
+        if self.check_for_duplicates and entry in self:
+            raise ValueError('Entry "%s" already exists' % entry.msgid)
+        super(_BaseFile, self).insert(index, entry)
+
+    def __repr__(self):
+        """Return the official string representation of the object."""
+        return '<%s instance at %x>' % (self.__class__.__name__, id(self))
+
+    def metadata_as_entry(self):
+        """
+        Return the metadata as an entry:
+
+        >>> import polib
+        >>> po = polib.pofile('tests/test_fuzzy_header.po')
+        >>> unicode(po) == unicode(open('tests/test_fuzzy_header.po').read())
+        True
+        """
+        e = POEntry(msgid='')
+        mdata = self.ordered_metadata()
+        if mdata:
+            strs = []
+            e._multiline_str['msgstr'] = ''
+            for name, value in mdata:
+                # Strip whitespace off each line in a multi-line entry
+                strs.append('%s: %s' % (name, value))
+            e.msgstr = '\n'.join(strs) + '\n'
+            e._multiline_str['msgstr'] = '__POLIB__NL__'.join(
+                    [s + '\n' for s in strs])
+        if self.metadata_is_fuzzy:
+            e.flags.append('fuzzy')
+        return e
+
+    def save(self, fpath=None, repr_method='__str__'):
+        """
+        Save the po file to file *fpath* if no file handle exists for
+        the object. If there's already an open file and no fpath is
+        provided, then the existing file is rewritten with the modified
+        data.
+
+        **Keyword arguments**:
+          - *fpath*: string, full or relative path to the file.
+          - *repr_method*: string, the method to use for output.
+        """
+        if self.fpath is None and fpath is None:
+            raise IOError('You must provide a file path to save() method')
+        contents = getattr(self, repr_method)()
+        if fpath is None:
+            fpath = self.fpath
+        if repr_method == 'to_binary':
+            fhandle = open(fpath, 'wb')
+        else:
+            fhandle = codecs.open(fpath, 'w', self.encoding)
+            if type(contents) != types.UnicodeType:
+                contents = contents.decode(self.encoding)
+        fhandle.write(contents)
+        fhandle.close()
+
+    def find(self, st, by='msgid'):
+        """
+        Find entry which msgid (or property identified by the *by*
+        attribute) matches the string *st*.
+
+        **Keyword arguments**:
+          - *st*: string, the string to search for
+          - *by*: string, the comparison attribute
+
+        **Examples**:
+
+        >>> po = pofile('tests/test_utf8.po')
+        >>> entry = po.find('Thursday')
+        >>> entry.msgstr
+        u'Jueves'
+        >>> entry = po.find('Some unexistant msgid')
+        >>> entry is None
+        True
+        >>> entry = po.find('Jueves', 'msgstr')
+        >>> entry.msgid
+        u'Thursday'
+        """
+        for e in self:
+            if getattr(e, by) == st:
+                return e
+        return None
+
+    def ordered_metadata(self):
+        """
+        Convenience method that return the metadata ordered. The return
+        value is list of tuples (metadata name, metadata_value).
+        """
+        # copy the dict first
+        metadata = self.metadata.copy()
+        data_order = [
+            'Project-Id-Version',
+            'Report-Msgid-Bugs-To',
+            'POT-Creation-Date',
+            'PO-Revision-Date',
+            'Last-Translator',
+            'Language-Team',
+            'MIME-Version',
+            'Content-Type',
+            'Content-Transfer-Encoding'
+        ]
+        ordered_data = []
+        for data in data_order:
+            try:
+                value = metadata.pop(data)
+                ordered_data.append((data, value))
+            except KeyError:
+                pass
+        # the rest of the metadata won't be ordered there are no specs for this
+        keys = metadata.keys()
+        list(keys).sort()
+        for data in keys:
+            value = metadata[data]
+            ordered_data.append((data, value))
+        return ordered_data
+
+    def to_binary(self):
+        """
+        Return the mofile binary representation.
+        """
+        import array
+        import struct
+        import types
+        offsets = []
+        entries = self.translated_entries()
+        # the keys are sorted in the .mo file
+        def cmp(_self, other):
+            if _self.msgid > other.msgid:
+                return 1
+            elif _self.msgid < other.msgid:
+                return -1
+            else:
+                return 0
+        # add metadata entry
+        entries.sort(cmp)
+        mentry = self.metadata_as_entry()
+        mentry.msgstr = mentry.msgstr.replace('\\n', '').lstrip()
+        entries = [mentry] + entries
+        entries_len = len(entries)
+        ids, strs = '', ''
+        for e in entries:
+            # For each string, we need size and file offset.  Each string is
+            # NUL terminated; the NUL does not count into the size.
+            if e.msgid_plural:
+                indexes = e.msgstr_plural.keys()
+                indexes.sort()
+                msgstr = []
+                for index in indexes:
+                    msgstr.append(e.msgstr_plural[index])
+                msgid = self._encode(e.msgid + '\0' + e.msgid_plural)
+                msgstr = self._encode('\0'.join(msgstr))
+            else:
+                msgid = self._encode(e.msgid)
+                msgstr = self._encode(e.msgstr)
+            offsets.append((len(ids), len(msgid), len(strs), len(msgstr)))
+            ids  += msgid  + '\0'
+            strs += msgstr + '\0'
+        # The header is 7 32-bit unsigned integers.
+        keystart = 7*4+16*entries_len
+        # and the values start after the keys
+        valuestart = keystart + len(ids)
+        koffsets = []
+        voffsets = []
+        # The string table first has the list of keys, then the list of values.
+        # Each entry has first the size of the string, then the file offset.
+        for o1, l1, o2, l2 in offsets:
+            koffsets += [l1, o1+keystart]
+            voffsets += [l2, o2+valuestart]
+        offsets = koffsets + voffsets
+        output  = struct.pack("IIIIIII",
+                             0x950412de,        # Magic number
+                             0,                 # Version
+                             entries_len,       # # of entries
+                             7*4,               # start of key index
+                             7*4+entries_len*8, # start of value index
+                             0, 0)              # size and offset of hash table
+        output += array.array("I", offsets).tostring()
+        output += ids
+        output += strs
+        return output
+
+    def _encode(self, mixed):
+        """
+        Encode the given argument with the file encoding if the type is unicode
+        and return the encoded string.
+        """
+        if type(mixed) == types.UnicodeType:
+            return mixed.encode(self.encoding)
+        return mixed
+
+# }}}
+# class POFile {{{
+
+class POFile(_BaseFile):
+    '''
+    Po (or Pot) file reader/writer.
+    POFile objects inherit the list objects methods.
+
+    **Example**:
+
+    >>> po = POFile()
+    >>> entry1 = POEntry(
+    ...     msgid="Some english text",
+    ...     msgstr="Un texte en anglais"
+    ... )
+    >>> entry1.occurrences = [('testfile', 12),('another_file', 1)]
+    >>> entry1.comment = "Some useful comment"
+    >>> entry2 = POEntry(
+    ...     msgid="Peace in some languages",
+    ...     msgstr="Pace سلام ×©×œ×•× Hasîtî 和平"
+    ... )
+    >>> entry2.occurrences = [('testfile', 15),('another_file', 5)]
+    >>> entry2.comment = "Another useful comment"
+    >>> entry3 = POEntry(
+    ...     msgid='Some entry with quotes " \\"',
+    ...     msgstr='Un message unicode avec des quotes " \\"'
+    ... )
+    >>> entry3.comment = "Test string quoting"
+    >>> po.append(entry1)
+    >>> po.append(entry2)
+    >>> po.append(entry3)
+    >>> po.header = "Some Header"
+    >>> print(po)
+    # Some Header
+    msgid ""
+    msgstr ""
+    <BLANKLINE>
+    #. Some useful comment
+    #: testfile:12 another_file:1
+    msgid "Some english text"
+    msgstr "Un texte en anglais"
+    <BLANKLINE>
+    #. Another useful comment
+    #: testfile:15 another_file:5
+    msgid "Peace in some languages"
+    msgstr "Pace سلام ×©×œ×•× Hasîtî 和平"
+    <BLANKLINE>
+    #. Test string quoting
+    msgid "Some entry with quotes \\" \\""
+    msgstr "Un message unicode avec des quotes \\" \\""
+    <BLANKLINE>
+    '''
+
+    def __str__(self):
+        """Return the string representation of the po file"""
+        ret, headers = '', self.header.split('\n')
+        for header in headers:
+            if header[:1] in [',', ':']:
+                ret += '#%s\n' % header
+            else:
+                ret += '# %s\n' % header
+        return ret + _BaseFile.__str__(self)
+
+    def save_as_mofile(self, fpath):
+        """
+        Save the binary representation of the file to *fpath*.
+
+        **Keyword arguments**:
+          - *fpath*: string, full or relative path to the file.
+        """
+        _BaseFile.save(self, fpath, 'to_binary')
+
+    def percent_translated(self):
+        """
+        Convenience method that return the percentage of translated
+        messages.
+
+        **Example**:
+
+        >>> import polib
+        >>> po = polib.pofile('tests/test_pofile_helpers.po')
+        >>> po.percent_translated()
+        50
+        >>> po = POFile()
+        >>> po.percent_translated()
+        100
+        """
+        total = len([e for e in self if not e.obsolete])
+        if total == 0:
+            return 100
+        translated = len(self.translated_entries())
+        return int((100.00 / float(total)) * translated)
+
+    def translated_entries(self):
+        """
+        Convenience method that return a list of translated entries.
+
+        **Example**:
+
+        >>> import polib
+        >>> po = polib.pofile('tests/test_pofile_helpers.po')
+        >>> len(po.translated_entries())
+        6
+        """
+        return [e for e in self if e.translated()]
+
+    def untranslated_entries(self):
+        """
+        Convenience method that return a list of untranslated entries.
+
+        **Example**:
+
+        >>> import polib
+        >>> po = polib.pofile('tests/test_pofile_helpers.po')
+        >>> len(po.untranslated_entries())
+        4
+        """
+        return [e for e in self if not e.translated() and not e.obsolete \
+                and not 'fuzzy' in e.flags]
+
+    def fuzzy_entries(self):
+        """
+        Convenience method that return the list of 'fuzzy' entries.
+
+        **Example**:
+
+        >>> import polib
+        >>> po = polib.pofile('tests/test_pofile_helpers.po')
+        >>> len(po.fuzzy_entries())
+        2
+        """
+        return [e for e in self if 'fuzzy' in e.flags]
+
+    def obsolete_entries(self):
+        """
+        Convenience method that return the list of obsolete entries.
+
+        **Example**:
+
+        >>> import polib
+        >>> po = polib.pofile('tests/test_pofile_helpers.po')
+        >>> len(po.obsolete_entries())
+        4
+        """
+        return [e for e in self if e.obsolete]
+
+    def merge(self, refpot):
+        """
+        XXX this could not work if encodings are different, needs thinking
+        and general refactoring of how polib handles encoding...
+
+        Convenience method that merge the current pofile with the pot file
+        provided. It behaves exactly as the gettext msgmerge utility:
+
+          - comments of this file will be preserved, but extracted comments
+            and occurrences will be discarded
+          - any translations or comments in the file will be discarded,
+            however dot comments and file positions will be preserved
+
+        **Keyword argument**:
+          - *refpot*: object POFile, the reference catalog.
+
+        **Example**:
+
+        >>> import polib
+        >>> refpot = polib.pofile('tests/test_merge.pot')
+        >>> po = polib.pofile('tests/test_merge_before.po')
+        >>> po.merge(refpot)
+        >>> expected_po = polib.pofile('tests/test_merge_after.po')
+        >>> unicode(po) == unicode(expected_po)
+        True
+        """
+        for entry in refpot:
+            e = self.find(entry.msgid)
+            if e is None:
+                e = POEntry()
+                self.append(e)
+            e.merge(entry)
+        # ok, now we must "obsolete" entries that are not in the refpot
+        # anymore
+        for entry in self:
+            if refpot.find(entry.msgid) is None:
+                entry.obsolete = True
+
+# }}}
+# class MOFile {{{
+
+class MOFile(_BaseFile):
+    '''
+    Mo file reader/writer.
+    MOFile objects inherit the list objects methods.
+
+    **Example**:
+
+    >>> mo = MOFile()
+    >>> entry1 = POEntry(
+    ...     msgid="Some english text",
+    ...     msgstr="Un texte en anglais"
+    ... )
+    >>> entry2 = POEntry(
+    ...     msgid="I need my dirty cheese",
+    ...     msgstr="Je veux mon sale fromage"
+    ... )
+    >>> entry3 = MOEntry(
+    ...     msgid='Some entry with quotes " \\"',
+    ...     msgstr='Un message unicode avec des quotes " \\"'
+    ... )
+    >>> mo.append(entry1)
+    >>> mo.append(entry2)
+    >>> mo.append(entry3)
+    >>> print(mo)
+    msgid ""
+    msgstr ""
+    <BLANKLINE>
+    msgid "Some english text"
+    msgstr "Un texte en anglais"
+    <BLANKLINE>
+    msgid "I need my dirty cheese"
+    msgstr "Je veux mon sale fromage"
+    <BLANKLINE>
+    msgid "Some entry with quotes \\" \\""
+    msgstr "Un message unicode avec des quotes \\" \\""
+    <BLANKLINE>
+    '''
+
+    def __init__(self, *args, **kwargs):
+        """
+        MOFile constructor. Mo files have two other properties:
+            - magic_number: the magic_number of the binary file,
+            - version: the version of the mo spec.
+        """
+        _BaseFile.__init__(self, *args, **kwargs)
+        self.magic_number = None
+        self.version = 0
+
+    def save_as_pofile(self, fpath):
+        """
+        Save the string representation of the file to *fpath*.
+
+        **Keyword argument**:
+          - *fpath*: string, full or relative path to the file.
+        """
+        _BaseFile.save(self, fpath)
+
+    def save(self, fpath):
+        """
+        Save the binary representation of the file to *fpath*.
+
+        **Keyword argument**:
+          - *fpath*: string, full or relative path to the file.
+        """
+        _BaseFile.save(self, fpath, 'to_binary')
+
+    def percent_translated(self):
+        """
+        Convenience method to keep the same interface with POFile instances.
+        """
+        return 100
+
+    def translated_entries(self):
+        """
+        Convenience method to keep the same interface with POFile instances.
+        """
+        return self
+
+    def untranslated_entries(self):
+        """
+        Convenience method to keep the same interface with POFile instances.
+        """
+        return []
+
+    def fuzzy_entries(self):
+        """
+        Convenience method to keep the same interface with POFile instances.
+        """
+        return []
+
+    def obsolete_entries(self):
+        """
+        Convenience method to keep the same interface with POFile instances.
+        """
+        return []
+
+# }}}
+# class _BaseEntry {{{
+
+class _BaseEntry(object):
+    """
+    Base class for POEntry or MOEntry objects.
+    This class must *not* be instanciated directly.
+    """
+
+    def __init__(self, *args, **kwargs):
+        """Base Entry constructor."""
+        self.msgid = kwargs.get('msgid', '')
+        self.msgstr = kwargs.get('msgstr', '')
+        self.msgid_plural = kwargs.get('msgid_plural', '')
+        self.msgstr_plural = kwargs.get('msgstr_plural', {})
+        self.obsolete = kwargs.get('obsolete', False)
+        self.encoding = kwargs.get('encoding', default_encoding)
+        self.msgctxt = kwargs.get('msgctxt', None)
+        self._multiline_str = {}
+
+    def __repr__(self):
+        """Return the official string representation of the object."""
+        return '<%s instance at %x>' % (self.__class__.__name__, id(self))
+
+    def __str__(self, wrapwidth=78):
+        """
+        Common string representation of the POEntry and MOEntry
+        objects.
+        """
+        if self.obsolete:
+            delflag = '#~ '
+        else:
+            delflag = ''
+        ret = []
+        # write the msgctxt if any
+        if self.msgctxt is not None:
+            ret += self._str_field("msgctxt", delflag, "", self.msgctxt)
+        # write the msgid
+        ret += self._str_field("msgid", delflag, "", self.msgid)
+        # write the msgid_plural if any
+        if self.msgid_plural:
+            ret += self._str_field("msgid_plural", delflag, "", self.msgid_plural)
+        if self.msgstr_plural:
+            # write the msgstr_plural if any
+            msgstrs = self.msgstr_plural
+            keys = list(msgstrs)
+            keys.sort()
+            for index in keys:
+                msgstr = msgstrs[index]
+                plural_index = '[%s]' % index
+                ret += self._str_field("msgstr", delflag, plural_index, msgstr)
+        else:
+            # otherwise write the msgstr
+            ret += self._str_field("msgstr", delflag, "", self.msgstr)
+        ret.append('')
+        return '\n'.join(ret)
+
+    def _str_field(self, fieldname, delflag, plural_index, field):
+        if (fieldname + plural_index) in self._multiline_str:
+            field = self._multiline_str[fieldname + plural_index]
+            lines = [''] + field.split('__POLIB__NL__')
+        else:
+            lines = field.splitlines(True)
+            if len(lines) > 1:
+                lines = ['']+lines # start with initial empty line
+            else:
+                lines = [field] # needed for the empty string case
+        if fieldname.startswith('previous_'):
+            # quick and dirty trick to get the real field name
+            fieldname = fieldname[9:]
+
+        ret = ['%s%s%s "%s"' % (delflag, fieldname, plural_index,
+                                escape(lines.pop(0)))]
+        for mstr in lines:
+            ret.append('%s"%s"' % (delflag, escape(mstr)))
+        return ret
+
+# }}}
+# class POEntry {{{
+
+class POEntry(_BaseEntry):
+    """
+    Represents a po file entry.
+
+    **Examples**:
+
+    >>> entry = POEntry(msgid='Welcome', msgstr='Bienvenue')
+    >>> entry.occurrences = [('welcome.py', 12), ('anotherfile.py', 34)]
+    >>> print(entry)
+    #: welcome.py:12 anotherfile.py:34
+    msgid "Welcome"
+    msgstr "Bienvenue"
+    <BLANKLINE>
+    >>> entry = POEntry()
+    >>> entry.occurrences = [('src/some-very-long-filename-that-should-not-be-wrapped-even-if-it-is-larger-than-the-wrap-limit.c', 32), ('src/eggs.c', 45)]
+    >>> entry.comment = 'A plural translation. This is a very very very long line please do not wrap, this is just for testing comment wrapping...'
+    >>> entry.tcomment = 'A plural translation. This is a very very very long line please do not wrap, this is just for testing comment wrapping...'
+    >>> entry.flags.append('c-format')
+    >>> entry.previous_msgctxt = '@somecontext'
+    >>> entry.previous_msgid = 'I had eggs but no spam !'
+    >>> entry.previous_msgid_plural = 'I had eggs and %d spam !'
+    >>> entry.msgctxt = '@somenewcontext'
+    >>> entry.msgid = 'I have spam but no egg !'
+    >>> entry.msgid_plural = 'I have spam and %d eggs !'
+    >>> entry.msgstr_plural[0] = "J'ai du jambon mais aucun oeuf !"
+    >>> entry.msgstr_plural[1] = "J'ai du jambon et %d oeufs !"
+    >>> print(entry)
+    #. A plural translation. This is a very very very long line please do not
+    #. wrap, this is just for testing comment wrapping...
+    # A plural translation. This is a very very very long line please do not wrap,
+    # this is just for testing comment wrapping...
+    #: src/some-very-long-filename-that-should-not-be-wrapped-even-if-it-is-larger-than-the-wrap-limit.c:32
+    #: src/eggs.c:45
+    #, c-format
+    #| msgctxt "@somecontext"
+    #| msgid "I had eggs but no spam !"
+    #| msgid_plural "I had eggs and %d spam !"
+    msgctxt "@somenewcontext"
+    msgid "I have spam but no egg !"
+    msgid_plural "I have spam and %d eggs !"
+    msgstr[0] "J'ai du jambon mais aucun oeuf !"
+    msgstr[1] "J'ai du jambon et %d oeufs !"
+    <BLANKLINE>
+    """
+
+    def __init__(self, *args, **kwargs):
+        """POEntry constructor."""
+        _BaseEntry.__init__(self, *args, **kwargs)
+        self.comment = kwargs.get('comment', '')
+        self.tcomment = kwargs.get('tcomment', '')
+        self.occurrences = kwargs.get('occurrences', [])
+        self.flags = kwargs.get('flags', [])
+        self.previous_msgctxt = kwargs.get('previous_msgctxt', None)
+        self.previous_msgid = kwargs.get('previous_msgid', None)
+        self.previous_msgid_plural = kwargs.get('previous_msgid_plural', None)
+
+    def __str__(self, wrapwidth=78):
+        """
+        Return the string representation of the entry.
+        """
+        if self.obsolete:
+            return _BaseEntry.__str__(self)
+        ret = []
+        # comment first, if any (with text wrapping as xgettext does)
+        if self.comment != '':
+            for comment in self.comment.split('\n'):
+                if wrapwidth > 0 and len(comment) > wrapwidth-3:
+                    ret += textwrap.wrap(comment, wrapwidth,
+                                         initial_indent='#. ',
+                                         subsequent_indent='#. ',
+                                         break_long_words=False)
+                else:
+                    ret.append('#. %s' % comment)
+        # translator comment, if any (with text wrapping as xgettext does)
+        if self.tcomment != '':
+            for tcomment in self.tcomment.split('\n'):
+                if wrapwidth > 0 and len(tcomment) > wrapwidth-2:
+                    ret += textwrap.wrap(tcomment, wrapwidth,
+                                         initial_indent='# ',
+                                         subsequent_indent='# ',
+                                         break_long_words=False)
+                else:
+                    ret.append('# %s' % tcomment)
+        # occurrences (with text wrapping as xgettext does)
+        if self.occurrences:
+            filelist = []
+            for fpath, lineno in self.occurrences:
+                if lineno:
+                    filelist.append('%s:%s' % (fpath, lineno))
+                else:
+                    filelist.append(fpath)
+            filestr = ' '.join(filelist)
+            if wrapwidth > 0 and len(filestr)+3 > wrapwidth:
+                # XXX textwrap split words that contain hyphen, this is not 
+                # what we want for filenames, so the dirty hack is to 
+                # temporally replace hyphens with a char that a file cannot 
+                # contain, like "*"
+                lines = textwrap.wrap(filestr.replace('-', '*'),
+                                      wrapwidth,
+                                      initial_indent='#: ',
+                                      subsequent_indent='#: ',
+                                      break_long_words=False)
+                # end of the replace hack
+                for line in lines:
+                    ret.append(line.replace('*', '-'))
+            else:
+                ret.append('#: '+filestr)
+        # flags
+        if self.flags:
+            flags = []
+            for flag in self.flags:
+                flags.append(flag)
+            ret.append('#, %s' % ', '.join(flags))
+
+        # previous context and previous msgid/msgid_plural
+        if self.previous_msgctxt:
+            ret += self._str_field("previous_msgctxt", "#| ", "",
+                                   self.previous_msgctxt)
+        if self.previous_msgid:
+            ret += self._str_field("previous_msgid", "#| ", "", 
+                                   self.previous_msgid)
+        if self.previous_msgid_plural:
+            ret += self._str_field("previous_msgid_plural", "#| ", "", 
+                                   self.previous_msgid_plural)
+
+        ret.append(_BaseEntry.__str__(self))
+        return '\n'.join(ret)
+
+    def __cmp__(self, other):
+        '''
+        Called by comparison operations if rich comparison is not defined.
+
+        **Tests**:
+        >>> a  = POEntry(msgid='a', occurrences=[('b.py', 1), ('b.py', 3)])
+        >>> b  = POEntry(msgid='b', occurrences=[('b.py', 1), ('b.py', 3)])
+        >>> c1 = POEntry(msgid='c1', occurrences=[('a.py', 1), ('b.py', 1)])
+        >>> c2 = POEntry(msgid='c2', occurrences=[('a.py', 1), ('a.py', 3)])
+        >>> po = POFile()
+        >>> po.append(a)
+        >>> po.append(b)
+        >>> po.append(c1)
+        >>> po.append(c2)
+        >>> po.sort()
+        >>> print(po)
+        # 
+        msgid ""
+        msgstr ""
+        <BLANKLINE>
+        #: a.py:1 a.py:3
+        msgid "c2"
+        msgstr ""
+        <BLANKLINE>
+        #: a.py:1 b.py:1
+        msgid "c1"
+        msgstr ""
+        <BLANKLINE>
+        #: b.py:1 b.py:3
+        msgid "a"
+        msgstr ""
+        <BLANKLINE>
+        #: b.py:1 b.py:3
+        msgid "b"
+        msgstr ""
+        <BLANKLINE>
+        '''
+        def compare_occurrences(a, b):
+            """
+            Compare an entry occurrence with another one.
+            """
+            if a[0] != b[0]:
+                return a[0] < b[0]
+            if a[1] != b[1]:
+                return a[1] < b[1]
+            return 0
+
+        # First: Obsolete test
+        if self.obsolete != other.obsolete:
+            if self.obsolete:
+                return -1
+            else:
+                return 1
+        # Work on a copy to protect original
+        occ1 = self.occurrences[:]
+        occ2 = other.occurrences[:]
+        # Sorting using compare method
+        occ1.sort(compare_occurrences)
+        occ2.sort(compare_occurrences)
+        # Comparing sorted occurrences
+        pos = 0
+        for entry1 in occ1:
+            try:
+                entry2 = occ2[pos]
+            except IndexError:
+                return 1
+            pos = pos + 1
+            if entry1[0] != entry2[0]:
+                if entry1[0] > entry2[0]:
+                    return 1
+                else:
+                    return -1
+            if entry1[1] != entry2[1]:
+                if entry1[1] > entry2[1]:
+                    return 1
+                else:
+                    return -1
+        # Finally: Compare message ID
+        if self.msgid > other.msgid: return 1
+        else: return -1
+
+    def translated(self):
+        """
+        Return True if the entry has been translated or False.
+        """
+        if self.obsolete or 'fuzzy' in self.flags:
+            return False
+        if self.msgstr != '':
+            return True
+        if self.msgstr_plural:
+            for pos in self.msgstr_plural:
+                if self.msgstr_plural[pos] == '':
+                    return False
+            return True
+        return False
+
+    def merge(self, other):
+        """
+        Merge the current entry with the given pot entry.
+        """
+        self.msgid        = other.msgid
+        self.occurrences  = other.occurrences
+        self.comment      = other.comment
+        self.flags        = other.flags
+        self.msgid_plural = other.msgid_plural
+        if other.msgstr_plural:
+            for pos in other.msgstr_plural:
+                try:
+                    # keep existing translation at pos if any
+                    self.msgstr_plural[pos]
+                except KeyError:
+                    self.msgstr_plural[pos] = ''
+
+# }}}
+# class MOEntry {{{
+
+class MOEntry(_BaseEntry):
+    """
+    Represents a mo file entry.
+
+    **Examples**:
+
+    >>> entry = MOEntry()
+    >>> entry.msgid  = 'translate me !'
+    >>> entry.msgstr = 'traduisez moi !'
+    >>> print(entry)
+    msgid "translate me !"
+    msgstr "traduisez moi !"
+    <BLANKLINE>
+    """
+
+    def __str__(self, wrapwidth=78):
+        """
+        Return the string representation of the entry.
+        """
+        return _BaseEntry.__str__(self, wrapwidth)
+
+# }}}
+# class _POFileParser {{{
+
+class _POFileParser(object):
+    """
+    A finite state machine to parse efficiently and correctly po
+    file format.
+    """
+
+    def __init__(self, fpath, *args, **kwargs):
+        """
+        Constructor.
+
+        **Arguments**:
+          - *fpath*: string, path to the po file
+          - *encoding*: string, the encoding to use, defaults to
+            "default_encoding" global variable (optional),
+          - *check_for_duplicates*: whether to check for duplicate entries
+            when adding entries to the file, default: False (optional).
+        """
+        enc = kwargs.get('encoding', default_encoding)
+        check_dup = kwargs.get('check_for_duplicates', False)
+        try:
+            self.fhandle = codecs.open(fpath, 'rU', enc)
+        except LookupError:
+            enc = default_encoding
+            self.fhandle = codecs.open(fpath, 'rU', enc)
+        self.instance = POFile(
+            fpath=fpath,
+            encoding=enc,
+            check_for_duplicates=check_dup
+        )
+        self.transitions = {}
+        self.current_entry = POEntry()
+        self.current_state = 'ST'
+        self.current_token = None
+        # two memo flags used in handlers
+        self.msgstr_index = 0
+        self.entry_obsolete = 0
+        # Configure the state machine, by adding transitions.
+        # Signification of symbols:
+        #     * ST: Beginning of the file (start)
+        #     * HE: Header
+        #     * TC: a translation comment
+        #     * GC: a generated comment
+        #     * OC: a file/line occurence
+        #     * FL: a flags line
+        #     * CT: a message context
+        #     * PC: a previous msgctxt
+        #     * PM: a previous msgid
+        #     * PP: a previous msgid_plural
+        #     * MI: a msgid
+        #     * MP: a msgid plural
+        #     * MS: a msgstr
+        #     * MX: a msgstr plural
+        #     * MC: a msgid or msgstr continuation line
+        all = ['ST', 'HE', 'GC', 'OC', 'FL', 'CT', 'PC', 'PM', 'PP', 'TC',
+               'MS', 'MP', 'MX', 'MI']
+
+        self.add('TC', ['ST', 'HE'],                                     'HE')
+        self.add('TC', ['GC', 'OC', 'FL', 'TC', 'PC', 'PM', 'PP', 'MS',
+                        'MP', 'MX', 'MI'],                               'TC')
+        self.add('GC', all,                                              'GC')
+        self.add('OC', all,                                              'OC')
+        self.add('FL', all,                                              'FL')
+        self.add('PC', all,                                              'PC')
+        self.add('PM', all,                                              'PM')
+        self.add('PP', all,                                              'PP')
+        self.add('CT', ['ST', 'HE', 'GC', 'OC', 'FL', 'TC', 'PC', 'PM',
+                        'PP', 'MS', 'MX'],                               'CT')
+        self.add('MI', ['ST', 'HE', 'GC', 'OC', 'FL', 'CT', 'TC', 'PC', 
+                 'PM', 'PP', 'MS', 'MX'],                                'MI')
+        self.add('MP', ['TC', 'GC', 'PC', 'PM', 'PP', 'MI'],             'MP')
+        self.add('MS', ['MI', 'MP', 'TC'],                               'MS')
+        self.add('MX', ['MI', 'MX', 'MP', 'TC'],                         'MX')
+        self.add('MC', ['CT', 'MI', 'MP', 'MS', 'MX', 'PM', 'PP', 'PC'], 'MC')
+
+    def parse(self):
+        """
+        Run the state machine, parse the file line by line and call process()
+        with the current matched symbol.
+        """
+        i, lastlen = 1, 0
+        for line in self.fhandle:
+            line = line.strip()
+            if line == '':
+                i = i+1
+                continue
+            if line[:3] == '#~ ':
+                line = line[3:]
+                self.entry_obsolete = 1
+            else:
+                self.entry_obsolete = 0
+            self.current_token = line
+            if line[:2] == '#:':
+                # we are on a occurrences line
+                self.process('OC', i)
+            elif line[:9] == 'msgctxt "':
+                # we are on a msgctxt
+                self.process('CT', i)
+            elif line[:7] == 'msgid "':
+                # we are on a msgid
+                self.process('MI', i)
+            elif line[:8] == 'msgstr "':
+                # we are on a msgstr
+                self.process('MS', i)
+            elif line[:1] == '"' or line[:4] == '#| "':
+                # we are on a continuation line or some metadata
+                self.process('MC', i)
+            elif line[:14] == 'msgid_plural "':
+                # we are on a msgid plural
+                self.process('MP', i)
+            elif line[:7] == 'msgstr[':
+                # we are on a msgstr plural
+                self.process('MX', i)
+            elif line[:3] == '#, ':
+                # we are on a flags line
+                self.process('FL', i)
+            elif line[:2] == '# ' or line == '#':
+                if line == '#': line = line + ' '
+                # we are on a translator comment line
+                self.process('TC', i)
+            elif line[:2] == '#.':
+                # we are on a generated comment line
+                self.process('GC', i)
+            elif line[:15] == '#| msgid_plural':
+                # we are on a previous msgid_plural
+                self.process('PP', i)
+            elif line[:8] == '#| msgid':
+                self.process('PM', i)
+                # we are on a previous msgid
+            elif line[:10] == '#| msgctxt':
+                # we are on a previous msgctxt
+                self.process('PC', i)
+            i = i+1
+
+        if self.current_entry:
+            # since entries are added when another entry is found, we must add
+            # the last entry here (only if there are lines)
+            self.instance.append(self.current_entry)
+        # before returning the instance, check if there's metadata and if 
+        # so extract it in a dict
+        firstentry = self.instance[0]
+        if firstentry.msgid == '': # metadata found
+            # remove the entry
+            firstentry = self.instance.pop(0)
+            self.instance.metadata_is_fuzzy = firstentry.flags
+            key = None
+            for msg in firstentry.msgstr.splitlines():
+                try:
+                    key, val = msg.split(':', 1)
+                    self.instance.metadata[key] = val.strip()
+                except:
+                    if key is not None:
+                        self.instance.metadata[key] += '\n'+ msg.strip()
+        # close opened file
+        self.fhandle.close()
+        return self.instance
+
+    def add(self, symbol, states, next_state):
+        """
+        Add a transition to the state machine.
+        Keywords arguments:
+
+        symbol     -- string, the matched token (two chars symbol)
+        states     -- list, a list of states (two chars symbols)
+        next_state -- the next state the fsm will have after the action
+        """
+        for state in states:
+            action = getattr(self, 'handle_%s' % next_state.lower())
+            self.transitions[(symbol, state)] = (action, next_state)
+
+    def process(self, symbol, linenum):
+        """
+        Process the transition corresponding to the current state and the
+        symbol provided.
+
+        Keywords arguments:
+        symbol  -- string, the matched token (two chars symbol)
+        linenum -- integer, the current line number of the parsed file
+        """
+        try:
+            (action, state) = self.transitions[(symbol, self.current_state)]
+            if action():
+                self.current_state = state
+        except Exception, exc:
+            raise IOError('Syntax error in po file (line %s)' % linenum)
+
+    # state handlers
+
+    def handle_he(self):
+        """Handle a header comment."""
+        if self.instance.header != '':
+            self.instance.header += '\n'
+        self.instance.header += self.current_token[2:]
+        return 1
+
+    def handle_tc(self):
+        """Handle a translator comment."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        if self.current_entry.tcomment != '':
+            self.current_entry.tcomment += '\n'
+        self.current_entry.tcomment += self.current_token[2:]
+        return True
+
+    def handle_gc(self):
+        """Handle a generated comment."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        if self.current_entry.comment != '':
+            self.current_entry.comment += '\n'
+        self.current_entry.comment += self.current_token[3:]
+        return True
+
+    def handle_oc(self):
+        """Handle a file:num occurence."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        occurrences = self.current_token[3:].split()
+        for occurrence in occurrences:
+            if occurrence != '':
+                try:
+                    fil, line = occurrence.split(':')
+                    if not line.isdigit():
+                        fil  = fil + line
+                        line = ''
+                    self.current_entry.occurrences.append((fil, line))
+                except:
+                    self.current_entry.occurrences.append((occurrence, ''))
+        return True
+
+    def handle_fl(self):
+        """Handle a flags line."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        self.current_entry.flags += self.current_token[3:].split(', ')
+        return True
+
+    def handle_pp(self):
+        """Handle a previous msgid_plural line."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        self.current_entry.previous_msgid_plural = \
+            unescape(self.current_token[17:-1])
+        return True
+
+    def handle_pm(self):
+        """Handle a previous msgid line."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        self.current_entry.previous_msgid = \
+            unescape(self.current_token[10:-1])
+        return True
+
+    def handle_pc(self):
+        """Handle a previous msgctxt line."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        self.current_entry.previous_msgctxt = \
+            unescape(self.current_token[12:-1])
+        return True
+
+    def handle_ct(self):
+        """Handle a msgctxt."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        self.current_entry.msgctxt = unescape(self.current_token[9:-1])
+        return True
+
+    def handle_mi(self):
+        """Handle a msgid."""
+        if self.current_state in ['MC', 'MS', 'MX']:
+            self.instance.append(self.current_entry)
+            self.current_entry = POEntry()
+        self.current_entry.obsolete = self.entry_obsolete
+        self.current_entry.msgid = unescape(self.current_token[7:-1])
+        return True
+
+    def handle_mp(self):
+        """Handle a msgid plural."""
+        self.current_entry.msgid_plural = unescape(self.current_token[14:-1])
+        return True
+
+    def handle_ms(self):
+        """Handle a msgstr."""
+        self.current_entry.msgstr = unescape(self.current_token[8:-1])
+        return True
+
+    def handle_mx(self):
+        """Handle a msgstr plural."""
+        index, value = self.current_token[7], self.current_token[11:-1]
+        self.current_entry.msgstr_plural[index] = unescape(value)
+        self.msgstr_index = index
+        return True
+
+    def handle_mc(self):
+        """Handle a msgid or msgstr continuation line."""
+        token = unescape(self.current_token[1:-1])
+        if self.current_state == 'CT':
+            typ = 'msgctxt'
+            self.current_entry.msgctxt += token
+        elif self.current_state == 'MI':
+            typ = 'msgid'
+            self.current_entry.msgid += token
+        elif self.current_state == 'MP':
+            typ = 'msgid_plural'
+            self.current_entry.msgid_plural += token
+        elif self.current_state == 'MS':
+            typ = 'msgstr'
+            self.current_entry.msgstr += token
+        elif self.current_state == 'MX':
+            typ = 'msgstr[%s]' % self.msgstr_index
+            self.current_entry.msgstr_plural[self.msgstr_index] += token
+        elif self.current_state == 'PP':
+            typ = 'previous_msgid_plural'
+            token = token[3:]
+            self.current_entry.previous_msgid_plural += token
+        elif self.current_state == 'PM':
+            typ = 'previous_msgid'
+            token = token[3:]
+            self.current_entry.previous_msgid += token
+        elif self.current_state == 'PC':
+            typ = 'previous_msgctxt'
+            token = token[3:]
+            self.current_entry.previous_msgctxt += token
+        if typ not in self.current_entry._multiline_str:
+            self.current_entry._multiline_str[typ] = token
+        else:
+            self.current_entry._multiline_str[typ] += "__POLIB__NL__" + token
+        # don't change the current state
+        return False
+
+# }}}
+# class _MOFileParser {{{
+
+class _MOFileParser(object):
+    """
+    A class to parse binary mo files.
+    """
+    BIG_ENDIAN    = 0xde120495
+    LITTLE_ENDIAN = 0x950412de
+
+    def __init__(self, fpath, *args, **kwargs):
+        """
+        Constructor.
+
+        **Arguments**:
+          - *fpath*: string, path to the po file
+          - *encoding*: string, the encoding to use, defaults to
+            "default_encoding" global variable (optional),
+          - *check_for_duplicates*: whether to check for duplicate entries
+            when adding entries to the file, default: False (optional).
+        """
+        enc = kwargs.get('encoding', default_encoding)
+        check_dup = kwargs.get('check_for_duplicates', False)
+        self.fhandle = open(fpath, 'rb')
+        self.instance = MOFile(
+            fpath=fpath,
+            encoding=enc,
+            check_for_duplicates=check_dup
+        )
+
+    def parse_magicnumber(self):
+        """
+        Parse the magic number and raise an exception if not valid.
+        """
+
+    def parse(self):
+        """
+        Build the instance with the file handle provided in the
+        constructor.
+        """
+        magic_number = self._readbinary('<I', 4)
+        if magic_number == self.LITTLE_ENDIAN:
+            ii = '<II'
+        elif magic_number == self.BIG_ENDIAN:
+            ii = '>II'
+        else:
+            raise IOError('Invalid mo file, magic number is incorrect !')
+        self.instance.magic_number = magic_number
+        # parse the version number and the number of strings
+        self.instance.version, numofstrings = self._readbinary(ii, 8)
+        # original strings and translation strings hash table offset
+        msgids_hash_offset, msgstrs_hash_offset = self._readbinary(ii, 8)
+        # move to msgid hash table and read length and offset of msgids
+        self.fhandle.seek(msgids_hash_offset)
+        msgids_index = []
+        for i in range(numofstrings):
+            msgids_index.append(self._readbinary(ii, 8))
+        # move to msgstr hash table and read length and offset of msgstrs
+        self.fhandle.seek(msgstrs_hash_offset)
+        msgstrs_index = []
+        for i in range(numofstrings):
+            msgstrs_index.append(self._readbinary(ii, 8))
+        # build entries
+        for i in range(numofstrings):
+            self.fhandle.seek(msgids_index[i][1])
+            msgid = self.fhandle.read(msgids_index[i][0])
+            self.fhandle.seek(msgstrs_index[i][1])
+            msgstr = self.fhandle.read(msgstrs_index[i][0])
+            if i == 0: # metadata
+                raw_metadata, metadata = msgstr.split('\n'), {}
+                for line in raw_metadata:
+                    tokens = line.split(':', 1)
+                    if tokens[0] != '':
+                        try:
+                            metadata[tokens[0]] = tokens[1].strip()
+                        except IndexError:
+                            metadata[tokens[0]] = ''
+                self.instance.metadata = metadata
+                continue
+            # test if we have a plural entry
+            msgid_tokens = msgid.split('\0')
+            if len(msgid_tokens) > 1:
+                entry = MOEntry(
+                    msgid=msgid_tokens[0],
+                    msgid_plural=msgid_tokens[1],
+                    msgstr_plural=dict((k,v) for k,v in \
+                        enumerate(msgstr.split('\0')))
+                )
+            else:
+                entry = MOEntry(msgid=msgid, msgstr=msgstr)
+            self.instance.append(entry)
+        # close opened file
+        self.fhandle.close()
+        return self.instance
+
+    def _readbinary(self, fmt, numbytes):
+        """
+        Private method that unpack n bytes of data using format <fmt>.
+        It returns a tuple or a mixed value if the tuple length is 1.
+        """
+        bytes = self.fhandle.read(numbytes)
+        tup = struct.unpack(fmt, bytes)
+        if len(tup) == 1:
+            return tup[0]
+        return tup
+
+# }}}
+# __main__ {{{
+
+if __name__ == '__main__':
+    """
+    **Main function**::
+      - to **test** the module just run: *python polib.py [-v]*
+      - to **profile** the module: *python polib.py -p <some_pofile.po>*
+    """
+    import sys
+    if len(sys.argv) > 2 and sys.argv[1] == '-p':
+        def test(f):
+            if f.endswith('po'):
+                p = pofile(f)
+            else:
+                p = mofile(f)
+            s = unicode(p)
+        import profile
+        profile.run('test("'+sys.argv[2]+'")')
+    else:
+        import doctest
+        doctest.testmod()
+
+# }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/i18n/posplit	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+#
+# posplit - split messages in paragraphs on .po/.pot files
+#
+# license: MIT/X11/Expat
+#
+
+import sys
+import polib
+
+def addentry(po, entry, cache):
+    e = cache.get(entry.msgid)
+    if e:
+        e.occurrences.extend(entry.occurrences)
+    else:
+        po.append(entry)
+        cache[entry.msgid] = entry
+
+def mkentry(orig, delta, msgid, msgstr):
+    entry = polib.POEntry()
+    entry.merge(orig)
+    entry.msgid = msgid or orig.msgid
+    entry.msgstr = msgstr or orig.msgstr
+    entry.occurrences = [(p, int(l) + delta) for (p, l) in orig.occurrences]
+    return entry
+
+if __name__ == "__main__":
+    po = polib.pofile(sys.argv[1])
+
+    cache = {}
+    entries = po[:]
+    po[:] = []
+    for entry in entries:
+        msgids = entry.msgid.split(u'\n\n')
+        if entry.msgstr:
+            msgstrs = entry.msgstr.split(u'\n\n')
+        else:
+            msgstrs = [u''] * len(msgids)
+
+        if len(msgids) != len(msgstrs):
+            # places the whole existing translation as a fuzzy
+            # translation for each paragraph, to give the
+            # translator a chance to recover part of the old
+            # translation - erasing extra paragraphs is
+            # probably better than retranslating all from start
+            if 'fuzzy' not in entry.flags:
+                entry.flags.append('fuzzy')
+            msgstrs = [entry.msgstr] * len(msgids)
+
+        delta = 0
+        for msgid, msgstr in zip(msgids, msgstrs):
+            if msgid:
+                newentry = mkentry(entry, delta, msgid, msgstr)
+                addentry(po, newentry, cache)
+            delta += 2 + msgid.count('\n')
+    po.save()
--- a/i18n/pt_BR.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/pt_BR.po	Mon Jun 21 13:41:11 2010 -0500
@@ -1,13 +1,13 @@
 # Brazilian Portuguese translations for Mercurial
 # Traduções do Mercurial para português do Brasil
 # Copyright (C) 2009 Matt Mackall and others
-#
+# 
 # Translators:
 # Diego Oliveira <diego@diegooliveira.com>
 # Wagner Bruna <wbruna@softwareexpress.com.br>
-#
+# 
 # Translation dictionary:
-#
+# 
 # archive             pacote
 # branch              ramificar (v.), ramo (s.)
 # bundle              bundle
@@ -26,23 +26,23 @@
 # tip                 tip (tag), ponta
 # update              atualizar (v.), atualização (s.)
 # working directory   diretório de trabalho
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
 "POT-Creation-Date: 2010-03-02 10:55-0300\n"
-"PO-Revision-Date: 2009-10-20 18:22+0200\n"
+"PO-Revision-Date: 2010-06-19 17:18+0200\n"
 "Last-Translator: Wagner Bruna <wbruna@yahoo.com>\n"
 "Language-Team: Brazilian Portuguese\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Portuguese\n"
 "Generated-By: pygettext.py 1.5\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Country: BRAZIL\n"
 "X-Generator: KBabel 1.11.4\n"
-"X-Poedit-Country: BRAZIL\n"
-"X-Poedit-Language: Portuguese\n"
 
 #, python-format
 msgid " (default: %s)"
@@ -54,109 +54,107 @@
 msgid "Commands"
 msgstr "Comandos"
 
-msgid ""
-"    options:\n"
-"\n"
-msgstr ""
-"    opções:\n"
-"\n"
-
-#, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    apelidos: %s\n"
-"\n"
-
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "    options:"
+msgstr "    opções:"
+
+#, python-format
+msgid "    aliases: %s"
+msgstr "    apelidos: %s"
+
+msgid "hooks for controlling repository access"
+msgstr "ganchos para controlar o acesso a um repositório"
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+"Este gancho possibilita permitir ou recusar acesso de escrita a\n"
+"porções de um repositório ao receber revisões."
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+"A autorização é feita com relação ao nome de usuário local no sistema\n"
+"onde o gancho é executado, e não ao autor da revisão original (já\n"
+"que este é meramente informativo)."
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+"O gancho acl funciona melhor se você usar um shell restrito (como\n"
+"por exemplo o hgsh), impedindo que usuários autenticados usem outros\n"
+"comandos além de push e pull. Ele não é seguro se os usuários tiverem\n"
+"acesso a um shell interativo, pois eles então poderão desabilitar o\n"
+"gancho. Também não é seguro se usuários remotos compartilharem uma\n"
+"conta local, pois não haverá maneira de distingüí-los."
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr "Para usar, configure a extensão acl em seu hgrc da seguinte forma::"
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+"  [extensions]\n"
+"  acl ="
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+"  [hooks]\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+"  [acl]\n"
+"  # verifica se a origem de revisões está nessa lista\n"
+"  # (\"serve\" == ssh ou http, \"push\", \"pull\", \"bundle\")\n"
+"  sources = serve"
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+"As seções allow (permissões) e deny (restrições) usam um padrão de\n"
+"sub-árvore como chave (a sintaxe padrão é a glob), e uma lista de\n"
+"usuários separada por vírgulas como valor correspondente. A lista de\n"
+"restrições é verificada antes da lista de permissões. ::"
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+"  [acl.allow]\n"
+"  # Se acl.allow não estiver presente, todos os usuários são\n"
+"  # por padrão permitidos\n"
+"  # uma acl.allow vazia faz com que nenhum usuário seja permitido\n"
+"  docs/** = doc_writer\n"
+"  .hgtags = release_engineer"
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
 "  glob pattern = user4, user5\n"
 "   ** = user6\n"
 msgstr ""
-"ganchos para controlar o acesso a um repositório\n"
-"\n"
-"Este gancho possibilita permitir ou recusar acesso de escrita a\n"
-"porções de um repositório ao receber revisões.\n"
-"\n"
-"A autorização é feita com relação ao nome de usuário local no sistema\n"
-"onde o gancho é executado, e não ao autor da revisão original (já\n"
-"que este é meramente informativo).\n"
-"\n"
-"O gancho acl funciona melhor se você usar um shell restrito (como\n"
-"por exemplo o hgsh), impedindo que usuários autenticados usem outros\n"
-"comandos além de push e pull. Ele não é seguro se os usuários tiverem\n"
-"acesso a um shell interativo, pois eles então poderão desabilitar o\n"
-"gancho. Também não é seguro se usuários remotos compartilharem uma\n"
-"conta local, pois não haverá maneira de distingüí-los.\n"
-"\n"
-"Para usar, configure a extensão acl em seu hgrc da seguinte forma::\n"
-"\n"
-"  [extensions]\n"
-"  acl =\n"
-"\n"
-"  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
-"  [acl]\n"
-"  # verifica se a origem de revisões está nessa lista\n"
-"  # (\"serve\" == ssh ou http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
-"As seções allow (permissões) e deny (restrições) usam um padrão de\n"
-"sub-árvore como chave (a sintaxe padrão é a glob), e uma lista de\n"
-"usuários separada por vírgulas como valor correspondente. A lista de\n"
-"restrições é verificada antes da lista de permissões. ::\n"
-"\n"
-"  [acl.allow]\n"
-"  # Se acl.allow não estiver presente, todos os usuários são\n"
-"  # por padrão permitidos\n"
-"  # uma acl.allow vazia faz com que nenhum usuário seja permitido\n"
-"  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
 "  [acl.deny]\n"
 "  # Se acl.deny não estiver presente, nenhum usuário é recusado\n"
 "  # por padrão\n"
@@ -166,81 +164,79 @@
 
 #, python-format
 msgid "config error - hook type \"%s\" cannot stop incoming changesets"
-msgstr ""
-"erro de configuração - tipo de gancho \"%s\" não pode interromper a chegada "
-"das revisões"
+msgstr "erro de configuração - tipo de gancho \"%s\" não pode interromper a chegada das revisões"
 
 #, python-format
 msgid "acl: access denied for changeset %s"
 msgstr "acl: acesso negado para a revisão %s"
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr "rastreia uma linha de desenvolvimento com marcadores móveis"
+
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+"Marcadores são ponteiros locais móveis para revisões. Todo\n"
+"marcador aponta para uma revisão identificada por seu hash. Se você\n"
+"consolidar uma revisão que se baseie em uma revisão que contenha um\n"
+"marcador, o marcador é transferido para a nova revisão."
+
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+"É possível utilizar nomes de marcadores em toda referência a revisões\n"
+"(por exemplo: hg merge, hg update)."
+
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+"Por padrão, quando vários marcadores apontam para a mesma revisão,\n"
+"todos serão movidos para a frente juntos. É possível obter um\n"
+"funcionamento mais semelhante ao do sistema git com a adição das\n"
+"seguintes opções de configuração ao seu .hgrc::"
+
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+"  [bookmarks]\n"
+"  track.current = True"
+
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
-"rastreia uma linha de desenvolvimento com marcadores móveis\n"
-"\n"
-"Marcadores são ponteiros locais móveis para revisões. Todo\n"
-"marcador aponta para uma revisão identificada por seu hash. Se você\n"
-"consolidar uma revisão que se baseie em uma revisão que contenha um\n"
-"marcador, o marcador é transferido para a nova revisão.\n"
-"\n"
-"É possível utilizar nomes de marcadores em toda referência a revisões\n"
-"(por exemplo: hg merge, hg update).\n"
-"\n"
-"Por padrão, quando vários marcadores apontam para a mesma revisão,\n"
-"todos serão movidos para a frente juntos. É possível obter um\n"
-"funcionamento mais semelhante ao do sistema git com a adição das\n"
-"seguintes opções de configuração ao seu .hgrc::\n"
-"\n"
-"  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
 "Isto fará com que o Mercurial rastreie o marcador que você estiver\n"
 "usando no momento, e apenas o atualize. Isto é semelhante à abordagem\n"
 "do git para ramos.\n"
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+"    Marcadores são ponteiros para certas consolidações que se movem\n"
+"    quando novas consolidações forem feitas. Marcadores são locais.\n"
+"    Eles podem ser renomeados, copiados e removidos. É possível usar\n"
+"    o nome de um marcador em 'hg merge' e 'hg update' para\n"
+"    respectivamente mesclar ou atualizar para um marcador dado."
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
 "    the bookmark is assigned to that revision.\n"
 "    "
 msgstr ""
-"rastreia uma linha de desenvolvimento com marcadores móveis\n"
-"\n"
-"    Marcadores são ponteiros para certas consolidações que se movem\n"
-"    quando novas consolidações forem feitas. Marcadores são locais.\n"
-"    Eles podem ser renomeados, copiados e removidos. É possível usar\n"
-"    o nome de um marcador em 'hg merge' e 'hg update' para\n"
-"    respectivamente mesclar ou atualizar para um marcador dado.\n"
-"\n"
 "    Você pode usar 'hg bookmark NOME' para definir um marcador na\n"
 "    revisão do diretório de trabalho com o nome informado. Se você\n"
 "    especificar a revisão usando -r REV (onde REV pode ser o nome de\n"
@@ -283,116 +279,998 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr "hg bookmarks [-f] [-d] [-m NOME] [-r REV] [NOME]"
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+#, fuzzy
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
-"The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
 "\n"
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
 "\n"
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
 "\n"
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
 "\n"
 "password\n"
-"  Password to use to access MySQL server.\n"
+"  Senha para acessar o servidor do MySQL.\n"
 "\n"
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
 "\n"
 "version\n"
-"  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
-"  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
 "\n"
 "bzuser\n"
-"  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
 "\n"
 "bzdir\n"
-"   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
 "\n"
 "notify\n"
-"  The command to run to get Bugzilla to send bug change notification\n"
-"  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
-"  and 'user' (committer bugzilla email). Default depends on version;\n"
-"  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
 "\n"
 "regexp\n"
-"  Regular expression to match bug IDs in changeset commit message.\n"
-"  Must contain one \"()\" group. The default expression matches 'Bug\n"
-"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
 "\n"
 "style\n"
-"  The style file to use when formatting comments.\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
 "\n"
 "template\n"
-"  Template to use when formatting comments. Overrides style if\n"
-"  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
-"    {bug}       The Bugzilla bug ID.\n"
-"    {root}      The full pathname of the Mercurial repository.\n"
-"    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
-"  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
 "\n"
 "strip\n"
-"  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
 "\n"
 "usermap\n"
-"  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
-"  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
-"The [usermap] section is used to specify mappings of Mercurial\n"
-"committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
 "\"committer\"=\"Bugzilla user\"\n"
 "\n"
-"Finally, the [web] section supports one entry:\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
 "\n"
 "baseurl\n"
-"  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"The extension is configured through three different configuration\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
 "\n"
 "    [extensions]\n"
 "    bugzilla =\n"
 "\n"
 "    [hooks]\n"
-"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"host\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
 "    incoming.bugzilla = python:hgext.bugzilla.hook\n"
 "\n"
-"Example configuration:\n"
-"\n"
-"This example configuration is for a collection of Mercurial\n"
-"repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"db\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
 "\n"
 "    [bugzilla]\n"
 "    host=localhost\n"
@@ -411,12 +1289,1189 @@
 "    [usermap]\n"
 "    user@emaildomain.com=user.name@bugzilladomain.com\n"
 "\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"user\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"password\n"
+"  Password to use to access MySQL server."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"timeout\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"version\n"
+"  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
+"  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
+"  to 2.18."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
 "\n"
 "    Changeset 3b16791d6642 in repository-name.\n"
 "    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
 "\n"
 "    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"bzuser\n"
+"  Fallback Bugzilla user name to record comments with, if changeset\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"bzdir\n"
+"   Bugzilla install directory. Used by default notify. Default\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"notify\n"
+"  The command to run to get Bugzilla to send bug change notification\n"
+"  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
+"  and 'user' (committer bugzilla email). Default depends on version;\n"
+"  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \"()\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"style\n"
+"  The style file to use when formatting comments."
 msgstr ""
 "ganchos para integração com um bug tracker Bugzilla\n"
 "\n"
@@ -493,8 +2548,1317 @@
 "    {bug}       O ID do bug no Bugzilla.\n"
 "    {root}      O caminho completo do repositório do Mercurial.\n"
 "    {webroot}   O caminho do repositório do Mercurial.\n"
-"    {hgweb}     URL base para visualizar o repositório do Mercurial via "
-"http.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"template\n"
+"  Template to use when formatting comments. Overrides style if\n"
+"  specified. In addition to the usual Mercurial keywords, the\n"
+"  extension specifies::"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    {bug}       The Bugzilla bug ID.\n"
+"    {root}      The full pathname of the Mercurial repository.\n"
+"    {webroot}   Stripped pathname of the Mercurial repository.\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"  Default 'changeset {node|short} in repo {root} refers '\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"usermap\n"
+"  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
+"  mappings. If specified, the file should contain one mapping per\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"The [usermap] section is used to specify mappings of Mercurial\n"
+"committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"baseurl\n"
+"  Base URL for browsing Mercurial repositories. Reference from\n"
+"  templates as {hgweb}."
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid "Activating the extension::"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
 "\n"
 "  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
 "                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
@@ -506,8 +3870,1461 @@
 "usermap\n"
 "  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
 "  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
-"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla "
-"user\". Veja também a sessão [usermap].\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [extensions]\n"
+"    bugzilla ="
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid "Example configuration:"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"This example configuration is for a collection of Mercurial\n"
+"repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid ""
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
+"\n"
+"A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
+"consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
+"também [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Por fim, a seção [web] suporta uma entrada:\n"
+"\n"
+"baseurl\n"
+"  URL base para visualização de repositórios do Mercurial. Usada\n"
+"  em modelos como {hgweb}.\n"
+"\n"
+"Para ativar a extensão::\n"
+"\n"
+"    [extensions]\n"
+"    bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # executa o gancho bugzilla a cada mudança trazida para cá\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Exemplo de configuração:\n"
+"\n"
+"Este exemplo de configuração é para uma coleção de repositórios do\n"
+"Mercurial em /var/local/hg/repos/ usada com uma instalação local do\n"
+"Bugzilla 3.2 em /opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Consolidações adicionam um comentário ao registro de bug do Bugzilla\n"
+"com a forma::\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+
+#, fuzzy
+msgid "    Changeset commit comment. Bug 1234.\n"
+msgstr ""
+"ganchos para integração com um bug tracker Bugzilla\n"
+"\n"
+"Essa extensão adiciona comentários a bugs do Bugzilla quando\n"
+"forem encontradas revisões que se refiram a esses bugs pelo ID.\n"
+"Esse gancho não muda o estado do bug.\n"
+"\n"
+"Esse gancho atualiza diretamente o banco de dados do Bugzilla.\n"
+"Apenas instalações do Bugzilla utilizando MySQL são suportadas.\n"
+"\n"
+"O gancho se baseia em um script do Bugzilla para enviar emails de\n"
+"notificação de alterações de bugs. Esse script muda entre versões do\n"
+"Bugzilla; o script 'processmail' usado antes da 2.18 é substituído na\n"
+"2.18 e subseqüentes por 'config/sendbugmail.pl'. Note que esse script\n"
+"será executado pelo Mercurial assim que o usuário enviar a revisão;\n"
+"você terá que assegurar que as permissões de arquivo da instalação\n"
+"do Bugzilla estejam configuradas apropriadamente.\n"
+"\n"
+"Esta extensão é configurada através de três diferentes seções de\n"
+"configuração. As seguintes chaves são reconhecidas na seção\n"
+"[bugzilla]:\n"
+"\n"
+"host\n"
+"  Nome do servidor do MySQL que contém o banco de dados do Bugzilla.\n"
+"\n"
+"db\n"
+"  Nome do banco de dados do Bugzilla no MySQL. O padrão é 'bugs'.\n"
+"\n"
+"user\n"
+"  Nome de usuário para acessar o servidor MySQL. O padrão é 'bugs'.\n"
+"\n"
+"password\n"
+"  Senha para acessar o servidor do MySQL.\n"
+"\n"
+"timeout\n"
+"  Tempo de espera máximo para conexão com o banco de dados (em\n"
+"  segundos). O padrão é 5.\n"
+"\n"
+"version\n"
+"  Versão do Bugzilla. Especifique '3.0' para versões do Bugzilla 3.0\n"
+"  e posteriores, '2.18' para a versão 2.18 e '2.16' para versões\n"
+"  anteriores à 2.18.\n"
+"\n"
+"bzuser\n"
+"  Nome de usuário no Bugzilla utilizado para gravar os comentários\n"
+"  se o autor da revisão não for encontrado como um usuário do\n"
+"  Bugzilla.\n"
+"\n"
+"bzdir\n"
+"  Diretório de instalação do Bugzilla. Usado pelo notify padrão. Seu\n"
+"  valor padrão é '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  O comando que deve ser executado para o Bugzilla enviar o email\n"
+"  de notificação de alterações. Substituído de uma mapa com 3\n"
+"  entradas, 'bzdir', 'id' (bug id) e 'user' (email do submetedor\n"
+"  do bugzilla). O padrão depende da versão; na 2.18 é\n"
+"  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Expressão regular para encontrar os IDs dos bugs na mensagem de\n"
+"  consolidação da revisão. Deve conter um grupo de \"()\". A\n"
+"  expressão padrão encontra 'Bug 1234', 'Bug no. 1234', 'Bug number\n"
+"  1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' e variações. A\n"
+"  equivalência não é sensível a maiúsculas e minúsculas.\n"
+"\n"
+"style\n"
+"  O arquivo de estilo usado para formatar os comentários.\n"
+"\n"
+"template\n"
+"  O template usado para formatar os comentários. Sobrepõe style se\n"
+"  especificado. Além das palavras chave do Mercurial, a extensão\n"
+"  especifica::\n"
+"    {bug}       O ID do bug no Bugzilla.\n"
+"    {root}      O caminho completo do repositório do Mercurial.\n"
+"    {webroot}   O caminho do repositório do Mercurial.\n"
+"    {hgweb}     URL base para visualizar o repositório do Mercurial via http.\n"
+"\n"
+"  O valor padrão é 'changeset {node|short} in repo {root} refers '\n"
+"                   'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  O número de barras que devem ser retiradas do início do {root} para\n"
+"  produzir o {webroot}. Padrão 0.\n"
+"\n"
+"usermap\n"
+"  Caminho para o arquivo que contem o mapeamento do consolidador do\n"
+"  Mercurial para o ID do usuário do Bugzilla. Se especificado, o\n"
+"  arquivo deve conter um mapeamento por linha,   \"committer\"=\"Bugzilla user\". Veja também a sessão [usermap].\n"
 "\n"
 "A seção [usermap]é usada para especificar mapeamentos de IDs dos\n"
 "consolidadores do Mercurial para IDs de usuário do Bugzilla. Veja\n"
@@ -637,9 +5454,10 @@
 msgid "command to display child changesets"
 msgstr "comando para exibir revisões filhas"
 
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr "exibe os filhos da revisão pedida ou do diretório de trabalho"
+
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -647,8 +5465,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"exibe os filhos da revisão pedida ou do diretório de trabalho\n"
-"\n"
 "    Imprime os filhos das revisões do diretório de trabalho. Se uma\n"
 "    revisão for dada por -r/--rev, imprime os filhos dessa revisão.\n"
 "    Se for passado um arquivo como parâmetro, a revisão na qual esse\n"
@@ -673,74 +5489,78 @@
 msgid "generating stats: %d%%"
 msgstr "gerando estatísticas: %d%%"
 
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "histogram of changes to the repository"
+msgstr "histograma de mudanças do repositório"
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
-"    Statistics are based on the number of changed lines, or\n"
-"    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
-"      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
-"      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
-"      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
-"      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
-"    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
-"    Such a file may be specified with the --aliases option, otherwise\n"
-"    a .hgchurn file will be looked for in the working directory root.\n"
-"    "
-msgstr ""
-"histograma de mudanças do repositório\n"
-"\n"
+"    date instead."
+msgstr ""
 "    Este comando exibe um histograma representando o número de linhas\n"
 "    alteradas ou revisões, agrupadas de acordo com o modelo pedido.\n"
 "    O modelo padrão agrupa mudanças por autor. Alternativamente, a\n"
 "    opção --dateformat pode ser usada para agrupar os resultados por\n"
-"    data.\n"
-"\n"
+"    data."
+
+msgid ""
+"    Statistics are based on the number of changed lines, or\n"
+"    alternatively the number of matching revisions if the\n"
+"    --changesets option is specified."
+msgstr ""
 "    As estatísticas se baseiam no número de linhas modificadas, ou\n"
 "    alternativamente no número de revisões, se for usada a opção\n"
-"    --changesets.\n"
-"\n"
-"    Exemplos::\n"
-"\n"
+"    --changesets."
+
+msgid "    Examples::"
+msgstr "    Exemplos::"
+
+msgid ""
+"      # display count of changed lines for every committer\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
 "      # exibe a contagem de linhas modificadas para cada autor\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+
+msgid ""
+"      # display daily activity graph\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
 "      # exibe o gráfico de atividades diárias\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+
+msgid ""
+"      # display activity of developers by month\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
 "      # exibe atividades dos desenvolvedores por mês\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+
+msgid ""
+"      # display count of lines changed in every year\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
 "      # exibe a contagem de linhas modificadas a cada ano\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+
+msgid ""
+"    It is possible to map alternate email addresses to a main address\n"
+"    by providing a file using the following format::"
+msgstr ""
 "    É possível mapear endereços de email alternativos para um\n"
 "    endereço principal provendo um arquivo usando o seguinte\n"
-"    formato:\n"
-"\n"
-"      <email alternativo> <email principal>\n"
-"\n"
+"    formato:"
+
+msgid "      <alias email> <actual email>"
+msgstr "      <email alternativo> <email principal>"
+
+msgid ""
+"    Such a file may be specified with the --aliases option, otherwise\n"
+"    a .hgchurn file will be looked for in the working directory root.\n"
+"    "
+msgstr ""
 "    Esse arquivo pode ser especificado com a opção --aliases; de\n"
 "    outro modo, será usado um arquivo .hgchurn no raiz do diretório\n"
 "    de trabalho, se existir.\n"
@@ -776,22 +5596,76 @@
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 msgstr "hg churn [-d DATA] [-r REVISÃO] [--aliases ARQUIVO] [--progress] [ARQUIVO]"
 
-msgid ""
-"colorize output from some commands\n"
-"\n"
-"This extension modifies the status and resolve commands to add color to "
-"their\n"
+#, fuzzy
+msgid "colorize output from some commands"
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' desliga todos os efeitos\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+
+#, fuzzy
+msgid ""
+"This extension modifies the status and resolve commands to add color to their\n"
 "output to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
-"Other effects in addition to color, like bold and underlined text, are\n"
-"also available. Effects are rendered with the ECMA-48 SGR control\n"
-"function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
+"whitespace."
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
 "\n"
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
@@ -801,7 +5675,103 @@
 "  status.unknown = magenta bold underline\n"
 "  status.ignored = black bold\n"
 "\n"
-"  # 'none' turns off all effects\n"
+"  # 'none' desliga todos os efeitos\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+
+#, fuzzy
+msgid ""
+"Other effects in addition to color, like bold and underlined text, are\n"
+"also available. Effects are rendered with the ECMA-48 SGR control\n"
+"function (aka ANSI escape codes). This module also provides the\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' desliga todos os efeitos\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+
+#, fuzzy
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' desliga todos os efeitos\n"
 "  status.clean = none\n"
 "  status.copied = none\n"
 "\n"
@@ -818,11 +5788,263 @@
 "  diff.inserted = green\n"
 "  diff.changed = white\n"
 "  diff.trailingwhitespace = bold red_background\n"
-"\n"
+
+#, fuzzy
+msgid ""
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold"
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' desliga todos os efeitos\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+
+#, fuzzy
+msgid ""
+"  # 'none' turns off all effects\n"
+"  status.clean = none\n"
+"  status.copied = none"
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' desliga todos os efeitos\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+
+#, fuzzy
+msgid ""
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold"
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' desliga todos os efeitos\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+
+#, fuzzy
+msgid ""
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background"
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' desliga todos os efeitos\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+
+#, fuzzy
+msgid ""
 "  resolve.unresolved = red bold\n"
-"  resolve.resolved = green bold\n"
-"\n"
-"  bookmarks.current = green\n"
+"  resolve.resolved = green bold"
+msgstr ""
+"colore a saída de alguns comandos\n"
+"\n"
+"Essa extensão colore a saída dos comandos para realçar diversas\n"
+"informações: nos comandos status e resolve, reflete os estados dos\n"
+"arquivos; no comando qseries, reflete os estados dos patches (aplicado,\n"
+"não-aplicado, faltando); e para comandos relacionados com diff,\n"
+"destaca adições, remoções, cabeçalhos de diffs e espaços em branco\n"
+"no final das linhas.\n"
+"\n"
+"Outros efeitos adicionais às cores, como negrito e sublinhado,\n"
+"também estão disponíveis. Os efeitos são desenhados com a função de\n"
+"controle ECMA-48 SGR (também conhecidos como códigos de escape ANSI).\n"
+"Esse modulo também provê a função render_text, que pode ser utilizada\n"
+"para adicionar efeitos a qualquer texto.\n"
+"\n"
+"Os efeitos padrão podem ser sobrepostos pelo arquivo .hgrc::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' desliga todos os efeitos\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+
+#, fuzzy
+msgid "  bookmarks.current = green\n"
 msgstr ""
 "colore a saída de alguns comandos\n"
 "\n"
@@ -868,9 +6090,7 @@
 "  diff.trailingwhitespace = bold red_background\n"
 
 msgid "when to colorize (always, auto, or never)"
-msgstr ""
-"quando colorir (\"always\": sempre, \"never\": nunca ou \"auto\": "
-"automaticamente)"
+msgstr "quando colorir (\"always\": sempre, \"never\": nunca ou \"auto\": automaticamente)"
 
 msgid "don't colorize output (DEPRECATED)"
 msgstr "não colore a saída (OBSOLETA)"
@@ -882,85 +6102,4699 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr "importa revisões de repositórios de outros sistemas para o Mercurial"
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
-"    - Mercurial [hg]\n"
-"    - CVS [cvs]\n"
-"    - Darcs [darcs]\n"
-"    - git [git]\n"
-"    - Subversion [svn]\n"
-"    - Monotone [mtn]\n"
-"    - GNU Arch [gnuarch]\n"
-"    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
-"    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+#, fuzzy
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      <source ID> <destination ID>"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      include path/to/file"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      exclude path/to/file"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      rename from/file to/file"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -973,8 +10807,239 @@
 "    should be used as the new parents for that node. For example, if\n"
 "    you have merged \"release-1.0\" into \"trunk\", then you should\n"
 "    specify the revision on \"trunk\" as the first parent and the one on\n"
-"    the \"release-1.0\" branch as the second.\n"
-"\n"
+"    the \"release-1.0\" branch as the second."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -984,11 +11049,473 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -997,11 +11524,473 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -1010,10 +11999,471 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    The options shown are the defaults."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -1040,16 +12490,709 @@
 "        Specify a Python function to be called after the changesets\n"
 "        are calculated from the the CVS log. The function is passed\n"
 "        a list with the changeset entries, and can modify the changesets\n"
-"        in-place, or add or delete them.\n"
-"\n"
+"        in-place, or add or delete them."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
 "    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
+"    the command help for more details."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -1059,297 +13202,2606 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-"converte um repositório de um outro sistema em um do Mercurial.\n"
-"\n"
-"    Formatos de origem aceitos [identificadores]:\n"
-"\n"
-"    - Mercurial [hg]\n"
-"    - CVS [cvs]\n"
-"    - Darcs [darcs]\n"
-"    - git [git]\n"
-"    - Subversion [svn]\n"
-"    - Monotone [mtn]\n"
-"    - GNU Arch [gnuarch]\n"
-"    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Formatos de destino aceitos [identificadores]:\n"
-"\n"
-"    - Mercurial [hg]\n"
-"    - Subversion [svn] (histórico em ramos não é preservado)\n"
-"\n"
-"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
-"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
-"    (dada num formato entendido pela origem).\n"
-"\n"
-"    Se não for especificado o nome do diretório de destino, o padrão\n"
-"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
-"    não existir, ele será criado.\n"
-"\n"
-"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
-"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
-"    a ordem de números de revisão original. Modos de ordenação têm\n"
-"    os seguintes efeitos:\n"
-"    --branchsort  converte de revisão pai para filha quando possível,\n"
-"                  o que faz com que ramos sejam usualmente convertidos\n"
-"                  um após o outro. Esta opção gera repositórios mais\n"
-"                  compactos.\n"
-"\n"
-"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
-"                  tendem a ter changelogs de boa aparência, mas algumas\n"
-"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
-"                  gerados por --branchsort.\n"
-"\n"
-"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
-"                  suportada apenas pela origem Mercurial.\n"
-"\n"
-"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
-"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
-"    que mapeia cada ID de commit da origem para o ID de destino para\n"
-"    aquela revisão, da seguinte forma::\n"
-"\n"
-"      <ID origem> <ID destino>\n"
-"\n"
-"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
-"    atualizado a cada commit copiado, assim a conversão pode ser\n"
-"    interrompida e executada repetidamente para copiar novos commits.\n"
-"\n"
-"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
-"    que mapeia cada autor de commit da origem para um autor de commit\n"
-"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
-"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
-"    mapeamento de autor no formato:\n"
-"    autor_origem=qualquer string que você quiser\n"
-"\n"
-"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
-"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
-"    pode conter uma das seguintes diretivas:\n"
-"\n"
-"      include caminho/para/o/arquivo\n"
-"\n"
-"      exclude caminho/para/o/arquivo\n"
-"\n"
-"      rename arquivo/origem to arquivo/destino\n"
-"\n"
-"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
-"    em um diretório, sejam incluídos no repositório de destino, e\n"
-"    exclui todos os outros arquivos e diretórios não incluídos\n"
-"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
-"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
-"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
-"    raiz do repositório, use '.' como caminho de destino.\n"
-"\n"
-"    O splicemap é um arquivo que permite a inserção de histórico\n"
-"    sintético, permitindo que você especifique os pais de uma\n"
-"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
-"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
-"    de histórico. Cada entrada contém uma chave, seguida de um\n"
-"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
-"    chave é o identificador de revisão no sistema de controle de\n"
-"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
-"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
-"    revisão (no sistema de origem ou no de destino) que devem ser\n"
-"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
-"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
-"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
-"    segundo.\n"
-"\n"
-"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
-"    quando este for trazido de um repositório externo qualquer. Se\n"
-"    usado em conjunto com um splicemap, fornece uma poderosa\n"
-"    combinação que auxilia o conserto de repositórios mal\n"
-"    gerenciados, transformando-os em repositórios Mercurial\n"
-"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
-"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
-"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
-"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
-"    para por exemplo mover código em um repositório de \"default\"\n"
-"    para um ramo nomeado.\n"
-"\n"
-"    Origem Mercurial\n"
-"    ----------------\n"
-"\n"
-"    --config convert.hg.ignoreerrors=False    (booleana)\n"
-"        ignora erros de integridade ao ler. Use-a para corrigir\n"
-"        repositórios do Mercurial com revlogs faltando, através da\n"
-"        conversão para outro repositório do Mercurial.\n"
-"    --config convert.hg.saverev=False         (booleana)\n"
-"        armazena o identificador de revisão original na revisão de destino\n"
-"        (isso força o identificador do destino a mudar)\n"
-"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
-"        converte a revisão inicial e seus descendentes\n"
-"\n"
-"    Origem CVS\n"
-"    ----------\n"
-"\n"
-"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
-"    inicial do que será convertido. Não é necessário acesso direto ao\n"
-"    repositório, a não ser é claro que o repositório seja :local:. A\n"
-"    conversão usa o diretório do topo da cópia local para encontrar\n"
-"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
-"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
-"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
-"    início serão convertidos, e que qualquer reorganização na cópia\n"
-"    local do CVS é ignorada.\n"
-"\n"
-"    As opções exibidas são os valores padrão.\n"
-"\n"
-"    --config convert.cvsps.cache=True         (booleana)\n"
-"        Defina como False para desabilitar o cache do log\n"
-"        remoto, para teste ou depuração.\n"
-"    --config convert.cvsps.fuzz=60            (inteiro)\n"
-"        Especifica o tempo máximo (em segundos) permitido entre\n"
-"        commits com usuário e mensagem de log em uma única\n"
-"        revisão. Se arquivos muito grandes forem armazenados\n"
-"        como parte de uma revisão, o padrão pode não ser\n"
-"        suficiente.\n"
-"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
-"        Especifica uma expressão regular com a qual mensagens de\n"
-"        log de commit são verificadas. Se um casamento for\n"
-"        encontrado, a conversão inserirá uma revisão artificial\n"
-"        mesclando o ramo onde essa mensagem de log aparece ao\n"
-"        ramo indicado na expressão regular.\n"
-"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
-"        Especifica uma expressão regular com a qual mensagens de\n"
-"        log de commit são verificadas. Se um casamento for\n"
-"        encontrado, a conversão inserirá a revisão mais recente\n"
-"        do ramo indicado na expressão regular como segundo pai da\n"
-"        revisão.\n"
-"    --config hook.cvslog\n"
-"        Especifica uma função Python a ser chamada ao término da coleta\n"
-"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
-"        e pode modificar, adicionar ou remover entradas.\n"
-"    --config hook.cvschangesets\n"
-"        Especifica uma função Python a ser chamada após os conjuntos de\n"
-"        mudanças serem calculados a partir do log do CVS. Essa função\n"
-"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
-"        modificar, adicionar ou remover suas entradas.\n"
-"\n"
-"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
-"    interno seja executado fora do processo de conversão. Seus\n"
-"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
-"    Veja a ajuda do comando para mais detalhes.\n"
-"\n"
-"    Origem Subversion\n"
-"    -----------------\n"
-"\n"
-"    A origem Subversion detecta a organização clássica\n"
-"    trunk/branches/tags . Por padrão, a URL de origem\n"
-"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
-"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
-"    default. Se \"svn://repo/path/branches\" existir, seus\n"
-"    subdiretórios serão listados como possíveis ramos. Se\n"
-"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
-"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
-"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
-"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
-"    deixe-os em branco para desabilitar a auto-detecção.\n"
-"\n"
-"    --config convert.svn.branches=branches    (nome de diretório)\n"
-"        especifica o diretório contendo ramos\n"
-"    --config convert.svn.tags=tags            (nome de diretório)\n"
-"        especifica o diretório contendo tags\n"
-"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
-"        especifica o nome do ramo trunk\n"
-"\n"
-"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
-"    específica, ao invés de ser convertido integralmente. Apenas\n"
-"    conversões de um único ramo são suportadas.\n"
-"\n"
-"    --config convert.svn.startrev=0           (número de revisão svn)\n"
-"        especifica a revisão inicial do Subversion.\n"
-"\n"
-"    Origem Perforce\n"
-"    ---------------\n"
-"\n"
-"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
-"    uma especificação de cliente como origem. Ele irá converter todos\n"
-"    os arquivos da origem para um repositório achatado do Mercurial,\n"
-"    ignorando labels, branches e integrações. Note que quando é dado\n"
-"    um caminho de depot você precisa tipicamente especificar um\n"
-"    diretório de destino, caso contrário o destino pode ser chamado\n"
-"    ...-hg.\n"
-"\n"
-"    É possível limitar a quantidade de histórico de origem a ser\n"
-"    convertida especificando uma revisão inicial do Perforce.\n"
-"\n"
-"    --config convert.p4.startrev=0            (número de changelist p4)\n"
-"        especifica a revisão inicial do Perforce.\n"
-"\n"
-"    Destino Mercurial\n"
-"    -----------------\n"
-"\n"
-"    --config convert.hg.clonebranches=False   (booleana)\n"
-"        separa ramos da origem em diferentes clones.\n"
-"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
-"        nome do ramo para revisões de etiqueta\n"
-"    --config convert.hg.usebranchnames=True   (booleana)\n"
-"        preserva nomes de ramo\n"
-"\n"
-"    "
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    "
+msgstr ""
+"converte um repositório de um outro sistema em um do Mercurial.\n"
+"\n"
+"    Formatos de origem aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Formatos de destino aceitos [identificadores]:\n"
+"\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (histórico em ramos não é preservado)\n"
+"\n"
+"    Se não for dada nenhuma revisão, todas serão convertidas. Caso,\n"
+"    contrário, a conversão irá importar apenas até a revisão nomeada\n"
+"    (dada num formato entendido pela origem).\n"
+"\n"
+"    Se não for especificado o nome do diretório de destino, o padrão\n"
+"    será o nome base com '-hg' anexado. Se o repositório de destino\n"
+"    não existir, ele será criado.\n"
+"\n"
+"    Por padrão, a conversão de todas as origens exceto do Mercurial\n"
+"    usará --branchsort. O Mercurial usa --sourcesort para preservar\n"
+"    a ordem de números de revisão original. Modos de ordenação têm\n"
+"    os seguintes efeitos:\n"
+"    --branchsort  converte de revisão pai para filha quando possível,\n"
+"                  o que faz com que ramos sejam usualmente convertidos\n"
+"                  um após o outro. Esta opção gera repositórios mais\n"
+"                  compactos.\n"
+"\n"
+"    --datesort    ordena revisões por data. Os repositórios convertidos\n"
+"                  tendem a ter changelogs de boa aparência, mas algumas\n"
+"                  vezes são uma ordem de grandeza maiores que os mesmos\n"
+"                  gerados por --branchsort.\n"
+"\n"
+"    --sourcesort  tenta preservar a ordem de revisões da origem, opção\n"
+"                  suportada apenas pela origem Mercurial.\n"
+"\n"
+"    Se não for dado o <REVMAP>, ele será posto em um local padrão\n"
+"    (<destino>/.hg/shamap). O <REVMAP> é um simples arquivo texto\n"
+"    que mapeia cada ID de commit da origem para o ID de destino para\n"
+"    aquela revisão, da seguinte forma::\n"
+"\n"
+"      <ID origem> <ID destino>\n"
+"\n"
+"    Se o arquivo não existir, será automaticamente criado. Ele é\n"
+"    atualizado a cada commit copiado, assim a conversão pode ser\n"
+"    interrompida e executada repetidamente para copiar novos commits.\n"
+"\n"
+"    O arquivo [mapa de nome de usuário] é um arquivo texto simples\n"
+"    que mapeia cada autor de commit da origem para um autor de commit\n"
+"    no destino. Isso é uma ajuda para sistemas de origem que utilizam\n"
+"    logins unix para identificar os autores (ex: CVS). Uma linha por\n"
+"    mapeamento de autor no formato:\n"
+"    autor_origem=qualquer string que você quiser\n"
+"\n"
+"    O filemap é um arquivo que permite filtrar e remapear arquivos e\n"
+"    diretórios. Linhas de comentário iniciam com '#'. Cada linha\n"
+"    pode conter uma das seguintes diretivas:\n"
+"\n"
+"      include caminho/para/o/arquivo\n"
+"\n"
+"      exclude caminho/para/o/arquivo\n"
+"\n"
+"      rename arquivo/origem to arquivo/destino\n"
+"\n"
+"    A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n"
+"    em um diretório, sejam incluídos no repositório de destino, e\n"
+"    exclui todos os outros arquivos e diretórios não incluídos\n"
+"    explicitamente. A diretiva 'exclude' faz com que os arquivos e\n"
+"    diretórios sejam omitidos. A diretiva 'rename' renomeia um\n"
+"    arquivo ou diretório. Para renomear de um subdiretório para o\n"
+"    raiz do repositório, use '.' como caminho de destino.\n"
+"\n"
+"    O splicemap é um arquivo que permite a inserção de histórico\n"
+"    sintético, permitindo que você especifique os pais de uma\n"
+"    revisão. Isto é útil se você por exemplo quiser que um merge do\n"
+"    Subversion tenha dois pais, ou para juntar duas linhas desconexas\n"
+"    de histórico. Cada entrada contém uma chave, seguida de um\n"
+"    espaço, seguido de um ou mais valores separados por vírgulas. A\n"
+"    chave é o identificador de revisão no sistema de controle de\n"
+"    versão de origem cujos pais devam ser modificados (mesmo formato\n"
+"    de uma chave em .hg/shamap). Os valores são os identificadores de\n"
+"    revisão (no sistema de origem ou no de destino) que devem ser\n"
+"    usados como os novos pais daquele nó. Por exemplo, se você mesclou\n"
+"    \"release-1.0\" em \"trunk\", você deve especificar a revisão em\n"
+"    \"trunk\" como primeiro pai e a revisão em \"release-1.0\" como\n"
+"    segundo.\n"
+"\n"
+"    O branchmap é um arquivo que permite a renomeação de um ramo\n"
+"    quando este for trazido de um repositório externo qualquer. Se\n"
+"    usado em conjunto com um splicemap, fornece uma poderosa\n"
+"    combinação que auxilia o conserto de repositórios mal\n"
+"    gerenciados, transformando-os em repositórios Mercurial\n"
+"    estruturados apropriadamente. O branchmap contém linhas da forma\n"
+"    \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n"
+"    o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n"
+"    o nome do ramo no repositório de destino. Isto pode ser usado\n"
+"    para por exemplo mover código em um repositório de \"default\"\n"
+"    para um ramo nomeado.\n"
+"\n"
+"    Origem Mercurial\n"
+"    ----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False    (booleana)\n"
+"        ignora erros de integridade ao ler. Use-a para corrigir\n"
+"        repositórios do Mercurial com revlogs faltando, através da\n"
+"        conversão para outro repositório do Mercurial.\n"
+"    --config convert.hg.saverev=False         (booleana)\n"
+"        armazena o identificador de revisão original na revisão de destino\n"
+"        (isso força o identificador do destino a mudar)\n"
+"    --config convert.hg.startrev=0            (id de revisão do hg)\n"
+"        converte a revisão inicial e seus descendentes\n"
+"\n"
+"    Origem CVS\n"
+"    ----------\n"
+"\n"
+"    A origem CVS usará uma cópia local do CVS para indicar o ponto\n"
+"    inicial do que será convertido. Não é necessário acesso direto ao\n"
+"    repositório, a não ser é claro que o repositório seja :local:. A\n"
+"    conversão usa o diretório do topo da cópia local para encontrar\n"
+"    o repositório CVS, e em seguida o comando CVS rlog para encontrar\n"
+"    os arquivos a serem convertidos. Isto quer dizer que a não ser\n"
+"    que um filemap seja dado, todos os arquivos sob o diretório de\n"
+"    início serão convertidos, e que qualquer reorganização na cópia\n"
+"    local do CVS é ignorada.\n"
+"\n"
+"    As opções exibidas são os valores padrão.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (booleana)\n"
+"        Defina como False para desabilitar o cache do log\n"
+"        remoto, para teste ou depuração.\n"
+"    --config convert.cvsps.fuzz=60            (inteiro)\n"
+"        Especifica o tempo máximo (em segundos) permitido entre\n"
+"        commits com usuário e mensagem de log em uma única\n"
+"        revisão. Se arquivos muito grandes forem armazenados\n"
+"        como parte de uma revisão, o padrão pode não ser\n"
+"        suficiente.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá uma revisão artificial\n"
+"        mesclando o ramo onde essa mensagem de log aparece ao\n"
+"        ramo indicado na expressão regular.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Especifica uma expressão regular com a qual mensagens de\n"
+"        log de commit são verificadas. Se um casamento for\n"
+"        encontrado, a conversão inserirá a revisão mais recente\n"
+"        do ramo indicado na expressão regular como segundo pai da\n"
+"        revisão.\n"
+"    --config hook.cvslog\n"
+"        Especifica uma função Python a ser chamada ao término da coleta\n"
+"        do log do CVS. Essa função recebe uma lista com as entradas do log,\n"
+"        e pode modificar, adicionar ou remover entradas.\n"
+"    --config hook.cvschangesets\n"
+"        Especifica uma função Python a ser chamada após os conjuntos de\n"
+"        mudanças serem calculados a partir do log do CVS. Essa função\n"
+"        recebe uma lista com as entradas do conjunto de mudanças, e pode\n"
+"        modificar, adicionar ou remover suas entradas.\n"
+"\n"
+"    O comando \"debugcvsps\" do Mercurial permite que o código de mesclagem\n"
+"    interno seja executado fora do processo de conversão. Seus\n"
+"    parâmetros e saída são semelhantes aos do cvsps 2.1.\n"
+"    Veja a ajuda do comando para mais detalhes.\n"
+"\n"
+"    Origem Subversion\n"
+"    -----------------\n"
+"\n"
+"    A origem Subversion detecta a organização clássica\n"
+"    trunk/branches/tags . Por padrão, a URL de origem\n"
+"    \"svn://repo/path/\" fornecida é convertida como um único ramo.\n"
+"    Se \"svn://repo/path/trunk\" existir, irá substituir o ramo\n"
+"    default. Se \"svn://repo/path/branches\" existir, seus\n"
+"    subdiretórios serão listados como possíveis ramos. Se\n"
+"    \"svn://repo/path/tags\" existir, será consultado para tags\n"
+"    referenciando ramos convertidos. Os valores padrão \"trunk\",\n"
+"     \"branches\" e \"tags\" podem ser sobrepostos pelas seguintes\n"
+"    opções. Defina-os como caminhos relativos à URL de origem, ou\n"
+"    deixe-os em branco para desabilitar a auto-detecção.\n"
+"\n"
+"    --config convert.svn.branches=branches    (nome de diretório)\n"
+"        especifica o diretório contendo ramos\n"
+"    --config convert.svn.tags=tags            (nome de diretório)\n"
+"        especifica o diretório contendo tags\n"
+"    --config convert.svn.trunk=trunk          (nome de diretório)\n"
+"        especifica o nome do ramo trunk\n"
+"\n"
+"    O histórico de origem pode ser recuperado a partir de uma revisão\n"
+"    específica, ao invés de ser convertido integralmente. Apenas\n"
+"    conversões de um único ramo são suportadas.\n"
+"\n"
+"    --config convert.svn.startrev=0           (número de revisão svn)\n"
+"        especifica a revisão inicial do Subversion.\n"
+"\n"
+"    Origem Perforce\n"
+"    ---------------\n"
+"\n"
+"    O importador Perforce (P4) pode receber um caminho de depot p4 ou\n"
+"    uma especificação de cliente como origem. Ele irá converter todos\n"
+"    os arquivos da origem para um repositório achatado do Mercurial,\n"
+"    ignorando labels, branches e integrações. Note que quando é dado\n"
+"    um caminho de depot você precisa tipicamente especificar um\n"
+"    diretório de destino, caso contrário o destino pode ser chamado\n"
+"    ...-hg.\n"
+"\n"
+"    É possível limitar a quantidade de histórico de origem a ser\n"
+"    convertida especificando uma revisão inicial do Perforce.\n"
+"\n"
+"    --config convert.p4.startrev=0            (número de changelist p4)\n"
+"        especifica a revisão inicial do Perforce.\n"
+"\n"
+"    Destino Mercurial\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (booleana)\n"
+"        separa ramos da origem em diferentes clones.\n"
+"    --config convert.hg.tagsbranch=default    (nome de ramo)\n"
+"        nome do ramo para revisões de etiqueta\n"
+"    --config convert.hg.usebranchnames=True   (booleana)\n"
+"        preserva nomes de ramo\n"
+"\n"
+"    "
+
+msgid "create changeset information from CVS"
+msgstr "cria uma informação de revisão do CVS"
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+"    Esse comando serve como ferramenta de depuração para o conversor\n"
+"    do CVS para o Mercurial e pode ser usado como um substituto\n"
+"    direto do cvsps."
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
 "    dates."
 msgstr ""
-"cria uma informação de revisão do CVS\n"
-"\n"
-"    Esse comando serve como ferramenta de depuração para o conversor\n"
-"    do CVS para o Mercurial e pode ser usado como um substituto\n"
-"    direto do cvsps.\n"
-"\n"
 "    Hg debugcvsps lê o rlog do CVS para o diretório atual (ou\n"
 "    qualquer diretório nomeado) no repositório do CVS e converte o\n"
 "    log em uma série de revisões baseadas na correspondência das\n"
@@ -1428,12 +15880,8 @@
 msgid "Bazaar modules could not be loaded"
 msgstr "os módulos do Bazaar não puderam ser carregados"
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
-msgstr ""
-"aviso: checkouts \"lightweight\" podem causar falhas de conversão, tente com "
-"um branch comum.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
+msgstr "aviso: checkouts \"lightweight\" podem causar falhas de conversão, tente com um branch comum.\n"
 
 msgid "bzr source type could not be determined\n"
 msgstr "o tipo de origem bzr não pôde ser determinado\n"
@@ -1557,9 +16005,7 @@
 
 #, python-format
 msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
-msgstr ""
-"resposta inesperada do servidor CVS (\"Valid-requests\" esperada, %r "
-"recebida)"
+msgstr "resposta inesperada do servidor CVS (\"Valid-requests\" esperada, %r recebida)"
 
 #, python-format
 msgid "%d bytes missing from remote file"
@@ -1611,9 +16057,7 @@
 msgstr "revisão deve ser seguida por uma linha de data"
 
 msgid "log cache overlaps with new log entries, re-run without cache."
-msgstr ""
-"o cache do log se sobrepõe a novas entradas do log, execute novamente sem o "
-"cache."
+msgstr "o cache do log se sobrepõe a novas entradas do log, execute novamente sem o cache."
 
 #, python-format
 msgid "writing cvs log cache %s\n"
@@ -1701,9 +16145,7 @@
 
 #, python-format
 msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
-msgstr ""
-"análise da árvore parou porque esta aponta para um arquivo não registrado %"
-"s...\n"
+msgstr "análise da árvore parou porque esta aponta para um arquivo não registrado %s...\n"
 
 #, python-format
 msgid "could not parse cat-log of %s"
@@ -1758,16 +16200,10 @@
 msgstr "coletando changelists do p4\n"
 
 msgid "Mercurial failed to run itself, check hg executable is in PATH"
-msgstr ""
-"Mercurial falhou ao executar a si próprio, veja se o executável hg está no "
-"PATH"
-
-msgid ""
-"svn: cannot probe remote repository, assume it could be a subversion "
-"repository. Use --source-type if you know better.\n"
-msgstr ""
-"svn: não é possível sondar o repositório remoto; a conversão irá assumir que "
-"é um repositório remoto do Subversion. Use --source-type se necessário.\n"
+msgstr "Mercurial falhou ao executar a si próprio, veja se o executável hg está no PATH"
+
+msgid "svn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better.\n"
+msgstr "svn: não é possível sondar o repositório remoto; a conversão irá assumir que é um repositório remoto do Subversion. Use --source-type se necessário.\n"
 
 #, python-format
 msgid "%s does not look like a Subversion repository"
@@ -1778,14 +16214,10 @@
 
 #, python-format
 msgid "Subversion python bindings %d.%d found, 1.4 or later required"
-msgstr ""
-"Encontrados módulos Python para o Subversion %d.%d, requerida a versão 1.4 "
-"ou posterior"
+msgstr "Encontrados módulos Python para o Subversion %d.%d, requerida a versão 1.4 ou posterior"
 
 msgid "Subversion python bindings are too old, 1.4 or later required"
-msgstr ""
-"Módulos Python para o Subversion são antigos demais, requerida a versão 1.4 "
-"ou posterior"
+msgstr "Módulos Python para o Subversion são antigos demais, requerida a versão 1.4 ou posterior"
 
 #, python-format
 msgid "svn: revision %s is not an integer"
@@ -1855,33 +16287,63 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr "XXX TAGS AINDA NÃO IMPLEMENTADAS\n"
 
-msgid ""
-"automatically manage newlines in repository files\n"
-"\n"
+msgid "automatically manage newlines in repository files"
+msgstr "gerencia automaticamente quebras de linha em arquivos no repositório"
+
+msgid ""
 "This extension allows you to manage the type of line endings (CRLF or\n"
 "LF) that are used in the repository and in the local working\n"
 "directory. That way you can get CRLF line endings on Windows and LF on\n"
-"Unix/Mac, thereby letting everybody use their OS native line endings.\n"
-"\n"
+"Unix/Mac, thereby letting everybody use their OS native line endings."
+msgstr ""
+"Esta extensão gerencia o tipo de quebras de linha (CRLF ou LF) que\n"
+"são usados no repositório e no diretório de trabalho local. Dessa\n"
+"maneira você terá quebras de linha CRLF no Windows e LF no Unix/Mac,\n"
+"permitindo que todos usem quebras de linha nativas em cada sistema."
+
+msgid ""
 "The extension reads its configuration from a versioned ``.hgeol``\n"
 "configuration file every time you run an ``hg`` command. The\n"
 "``.hgeol`` file use the same syntax as all other Mercurial\n"
 "configuration files. It uses two sections, ``[patterns]`` and\n"
-"``[repository]``.\n"
-"\n"
+"``[repository]``."
+msgstr ""
+"A extensão lê sua configuração de um arquivo versionado chamado\n"
+"``.hgeol`` cada vez que você executar um comando ``hg``. O arquivo\n"
+"``.hgeol`` usa a mesma sintaxe que outros arquivos de configuração\n"
+"do Mercurial. Ele usa duas seções ``[patterns]`` e ``[repository]``."
+
+msgid ""
 "The ``[patterns]`` section specifies the line endings used in the\n"
 "working directory. The format is specified by a file pattern. The\n"
 "first match is used, so put more specific patterns first. The\n"
-"available line endings are ``LF``, ``CRLF``, and ``BIN``.\n"
-"\n"
+"available line endings are ``LF``, ``CRLF``, and ``BIN``."
+msgstr ""
+"A seção ``[patterns]`` especifica as quebras de linha usadas no\n"
+"diretório de trabalho. O formato é especificado por um padrão de nomes\n"
+"de arquivo. O primeiro padrão que combinar será usado, de modo que\n"
+"padrões mais específicos devem ser especificados primeiro. Os tipos\n"
+"de quebra de linha disponíveis são ``LF``, ``CRLF`` e ``BIN``."
+
+msgid ""
 "Files with the declared format of ``CRLF`` or ``LF`` are always\n"
 "checked out in that format and files declared to be binary (``BIN``)\n"
 "are left unchanged. Additionally, ``native`` is an alias for the\n"
 "platform's default line ending: ``LF`` on Unix (including Mac OS X)\n"
 "and ``CRLF`` on Windows. Note that ``BIN`` (do nothing to line\n"
 "endings) is Mercurial's default behaviour; it is only needed if you\n"
-"need to override a later, more general pattern.\n"
-"\n"
+"need to override a later, more general pattern."
+msgstr ""
+"Arquivos com formato declarado como ``CRLF`` ou ``LF`` são sempre trazidos\n"
+"para o diretório de trabalho no tal formato, e arquivos declarados como\n"
+"binários (``BIN``) não são alterados. Adicionalmente, ``native`` é um\n"
+"apelido para o tipo de quebra de linha padrão na plataforma: ``LF`` em\n"
+"Unix (inclusive no Mac OS X) e ``CRLF`` no Windows. Note que ``BIN`` (não\n"
+"fazer nada em relação a quebra de linhas) é o comportamento padrão do\n"
+"Mercurial; em geral só é necessário se você precisar sobrepor um padrão\n"
+"posterior mais geral."
+
+msgid ""
 "The optional ``[repository]`` section specifies the line endings to\n"
 "use for files stored in the repository. It has a single setting,\n"
 "``native``, which determines the storage line endings for files\n"
@@ -1890,65 +16352,8 @@
 "that on Windows, files configured as ``native`` (``CRLF`` by default)\n"
 "will be converted to ``LF`` when stored in the repository. Files\n"
 "declared as ``LF``, ``CRLF``, or ``BIN`` in the ``[patterns]`` section\n"
-"are always stored as-is in the repository.\n"
-"\n"
-"Example versioned ``.hgeol`` file::\n"
-"\n"
-"  [patterns]\n"
-"  **.py = native\n"
-"  **.vcproj = CRLF\n"
-"  **.txt = native\n"
-"  Makefile = LF\n"
-"  **.jpg = BIN\n"
-"\n"
-"  [repository]\n"
-"  native = LF\n"
-"\n"
-"The extension uses an optional ``[eol]`` section in your hgrc file\n"
-"(not the ``.hgeol`` file) for settings that control the overall\n"
-"behavior. There are two settings:\n"
-"\n"
-"- ``eol.native`` (default ``os.linesep``) can be set to ``LF`` or\n"
-"  ``CRLF`` override the default interpretation of ``native`` for\n"
-"  checkout. This can be used with :hg:`archive` on Unix, say, to\n"
-"  generate an archive where files have line endings for Windows.\n"
-"\n"
-"- ``eol.only-consistent`` (default True) can be set to False to make\n"
-"  the extension convert files with inconsistent EOLs. Inconsistent\n"
-"  means that there is both ``CRLF`` and ``LF`` present in the file.\n"
-"  Such files are normally not touched under the assumption that they\n"
-"  have mixed EOLs on purpose.\n"
-"\n"
-"See :hg:`help patterns` for more information about the glob patterns\n"
-"used.\n"
-msgstr ""
-"gerencia automaticamente quebras de linha em arquivos no repositório\n"
-"\n"
-"Esta extensão gerencia o tipo de quebras de linha (CRLF ou LF) que\n"
-"são usados no repositório e no diretório de trabalho local. Dessa\n"
-"maneira você terá quebras de linha CRLF no Windows e LF no Unix/Mac,\n"
-"permitindo que todos usem quebras de linha nativas em cada sistema.\n"
-"\n"
-"A extensão lê sua configuração de um arquivo versionado chamado\n"
-"``.hgeol`` cada vez que você executar um comando ``hg``. O arquivo\n"
-"``.hgeol`` usa a mesma sintaxe que outros arquivos de configuração\n"
-"do Mercurial. Ele usa duas seções ``[patterns]`` e ``[repository]``.\n"
-"\n"
-"A seção ``[patterns]`` especifica as quebras de linha usadas no\n"
-"diretório de trabalho. O formato é especificado por um padrão de nomes\n"
-"de arquivo. O primeiro padrão que combinar será usado, de modo que\n"
-"padrões mais específicos devem ser especificados primeiro. Os tipos\n"
-"de quebra de linha disponíveis são ``LF``, ``CRLF`` e ``BIN``.\n"
-"\n"
-"Arquivos com formato declarado como ``CRLF`` ou ``LF`` são sempre trazidos\n"
-"para o diretório de trabalho no tal formato, e arquivos declarados como\n"
-"binários (``BIN``) não são alterados. Adicionalmente, ``native`` é um\n"
-"apelido para o tipo de quebra de linha padrão na plataforma: ``LF`` em\n"
-"Unix (inclusive no Mac OS X) e ``CRLF`` no Windows. Note que ``BIN`` (não\n"
-"fazer nada em relação a quebra de linhas) é o comportamento padrão do\n"
-"Mercurial; em geral só é necessário se você precisar sobrepor um padrão\n"
-"posterior mais geral.\n"
-"\n"
+"are always stored as-is in the repository."
+msgstr ""
 "A seção opcional ``[repository]`` especifica as quebras de linha a\n"
 "serem usadas para arquivos armazenados no repositório. Ela possui uma\n"
 "única configuração, ``native``, que determina as quebras de linha\n"
@@ -1958,35 +16363,70 @@
 "``native`` (``CRLF`` por padrão) serão convertidos para ``LF`` ao serem\n"
 "armazenados no repositório. Arquivos declarados como ``LF``, ``CRLF``\n"
 "ou ``BIN`` na seção ``[patterns]`` são sempre armazenados da maneira\n"
-"correspondente no repositório.\n"
-"\n"
-"Um exemplo do arquivo versionado ``.hgeol``::\n"
-"\n"
+"correspondente no repositório."
+
+msgid "Example versioned ``.hgeol`` file::"
+msgstr "Um exemplo do arquivo versionado ``.hgeol``::"
+
+msgid ""
+"  [patterns]\n"
+"  **.py = native\n"
+"  **.vcproj = CRLF\n"
+"  **.txt = native\n"
+"  Makefile = LF\n"
+"  **.jpg = BIN"
+msgstr ""
 "  [patterns]\n"
 "  **.py = native\n"
 "  **.vcproj = CRLF\n"
 "  **.txt = native\n"
 "  Makefile = LF\n"
-"  **.jpg = BIN\n"
-"\n"
+"  **.jpg = BIN"
+
+msgid ""
+"  [repository]\n"
+"  native = LF"
+msgstr ""
 "  [repository]\n"
-"  native = LF\n"
-"\n"
+"  native = LF"
+
+msgid ""
+"The extension uses an optional ``[eol]`` section in your hgrc file\n"
+"(not the ``.hgeol`` file) for settings that control the overall\n"
+"behavior. There are two settings:"
+msgstr ""
 "A extensão também usa uma seção opcional ``[eol]`` em seu arquivo\n"
 "hgrc (diferente do arquivo ``.hgeol``) para configurações que controlam\n"
-"seu comportamento geral. Há duas configurações:\n"
-"\n"
+"seu comportamento geral. Há duas configurações:"
+
+msgid ""
+"- ``eol.native`` (default ``os.linesep``) can be set to ``LF`` or\n"
+"  ``CRLF`` override the default interpretation of ``native`` for\n"
+"  checkout. This can be used with :hg:`archive` on Unix, say, to\n"
+"  generate an archive where files have line endings for Windows."
+msgstr ""
 "- ``eol.native`` (padrão ``os.linesep``) pode ser definido como ``LF``\n"
 "  ou ``CRLF``, e sobrepõe a interpretação padrão de ``native`` para o\n"
 "  checkout. Isto pode por exemplo ser usado com :hg:`archive` no Unix para\n"
-"  gerar um pacote com arquivos contendo quebras de linha Windows.\n"
-"\n"
+"  gerar um pacote com arquivos contendo quebras de linha Windows."
+
+msgid ""
+"- ``eol.only-consistent`` (default True) can be set to False to make\n"
+"  the extension convert files with inconsistent EOLs. Inconsistent\n"
+"  means that there is both ``CRLF`` and ``LF`` present in the file.\n"
+"  Such files are normally not touched under the assumption that they\n"
+"  have mixed EOLs on purpose."
+msgstr ""
 "- ``eol.only-consistent`` (padrão True) pode ser definido como False\n"
 "  para que a extensão converta arquivos com quebras de linha inconsistentes\n"
 "  - arquivos que possuam tanto quebras de linha ``CRLF`` como ``LF``.\n"
 "  Tais arquivos normalmente não são alterados, assumindo que a mistura de\n"
-"  quebras de linha seja intencional.\n"
-"\n"
+"  quebras de linha seja intencional."
+
+msgid ""
+"See :hg:`help patterns` for more information about the glob patterns\n"
+"used.\n"
+msgstr ""
 "Veja :hg:`help patterns` para mais informações sobre os padrões de nome de\n"
 "arquivo usados.\n"
 
@@ -2009,76 +16449,81 @@
 msgid "inconsistent newline style in %s\n"
 msgstr "estilo de quebra de linha inconsistente em %s\n"
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr "comando que usa programas externos para comparar revisões"
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+"A extensão extdiff do Mercurial permite o uso de programas externos\n"
+"para comparar revisões ou revisões e a cópia local. Os programas de\n"
+"diff externos são chamados com um conjunto configurável de opções e\n"
+"dois argumentos: caminhos para diretórios contendo cópias temporárias\n"
+"dos arquivos a serem comparados."
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+"A extensão extdiff também permite configurar novos comandos\n"
+"de diff, de modo que você não precise sempre digitar\n"
+"\"hg extdiff -p kdiff3\". ::"
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
-"  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
-"  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
-"  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
-"  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
-"  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
-"  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
-"You can use -I/-X and list of file or directory names like normal \"hg\n"
-"diff\" command. The extdiff extension makes snapshots of only needed\n"
-"files, so running the external diff program will actually be pretty\n"
-"fast (at least faster than having to compare the entire tree).\n"
-msgstr ""
-"comando que usa programas externos para comparar revisões\n"
-"\n"
-"A extensão extdiff do Mercurial permite o uso de programas externos\n"
-"para comparar revisões ou revisões e a cópia local. Os programas de\n"
-"diff externos são chamados com um conjunto configurável de opções e\n"
-"dois argumentos: caminhos para diretórios contendo cópias temporárias\n"
-"dos arquivos a serem comparados.\n"
-"\n"
-"A extensão extdiff também permite configurar novos comandos\n"
-"de diff, de modo que você não precise sempre digitar\n"
-"\"hg extdiff -p kdiff3\". ::\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
 "  [extdiff]\n"
 "  # adiciona um novo comando que executa o GNU diff(1) em modo\n"
 "  # 'context diff'\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## ou do modo antigo:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+
+msgid ""
+"  # add new command called vdiff, runs kdiff3\n"
+"  vdiff = kdiff3"
+msgstr ""
 "  # adiciona um novo comando chamado vdiff, executa o kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+
+msgid ""
+"  # add new command called meld, runs meld (no need to name twice)\n"
+"  meld ="
+msgstr ""
 "  # adiciona um novo comando chamado meld, executa o meld\n"
 "  # (não é necessário nomeá-lo duas vezes)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+
+msgid ""
+"  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
+"  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
+"  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
+"  # your .vimrc\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
 "  # adiciona um novo comando chamado vimdiff, executa gvimdiff\n"
 "  # com o plugin DirDiff\n"
 "  #(veja http://www.vim.org/scripts/script.php?script_id=102)\n"
 "  # Esteja certo de colocar \"let g:DirDiffDynamicDiffText = 1\"\n"
 "  # em seu .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+
+msgid ""
+"You can use -I/-X and list of file or directory names like normal \"hg\n"
+"diff\" command. The extdiff extension makes snapshots of only needed\n"
+"files, so running the external diff program will actually be pretty\n"
+"fast (at least faster than having to compare the entire tree).\n"
+msgstr ""
 "Você pode usar -I/-X e uma lista de nomes de arquivos ou diretórios\n"
 "como no comando \"hg diff\" normal. A extensão extdiff faz cópias\n"
 "temporárias apenas dos arquivos necessários, de modo que a execução\n"
@@ -2099,36 +16544,37 @@
 msgid "cleaning up temp directory\n"
 msgstr "limpando o diretório temporário\n"
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr "usa um programa externo para exibir diffs do repositório ou arquivos"
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+"    Mostra diferenças entre revisões para os arquivos especificados,\n"
+"    usando um programa externo. O programa padrão usado é o diff, com\n"
+"    as opções padrão \"-Npru\"."
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+"    Para selecionar um programa diferente, use a opção -p/--program.\n"
+"    Ao programa serão passados os nomes de dois diretórios para\n"
+"    comparar. Para passar opções adicionais para o programa, use a\n"
+"    opção -o/--option. Estas serão passadas antes dos nomes dos\n"
+"    diretórios a serem comparados."
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
 "    revisions are specified, the working directory files are compared\n"
 "    to its parent."
 msgstr ""
-"usa um programa externo para exibir diffs do repositório ou arquivos\n"
-"\n"
-"    Mostra diferenças entre revisões para os arquivos especificados,\n"
-"    usando um programa externo. O programa padrão usado é o diff, com\n"
-"    as opções padrão \"-Npru\".\n"
-"\n"
-"    Para selecionar um programa diferente, use a opção -p/--program.\n"
-"    Ao programa serão passados os nomes de dois diretórios para\n"
-"    comparar. Para passar opções adicionais para o programa, use a\n"
-"    opção -o/--option. Estas serão passadas antes dos nomes dos\n"
-"    diretórios a serem comparados.\n"
-"\n"
 "    Quando dois argumentos de revisão forem dados, são exibidas as\n"
 "    mudanças entre essas revisões. Se apenas uma revisão for\n"
 "    especificada, tal revisão será comparada com o diretório de\n"
@@ -2148,28 +16594,16 @@
 msgstr "hg extdiff [OPÇÃO]... [ARQUIVO]..."
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr "usa %(path)s para exibir diffs do repositório ou arquivos"
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
-"    the %(path)s program.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent."
-msgstr ""
-"usa %(path)s para exibir diffs do repositório ou arquivos\n"
-"\n"
+"    the %(path)s program."
+msgstr ""
 "    Mostra diferenças entre revisões para os arquivos especificados,\n"
-"    usando o programa %(path)s.\n"
-"\n"
-"    Quando dois argumentos de revisão forem dados, são exibidas as\n"
-"    mudanças entre essas revisões. Se apenas uma revisão for\n"
-"    especificada, tal revisão será comparada com o diretório de\n"
-"    trabalho, e se nenhuma revisão for especificada, os arquivos do\n"
-"    diretório de trabalho serão comparados com seu pai."
+"    usando o programa %(path)s."
 
 #, python-format
 msgid "hg %s [OPTION]... [FILE]..."
@@ -2178,48 +16612,48 @@
 msgid "pull, update and merge in one command"
 msgstr "pull, update e merge em um comando"
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr "traz mudanças de um repositório remoto, mesclando se necessário"
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+"    Este comando localiza todas as mudanças do repositório na URL ou\n"
+"    caminho especificado e as adiciona ao repositório local."
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+"    Se as mudanças trazidas adicionarem uma nova cabeça de ramo, essa\n"
+"    cabeça será automaticamente mesclada, e o resultado da mesclagem\n"
+"    será consolidado. Caso contrário, o diretório de trabalho será\n"
+"    atualizado para incluir as novas mudanças."
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"traz mudanças de um repositório remoto, mesclando se necessário\n"
-"\n"
-"    Este comando localiza todas as mudanças do repositório na URL ou\n"
-"    caminho especificado e as adiciona ao repositório local.\n"
-"\n"
-"    Se as mudanças trazidas adicionarem uma nova cabeça de ramo, essa\n"
-"    cabeça será automaticamente mesclada, e o resultado da mesclagem\n"
-"    será consolidado. Caso contrário, o diretório de trabalho será\n"
-"    atualizado para incluir as novas mudanças.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
 "    Quando ocorre uma mesclagem, assume-se que as novas mudanças\n"
 "    trazidas sejam \"autoritativas\". A nova cabeça é usada como\n"
 "    primeiro pai, e as mudanças locais como o segundo. Para mudar a\n"
-"    ordem de mesclagem, use --switch-parent.\n"
-"\n"
+"    ordem de mesclagem, use --switch-parent."
+
+msgid ""
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
 "    Veja 'hg help dates' para uma lista de formatos válidos para\n"
 "    -d/--date.\n"
 "    "
 
 msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
-msgstr ""
-"o diretório de trabalho não está na tip do ramo (use \"hg update\" para "
-"obter a tip do ramo)"
+msgstr "o diretório de trabalho não está na tip do ramo (use \"hg update\" para obter a tip do ramo)"
 
 msgid "outstanding uncommitted merge"
 msgstr "mesclagem não consolidada pendente"
@@ -2237,20 +16671,12 @@
 msgid "pulling from %s\n"
 msgstr "trazendo revisões de %s\n"
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-"O outro repositório não suporta busca por revisão, portanto uma revisão não "
-"pode ser especificada."
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
-msgstr ""
-"não mesclando com %d outros novas cabeças de ramo (use \"hg heads .\" e \"hg "
-"merge\" para mescla-los)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr "O outro repositório não suporta busca por revisão, portanto uma revisão não pode ser especificada."
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
+msgstr "não mesclando com %d outros novas cabeças de ramo (use \"hg heads .\" e \"hg merge\" para mescla-los)\n"
 
 #, python-format
 msgid "updating to %d:%s\n"
@@ -2305,32 +16731,22 @@
 msgstr "nó %s:%d não existe\n"
 
 msgid "verify all the signatures there may be for a particular revision"
-msgstr ""
-"verifica todas as assinaturas que podem existir para uma revisão em "
-"particular"
+msgstr "verifica todas as assinaturas que podem existir para uma revisão em particular"
 
 #, python-format
 msgid "No valid signature for %s\n"
 msgstr "Assinatura inválida para %s\n"
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr "adiciona uma assinatura para a revisão atual ou pedida"
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"adiciona uma assinatura para a revisão atual ou pedida\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
 "    Se não for dada uma versão, será usado o pai do diretório de\n"
 "    trabalho, ou a tip se o diretório de trabalho não estiver em\n"
-"    nenhuma revisão.\n"
-"\n"
-"    Veja 'hg help dates' para uma lista de formatos validos para\n"
-"    -d/--date.\n"
-"    "
+"    nenhuma revisão."
 
 msgid "uncommitted merge - please provide a specific revision"
 msgstr "mesclagem não consolidada - por favor forneça uma revisão específica"
@@ -2342,12 +16758,8 @@
 msgid "Error while signing"
 msgstr "Erro ao assinar"
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
-msgstr ""
-"a cópia de trabalho de .hgsigs foi mudada (por favor consolide .hgsigs "
-"manualmente ou use --force)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
+msgstr "a cópia de trabalho de .hgsigs foi mudada (por favor consolide .hgsigs manualmente ou use --force)"
 
 msgid "unknown signature version"
 msgstr "versão de assinatura desconhecida"
@@ -2376,15 +16788,14 @@
 msgid "hg sigs"
 msgstr "hg sigs"
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr "comando para exibir grafos de revisão em terminais modo texto"
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
 msgstr ""
-"comando para exibir grafos de revisão em terminais modo texto\n"
-"\n"
 "Esta extensão adiciona uma opção --graph aos comandos incoming,\n"
 "outgoing e log. Quando esta opção for passada, também será mostrada\n"
 "uma representação ASCII do grafo de revisões.\n"
@@ -2393,21 +16804,21 @@
 msgid "--graph option is incompatible with --%s"
 msgstr "a opção --graph é incompatível com --%s"
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr "mostra histórico de revisões ao lado de um grafo ASCII de revisões"
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr ""
+"    Imprime um histórico de revisões ao lado de um grafo de revisões\n"
+"    desenhado com caracteres ASCII."
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
 msgstr ""
-"mostra histórico de revisões ao lado de um grafo ASCII de revisões\n"
-"\n"
-"    Imprime um histórico de revisões ao lado de um grafo de revisões\n"
-"    desenhado com caracteres ASCII.\n"
-"\n"
 "    Nós impressos como um caractere @ são pais do diretório de\n"
 "    trabalho.\n"
 "    "
@@ -2434,12 +16845,17 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr "hg glog [OPÇÃO]... [ARQUIVO]"
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr "ganchos para integração com o serviço de notificação CIA.vc"
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+"Isto deve ser executado como um gancho changegroup ou incoming.\n"
+"Para configurá-lo, defina as seguintes opções em seu hgrc::"
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -2459,22 +16875,8 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
-"  [hooks]\n"
-"  # one of these:\n"
-"  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
-"  [web]\n"
-"  # If you want hyperlinks (optional)\n"
-"  baseurl = http://server/path/to/repo\n"
-msgstr ""
-"ganchos para integração com o serviço de notificação CIA.vc\n"
-"\n"
-"Isto deve ser executado como um gancho changegroup ou incoming.\n"
-"Para configurá-lo, defina as seguintes opções em seu hgrc::\n"
-"\n"
+"  #test = False"
+msgstr ""
 "  [cia]\n"
 "  # seu nome de usuário CIA registrado\n"
 "  user = foo\n"
@@ -2494,13 +16896,24 @@
 "  # Certifique-se de definir email.from se você fizer isso.\n"
 "  #url = http://cia.vc/\n"
 "  # imprime a mensagem ao invés de enviá-la (opcional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+
+msgid ""
+"  [hooks]\n"
+"  # one of these:\n"
+"  changegroup.cia = python:hgcia.hook\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
 "  [hooks]\n"
 "  # use um destes:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+
+msgid ""
+"  [web]\n"
+"  # If you want hyperlinks (optional)\n"
+"  baseurl = http://server/path/to/repo\n"
+msgstr ""
 "  [web]\n"
 "  # Se você desejar hyperlinks (opcional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -2516,61 +16929,66 @@
 msgid "email.from must be defined when sending by email"
 msgstr "email.from deve estar definido ao enviar por e-mail"
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr "visualiza o repositório em modo gráfico"
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+"A extensão hgk permite visualizar o histórico de um repositório\n"
+"graficamente. Ela requer o Tcl/Tk versão 8.4 ou posterior. (Tcl/Tk\n"
+"não é distribuído com o Mercurial.)"
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
-"The hg view command will launch the hgk Tcl script. For this command\n"
-"to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
-"  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
-"hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
-"  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
-"Revisions context menu will now display additional entries to fire\n"
-"vdiff on hovered and selected revisions.\n"
-msgstr ""
-"visualiza o repositório em modo gráfico\n"
-"\n"
-"A extensão hgk permite visualizar o histórico de um repositório\n"
-"graficamente. Ela requer o Tcl/Tk versão 8.4 ou posterior. (Tcl/Tk\n"
-"não é distribuído com o Mercurial.)\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
 "hgk consiste de duas partes: um script Tcl que faz a exibição e\n"
 "consulta de informações, e uma extensão do Mercurial chamada hgk.py,\n"
 "que provê ganchos para o hgk obter informações. O hgk pode ser\n"
 "encontrado no diretório contrib, e o hgk.py pode ser encontrado no\n"
-"diretório hgext (e precisa ser habilitado).\n"
-"\n"
+"diretório hgext (e precisa ser habilitado)."
+
+msgid ""
+"The hg view command will launch the hgk Tcl script. For this command\n"
+"to work, hgk must be in your search path. Alternately, you can specify\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
 "O comando hg view irá lançar o script Tcl hgk. Para esse comando\n"
 "funcionar, hgk deve estar em seu caminho de busca. Alternativamente,\n"
-"você pode especificar o caminho para o hgk em seu arquivo .hgrc::\n"
-"\n"
+"você pode especificar o caminho para o hgk em seu arquivo .hgrc::"
+
+msgid ""
+"  [hgk]\n"
+"  path=/location/of/hgk"
+msgstr ""
 "  [hgk]\n"
-"  path=/localização/do/hgk\n"
-"\n"
+"  path=/localização/do/hgk"
+
+msgid ""
+"hgk can make use of the extdiff extension to visualize revisions.\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
 "O hgk pode usar a extensão extdiff para visualizar revisões.\n"
 "Assumindo que você já configurou o comando vdiff da extdiff, basta\n"
-"adicionar::\n"
-"\n"
+"adicionar::"
+
+msgid ""
+"  [hgk]\n"
+"  vdiff=vdiff"
+msgstr ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+
+msgid ""
+"Revisions context menu will now display additional entries to fire\n"
+"vdiff on hovered and selected revisions.\n"
+msgstr ""
 "Os menus de contexto das revisões vão agora mostrar entradas\n"
 "adicionais para disparar o vdiff em revisões selecionadas.\n"
 
@@ -2655,30 +17073,28 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr "hg debug-rev-list [OPÇÃO]... REV..."
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr "realce de sintaxe para o hgweb (requer Pygments)"
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+"Esta extensão depende da biblioteca Pygments de realce de sintaxe:\n"
+"http://pygments.org/"
+
+msgid "There is a single configuration option::"
+msgstr "Há uma única opção de configuração::"
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
-msgstr ""
-"realce de sintaxe para o hgweb (requer Pygments)\n"
-"\n"
-"Esta extensão depende da biblioteca Pygments de realce de sintaxe:\n"
-"http://pygments.org/\n"
-"\n"
-"Há uma única opção de configuração::\n"
-"\n"
+"  pygments_style = <style>"
+msgstr ""
 "  [web]\n"
-"  pygments_style = <estilo>\n"
-"\n"
-"O padrão é 'colorful'.\n"
+"  pygments_style = <estilo>"
+
+msgid "The default is 'colorful'.\n"
+msgstr "O padrão é 'colorful'.\n"
 
 msgid "accelerate status report using Linux's inotify service"
 msgstr "acelera informações de status usando o serviço inotify do Linux"
@@ -2686,14 +17102,13 @@
 msgid "start an inotify server for this repository"
 msgstr "inicia um servidor inotify para este repositório"
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr "informação de depuração para a extensão inotify"
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
-"informação de depuração para a extensão inotify\n"
-"\n"
 "    Imprime a lista de diretórios monitorados pelo servidor inotify.\n"
 "    "
 
@@ -2749,9 +17164,7 @@
 msgstr "*** o limite atual por usuário do número de inotify watches é %s\n"
 
 msgid "*** this limit is too low to watch every directory in this repository\n"
-msgstr ""
-"*** este limite é muito baixo para acompanhar cada diretório neste "
-"repositório\n"
+msgstr "*** este limite é muito baixo para acompanhar cada diretório neste repositório\n"
 
 msgid "*** counting directories: "
 msgstr "*** contando diretórios: "
@@ -2770,9 +17183,7 @@
 
 #, python-format
 msgid "cannot watch %s until inotify watch limit is raised"
-msgstr ""
-"impossível observar %s até que o limite de observação do inotify seja "
-"alcançado"
+msgstr "impossível observar %s até que o limite de observação do inotify seja alcançado"
 
 #, python-format
 msgid "inotify service not available: %s"
@@ -2831,12 +17242,8 @@
 msgid "cannot start: socket is already bound"
 msgstr "não é possível iniciar: o socket já está associado"
 
-msgid ""
-"cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/"
-"inotify.sock already exists"
-msgstr ""
-"não é possível iniciar: tentou lincar .hg/inotify.sock para um socket "
-"temporário mas .hg/inotify.sock já existe"
+msgid "cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/inotify.sock already exists"
+msgstr "não é possível iniciar: tentou lincar .hg/inotify.sock para um socket temporário mas .hg/inotify.sock já existe"
 
 #, python-format
 msgid "answering query for %r\n"
@@ -2850,36 +17257,35 @@
 msgid "unrecognized query type: %s\n"
 msgstr "tipo de consulta não reconhecido: %s\n"
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr "expande expressões no changelog e sumários"
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
-"A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
-"  [interhg]\n"
-"  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
-"  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
-msgstr ""
-"expande expressões no changelog e sumários\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
 "Esta extensão permite o uso de uma sintaxe especial em sumários,\n"
 "que será expandida automaticamente para links ou qualquer outra\n"
 "expressão arbitrária, de modo muito semelhante ao que o InterWiki\n"
-"faz.\n"
-"\n"
+"faz."
+
+msgid ""
+"A few example patterns (link to bug tracking, etc.) that may be used\n"
+"in your hgrc::"
+msgstr ""
 "Alguns exemplos de padrões (link para bug tracking, etc.) que podem\n"
-"ser usados em seu hgrc::\n"
-"\n"
+"ser usados em seu hgrc::"
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
+"  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
+msgstr ""
+"  [interhg]\n"
+"  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 
 #, python-format
@@ -2890,106 +17296,115 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr "interhg: expressão regular inválida para %s: %s\n"
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr "expande palavras chave em arquivos rastreados"
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+"Esta extensão expande palavras chave RCS/CVS ou customizáveis\n"
+"($Keywords$) em arquivos texto rastreados selecionados em sua\n"
+"configuração."
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+"Palavras chave são expandidas apenas em repositórios locais e não\n"
+"são guardadas no histórico de mudanças. O mecanismo pode ser\n"
+"considerado como uma conveniência para o usuário local ou para\n"
+"distribuição em arquivos."
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+"A configuração é feita nas seções [keyword] e [keywordmaps] de\n"
+"arquivos hgrc."
+
+msgid "Example::"
+msgstr "Exemplo::"
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
-"NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
-"For [keywordmaps] template mapping and expansion demonstration and\n"
-"control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
-"An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
-"The default template mappings (view with \"hg kwdemo -d\") can be\n"
-"replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
-"Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
-"the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
-"To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
-"Also, when committing with the record extension or using mq's qrecord,\n"
-"be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
-"the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
-"Expansions spanning more than one line and incremental expansions,\n"
-"like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
-"{desc}\" expands to the first line of the changeset description.\n"
-msgstr ""
-"expande palavras chave em arquivos rastreados\n"
-"\n"
-"Esta extensão expande palavras chave RCS/CVS ou customizáveis\n"
-"($Keywords$) em arquivos texto rastreados selecionados em sua\n"
-"configuração.\n"
-"\n"
-"Palavras chave são expandidas apenas em repositórios locais e não\n"
-"são guardadas no histórico de mudanças. O mecanismo pode ser\n"
-"considerado como uma conveniência para o usuário local ou para\n"
-"distribuição em arquivos.\n"
-"\n"
-"A configuração é feita nas seções [keyword] e [keywordmaps] de\n"
-"arquivos hgrc.\n"
-"\n"
-"Exemplo::\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
 "    [keyword]\n"
 "    # expande palavras chave em todo arquivo python exceto\n"
 "    # naqueles que casarem com \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+
+msgid ""
+"NOTE: the more specific you are in your filename patterns the less you\n"
+"lose speed in huge repositories."
+msgstr ""
 "NOTA: quanto mais específico você for em seus padrões de arquivo,\n"
-"menos velocidade será perdida em repositórios muito grandes.\n"
-"\n"
+"menos velocidade será perdida em repositórios muito grandes."
+
+msgid ""
+"For [keywordmaps] template mapping and expansion demonstration and\n"
+"control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
+"available templates and filters."
+msgstr ""
 "Para uma demonstração da expansão e do mapeamento de modelos em\n"
 "[keywordmaps] execute \"hg kwdemo\". Veja \"hg help templates\"\n"
-"para uma lista dos modelos e filtros disponíveis.\n"
-"\n"
+"para uma lista dos modelos e filtros disponíveis."
+
+msgid ""
+"An additional date template filter {date|utcdate} is provided. It\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
 "É fornecido um filtro {date|utcdate} adicional para modelos. Ele\n"
-"devolve uma data semelhante a \"2006/09/18 15:13:13\".\n"
-"\n"
+"devolve uma data semelhante a \"2006/09/18 15:13:13\"."
+
+msgid ""
+"The default template mappings (view with \"hg kwdemo -d\") can be\n"
+"replaced with customized keywords and templates. Again, run \"hg\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
 "Os mapeamentos de modelo padrões (veja com \"hg kwdemo -d\") podem\n"
 "ser substituídos com palavras chave customizáveis e modelos.\n"
 "Novamente, execute \"hg kwdemo\" para controlar os resultados de\n"
-" suas mudanças na configuração.\n"
-"\n"
+" suas mudanças na configuração."
+
+msgid ""
+"Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
+"the risk of inadvertently storing expanded keywords in the change\n"
+"history."
+msgstr ""
 "Antes de mudar ou desabilitar palavras chave ativas, execute \"hg\n"
 "kwshrink\" para evitar o risco de inadvertidamente guardar no\n"
-"histórico palavras chave expandidas.\n"
-"\n"
+"histórico palavras chave expandidas."
+
+msgid ""
+"To force expansion after enabling it, or a configuration change, run\n"
+"\"hg kwexpand\"."
+msgstr ""
 "Para forçar a expansão após habilitação, ou após uma mudança de\n"
-"configuração, execute \"hg kwexpand\".\n"
-"\n"
+"configuração, execute \"hg kwexpand\"."
+
+msgid ""
+"Also, when committing with the record extension or using mq's qrecord,\n"
+"be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
+"the files in question to update keyword expansions after all changes\n"
+"have been checked in."
+msgstr ""
 "Além disso, ao consolidar usando a extensão record ou o comando\n"
 "qrecord da extensão mq, tenha em mente que palavras chave não podem\n"
 "ser expandidas. Novamente, execute \"hg kwexpand\" nos arquivos em\n"
 "questão para atualizar expansões de palavras chave após todas as\n"
-"mudanças terem sido selecionadas.\n"
-"\n"
+"mudanças terem sido selecionadas."
+
+msgid ""
+"Expansions spanning more than one line and incremental expansions,\n"
+"like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
+"{desc}\" expands to the first line of the changeset description.\n"
+msgstr ""
 "Expansões que alcancem mais de uma linha, e expansões incrementais\n"
 "como CVS' $Log$, não são suportadas. Um modelo de expansão\n"
 "\"Log = {desc}\" expande para a primeira linha da descrição da\n"
@@ -3009,31 +17424,31 @@
 msgid "no [keyword] patterns configured"
 msgstr "nenhum padrão [keyword] configurado"
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr "imprime a configuração [keywordmaps] e um exemplo de expansão"
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+"    Mostra os mapeamentos de modelo de palavras chave atual,\n"
+"    customizado ou padrão, e suas expansões."
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
-"    See \"hg help templates\" for information on templates and filters.\n"
-"    "
-msgstr ""
-"imprime a configuração [keywordmaps] e um exemplo de expansão\n"
-"\n"
-"    Mostra os mapeamentos de modelo de palavras chave atual,\n"
-"    customizado ou padrão, e suas expansões.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
 "    Você pode ampliar a configuração atual especificando mapas como\n"
 "    argumentos e usando -f/--rcfile para ler opções de um arquivo\n"
-"    hgrc externo adicional.\n"
-"\n"
-"    Use -d/--default para desabilitar a configuração atual.\n"
-"\n"
+"    hgrc externo adicional."
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr "    Use -d/--default para desabilitar a configuração atual."
+
+msgid ""
+"    See \"hg help templates\" for information on templates and filters.\n"
+"    "
+msgstr ""
 "    Veja \"hg help templates\" para informações sobre modelos e\n"
 "    filtros.\n"
 "    "
@@ -3093,79 +17508,80 @@
 "\n"
 "\tpalavras chave expandidas\n"
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr "expande palavras chave no diretório de trabalho"
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr "    Execute após (re)habilitar expansão de palavras chave."
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
-"expande palavras chave no diretório de trabalho\n"
-"\n"
-"    Execute após (re)habilitar expansão de palavras chave.\n"
-"\n"
 "    kwexpand se recusa a rodar se forem passados arquivos com\n"
 "    mudanças locais.\n"
 "    "
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr "mostra arquivos configurados para expansão de palavras chave"
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+"    Lista quais arquivos no diretório de trabalho correspondem a\n"
+"    padrões de configuração em [keyword]."
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+"    Útil para prevenir expansão indesejada de palavras chave e para\n"
+"    acelerar a execução examinando apenas arquivos candidatos à\n"
+"    expansão."
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+"    Veja \"hg help keyword\" para saber como construir padrões tanto\n"
+"    para inclusão como para exclusão de arquivos."
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+"    Com -A/--all e -v/--verbose os códigos usados para mostrar o\n"
+"    status dos arquivos são::"
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
 "      i = ignored (not tracked)\n"
 "    "
 msgstr ""
-"mostra arquivos configurados para expansão de palavras chave\n"
-"\n"
-"    Lista quais arquivos no diretório de trabalho correspondem a\n"
-"    padrões de configuração em [keyword].\n"
-"\n"
-"    Útil para prevenir expansão indesejada de palavras chave e para\n"
-"    acelerar a execução examinando apenas arquivos candidatos à\n"
-"    expansão.\n"
-"\n"
-"    Veja \"hg help keyword\" para saber como construir padrões tanto\n"
-"    para inclusão como para exclusão de arquivos.\n"
-"\n"
-"    Com -A/--all e -v/--verbose os códigos usados para mostrar o\n"
-"    status dos arquivos são::\n"
-"\n"
 "      K = candidato à expansão de palavras chave\n"
 "      k = candidato à expansão de palavras chave (não rastreado)\n"
 "      I = ignorado\n"
 "      i = ignorado (não rastreado)\n"
 "    "
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr "reverte palavras chave expandidas no diretório de trabalho"
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+"    Execute antes de mudar ou desabilitar palavras chave ativas ou\n"
+"    se você tiver problemas com \"hg import\" ou \"hg merge\"."
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
-"reverte palavras chave expandidas no diretório de trabalho\n"
-"\n"
-"    Execute antes de mudar ou desabilitar palavras chave ativas ou\n"
-"    se você tiver problemas com \"hg import\" ou \"hg merge\".\n"
-"\n"
 "    kwshrink se recusa a rodar se forem passados arquivos contendo\n"
 "    mudanças locais.\n"
 "    "
@@ -3192,9 +17608,7 @@
 msgstr "mostra apenas arquivos desconhecidos (não rastreados)"
 
 msgid "show keyword status flags of all files (DEPRECATED)"
-msgstr ""
-"mostra indicadores de estado de palavras chave para todos os arquivos "
-"(OBSOLETA)"
+msgstr "mostra indicadores de estado de palavras chave para todos os arquivos (OBSOLETA)"
 
 msgid "only show untracked files (DEPRECATED)"
 msgstr "mostra também arquivos não rastreados (OBSOLETA)"
@@ -3205,71 +17619,76 @@
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr "hg kwshrink [OPÇÃO]... [ARQUIVO]..."
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr "gerencia uma pilha de patches"
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+"Esta extensão lhe permite trabalhar com uma pilha de patches em um\n"
+"repositório do Mercurial. Ela gerencia duas pilhas de patches - todos\n"
+"os patches conhecidos, e patches aplicados (subconjunto dos patches\n"
+"conhecidos.)."
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+"Patches conhecidos são representados como arquivos de patch no\n"
+"diretório .hg/patches . Patches aplicados são tanto arquivos de\n"
+"patch como revisões."
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr "Tarefas comuns (use \"hg help comando\" para mais detalhes)::"
+
+msgid ""
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+"  cria um novo patch                                 qnew\n"
+"  importa um patch existente                         qimport"
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+"  imprime a série de patches                         qseries\n"
+"  imprime patches aplicados                          qapplied"
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
-"  refresh contents of top applied patch     qrefresh\n"
-"\n"
+"  refresh contents of top applied patch     qrefresh"
+msgstr ""
+"  adiciona um patch conhecido à pilha de aplicados   qpush\n"
+"  remove um patch da pilha de aplicados              qpop\n"
+"  renova o conteúdo do patch aplicado do topo        qrefresh"
+
+msgid ""
 "By default, mq will automatically use git patches when required to\n"
 "avoid losing file mode changes, copy records, binary files or empty\n"
-"files creations or deletions. This behaviour can be configured with::\n"
-"\n"
+"files creations or deletions. This behaviour can be configured with::"
+msgstr ""
+"Por padrão, a mq irá automaticamente usar patches git se necessário para\n"
+"evitar perder mudanças de modo de arquivo, registros de cópia, arquivos\n"
+"binários ou criação e remoção de arquivos vazios. Este comportamento pode\n"
+"ser configurado com::"
+
+msgid ""
 "  [mq]\n"
-"  git = auto/keep/yes/no\n"
-"\n"
+"  git = auto/keep/yes/no"
+msgstr ""
+"  [mq]\n"
+"  git = auto/keep/yes/no"
+
+msgid ""
 "If set to 'keep', mq will obey the [diff] section configuration while\n"
 "preserving existing git patches upon qrefresh. If set to 'yes' or\n"
 "'no', mq will override the [diff] section and always generate git or\n"
 "regular patches, possibly losing data in the second case.\n"
 msgstr ""
-"gerencia uma pilha de patches\n"
-"\n"
-"Esta extensão lhe permite trabalhar com uma pilha de patches em um\n"
-"repositório do Mercurial. Ela gerencia duas pilhas de patches - todos\n"
-"os patches conhecidos, e patches aplicados (subconjunto dos patches\n"
-"conhecidos.).\n"
-"\n"
-"Patches conhecidos são representados como arquivos de patch no\n"
-"diretório .hg/patches . Patches aplicados são tanto arquivos de\n"
-"patch como revisões.\n"
-"\n"
-"Tarefas comuns (use \"hg help comando\" para mais detalhes)::\n"
-"\n"
-"  cria um novo patch                                 qnew\n"
-"  importa um patch existente                         qimport\n"
-"\n"
-"  imprime a série de patches                         qseries\n"
-"  imprime patches aplicados                          qapplied\n"
-"\n"
-"  adiciona um patch conhecido à pilha de aplicados   qpush\n"
-"  remove um patch da pilha de aplicados              qpop\n"
-"  renova o conteúdo do patch aplicado do topo        qrefresh\n"
-"\n"
-"Por padrão, a mq irá automaticamente usar patches git se necessário para\n"
-"evitar perder mudanças de modo de arquivo, registros de cópia, arquivos\n"
-"binários ou criação e remoção de arquivos vazios. Este comportamento pode\n"
-"ser configurado com::\n"
-"\n"
-"  [mq]\n"
-"  git = auto/keep/yes/no\n"
-"\n"
 "Se configurada como 'keep', a mq irá obedecer a seção [diff] do arquivo de\n"
 "configuração ao preservar patches git existentes em um comando qrefresh. Se\n"
 "configurada como 'yes' ou 'no', a mq irá sobrepor a seção [diff] e sempre\n"
@@ -3509,12 +17928,8 @@
 msgid "cannot refresh a revision with children"
 msgstr "não se pode renovar uma revisão com filhos"
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
-msgstr ""
-"renovação interrompida enquanto o patch foi desempilhado! (revert --all, "
-"qpush para recuperar)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
+msgstr "renovação interrompida enquanto o patch foi desempilhado! (revert --all, qpush para recuperar)\n"
 
 msgid "patch queue directory already exists"
 msgstr "o diretório de fila de patches já existe"
@@ -3607,22 +18022,21 @@
 msgid "adding %s to series file\n"
 msgstr "adicionando %s ao arquivo series\n"
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr "remove patches da fila"
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+"    Os patches não devem estar aplicados, e ao menos um patch deve\n"
+"    ser passado. Com -k/--keep, os arquivos de patch serão\n"
+"    preservados no diretório de patches."
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
-"remove patches da fila\n"
-"\n"
-"    Os patches não devem estar aplicados, e ao menos um patch deve\n"
-"    ser passado. Com -k/--keep, os arquivos de patch serão\n"
-"    preservados no diretório de patches.\n"
-"\n"
 "    Para parar de gerenciar um patch e movê-lo para o histórico\n"
 "    permanente, use o comando qfinish."
 
@@ -3638,113 +18052,118 @@
 msgid "all patches applied\n"
 msgstr "todos os patches aplicados\n"
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr "importa um patch"
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+"    O patch é inserido na série após o último patch aplicado. Se\n"
+"    não houver nenhum patch aplicado, qimport adiciona o novo patch\n"
+"    no começo da série."
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+"    O patch terá o mesmo nome que seu arquivo de origem, a não ser\n"
+"    que você lhe dê um novo nome usando -n/--name."
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+"    Você pode registrar um patch já existente no diretório de\n"
+"    patches usando a opção -e/--existing."
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr ""
+"    Com -f/--force, um patch existente de mesmo nome será\n"
+"    sobrescrito."
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
-"    To import a patch from standard input, pass - as the patch file.\n"
-"    When importing from standard input, a patch name must be specified\n"
-"    using the --name flag.\n"
-"    "
-msgstr ""
-"importa um patch\n"
-"\n"
-"    O patch é inserido na série após o último patch aplicado. Se\n"
-"    não houver nenhum patch aplicado, qimport adiciona o novo patch\n"
-"    no começo da série.\n"
-"\n"
-"    O patch terá o mesmo nome que seu arquivo de origem, a não ser\n"
-"    que você lhe dê um novo nome usando -n/--name.\n"
-"\n"
-"    Você pode registrar um patch já existente no diretório de\n"
-"    patches usando a opção -e/--existing.\n"
-"\n"
-"    Com -f/--force, um patch existente de mesmo nome será\n"
-"    sobrescrito.\n"
-"\n"
+"    changes."
+msgstr ""
 "    Uma revisão existente pode ser colocada sob o controle da mq\n"
 "    com -r/--rev (por exemplo, qimport --rev tip -n patch colocará a\n"
 "    tip sob o controle da mq). Com -g/--git, os patches importados\n"
 "    com --rev usarão o formato git diff. Veja o tópico de ajuda diff\n"
 "    para informações sobre por que isso é importante para preservar\n"
-"    informação de cópia e renomeação e mudanças de permissão.\n"
-"\n"
+"    informação de cópia e renomeação e mudanças de permissão."
+
+msgid ""
+"    To import a patch from standard input, pass - as the patch file.\n"
+"    When importing from standard input, a patch name must be specified\n"
+"    using the --name flag.\n"
+"    "
+msgstr ""
 "    Para importar um patch da entrada padrão, passe - como o arquivo\n"
 "    do patch. Ao importar da entrada padrão, um nome de patch deve\n"
 "    ser especificado usando a opção --name.\n"
 "    "
 
-msgid ""
-"init a new queue repository (DEPRECATED)\n"
-"\n"
+msgid "init a new queue repository (DEPRECATED)"
+msgstr "cria um novo repositório de fila (OBSOLETO)"
+
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
 "    an unversioned patch repository into a versioned one). You can use\n"
-"    qcommit to commit changes to this queue repository.\n"
-"\n"
-"    This command is deprecated. Without -c, it's implied by other relevant\n"
-"    commands. With -c, use hg init --mq instead."
-msgstr ""
-"cria um novo repositório de fila (OBSOLETO)\n"
-"\n"
+"    qcommit to commit changes to this queue repository."
+msgstr ""
 "    O repositório de fila é por padrão não versionado. Se for\n"
 "    especificado -c/--create-repo, qinit criará um repositório\n"
 "    separado aninhado para patches (qinit -c pode ser também\n"
 "    executado posteriormente para converter um repositório de\n"
 "    patches não versionado em um versionado). Você pode usar\n"
-"    qcommit para consolidar mudanças neste repositório de fila.\n"
-"\n"
+"    qcommit para consolidar mudanças neste repositório de fila."
+
+msgid ""
+"    This command is deprecated. Without -c, it's implied by other relevant\n"
+"    commands. With -c, use hg init --mq instead."
+msgstr ""
 "    Este comando é obsoleto. Sem -c, é subentendido em outros comandos\n"
 "    relevantes. E ao invés de qinit -c, use hg init --mq ."
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr "clona os repositórios principal e de fila ao mesmo tempo"
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
-"    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
-"    The patch directory must be a nested Mercurial repository, as\n"
-"    would be created by init --mq.\n"
-"    "
-msgstr ""
-"clona os repositórios principal e de fila ao mesmo tempo\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
 "    Se a origem for local, o destino não terá patches aplicados. Se\n"
 "    a origem for remota, este comando não pode verificar se patches\n"
 "    estão aplicados na origem, então não pode garantir que os patches\n"
 "    não estarão aplicados no destino. Se você clonar um repositório\n"
 "    remoto, certifique-se primeiro que ele não tenha patches\n"
-"    aplicados.\n"
-"\n"
+"    aplicados."
+
+msgid ""
+"    Source patch repository is looked for in <src>/.hg/patches by\n"
+"    default. Use -p <url> to change."
+msgstr ""
 "    O repositório de patches da origem é procurado por padrão em\n"
-"    <origem>/.hg/patches . Use -p <url> para mudar.\n"
-"\n"
+"    <origem>/.hg/patches . Use -p <url> para mudar."
+
+msgid ""
+"    The patch directory must be a nested Mercurial repository, as\n"
+"    would be created by init --mq.\n"
+"    "
+msgstr ""
 "    O diretório de patches deve ser um repositório aninhado do\n"
 "    Mercurial, como criado por init --mq.\n"
 "    "
@@ -3764,14 +18183,11 @@
 msgid "updating destination repository\n"
 msgstr "atualizando repositório de destino\n"
 
-msgid ""
-"commit changes in the queue repository (DEPRECATED)\n"
-"\n"
-"    This command is deprecated; use hg commit --mq instead."
-msgstr ""
-"consolida mudanças no repositório da fila de patches (OBSOLETO)\n"
-"\n"
-"    Este comando é obsoleto; use hg commit --mq em seu lugar."
+msgid "commit changes in the queue repository (DEPRECATED)"
+msgstr "consolida mudanças no repositório da fila de patches (OBSOLETO)"
+
+msgid "    This command is deprecated; use hg commit --mq instead."
+msgstr "    Este comando é obsoleto; use hg commit --mq em seu lugar."
 
 msgid "print the entire series file"
 msgstr "imprime todo o arquivo series"
@@ -3785,83 +18201,86 @@
 msgid "print the name of the previous patch"
 msgstr "imprime o nome do patch anterior"
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr "cria um novo patch"
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). The patch will be initialized with any outstanding changes\n"
 "    in the working directory. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
-"    -u/--user and -d/--date can be used to set the (given) user and\n"
-"    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
-"    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
-"    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
-"    Use the -g/--git option to keep the patch in the git extended diff\n"
-"    format. Read the diffs help topic for more information on why this\n"
-"    is important for preserving permission changes and copy/rename\n"
-"    information.\n"
-"    "
-msgstr ""
-"cria um novo patch\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
 "    qnew cria um novo patch no topo do patch aplicado no momento (se\n"
 "    houver). O patch será inicializado com quaisquer mudanças\n"
 "    pendentes do diretório de trabalho. Você pode também usar\n"
 "    -I/--include, -X/--exclude, e/ou uma lista de arquivos após o\n"
 "    nome do patch para adicionar ao novo patch apenas mudanças em\n"
 "    arquivos que casarem , mantendo as restantes como modificações\n"
-"    não consolidadas.\n"
-"\n"
+"    não consolidadas."
+
+msgid ""
+"    -u/--user and -d/--date can be used to set the (given) user and\n"
+"    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
+"    to current user and date to current date."
+msgstr ""
 "    -u/--user e -d/--date podem ser usados para definir o usuário\n"
 "     e data pedidos, respectivamente. -U/--currentuser e\n"
 "     -D/--currentdate definem o usuário para o usuário atual e a\n"
-"     data para a data atual.\n"
-"\n"
+"     data para a data atual."
+
+msgid ""
+"    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
+"    well as the commit message. If none is specified, the header is\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
 "    -e/--edit, -m/--message ou -l/--logfile definem o cabeçalho\n"
 "    do patch, bem como a mensagem de consolidação. Se não forem\n"
 "    especificados, o cabeçalho estará vazio e a mensagem de\n"
-"    consolidação será '[mq]: PATCH'.\n"
-"\n"
+"    consolidação será '[mq]: PATCH'."
+
+msgid ""
+"    Use the -g/--git option to keep the patch in the git extended diff\n"
+"    format. Read the diffs help topic for more information on why this\n"
+"    is important for preserving permission changes and copy/rename\n"
+"    information.\n"
+"    "
+msgstr ""
 "    Use a opção -g/--git para manter o patch no formato estendido git\n"
 "    diff. Leia o tópico de ajuda diffs para mais informações sobre\n"
 "    por que isso é importante para preservar mudanças de permissão\n"
 "    e informações de cópia e renomeação.\n"
 "    "
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr "atualiza o patch atual"
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+"    Se qualquer padrão de arquivos for fornecido, o patch renovado\n"
+"    conterá apenas as modificações em arquivos que casarem com esses\n"
+"    padrões; as modificações restantes permanecerão no diretório de\n"
+"    trabalho."
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+"    Se -s/--short for especificado, os arquivos incluídos no momento\n"
+"    no patch serão renovados da mesma forma que arquivos que casarem,\n"
+"    e permanecerão no patch."
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
 "    git diff format.\n"
 "    "
 msgstr ""
-"atualiza o patch atual\n"
-"\n"
-"    Se qualquer padrão de arquivos for fornecido, o patch renovado\n"
-"    conterá apenas as modificações em arquivos que casarem com esses\n"
-"    padrões; as modificações restantes permanecerão no diretório de\n"
-"    trabalho.\n"
-"\n"
-"    Se -s/--short for especificado, os arquivos incluídos no momento\n"
-"    no patch serão renovados da mesma forma que arquivos que casarem,\n"
-"    e permanecerão no patch.\n"
-"\n"
 "    hg add/remove/copy/rename funciona normalmente, mas você pode\n"
 "    querer usar patches estilo git (/g--git ou [diff] git=1) para\n"
 "    rastrear cópias e renomeações. Veja o tópico de ajuda diffs para\n"
@@ -3871,55 +18290,55 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr "opção \"-e\" incompatível com \"-m\" ou \"-l\""
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr "diff do patch atual e modificações subseqüentes"
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+"    Mostra um diff que inclui o patch atual bem como quaisquer\n"
+"    mudanças que tiverem sido feitas no diretório de trabalho desde\n"
+"    a última renovação (mostrando assim como ficaria o patch atual\n"
+"    após um qrefresh)."
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
 "    qrefresh.\n"
 "    "
 msgstr ""
-"diff do patch atual e modificações subseqüentes\n"
-"\n"
-"    Mostra um diff que inclui o patch atual bem como quaisquer\n"
-"    mudanças que tiverem sido feitas no diretório de trabalho desde\n"
-"    a última renovação (mostrando assim como ficaria o patch atual\n"
-"    após um qrefresh).\n"
-"\n"
 "    Use 'hg diff' se você quiser apenas ver as mudanças feitas desde\n"
 "    o último qrefresh, ou 'hg export qtip' se você quiser ver\n"
 "    mudanças feitas pelo patch atual sem incluir as mudanças feitas\n"
 "    desde o último qrefresh.\n"
 "    "
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr "incorpora os patches pedidos no patch atual"
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
-"    The header for each folded patch will be concatenated with the\n"
-"    current patch header, separated by a line of '* * *'."
-msgstr ""
-"incorpora os patches pedidos no patch atual\n"
-"\n"
+"    removed afterwards."
+msgstr ""
 "    Os patches não devem estar aplicados. Cada patch será\n"
 "    sucessivamente aplicado ao patch atual na ordem dada. Se todos\n"
 "    os patches forem aplicados com sucesso, o patch atual será\n"
 "    renovado com o novo patch cumulativo, e os patches incorporados\n"
 "    serão apagados. Com -k/--keep, os patches incorporados não serão\n"
-"    removidos em seguida.\n"
-"\n"
+"    removidos em seguida."
+
+msgid ""
+"    The header for each folded patch will be concatenated with the\n"
+"    current patch header, separated by a line of '* * *'."
+msgstr ""
 "    O cabeçalho de cada patch incorporado será concatenado com o\n"
 "    cabeçalho do patch atual, separado por uma linha de '* * *'."
 
@@ -3944,39 +18363,39 @@
 msgid "push or pop patches until named patch is at top of stack"
 msgstr "empilha ou desempilha patches até que o patch nomeado esteja no topo"
 
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgid "set or print guards for a patch"
+msgstr "define ou imprime guardas para um patch"
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
-"    With no arguments, print the currently active guards.\n"
-"    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
-"    To set guards on another patch::\n"
-"\n"
-"      hg qguard other.patch -- +2.6.17 -stable\n"
-"    "
-msgstr ""
-"define ou imprime guardas para um patch\n"
-"\n"
+"    has activated it."
+msgstr ""
 "    Guardas controlam se um patch pode ser empilhado. Um patch sem\n"
 "    guardas sempre será empilhado. Um patch com uma guarda positiva\n"
 "    (\"+foo\") é empilhado apenas se ela tiver sido ativada pelo\n"
 "    comando qselect. Um patch com uma guarda negativa (\"-foo\")\n"
 "    nunca será empilhado se ela tiver sido ativada pelo comando\n"
-"    qselect.\n"
-"\n"
+"    qselect."
+
+msgid ""
+"    With no arguments, print the currently active guards.\n"
+"    With arguments, set guards for the named patch.\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
 "    Sem argumentos, imprime as guardas ativas no momento. Com\n"
 "    parâmetros, define guardas para o patch pedido.\n"
-"    NOTA: A especificação de guardas negativas agora exige '--'.\n"
-"\n"
-"    Para definir guardas em um outro patch::\n"
-"\n"
+"    NOTA: A especificação de guardas negativas agora exige '--'."
+
+msgid "    To set guards on another patch::"
+msgstr "    Para definir guardas em um outro patch::"
+
+msgid ""
+"      hg qguard other.patch -- +2.6.17 -stable\n"
+"    "
+msgstr ""
 "      hg qguard outro.patch -- +2.6.17 -stable\n"
 "    "
 
@@ -3993,15 +18412,14 @@
 msgid "print the header of the topmost or specified patch"
 msgstr "imprime o cabeçalho do último patch ou do patch pedido"
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr "empilha o próximo patch na pilha"
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
 msgstr ""
-"empilha o próximo patch na pilha\n"
-"\n"
 "    Se -f/--force for pedido, todas as mudanças locais em arquivos\n"
 "    modificados pelo patch serão perdidas.\n"
 "    "
@@ -4013,16 +18431,15 @@
 msgid "merging with queue at: %s\n"
 msgstr "mesclando com fila em: %s\n"
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr "desempilha o patch atual da pilha"
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
 "    "
 msgstr ""
-"desempilha o patch atual da pilha\n"
-"\n"
 "    Por padrão, desempilha o topo da pilha de patches. Se for\n"
 "    passado um nome, desempilha sucessivamente os patches até que\n"
 "    o patch com esse nome esteja no topo da pilha.\n"
@@ -4032,14 +18449,13 @@
 msgid "using patch queue: %s\n"
 msgstr "usando fila de patches: %s\n"
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr "renomeia um patch"
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
-"renomeia um patch\n"
-"\n"
 "    Com um argumento, renomeia o patch atual para PATCH1.\n"
 "    Com dois argumentos, renomeia PATCH1 para PATCH2."
 
@@ -4055,19 +18471,14 @@
 msgid "renaming %s to %s\n"
 msgstr "renomeando %s para %s\n"
 
-msgid ""
-"restore the queue state saved by a revision (DEPRECATED)\n"
-"\n"
-"    This command is deprecated, use rebase --mq instead."
-msgstr ""
-"restaura o estado da fila salvo por uma revisão (OBSOLETO)\n"
-"\n"
-"    Este comando é obsoleto, use rebase --mq em seu lugar."
-
-msgid ""
-"save current queue state (DEPRECATED)\n"
-"\n"
-"    This command is deprecated, use rebase --mq instead."
+msgid "restore the queue state saved by a revision (DEPRECATED)"
+msgstr "restaura o estado da fila salvo por uma revisão (OBSOLETO)"
+
+msgid "    This command is deprecated, use rebase --mq instead."
+msgstr "    Este comando é obsoleto, use rebase --mq em seu lugar."
+
+#, fuzzy
+msgid "save current queue state (DEPRECATED)"
 msgstr ""
 "salva o estado atual da fila (OBSOLETO)\n"
 "    Este comando é obsoleto, use rebase --mq em seu lugar."
@@ -4084,118 +18495,125 @@
 msgid "copy %s to %s\n"
 msgstr "copia %s para %s\n"
 
-msgid ""
-"strip a changeset and all its descendants from the repository\n"
-"\n"
+msgid "strip a changeset and all its descendants from the repository"
+msgstr "remove do repositório uma revisão e todos os seus descendentes"
+
+msgid ""
 "    The strip command removes all changesets whose local revision\n"
 "    number is greater than or equal to REV, and then restores any\n"
 "    changesets that are not descendants of REV. If the working\n"
 "    directory has uncommitted changes, the operation is aborted unless\n"
-"    the --force flag is supplied.\n"
-"\n"
+"    the --force flag is supplied."
+msgstr ""
+"    O comando strip remove todas as revisões cujo número de revisão\n"
+"    local for maior ou igual ao de REV (a revisão pedida), e em seguida\n"
+"    restaura as revisões que não forem descendentes de REV. Se o\n"
+"    diretório de trabalho tiver mudanças pendentes, essa operação será\n"
+"    abortada, a não ser que seja usada a opção --force."
+
+msgid ""
 "    If a parent of the working directory is stripped, then the working\n"
 "    directory will automatically be updated to the most recent\n"
 "    available ancestor of the stripped parent after the operation\n"
-"    completes.\n"
-"\n"
+"    completes."
+msgstr ""
+"    Se o pai do diretório de trabalho for removido, após o término\n"
+"    da operação o diretório de trabalho será automaticamente\n"
+"    atualizado para o ancestral disponível mais recente do pai\n"
+"    removido."
+
+msgid ""
 "    Any stripped changesets are stored in ``.hg/strip-backup`` as a\n"
 "    bundle (see ``hg help bundle`` and ``hg help unbundle``). They can\n"
 "    be restored by running ``hg unbundle .hg/strip-backup/BUNDLE``,\n"
 "    where BUNDLE is the bundle file created by the strip. Note that\n"
 "    the local revision numbers will in general be different after the\n"
-"    restore.\n"
-"\n"
-"    Use the --nobackup option to discard the backup bundle once the\n"
-"    operation completes.\n"
-"    "
-msgstr ""
-"remove do repositório uma revisão e todos os seus descendentes\n"
-"\n"
-"    O comando strip remove todas as revisões cujo número de revisão\n"
-"    local for maior ou igual ao de REV (a revisão pedida), e em seguida\n"
-"    restaura as revisões que não forem descendentes de REV. Se o\n"
-"    diretório de trabalho tiver mudanças pendentes, essa operação será\n"
-"    abortada, a não ser que seja usada a opção --force.\n"
-"\n"
-"    Se o pai do diretório de trabalho for removido, após o término\n"
-"    da operação o diretório de trabalho será automaticamente\n"
-"    atualizado para o ancestral disponível mais recente do pai\n"
-"    removido.\n"
-"\n"
+"    restore."
+msgstr ""
 "    Qualquer revisão removida será armazenada em ``.hg/strip-backup`` em\n"
 "    um arquivo bundle (veja ``hg help bundle`` e ``hg help unbundle``).\n"
 "    Elas podem ser restauradas com o comando ``hg unbundle\n"
 "    .hg/strip-backup/BUNDLE``, onde BUNDLE é o arquivo bundle criado\n"
 "    pelo comando strip. Note que os números locais das revisões serão\n"
-"    em geral diferentes após a restauração.\n"
-"\n"
+"    em geral diferentes após a restauração."
+
+msgid ""
+"    Use the --nobackup option to discard the backup bundle once the\n"
+"    operation completes.\n"
+"    "
+msgstr ""
 "    Use a opção --no-backup para descartar o bundle de backup assim\n"
 "    que a operação terminar.\n"
 "    "
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr "define ou imprime guardas de empilhamento de patches"
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example::\n"
-"\n"
+"    match the current guard. For example::"
+msgstr ""
+"    Use o comando qguard para definir ou imprimir guardas no patch,\n"
+"    depois use qselect para dizer à mq quais guardas usar. Um patch\n"
+"    será empilhado se ele não tiver guardas ou se qualquer guarda\n"
+"    positiva casar com a guarda atual, mas não será empilhado se\n"
+"    qualquer guarda negativa casar com a guarda atual. Por exemplo::"
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+"        qguard foo.patch -stable    (guarda negativa)\n"
+"        qguard bar.patch +stable    (guarda positiva)\n"
+"        qselect stable"
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+"    Isso ativa a guarda \"stable\". mq omitirá o patch foo (porque\n"
+"    ele tem um casamento negativo) mas empilhará o patch bar (porque\n"
+"    ele tem um casamento positivo)."
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+"    Sem argumentos, imprime as guardas ativas no momento. Com um\n"
+"    argumento, define a guarda ativa."
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+"    Use -n/--none para desativar guardas (nenhum outro argumento\n"
+"    é necessário). Se nenhuma guarda estiver ativa, patches com\n"
+"    guardas positivas são omitidos e patches com guardas negativas\n"
+"    são empilhados."
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
-"    Use -s/--series to print a list of all guards in the series file\n"
-"    (no other arguments needed). Use -v for more information."
-msgstr ""
-"define ou imprime guardas de empilhamento de patches\n"
-"\n"
-"    Use o comando qguard para definir ou imprimir guardas no patch,\n"
-"    depois use qselect para dizer à mq quais guardas usar. Um patch\n"
-"    será empilhado se ele não tiver guardas ou se qualquer guarda\n"
-"    positiva casar com a guarda atual, mas não será empilhado se\n"
-"    qualquer guarda negativa casar com a guarda atual. Por exemplo::\n"
-"\n"
-"        qguard foo.patch -stable    (guarda negativa)\n"
-"        qguard bar.patch +stable    (guarda positiva)\n"
-"        qselect stable\n"
-"\n"
-"    Isso ativa a guarda \"stable\". mq omitirá o patch foo (porque\n"
-"    ele tem um casamento negativo) mas empilhará o patch bar (porque\n"
-"    ele tem um casamento positivo).\n"
-"\n"
-"    Sem argumentos, imprime as guardas ativas no momento. Com um\n"
-"    argumento, define a guarda ativa.\n"
-"\n"
-"    Use -n/--none para desativar guardas (nenhum outro argumento\n"
-"    é necessário). Se nenhuma guarda estiver ativa, patches com\n"
-"    guardas positivas são omitidos e patches com guardas negativas\n"
-"    são empilhados.\n"
-"\n"
+"    guarded patches."
+msgstr ""
 "    qselect pode mudar as guardas em patches aplicados. Ele por\n"
 "    padrão não desempilha patches guardados. Use --pop para\n"
 "    desempilhar até o último patch aplicado que não esteja guardado.\n"
 "    Use --reapply (que implica --pop) para empilhar novamente para o\n"
-"    patch atual em seguida, omitindo patches guardados.\n"
-"\n"
+"    patch atual em seguida, omitindo patches guardados."
+
+msgid ""
+"    Use -s/--series to print a list of all guards in the series file\n"
+"    (no other arguments needed). Use -v for more information."
+msgstr ""
 "    Use -s/--series para imprimir uma lista de todas as guardas no\n"
 "    arquivo series (nenhum outro argumento necessário). Use -v para\n"
 "    mais informações."
@@ -4229,34 +18647,35 @@
 msgid "reapplying unguarded patches\n"
 msgstr "reaplicando patches sem guarda\n"
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr "move patches aplicados para o histórico do repositório"
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+"    Encerra as revisões especificadas (que correspondem a patches\n"
+"    aplicados) tirando-as do controle da mq e convertendo-as em\n"
+"    histórico comum do repositório."
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+"    Aceita uma seqüência de revisões ou a opção -a/--applied. Se\n"
+"    --applied for especificado, todas as revisões mq aplicadas serão\n"
+"    removidas do controle da mq. De outro modo, as revisões pedidas\n"
+"    devem estar na base da pilha de patches aplicados."
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
 "    "
 msgstr ""
-"move patches aplicados para o histórico do repositório\n"
-"\n"
-"    Encerra as revisões especificadas (que correspondem a patches\n"
-"    aplicados) tirando-as do controle da mq e convertendo-as em\n"
-"    histórico comum do repositório.\n"
-"\n"
-"    Aceita uma seqüência de revisões ou a opção -a/--applied. Se\n"
-"    --applied for especificado, todas as revisões mq aplicadas serão\n"
-"    removidas do controle da mq. De outro modo, as revisões pedidas\n"
-"    devem estar na base da pilha de patches aplicados.\n"
-"\n"
 "    Isto pode ser especialmente útil se suas mudanças foram aplicadas\n"
 "    a um repositório upstream, ou se você pretender enviar essas\n"
 "    mudanças para upstream.\n"
@@ -4504,19 +18923,11 @@
 msgid "hg qseries [-ms]"
 msgstr "hg qseries [-ms]"
 
-msgid ""
-"force removal of changesets even if the working directory has uncommitted "
-"changes"
-msgstr ""
-"força a remoção de revisões mesmo se o diretório de trabalho tiver mudanças "
-"pendentes"
-
-msgid ""
-"bundle only changesets with local revision number greater than REV which are "
-"not descendants of REV (DEPRECATED)"
-msgstr ""
-"adiciona ao bundle apenas revisões cujo número local de revisão for maior "
-"que REV e que não forem seus descendentes (OBSOLETA)"
+msgid "force removal of changesets even if the working directory has uncommitted changes"
+msgstr "força a remoção de revisões mesmo se o diretório de trabalho tiver mudanças pendentes"
+
+msgid "bundle only changesets with local revision number greater than REV which are not descendants of REV (DEPRECATED)"
+msgstr "adiciona ao bundle apenas revisões cujo número local de revisão for maior que REV e que não forem seus descendentes (OBSOLETA)"
 
 msgid "no backups"
 msgstr "nenhuma cópia de segurança"
@@ -4539,33 +18950,660 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr "hg qfinish [-a] [REV]..."
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+#, fuzzy
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid "Required configuration items::"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid "Optional configuration items::"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -4576,31 +19614,448 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
+"handier for you."
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid "::"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
 "\n"
 "::\n"
 "\n"
 "  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
+"  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+"gancho para enviar notificações por e-mail em commit/push\n"
+"\n"
+"Assinantes podem ser gerenciados através do arquivo hgrc. O modo padrão é\n"
+"imprimir as mensagens para stdout, para testes e configuração.\n"
+"\n"
+"Para usar, configure e habilite a extensão notify no hgrc da seguinte\n"
+"forma::\n"
+"\n"
+"   [extensions]\n"
+"   notify =\n"
+"\n"
+"   [hooks]\n"
+"   # um e-mail para cada revisão que chegar\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # e-mails em lote quando muitas revisões chegarem de uma vez\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # ítens de configuração vão aqui\n"
+"\n"
+"Ãtens de configuração necessários::\n"
+"\n"
+"  config = /caminho/arquivo # arquivo contendo assinantes\n"
+"\n"
+"Ãtens de configuração opcionais::\n"
+"\n"
+"  test = True            # imprime mensagens para stdout para teste\n"
+"  strip = 3              # número de barras a remover de URLs\n"
+"  domain = example.com   # domínio a usar se autor não tiver domínio\n"
+"  style = ...            # arquivo de estilo para formatar o e-mail\n"
+"  template = ...         # modelo para formatar o e-mail\n"
+"  incoming = ...         # modelo ao rodar como gancho de entrada\n"
+"  changegroup = ...      # modelo ao rodar como gancho changegroup\n"
+"  maxdiff = 300          # no. máximo de linhas de diff incluídas\n"
+"                         # (0=nenhuma, -1=todas)\n"
+"  maxsubject = 67        # trunca linhas de assunto maiores que isso\n"
+"  diffstat = True        # adiciona um diffstat antes do diff\n"
+"  sources = serve        # notifica se a fonte de mudanças recebidas\n"
+"                         # estiver nessa lista\n"
+"                         # (serve == ssh ou http, push, pull, bundle)\n"
+"  merge = False          # envia notificação de mesclagens (padrão: True)\n"
+"  [email]\n"
+"  from = user@host.com   # endereço de e-mail de envio se não houver\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # raiz do web site hg para\n"
+"                                # visualizar consolidações\n"
+"O arquivo de configuração do notify tem o mesmo formato que um\n"
+"hgrc comum. Possui duas seções, com isso você pode exprimir as\n"
+"assinaturas do modo mais conveniente para você.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # a chave é o e-mail do assinante, o valor é uma lista separada\n"
+"  # por vírgulas de padrões glob\n"
+"  user@host = padrão,padrão\n"
+"\n"
+"  [reposubs]\n"
+"  # a chave é o padrão glob, o valor é uma lista separada por\n"
+"  # vírgulas de e-mails dos assinantes\n"
+"  padrão = user@host\n"
+"\n"
+"Padrões glob são casados com o caminho da raiz do repositório.\n"
+"\n"
+"Se você quiser, você pode colocar o arquivo de configuração do\n"
+"notify em um repositório com acesso de envio para os usuários,\n"
+"de modo que eles possam gerenciar suas próprias assinaturas.\n"
+
+#, fuzzy
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -4683,245 +20138,234 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
-msgstr ""
-"\n"
-"diffs (truncados de %d para %d linhas):\n"
-"\n"
-
-#, python-format
-msgid ""
-"\n"
-"diffs (%d lines):\n"
-"\n"
-msgstr ""
-"\n"
-"diffs (%d linhas):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
+msgstr ""
+"\n"
+"diffs (truncados de %d para %d linhas):"
+
+#, python-format
+msgid ""
+"\n"
+"diffs (%d lines):"
+msgstr ""
+"\n"
+"diffs (%d linhas):"
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr "notify: suprimindo notificação para mesclagem %d:%s\n"
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr "visualiza a saída do comando com um pager externo"
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr "Para definir o pager a ser usado, defina a variável de aplicação::"
+
+msgid ""
+"  [pager]\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+"Se nenhum pager estiver definido, as extensões de pager usa a variável\n"
+"ambiente $PAGER. Se nem pager.pager nem $PAGER estiverem definidas,\n"
+"nenhum pager será usado."
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+"Se você notar mensagens de erro \"PIPE QUEBRADO\" (ou\n"
+"\"BROKEN PIPE\"), você pode desabilitá-las definindo::"
+
+msgid ""
+"  [pager]\n"
+"  quiet = True"
+msgstr ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+"Você pode desabilitar o pager para certos comandos adicionando-os\n"
+"à lista pager.ignore::"
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+"  [pager]\n"
+"  ignore = version, help, update"
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend. Below is the default list of commands to be paged::\n"
-"\n"
+"pager.attend. Below is the default list of commands to be paged::"
+msgstr ""
+"Você também pode habilitar o pager para apenas certos comandos\n"
+"usando pager.attend. A lista padrão de comandos que usarão o pager\n"
+"é::"
+
+msgid ""
+"  [pager]\n"
+"  attend = annotate, cat, diff, export, glog, log, qdiff"
+msgstr ""
 "  [pager]\n"
-"  attend = annotate, cat, diff, export, glog, log, qdiff\n"
-"\n"
+"  attend = annotate, cat, diff, export, glog, log, qdiff"
+
+msgid ""
 "Setting pager.attend to an empty value will cause all commands to be\n"
-"paged.\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"paged."
+msgstr ""
+"Definir pager.attend para um valor vazio fará com que todos os\n"
+"comandos usem o pager."
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr "Se pager.attend estiver presente, pager.ignore será ignorado."
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
-"visualiza a saída do comando com um pager externo\n"
-"\n"
-"Para definir o pager a ser usado, defina a variável de aplicação::\n"
-"\n"
-"  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
-"Se nenhum pager estiver definido, as extensões de pager usa a variável\n"
-"ambiente $PAGER. Se nem pager.pager nem $PAGER estiverem definidas,\n"
-"nenhum pager será usado.\n"
-"\n"
-"Se você notar mensagens de erro \"PIPE QUEBRADO\" (ou\n"
-"\"BROKEN PIPE\"), você pode desabilitá-las definindo::\n"
-"\n"
-"  [pager]\n"
-"  quiet = True\n"
-"\n"
-"Você pode desabilitar o pager para certos comandos adicionando-os\n"
-"à lista pager.ignore::\n"
-"\n"
-"  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
-"Você também pode habilitar o pager para apenas certos comandos\n"
-"usando pager.attend. A lista padrão de comandos que usarão o pager\n"
-"é::\n"
-"\n"
-"  [pager]\n"
-"  attend = annotate, cat, diff, export, glog, log, qdiff\n"
-"\n"
-"Definir pager.attend para um valor vazio fará com que todos os\n"
-"comandos usem o pager.\n"
-"\n"
-"Se pager.attend estiver presente, pager.ignore será ignorado.\n"
-"\n"
 "Para ignorar comandos globais como \"hg version\" ou \"hg help\",\n"
 "você precisa especificá-los no .hgrc global.\n"
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr "interpreta sufixos para referência a revisões ancestrais"
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+"Esta extensão lhe permite usar sufixos estilo git para se referir\n"
+"aos ancestrais de uma revisão específica."
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr ""
+"Por exemplo, se você puder se referir a uma revisão com \"foo\",\n"
+"então::"
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+"  foo^N = N-ésimo pai de foo\n"
+"  foo^0 = foo\n"
+"  foo^1 = primeiro pai de foo\n"
+"  foo^2 = segundo pai de foo\n"
+"  foo^  = foo^1"
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
-"interpreta sufixos para referência a revisões ancestrais\n"
-"\n"
-"Esta extensão lhe permite usar sufixos estilo git para se referir\n"
-"aos ancestrais de uma revisão específica.\n"
-"\n"
-"Por exemplo, se você puder se referir a uma revisão com \"foo\",\n"
-"então::\n"
-"\n"
-"  foo^N = N-ésimo pai de foo\n"
-"  foo^0 = foo\n"
-"  foo^1 = primeiro pai de foo\n"
-"  foo^2 = segundo pai de foo\n"
-"  foo^  = foo^1\n"
-"\n"
 "  foo~N = N-ésimo avô de foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = primeiro pai de foo\n"
 "  foo~2 = foo^1^1 = foo^^ = primeiro pai do primeiro pai de foo\n"
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+msgid "command to send changesets as (a series of) patch emails"
+msgstr "comando para enviar revisões como uma série de e-mails de patch"
+
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+"A série é iniciada por uma introdução \"[PATCH 0 of N]\", que\n"
+"descreve a série como um todo."
+
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+"Cada e-mail de patch tem uma linha Assunto com a forma\n"
+"\"[PATCH M of N] ...\", usando a primeira linha da descrição da\n"
+"revisão como texto do assunto. A mensagem contém dois ou três\n"
+"corpos:"
+
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+"- A descrição da revisão.\n"
+"- [Opcional] O resultado da execução de diffstat no patch.\n"
+"- O patch em si, como gerado por \"hg export\"."
+
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+"Cada mensagem faz referência à primeira da série usando os cabeçalhos\n"
+"In-Reply-To e References, de modo que as mensagens aparecerão como\n"
+"uma seqüência em e-mails organizados por conversação e leitores de\n"
+"notícias, além de mail archives."
+
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+"Com a opção -d/--diffstat, para cada revisão você será consultado\n"
+"interativamente com um resumo do diffstat e o resumo da revisão,\n"
+"para que você tenha certeza de enviar as mudanças corretas."
+
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+"Para configurar outros padrões, adicione uma seção como esta em seu\n"
+"arquivo hgrc::"
+
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+"  [email]\n"
+"  from = Meu Nome <meu@email>\n"
+"  to = destinatario1, destinatario2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ..."
+
+msgid ""
 "Use ``[patchbomb]`` as configuration section name if you need to\n"
-"override global ``[email]`` address settings.\n"
-"\n"
+"override global ``[email]`` address settings."
+msgstr ""
+"Use ``[patchbomb]`` como nome da seção de configuração se for preciso\n"
+"sobrepor configurações globais da seção ``[email]``."
+
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+"Então você poderá usar o comando \"hg email\" para enviar por e-mail\n"
+"uma série de revisões como uma \"patchbomb\"."
+
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
-"The -m/--mbox option is also very useful. Instead of previewing each\n"
-"patchbomb message in a pager or sending the messages directly, it will\n"
-"create a UNIX mailbox file with the patch emails. This mailbox file\n"
-"can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
-"When you are previewing the patchbomb messages, you can use ``formail``\n"
-"(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
-"You can also either configure the method option in the email section\n"
-"to be a sendmail compatible mailer or fill out the [smtp] section so\n"
-"that the patchbomb extension can automatically send patchbombs\n"
-"directly from the commandline. See the [email] and [smtp] sections in\n"
-"hgrc(5) for details.\n"
-msgstr ""
-"comando para enviar revisões como uma série de e-mails de patch\n"
-"\n"
-"A série é iniciada por uma introdução \"[PATCH 0 of N]\", que\n"
-"descreve a série como um todo.\n"
-"\n"
-"Cada e-mail de patch tem uma linha Assunto com a forma\n"
-"\"[PATCH M of N] ...\", usando a primeira linha da descrição da\n"
-"revisão como texto do assunto. A mensagem contém dois ou três\n"
-"corpos:\n"
-"\n"
-"- A descrição da revisão.\n"
-"- [Opcional] O resultado da execução de diffstat no patch.\n"
-"- O patch em si, como gerado por \"hg export\".\n"
-"\n"
-"Cada mensagem faz referência à primeira da série usando os cabeçalhos\n"
-"In-Reply-To e References, de modo que as mensagens aparecerão como\n"
-"uma seqüência em e-mails organizados por conversação e leitores de\n"
-"notícias, além de mail archives.\n"
-"\n"
-"Com a opção -d/--diffstat, para cada revisão você será consultado\n"
-"interativamente com um resumo do diffstat e o resumo da revisão,\n"
-"para que você tenha certeza de enviar as mudanças corretas.\n"
-"\n"
-"Para configurar outros padrões, adicione uma seção como esta em seu\n"
-"arquivo hgrc::\n"
-"\n"
-"  [email]\n"
-"  from = Meu Nome <meu@email>\n"
-"  to = destinatario1, destinatario2, ...\n"
-"  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
-"Use ``[patchbomb]`` como nome da seção de configuração se for preciso\n"
-"sobrepor configurações globais da seção ``[email]``.\n"
-"\n"
-"Então você poderá usar o comando \"hg email\" para enviar por e-mail\n"
-"uma série de revisões como uma \"patchbomb\".\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
 "Para evitar o envio de patches de forma prematura, é uma boa idéia\n"
 "executar o comando \"email\" com a opção \"-n\" (somente teste).\n"
 "Será pedido um endereço de e-mail de destino, um assunto e uma\n"
@@ -4929,24 +20373,46 @@
 "Quando tudo estiver feito, as mensagens do patchbomb serão\n"
 "exibidas. Se a variável de ambiente PAGER estiver definida, seu\n"
 "visualizador será executado uma vez para cada mensagem do patchbomb,\n"
-"para que você possa verificar se tudo está certo.\n"
-"\n"
+"para que você possa verificar se tudo está certo."
+
+msgid ""
+"The -m/--mbox option is also very useful. Instead of previewing each\n"
+"patchbomb message in a pager or sending the messages directly, it will\n"
+"create a UNIX mailbox file with the patch emails. This mailbox file\n"
+"can be previewed with any mail user agent which supports UNIX mbox\n"
+"files, e.g. with mutt::"
+msgstr ""
 "A opção -m/--mbox também é bem útil. Ao invés de visualizar as\n"
 "mensagens como texto ou enviá-las diretamente, o comando irá criar\n"
 "um arquivo de mailbox UNIX com os e-mails de patch. Este arquivo de\n"
 "mailbox pode ser visualizado com qualquer cliente de e-mails que\n"
-"suporte arquivos mbox UNIX, por exemplo o mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"suporte arquivos mbox UNIX, por exemplo o mutt::"
+
+msgid "  % mutt -R -f mbox"
+msgstr "  % mutt -R -f mbox"
+
+msgid ""
+"When you are previewing the patchbomb messages, you can use ``formail``\n"
+"(a utility that is commonly installed as part of the procmail\n"
+"package), to send each message out::"
+msgstr ""
 "Ao rever cada mensagem do patchbomb, você pode usar ``formail`` (um\n"
 "utilitário comumente instalado como parte do pacote procmail) para\n"
-"enviar cada mensagem::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"Isto deve ser o bastante. Agora seu patchbomb está a caminho.\n"
-"\n"
+"enviar cada mensagem::"
+
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr "  % formail -s sendmail -bm -t < mbox"
+
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr "Isto deve ser o bastante. Agora seu patchbomb está a caminho."
+
+msgid ""
+"You can also either configure the method option in the email section\n"
+"to be a sendmail compatible mailer or fill out the [smtp] section so\n"
+"that the patchbomb extension can automatically send patchbombs\n"
+"directly from the commandline. See the [email] and [smtp] sections in\n"
+"hgrc(5) for details.\n"
+msgstr ""
 "Você também pode tanto configurar a opção method na seção email\n"
 "para um programa de envio de e-mails compatível com o sendmail\n"
 "como preencher a seção [smtp] para que a extensão patchbomb possa\n"
@@ -4967,63 +20433,27 @@
 msgid "diffstat rejected"
 msgstr "diffstat rejeitado"
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr "envia revisões por e-mail"
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+"    Por padrão, diffs são enviados no formato gerado por hg export,\n"
+"    um por mensagem. A série inicia com uma introdução\n"
+"    \"[PATCH 0 of N]\", que descreve a série como um todo."
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
-"    By default the patch is included as text in the email body for\n"
-"    easy reviewing. Using the -a/--attach option will instead create\n"
-"    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
-"    With -o/--outgoing, emails will be generated for patches not found\n"
-"    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
-"    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
-"    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
-"      hg email -r 3000          # send patch 3000 only\n"
-"      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
-"      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
-"      hg email -o               # send all patches not in default\n"
-"      hg email -o DEST          # send all patches not in DEST\n"
-"      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
-"      hg email -b               # send bundle of all patches not in default\n"
-"      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
-"    Before using this command, you will need to enable email in your\n"
-"    hgrc. See the [email] section in hgrc(5) for details.\n"
-"    "
-msgstr ""
-"envia revisões por e-mail\n"
-"\n"
-"    Por padrão, diffs são enviados no formato gerado por hg export,\n"
-"    um por mensagem. A série inicia com uma introdução\n"
-"    \"[PATCH 0 of N]\", que descreve a série como um todo.\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
 "    Cada e-mail de patch tem uma linha Assunto com a forma\n"
 "    \"[PATCH M of N] ...\", usando a primeira linha da descrição da\n"
 "    revisão como texto do assunto. A mensagem contém duas ou três\n"
@@ -5031,28 +20461,54 @@
 "    (opcionalmente), se o programa diffstat estiver instalado e a\n"
 "    opção -d/--diffstat for usada, o resultado da execução de\n"
 "    diffstat no patch. Por fim, o patch em si, como gerado por\n"
-"    \"hg export\".\n"
-"\n"
+"    \"hg export\"."
+
+msgid ""
+"    By default the patch is included as text in the email body for\n"
+"    easy reviewing. Using the -a/--attach option will instead create\n"
+"    an attachment for the patch. With -i/--inline an inline attachment\n"
+"    will be created."
+msgstr ""
 "    Por padrão o patch é incluído como texto no corpo do e-mail para\n"
 "    facilitar a revisão. A opção -a/--attach pode ser usada para ao\n"
 "    invés disso criar um anexo para o patch. Com a opção -i/--inline\n"
-"    um anexo inline será criado.\n"
-"\n"
+"    um anexo inline será criado."
+
+msgid ""
+"    With -o/--outgoing, emails will be generated for patches not found\n"
+"    in the destination repository (or only those which are ancestors\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
 "    Com -o/--outgoing, e-mails serão gerados para patches não\n"
 "    encontrados no repositório de destino (ou apenas aqueles que\n"
-"    forem ancestrais das revisões, se estas forem especificadas)\n"
-"\n"
+"    forem ancestrais das revisões, se estas forem especificadas)"
+
+msgid ""
+"    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
+"    single email containing a binary Mercurial bundle as an attachment\n"
+"    will be sent."
+msgstr ""
 "    Com -b/--bundle, as revisões são selecionados assim como em\n"
 "    --outgoing, mas um único e-mail contendo em anexo um bundle\n"
-"    binário do Mercurial será enviado.\n"
-"\n"
-"    Exemplos:\n"
-"\n"
+"    binário do Mercurial será enviado."
+
+msgid ""
+"      hg email -r 3000          # send patch 3000 only\n"
+"      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
+"      hg email -r 3000:3005     # send patches 3000 through 3005\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
 "      hg email -r 3000          # envia apenas o patch\n"
 "      hg email -r 3000 -r 3001  # envia os patches 3000 e 3001\n"
 "      hg email -r 3000:3005     # envia os patches de 3000 até 3005\n"
-"      hg email 3000             # envia o patch 3000 (obsoleto)\n"
-"\n"
+"      hg email 3000             # envia o patch 3000 (obsoleto)"
+
+msgid ""
+"      hg email -o               # send all patches not in default\n"
+"      hg email -o DEST          # send all patches not in DEST\n"
+"      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
 "      hg email -o               # envia todos os patches não presentes\n"
 "                                # no destino padrão\n"
 "      hg email -o DEST          # envia todos os patches não presentes\n"
@@ -5060,8 +20516,14 @@
 "      hg email -o -r 3000       # envia todos os ancestrais de 3000 não\n"
 "                                # presentes no destino padrão\n"
 "      hg email -o -r 3000 DEST  # envia todos os ancestrais de 3000 não\n"
-"                                # presentes em DEST\n"
-"\n"
+"                                # presentes em DEST"
+
+msgid ""
+"      hg email -b               # send bundle of all patches not in default\n"
+"      hg email -b DEST          # send bundle of all patches not in DEST\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
 "      hg email -b               # envia um bundle de todos os patches\n"
 "                                # não presentes no destino padrão\n"
 "      hg email -b DEST          # envia um bundle de todos os patches\n"
@@ -5069,8 +20531,13 @@
 "      hg email -b -r 3000       # um bundle de todos os ancestrais de\n"
 "                                # 3000 não presentes no destino padrão\n"
 "      hg email -b -r 3000 DEST  # um bundle de todos os ancestrais de\n"
-"                                # 3000 não presentes em DEST\n"
-"\n"
+"                                # 3000 não presentes em DEST"
+
+msgid ""
+"    Before using this command, you will need to enable email in your\n"
+"    hgrc. See the [email] section in hgrc(5) for details.\n"
+"    "
+msgstr ""
 "    Antes de usar este comando, você precisará habilitar e-mail em\n"
 "    seu hgrc. Veja a seção [email] em hgrc(5) para mais detalhes.\n"
 "    "
@@ -5089,20 +20556,14 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
-msgstr ""
-"\n"
-"Escreve a mensagem introdutória para a série de patches.\n"
-"\n"
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
-msgstr ""
-"Esta série de patches consiste de %d patches.\n"
-"\n"
+"Write the introductory message for the patch series."
+msgstr ""
+"\n"
+"Escreve a mensagem introdutória para a série de patches."
+
+#, python-format
+msgid "This patch series consists of %d patches."
+msgstr "Esta série de patches consiste de %d patches."
 
 msgid "Final summary:\n"
 msgstr "Sumário final:\n"
@@ -5185,16 +20646,24 @@
 msgid "hg email [OPTION]... [DEST]..."
 msgstr "hg email [OPÇÃO]... [DEST]..."
 
-msgid ""
-"show progress bars for some actions\n"
-"\n"
+msgid "show progress bars for some actions"
+msgstr "mostra barras de progresso para algumas ações"
+
+msgid ""
 "This extension uses the progress information logged by hg commands\n"
 "to draw progress bars that are as informative as possible. Some progress\n"
 "bars only offer indeterminate information, while others have a definite\n"
-"end point.\n"
-"\n"
-"The following settings are available::\n"
-"\n"
+"end point."
+msgstr ""
+"Esta extensão usa a informação de progresso fornecida por comandos do\n"
+"Mercurial para desenhar barras de progresso que sejam tão informativas\n"
+"quanto possível. Algumas barras de progresso fornecem apenas informação\n"
+"indeterminada, enquanto outras possuem um ponto de encerramento definido."
+
+msgid "The following settings are available::"
+msgstr "As seguintes opções estão disponíveis::"
+
+msgid ""
 "  [progress]\n"
 "  delay = 3 # number of seconds (float) before showing the progress bar\n"
 "  refresh = 0.1 # time in seconds between refreshes of the progress bar\n"
@@ -5204,22 +20673,8 @@
 "  clear-complete = True # clear the progress bar after it's done\n"
 "  disable = False # if true, don't show a progress bar\n"
 "  assume-tty = False # if true, ALWAYS show a progress bar, unless\n"
-"                     # disable is given\n"
-"\n"
-"Valid entries for the format field are topic, bar, number, unit, and\n"
-"item. item defaults to the last 20 characters of the item, but this\n"
-"can be changed by adding either ``-<num>`` which would take the last\n"
-"num characters, or ``+<num>`` for the first num characters.\n"
-msgstr ""
-"mostra barras de progresso para algumas ações\n"
-"\n"
-"Esta extensão usa a informação de progresso fornecida por comandos do\n"
-"Mercurial para desenhar barras de progresso que sejam tão informativas\n"
-"quanto possível. Algumas barras de progresso fornecem apenas informação\n"
-"indeterminada, enquanto outras possuem um ponto de encerramento definido.\n"
-"\n"
-"As seguintes opções estão disponíveis::\n"
-"\n"
+"                     # disable is given"
+msgstr ""
 "  [progress]\n"
 "  delay = 3 # número de segundos (float) antes que a barra seja mostrada\n"
 "  refresh = 0.1 # tempo em segundos entre atualizações da\n"
@@ -5231,8 +20686,14 @@
 "  clear-complete = True # limpa a barra de progresso após terminar\n"
 "  disable = False # se 'true', não exibe uma barra de progresso\n"
 "  assume-tty = False # se 'true', SEMPRE exibe uma barra de progressos,\n"
-"                     # a não ser que 'disable' seja 'true'\n"
-"\n"
+"                     # a não ser que 'disable' seja 'true'"
+
+msgid ""
+"Valid entries for the format field are topic, bar, number, unit, and\n"
+"item. item defaults to the last 20 characters of the item, but this\n"
+"can be changed by adding either ``-<num>`` which would take the last\n"
+"num characters, or ``+<num>`` for the first num characters.\n"
+msgstr ""
 "Entradas válidas para o campo format são topic (tópico), bar (barra),\n"
 "number (número), unit (unidade) e item (item). item por padrão são os\n"
 "últimos caracteres do item, mas isto pode ser modificado adicionando ou\n"
@@ -5242,55 +20703,56 @@
 msgid "command to delete untracked files from the working directory"
 msgstr "comando para apagar do diretório de trabalho arquivos não rastreados"
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr "remove arquivos não rastreados pelo Mercurial"
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+"    Apaga arquivos não rastreados pelo Mercurial. Isso é útil para\n"
+"    testar mudanças locais e não gravadas em uma árvore que contenha\n"
+"    apenas essas mudanças."
+
+msgid "    This means that purge will delete:"
+msgstr "    Isto quer dizer que purge irá apagar:"
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+"    - Arquivos não conhecidos: arquivos marcados com \"?\" em\n"
+"      \"hg status\"\n"
+"    - Diretórios vazios: de fato o Mercurial ignora diretórios a\n"
+"      não ser que eles contenham arquivos versionados"
+
+msgid "    But it will leave untouched:"
+msgstr "    Mas deixará como estão:"
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+"    - Arquivos versionados, modificados ou não\n"
+"    - Arquivos ignorados (a não ser que --all seja especificado)\n"
+"    - Novos arquivos adicionados ao repositório (com \"hg add\")"
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+"    Se diretórios forem passados na linha de comando, apenas arquivos\n"
+"    nesses diretórios serão considerados."
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
 "    option.\n"
 "    "
 msgstr ""
-"remove arquivos não rastreados pelo Mercurial\n"
-"\n"
-"    Apaga arquivos não rastreados pelo Mercurial. Isso é útil para\n"
-"    testar mudanças locais e não gravadas em uma árvore que contenha\n"
-"    apenas essas mudanças.\n"
-"\n"
-"    Isto quer dizer que purge irá apagar:\n"
-"\n"
-"    - Arquivos não conhecidos: arquivos marcados com \"?\" em\n"
-"      \"hg status\"\n"
-"    - Diretórios vazios: de fato o Mercurial ignora diretórios a\n"
-"      não ser que eles contenham arquivos versionados\n"
-"\n"
-"    Mas deixará como estão:\n"
-"\n"
-"    - Arquivos versionados, modificados ou não\n"
-"    - Arquivos ignorados (a não ser que --all seja especificado)\n"
-"    - Novos arquivos adicionados ao repositório (com \"hg add\")\n"
-"\n"
-"    Se diretórios forem passados na linha de comando, apenas arquivos\n"
-"    nesses diretórios serão considerados.\n"
-"\n"
 "    Tenha cuidado com o comando purge, pois você pode remover de\n"
 "    forma irreversível alguns arquivos que você esqueceu de adicionar\n"
 "    ao repositório. Se você deseja apenas imprimir a lista de\n"
@@ -5328,41 +20790,60 @@
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr "hg purge [OPÇÃO]... [DIR]..."
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr "comando para mover conjuntos de revisões para um ancestral diferente"
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+"Esta extensão lhe permite rebasear revisões em um repositório\n"
+"existente do Mercurial."
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
-"comando para mover conjuntos de revisões para um ancestral diferente\n"
-"\n"
-"Esta extensão lhe permite rebasear revisões em um repositório\n"
-"existente do Mercurial.\n"
-"\n"
 "Para mais informações:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr "move a revisão (e descendentes) para um ramo diferente"
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history (the source) onto another (the destination). This can be\n"
 "    useful for linearizing *local* changes relative to a master\n"
-"    development tree.\n"
-"\n"
+"    development tree."
+msgstr ""
+"    Rebase usa mesclagens repetidamente para migrar revisões de uma\n"
+"    parte do histórico (a origem) para outra (o destino). Isto pode\n"
+"    ser útil para linearizar mudanças *locais* relativas a uma árvore\n"
+"    mestra de desenvolvimento."
+
+msgid ""
 "    You should not rebase changesets that have already been shared\n"
 "    with others. Doing so will force everybody else to perform the\n"
 "    same rebase or they will end up with duplicated changesets after\n"
-"    pulling in your rebased changesets.\n"
-"\n"
+"    pulling in your rebased changesets."
+msgstr ""
+"    Você não deve rebasear revisões que já foram compartilhadas com\n"
+"    outros desenvolvedores. A não ser que todos realizem a mesma\n"
+"    operação rebase, eles ainda terão as revisões originais em seus\n"
+"    repositórios, que aparecerão como duplicatas das revisões rebaseadas."
+
+msgid ""
 "    If you don't specify a destination changeset (``-d/--dest``),\n"
 "    rebase uses the tipmost head of the current named branch as the\n"
 "    destination. (The destination changeset is not modified by\n"
-"    rebasing, but new changesets are added as its descendants.)\n"
-"\n"
+"    rebasing, but new changesets are added as its descendants.)"
+msgstr ""
+"    Se você não especificar uma revisão de destino (opção ``-d/--dest``),\n"
+"    rebase usará como destino a cabeça mais recente do ramo nomeado\n"
+"    atual (a revisão de destino não é modificada pelo rebaseamento, mas\n"
+"    novas revisões são acrescentadas como seus descendentes)."
+
+msgid ""
 "    You can specify which changesets to rebase in two ways: as a\n"
 "    \"source\" changeset or as a \"base\" changeset. Both are shorthand\n"
 "    for a topologically related set of changesets (the \"source\n"
@@ -5373,42 +20854,8 @@
 "    ``-b`` is less precise but more convenient than ``-s``: you can\n"
 "    specify any changeset in the source branch, and rebase will select\n"
 "    the whole branch. If you specify neither ``-s`` nor ``-b``, rebase\n"
-"    uses the parent of the working directory as the base.\n"
-"\n"
-"    By default, rebase recreates the changesets in the source branch\n"
-"    as descendants of dest and then destroys the originals. Use\n"
-"    ``--keep`` to preserve the original source changesets. Some\n"
-"    changesets in the source branch (e.g. merges from the destination\n"
-"    branch) may be dropped if they no longer contribute any change.\n"
-"\n"
-"    One result of the rules for selecting the destination changeset\n"
-"    and source branch is that, unlike ``merge``, rebase will do\n"
-"    nothing if you are at the latest (tipmost) head of a named branch\n"
-"    with two heads. You need to explicitly specify source and/or\n"
-"    destination (or ``update`` to the other head, if it's the head of\n"
-"    the intended source branch).\n"
-"\n"
-"    If a rebase is interrupted to manually resolve a merge, it can be\n"
-"    continued with --continue/-c or aborted with --abort/-a.\n"
-"    "
-msgstr ""
-"move a revisão (e descendentes) para um ramo diferente\n"
-"\n"
-"    Rebase usa mesclagens repetidamente para migrar revisões de uma\n"
-"    parte do histórico (a origem) para outra (o destino). Isto pode\n"
-"    ser útil para linearizar mudanças *locais* relativas a uma árvore\n"
-"    mestra de desenvolvimento.\n"
-"\n"
-"    Você não deve rebasear revisões que já foram compartilhadas com\n"
-"    outros desenvolvedores. A não ser que todos realizem a mesma\n"
-"    operação rebase, eles ainda terão as revisões originais em seus\n"
-"    repositórios, que aparecerão como duplicatas das revisões rebaseadas.\n"
-"\n"
-"    Se você não especificar uma revisão de destino (opção ``-d/--dest``),\n"
-"    rebase usará como destino a cabeça mais recente do ramo nomeado\n"
-"    atual (a revisão de destino não é modificada pelo rebaseamento, mas\n"
-"    novas revisões são acrescentadas como seus descendentes).\n"
-"\n"
+"    uses the parent of the working directory as the base."
+msgstr ""
 "    Você pode especificar quais revisões rebasear de duas maneiras:\n"
 "    revisão de \"origem\" ou revisão \"base\". Ambas são formas de\n"
 "    especificar um conjunto de revisões topologicamente relacionadas (o\n"
@@ -5421,22 +20868,42 @@
 "    ``-s``: você pode especificar qualquer revisão no ramo de origem,\n"
 "    e rebase irá selecionar o ramo completo. Se você não especificar\n"
 "    nem ``-s`` nem ``-b``, rebase usará o pai do diretório de trabalho\n"
-"    como revisão base.\n"
-"\n"
+"    como revisão base."
+
+msgid ""
+"    By default, rebase recreates the changesets in the source branch\n"
+"    as descendants of dest and then destroys the originals. Use\n"
+"    ``--keep`` to preserve the original source changesets. Some\n"
+"    changesets in the source branch (e.g. merges from the destination\n"
+"    branch) may be dropped if they no longer contribute any change."
+msgstr ""
 "    Por padrão, rebase recria as revisões do ramo de origem como\n"
 "    descendentes do destino, e destrói as originais. Use a opção\n"
 "    ``--keep`` para preservar as revisões originais. Algumas revisões\n"
 "    no ramo de origem (por exemplo, mesclagens com o ramo de destino)\n"
 "    podem ser descartadas se elas não contribuírem mais com nenhuma\n"
-"    mudança.\n"
-"\n"
+"    mudança."
+
+msgid ""
+"    One result of the rules for selecting the destination changeset\n"
+"    and source branch is that, unlike ``merge``, rebase will do\n"
+"    nothing if you are at the latest (tipmost) head of a named branch\n"
+"    with two heads. You need to explicitly specify source and/or\n"
+"    destination (or ``update`` to the other head, if it's the head of\n"
+"    the intended source branch)."
+msgstr ""
 "    Um resultado das regras de seleção da revisão de destino é que, ao\n"
 "    contrário de ``merge``, rebase não fará nada se você estiver na última\n"
 "    cabeça (a mais próxima da tip) de um ramo nomeado com duas ou mais\n"
 "    cabeças. Nesse caso você precisa especificar explicitamente a origem\n"
 "    e/ou o destino (ou fazer um ``update`` para outra cabeça, se for a\n"
-"    cabeça do ramo de origem desejado).\n"
-"\n"
+"    cabeça do ramo de origem desejado)."
+
+msgid ""
+"    If a rebase is interrupted to manually resolve a merge, it can be\n"
+"    continued with --continue/-c or aborted with --abort/-a.\n"
+"    "
+msgstr ""
 "    Se um rebaseamento for interrompido para resolver uma mesclagem\n"
 "    manualmente, pode ser continuado com --continue/-c ou abortado com\n"
 "    --abort/-a.\n"
@@ -5470,9 +20937,7 @@
 msgstr "não se pode usar keepbranches e extrafn simultaneamente"
 
 msgid "fix unresolved conflicts with hg resolve then run hg rebase --continue"
-msgstr ""
-"corrija conflitos não resolvidos com hg resolve e então execute hg rebase --"
-"continue"
+msgstr "corrija conflitos não resolvidos com hg resolve e então execute hg rebase --continue"
 
 #, python-format
 msgid "no changes, revision %d skipped\n"
@@ -5522,12 +20987,8 @@
 msgid "rebase from the specified changeset"
 msgstr "rebaseia a partir da revisão especificada"
 
-msgid ""
-"rebase from the base of the specified changeset (up to greatest common "
-"ancestor of base and dest)"
-msgstr ""
-"rebaseia a partir da base da revisão especificada (até o maior ancestral "
-"comum de base e dest)"
+msgid "rebase from the base of the specified changeset (up to greatest common ancestor of base and dest)"
+msgstr "rebaseia a partir da base da revisão especificada (até o maior ancestral comum de base e dest)"
 
 msgid "rebase onto the specified changeset"
 msgstr "rebaseia sobre a revisão especificada"
@@ -5615,59 +21076,60 @@
 msgid "record change %d/%d to %r?"
 msgstr "gravar mudança %d/%d em %r?"
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr "seleção interativa de alterações para consolidação"
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+"    Se for omitida uma lista de arquivos, todas as alterações\n"
+"    informadas por \"hg status\" serão candidatas para gravação."
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr ""
+"    Veja 'hg help dates' para obter uma lista de todos os formatos\n"
+"    válidos para -d/--date."
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
-"      y - record this change\n"
-"      n - skip this change\n"
-"\n"
-"      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
-"      d - done, skip remaining changes and files\n"
-"      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help\n"
-"\n"
-"    This command is not available when committing a merge."
-msgstr ""
-"seleção interativa de alterações para consolidação\n"
-"\n"
-"    Se for omitida uma lista de arquivos, todas as alterações\n"
-"    informadas por \"hg status\" serão candidatas para gravação.\n"
-"\n"
-"    Veja 'hg help dates' para obter uma lista de todos os formatos\n"
-"    válidos para -d/--date.\n"
-"\n"
+"    possible::"
+msgstr ""
 "    Você poderá selecionar interativamente a gravação de cada\n"
 "    arquivo modificado, além de cada alteração dentro dos arquivos\n"
 "    (no caso de arquivos com mais de uma alteração). Para cada\n"
-"    consulta, as seguintes respostas são possíveis::\n"
-"\n"
+"    consulta, as seguintes respostas são possíveis::"
+
+msgid ""
+"      y - record this change\n"
+"      n - skip this change"
+msgstr ""
 "      y - grava essa alteração\n"
-"      n - omite a alteração\n"
-"\n"
+"      n - omite a alteração"
+
+msgid ""
+"      s - skip remaining changes to this file\n"
+"      f - record remaining changes to this file"
+msgstr ""
 "      s - omite as alterações restantes desse arquivo\n"
-"      f - grava as alterações restantes desse arquivo\n"
-"\n"
+"      f - grava as alterações restantes desse arquivo"
+
+msgid ""
+"      d - done, skip remaining changes and files\n"
+"      a - record all changes to all remaining files\n"
+"      q - quit, recording no changes"
+msgstr ""
 "      d - omite alterações e arquivos restantes\n"
 "      a - grava todas as alterações em todos os arquivos restantes\n"
-"      q - aborta, sem gravar qualquer alteração\n"
-"\n"
-"      ? - exibe o texto de ajuda\n"
-"\n"
-"    Este comando não está disponível para a consolidação de uma mesclagem."
+"      q - aborta, sem gravar qualquer alteração"
+
+msgid "      ? - display help"
+msgstr "      ? - exibe o texto de ajuda"
+
+msgid "    This command is not available when committing a merge."
+msgstr "    Este comando não está disponível para a consolidação de uma mesclagem."
 
 msgid "'mq' extension not loaded"
 msgstr "extensão 'mq' não carregada"
@@ -5693,53 +21155,57 @@
 msgid "recreates hardlinks between repository clones"
 msgstr "recria hardlinks entre clones de repositórios"
 
-msgid ""
-"recreate hardlinks between two repositories\n"
-"\n"
+msgid "recreate hardlinks between two repositories"
+msgstr "restaura hardlinks entre dois repositórios"
+
+msgid ""
 "    When repositories are cloned locally, their data files will be\n"
-"    hardlinked so that they only use the space of a single repository.\n"
-"\n"
+"    hardlinked so that they only use the space of a single repository."
+msgstr ""
+"    Quando repositórios são clonados localmente, seus arquivos de dados\n"
+"    são duplicados usando hardlinks, de modo a usarem apenas o espaço de\n"
+"    um repositório."
+
+msgid ""
 "    Unfortunately, subsequent pulls into either repository will break\n"
 "    hardlinks for any files touched by the new changesets, even if\n"
-"    both repositories end up pulling the same changes.\n"
-"\n"
+"    both repositories end up pulling the same changes."
+msgstr ""
+"    Infelizmente, revisões subseqüentemente trazidas para qualquer dos\n"
+"    repositórios quebrarão os hardlinks de qualquer arquivo alterado\n"
+"    pelas novas revisões, mesmo que os repositórios acabem por trazer as\n"
+"    mesmas mudanças."
+
+msgid ""
 "    Similarly, passing --rev to \"hg clone\" will fail to use any\n"
 "    hardlinks, falling back to a complete copy of the source\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    Do mesmo modo, passar --rev para \"hg clone\" não usará hardlinks,\n"
+"    criando uma cópia completa do repositório."
+
+msgid ""
 "    This command lets you recreate those hardlinks and reclaim that\n"
-"    wasted space.\n"
-"\n"
+"    wasted space."
+msgstr ""
+"    Este comando permite recriar tais hardlinks para recuperar o espaço\n"
+"    desperdiçado."
+
+msgid ""
 "    This repository will be relinked to share space with ORIGIN, which\n"
 "    must be on the same local disk. If ORIGIN is omitted, looks for\n"
-"    \"default-relink\", then \"default\", in [paths].\n"
-"\n"
+"    \"default-relink\", then \"default\", in [paths]."
+msgstr ""
+"    Este repositório compartilhará o espaço com ORIGEM, que deve estar no\n"
+"    mesmo disco local. Se ORIGEM for omitida, o comando usará os apelidos\n"
+"    \"default-relink\" ou \"default\", nessa ordem."
+
+msgid ""
 "    Do not attempt any read operations on this repository while the\n"
 "    command is running. (Both repositories will be locked against\n"
 "    writes.)\n"
 "    "
 msgstr ""
-"restaura hardlinks entre dois repositórios\n"
-"\n"
-"    Quando repositórios são clonados localmente, seus arquivos de dados\n"
-"    são duplicados usando hardlinks, de modo a usarem apenas o espaço de\n"
-"    um repositório.\n"
-"\n"
-"    Infelizmente, revisões subseqüentemente trazidas para qualquer dos\n"
-"    repositórios quebrarão os hardlinks de qualquer arquivo alterado\n"
-"    pelas novas revisões, mesmo que os repositórios acabem por trazer as\n"
-"    mesmas mudanças.\n"
-"\n"
-"    Do mesmo modo, passar --rev para \"hg clone\" não usará hardlinks,\n"
-"    criando uma cópia completa do repositório.\n"
-"\n"
-"    Este comando permite recriar tais hardlinks para recuperar o espaço\n"
-"    desperdiçado.\n"
-"\n"
-"    Este repositório compartilhará o espaço com ORIGEM, que deve estar no\n"
-"    mesmo disco local. Se ORIGEM for omitida, o comando usará os apelidos\n"
-"    \"default-relink\" ou \"default\", nessa ordem.\n"
-"\n"
 "    Não tente nenhuma operação de leitura neste repositório enquanto o\n"
 "    comando estiver em execução (os dois repositórios serão travados para\n"
 "    escrita).\n"
@@ -5780,88 +21246,95 @@
 msgid "[ORIGIN]"
 msgstr "[ORIGEM]"
 
-msgid ""
-"extend schemes with shortcuts to repository swarms\n"
-"\n"
+msgid "extend schemes with shortcuts to repository swarms"
+msgstr "amplia protocolos com atalhos para conjuntos de repositórios"
+
+msgid ""
 "This extension allows you to specify shortcuts for parent URLs with a\n"
-"lot of repositories to act like a scheme, for example::\n"
-"\n"
+"lot of repositories to act like a scheme, for example::"
+msgstr ""
+"Esta extensão permite especificar atalhos para URLs pais comuns a\n"
+"diversos repositórios sob a forma de um protocolo, por exemplo::"
+
+msgid ""
+"  [schemes]\n"
+"  py = http://code.python.org/hg/"
+msgstr ""
 "  [schemes]\n"
-"  py = http://code.python.org/hg/\n"
-"\n"
-"After that you can use it like::\n"
-"\n"
-"  hg clone py://trunk/\n"
-"\n"
+"  py = http://code.python.org/hg/"
+
+msgid "After that you can use it like::"
+msgstr "Você pode usar o atalho da seguinte maneira::"
+
+msgid "  hg clone py://trunk/"
+msgstr "  hg clone py://trunk/"
+
+msgid ""
 "Additionally there is support for some more complex schemas, for\n"
-"example used by Google Code::\n"
-"\n"
+"example used by Google Code::"
+msgstr ""
+"Adicionalmente há suporte para estruturas mais complexas, por exemplo a\n"
+"usada pelo Google Code::"
+
+msgid ""
 "  [schemes]\n"
-"  gcode = http://{1}.googlecode.com/hg/\n"
-"\n"
+"  gcode = http://{1}.googlecode.com/hg/"
+msgstr ""
+"  [schemes]\n"
+"  gcode = http://{1}.googlecode.com/hg/"
+
+msgid ""
 "The syntax is taken from Mercurial templates, and you have unlimited\n"
 "number of variables, starting with ``{1}`` and continuing with\n"
 "``{2}``, ``{3}`` and so on. This variables will receive parts of URL\n"
 "supplied, split by ``/``. Anything not specified as ``{part}`` will be\n"
-"just appended to an URL.\n"
-"\n"
-"For convenience, the extension adds these schemes by default::\n"
-"\n"
+"just appended to an URL."
+msgstr ""
+"A sintaxe é semelhante à de modelos do Mercurial, e você pode ter um\n"
+"número ilimitado de variáveis, iniciando com ``{1}`` e prosseguindo com\n"
+"``{2}``, ``{3}`` e assim por diante. Estas variáveis receberão partes da\n"
+"URL fornecida, separadas por ``/``. Qualquer coisa não especificada como\n"
+"``{parte}`` será simplesmente anexada ao final da URL."
+
+msgid "For convenience, the extension adds these schemes by default::"
+msgstr "Por conveniência, a extensão adiciona por padrão estes protocolos::"
+
+msgid ""
 "  [schemes]\n"
 "  py = http://hg.python.org/\n"
 "  bb = https://bitbucket.org/\n"
 "  bb+ssh = ssh://hg@bitbucket.org/\n"
 "  gcode = https://{1}.googlecode.com/hg/\n"
-"  kiln = https://{1}.kilnhg.com/Repo/\n"
-"\n"
-"You can override a predefined scheme by defining a new scheme with the\n"
-"same name.\n"
-msgstr ""
-"amplia protocolos com atalhos para conjuntos de repositórios\n"
-"\n"
-"Esta extensão permite especificar atalhos para URLs pais comuns a\n"
-"diversos repositórios sob a forma de um protocolo, por exemplo::\n"
-"\n"
-"  [schemes]\n"
-"  py = http://code.python.org/hg/\n"
-"\n"
-"Você pode usar o atalho da seguinte maneira::\n"
-"\n"
-"  hg clone py://trunk/\n"
-"\n"
-"Adicionalmente há suporte para estruturas mais complexas, por exemplo a\n"
-"usada pelo Google Code::\n"
-"\n"
-"  [schemes]\n"
-"  gcode = http://{1}.googlecode.com/hg/\n"
-"\n"
-"A sintaxe é semelhante à de modelos do Mercurial, e você pode ter um\n"
-"número ilimitado de variáveis, iniciando com ``{1}`` e prosseguindo com\n"
-"``{2}``, ``{3}`` e assim por diante. Estas variáveis receberão partes da\n"
-"URL fornecida, separadas por ``/``. Qualquer coisa não especificada como\n"
-"``{parte}`` será simplesmente anexada ao final da URL.\n"
-"\n"
-"Por conveniência, a extensão adiciona por padrão estes protocolos::\n"
-"\n"
+"  kiln = https://{1}.kilnhg.com/Repo/"
+msgstr ""
 "  [schemes]\n"
 "  py = http://hg.python.org/\n"
 "  bb = https://bitbucket.org/\n"
 "  bb+ssh = ssh://hg@bitbucket.org/\n"
 "  gcode = https://{1}.googlecode.com/hg/\n"
-"  kiln = https://{1}.kilnhg.com/Repo/\n"
-"\n"
+"  kiln = https://{1}.kilnhg.com/Repo/"
+
+msgid ""
+"You can override a predefined scheme by defining a new scheme with the\n"
+"same name.\n"
+msgstr ""
 "Você pode sobrepor um protocolo pré-definido definindo um novo com o\n"
 "mesmo nome.\n"
 
 msgid "share a common history between several working directories"
 msgstr "compartilha histórico comum entre vários diretórios de trabalho"
 
-msgid ""
-"create a new shared repository\n"
-"\n"
+msgid "create a new shared repository"
+msgstr "cria um novo repositório compartilhado"
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+"    Inicializa um novo repositório e diretório de trabalho que\n"
+"    compartilha seu histórico com outro repositório."
+
+msgid ""
 "    NOTE: using rollback or extensions that destroy/modify history\n"
 "    (mq, rebase, etc.) can cause considerable confusion with shared\n"
 "    clones. In particular, if two shared clones are both updated to\n"
@@ -5873,11 +21346,6 @@
 "    (e.g. tip).\n"
 "    "
 msgstr ""
-"cria um novo repositório compartilhado\n"
-"\n"
-"    Inicializa um novo repositório e diretório de trabalho que\n"
-"    compartilha seu histórico com outro repositório.\n"
-"\n"
 "    NOTA: o uso de rollback ou extensões que destroem ou modificam\n"
 "    o histórico (mq, rebase, etc) pode causar confusão considerável\n"
 "    com clones compartilhados. Em particular, se dois clones\n"
@@ -5896,18 +21364,16 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr "[-U] ORIGEM [DEST]"
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr "comando para transplantar revisões de um outro ramo"
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr "Esta extensão lhe permite transplantar patches de outro ramo."
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
-"comando para transplantar revisões de um outro ramo\n"
-"\n"
-"Esta extensão lhe permite transplantar patches de outro ramo.\n"
-"\n"
 "Patches transplantados são gravados em .hg/transplant/transplants,\n"
 "como um mapeamento de um hash de revisão para seu hash no\n"
 "repositório de origem.\n"
@@ -5982,76 +21448,80 @@
 msgid "no such option\n"
 msgstr "não existe tal opção\n"
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr "transplanta revisões de outro ramo"
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+"    As revisões selecionadas serão aplicadas sobre o diretório de\n"
+"    trabalho atual com a descrição da revisão original. Se --log for\n"
+"    especificado, mensagens de log terão anexado um comentário da\n"
+"    forma::"
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr "      (transplanted from CHANGESETHASH)"
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+"    Você pode reescrever a mensagem de changelog com a opção\n"
+"    --filter . Seu argumento será chamado com a mensagem atual de\n"
+"    changelog em $1 e o patch em $2."
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
-"    hg transplant --branch REVISION --all will rebase the selected\n"
-"    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
-"    You can optionally mark selected transplanted changesets as merge\n"
-"    changesets. You will not be prompted to transplant any ancestors\n"
-"    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
-"    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
-"    If a changeset application fails, you can fix the merge by hand\n"
-"    and then resume where you left off by calling hg transplant\n"
-"    --continue/-c.\n"
-"    "
-msgstr ""
-"transplanta revisões de outro ramo\n"
-"\n"
-"    As revisões selecionadas serão aplicadas sobre o diretório de\n"
-"    trabalho atual com a descrição da revisão original. Se --log for\n"
-"    especificado, mensagens de log terão anexado um comentário da\n"
-"    forma::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
-"    Você pode reescrever a mensagem de changelog com a opção\n"
-"    --filter . Seu argumento será chamado com a mensagem atual de\n"
-"    changelog em $1 e o patch em $2.\n"
-"\n"
+"    changesets you want."
+msgstr ""
 "    Se --source/-s for especificado, seleciona revisões do\n"
 "    repositório pedido. Se --branch/-b for especificado, seleciona\n"
 "    revisões do ramo que contém a revisão especificada, até essa\n"
 "    revisão. Se --all/-a for especificado, todas as revisões do\n"
 "    ramo serão transplantadas, de outro modo as revisões a serem\n"
-"    transplantadas serão pedidas interativamente.\n"
-"\n"
+"    transplantadas serão pedidas interativamente."
+
+msgid ""
+"    hg transplant --branch REVISION --all will rebase the selected\n"
+"    branch (up to the named revision) onto your current working\n"
+"    directory."
+msgstr ""
 "    hg transplant --branch REVISÃO --all irá reposicionar o ramo\n"
 "    selecionado (até a revisão pedida) no seu diretório de trabalho\n"
-"    atual.\n"
-"\n"
+"    atual."
+
+msgid ""
+"    You can optionally mark selected transplanted changesets as merge\n"
+"    changesets. You will not be prompted to transplant any ancestors\n"
+"    of a merged transplant, and you can merge descendants of them\n"
+"    normally instead of transplanting them."
+msgstr ""
 "    Você pode opcionalmente marcar as revisões selecionadas para\n"
 "    transplante como revisões de mesclagem. Os ancestrais de um\n"
 "    transplante de mesclagem não serão pedidos interativamente, e\n"
 "    você pode mesclar descendentes dele normalmente ao invés de\n"
-"    transplantá-los.\n"
-"\n"
+"    transplantá-los."
+
+msgid ""
+"    If no merges or revisions are provided, hg transplant will start\n"
+"    an interactive changeset browser."
+msgstr ""
 "    Se mesclagens ou revisões não forem fornecidas, hg transplant\n"
-"    irá iniciar um visualizador interativo de revisões.\n"
-"\n"
+"    irá iniciar um visualizador interativo de revisões."
+
+msgid ""
+"    If a changeset application fails, you can fix the merge by hand\n"
+"    and then resume where you left off by calling hg transplant\n"
+"    --continue/-c.\n"
+"    "
+msgstr ""
 "    Se a aplicação de uma revisão falhar, você pode corrigir\n"
 "    a mesclagem manualmente e em seguida usar hg transplant\n"
 "    -c/--continue para retomar o transplante.\n"
@@ -6105,75 +21575,74 @@
 msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
 msgstr "hg transplant [-s REPOSITÓRIO] [-b RAMO [-a]] [-p REV] [-m REV] [REV]..."
 
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr "permite o uso de caminhos MBCS com codificação problemática."
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
-"- Japanese Windows users using shift_jis encoding.\n"
-"- Chinese Windows users using big5 encoding.\n"
-"- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
-"- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
-"- You should use single encoding in one repository.\n"
-"\n"
-"\n"
-"By default, win32mbcs uses encoding.encoding decided by Mercurial.\n"
-"You can specify the encoding by config option::\n"
-"\n"
-" [win32mbcs]\n"
-" encoding = sjis\n"
-"\n"
-"It is useful for the users who want to commit with UTF-8 log message.\n"
-msgstr ""
-"permite o uso de caminhos MBCS com codificação problemática.\n"
-"\n"
+"operation."
+msgstr ""
 "Algumas codificações MBCS não são boas para certas operações de\n"
 "manipulação de caminhos (por exemplo, quebrar o caminho, conversão\n"
 "de maiúsculas / minúsculas, etc.) com seus bytes codificados.\n"
 "Chamamos tais codificações (por exemplo, shift_jis e big5) de\n"
 "\"codificações problemáticas\". Esta extensão pode ser usada para\n"
 "corrigir esses problemas encapsulando algumas funções para as\n"
-"converter em strings Unicode antes das operações de caminho.\n"
-"\n"
-"Esta extensão é útil para:\n"
-"\n"
+"converter em strings Unicode antes das operações de caminho."
+
+msgid "This extension is useful for:"
+msgstr "Esta extensão é útil para:"
+
+msgid ""
+"- Japanese Windows users using shift_jis encoding.\n"
+"- Chinese Windows users using big5 encoding.\n"
+"- All users who use a repository with one of problematic encodings on\n"
+"  case-insensitive file system."
+msgstr ""
 "- usuários do Windows em japonês usando codificação shift_jis.\n"
 "- usuários do Windows em chinês usando codificação big5.\n"
 "- Qualquer usuário que usam um repositório com codificação\n"
 "  problemática em sistemas de arquivo insensíveis a\n"
-"  maiúsculas / minúsculas.\n"
-"\n"
-"Esta extensão não é necessária para:\n"
-"\n"
+"  maiúsculas / minúsculas."
+
+msgid "This extension is not needed for:"
+msgstr "Esta extensão não é necessária para:"
+
+msgid ""
+"- Any user who use only ASCII chars in path.\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
 "- Qualquer usuário que use apenas caracteres ASCII em caminhos.\n"
-"- Qualquer usuário que não use uma codificação problemática.\n"
-"\n"
-"Note que há algumas limitações no uso desta extensão:\n"
-"\n"
-"- Você deve usar uma única codificação em um repositório.\n"
+"- Qualquer usuário que não use uma codificação problemática."
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr "Note que há algumas limitações no uso desta extensão:"
+
+msgid "- You should use single encoding in one repository."
+msgstr "- Você deve usar uma única codificação em um repositório."
+
+msgid ""
+"\n"
+"By default, win32mbcs uses encoding.encoding decided by Mercurial.\n"
+"You can specify the encoding by config option::"
+msgstr ""
 "\n"
 "Por padrão, win32mbcs usa a configuração encoding.encoding do Mercurial.\n"
-"Você pode especificar a codificação através da opção de configuração::\n"
-"\n"
+"Você pode especificar a codificação através da opção de configuração::"
+
+msgid ""
 " [win32mbcs]\n"
-" encoding = sjis\n"
-"\n"
-"Isto é útil para usuários que preferem mensagens de consolidação em UTF-8.\n"
+" encoding = sjis"
+msgstr ""
+" [win32mbcs]\n"
+" encoding = sjis"
+
+msgid "It is useful for the users who want to commit with UTF-8 log message.\n"
+msgstr "Isto é útil para usuários que preferem mensagens de consolidação em UTF-8.\n"
 
 #, python-format
 msgid "[win32mbcs] filename conversion failed with %s encoding\n"
@@ -6182,59 +21651,60 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr "[win32mbcs] não se pode ativar nesta plataforma.\n"
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr "faz conversão automática de tipo de quebras de linha"
+
+msgid "To perform automatic newline conversion, use::"
+msgstr "Para fazer conversão automática de quebras de linha, use::"
+
+msgid ""
+"  [extensions]\n"
+"  win32text =\n"
+"  [encode]\n"
+"  ** = cleverencode:\n"
+"  # or ** = macencode:"
+msgstr ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+
+msgid ""
+"  [decode]\n"
+"  ** = cleverdecode:\n"
+"  # or ** = macdecode:"
+msgstr ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+"Se a conversão não estiver sendo feita, para garantir que você não\n"
+"consolide CRLF/CR acidentalmente::"
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+"  [hooks]\n"
+"  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+"Para fazer a mesma verificação em um servidor para impedir que\n"
+"CRLF/CR sejam enviados ou trazidos::"
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
 msgstr ""
-"faz conversão automática de tipo de quebras de linha\n"
-"\n"
-"Para fazer conversão automática de quebras de linha, use::\n"
-"\n"
-"  [extensions]\n"
-"  win32text =\n"
-"  [encode]\n"
-"  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
-"  [decode]\n"
-"  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"Se a conversão não estiver sendo feita, para garantir que você não\n"
-"consolide CRLF/CR acidentalmente::\n"
-"\n"
-"  [hooks]\n"
-"  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
-"Para fazer a mesma verificação em um servidor para impedir que\n"
-"CRLF/CR sejam enviados ou trazidos::\n"
-"\n"
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -6254,9 +21724,7 @@
 
 #, python-format
 msgid "Attempt to commit or push text file(s) using %s line endings\n"
-msgstr ""
-"Tentativa de consolidação ou push de arquivo(s) texto usando quebras de "
-"linha %s\n"
+msgstr "Tentativa de consolidação ou push de arquivo(s) texto usando quebras de linha %s\n"
 
 #, python-format
 msgid "in %s: %s\n"
@@ -6266,13 +21734,26 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+"\n"
+"Para prevenir esse engano no seu repositório local,\n"
+"adicione ao Mercurial.ini ou .hg/hgrc:"
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+"[hooks]\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+
+#, python-format
+msgid "and also consider adding:"
+msgstr "e considere também a adição de:"
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -6280,15 +21761,6 @@
 "[decode]\n"
 "** = %sdecode:\n"
 msgstr ""
-"\n"
-"Para prevenir esse engano no seu repositório local,\n"
-"adicione ao Mercurial.ini ou .hg/hgrc:\n"
-"\n"
-"[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"e considere também a adição de:\n"
-"\n"
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -6296,39 +21768,41 @@
 "[decode]\n"
 "** = %sdecode:\n"
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr "descobre e anuncia repositórios na rede local"
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+"Repositórios que habilitarem zeroconf serão anunciados numa rede\n"
+"sem a necessidade de configurar um servidor ou serviço. Eles podem\n"
+"ser descobertos sem o conhecimento de seus respectivos endereços IP."
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+"Para permitir que outras pessoas encontrem seu repositório execute\n"
+"\"hg serve\" em seu repositório::"
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+"  $ cd test\n"
+"  $ hg serve"
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+"Você pode encontrar repositórios com zeroconf habilitado executando\n"
+"\"hg paths\"::"
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
-"descobre e anuncia repositórios na rede local\n"
-"\n"
-"Repositórios que habilitarem zeroconf serão anunciados numa rede\n"
-"sem a necessidade de configurar um servidor ou serviço. Eles podem\n"
-"ser descobertos sem o conhecimento de seus respectivos endereços IP.\n"
-"\n"
-"Para permitir que outras pessoas encontrem seu repositório execute\n"
-"\"hg serve\" em seu repositório::\n"
-"\n"
-"  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"Você pode encontrar repositórios com zeroconf habilitado executando\n"
-"\"hg paths\"::\n"
-"\n"
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 
@@ -6448,9 +21922,7 @@
 
 #, python-format
 msgid "%s has not been committed yet, so no copy data will be stored for %s.\n"
-msgstr ""
-"%s ainda não foi consolidado, então dados de cópia não serão guardados para %"
-"s.\n"
+msgstr "%s ainda não foi consolidado, então dados de cópia não serão guardados para %s.\n"
 
 msgid "no source or destination specified"
 msgstr "nenhuma origem ou destino especificado"
@@ -6550,9 +22022,7 @@
 msgstr "não é possível seguir arquivo inexistente: \"%s\""
 
 msgid "can only follow copies/renames for explicit filenames"
-msgstr ""
-"é possível acompanhar cópias/renomeações apenas para nomes de arquivo "
-"explícitos"
+msgstr "é possível acompanhar cópias/renomeações apenas para nomes de arquivo explícitos"
 
 msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
 msgstr ""
@@ -6595,22 +22065,40 @@
 msgid "empty commit message"
 msgstr "mensagem de consolidação vazia"
 
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr "adiciona os arquivos especificados na próxima consolidação"
+
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    Agenda arquivos para serem adicionados ao controle de versão\n"
+"    e ao repositório."
+
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
-"    If no names are given, add all files to the repository.\n"
-"\n"
-"    .. container:: verbose\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+"    Os arquivos serão adicionados ao repositório na próxima\n"
+"    consolidação. Para desfazer uma adição antes disso, veja\n"
+"    hg forget."
+
+msgid "    If no names are given, add all files to the repository."
+msgstr ""
+"    Se nomes não forem dados, adiciona todos os arquivos ao\n"
+"    repositório."
+
+msgid "    .. container:: verbose"
+msgstr "    .. container:: verbose"
+
+msgid ""
 "       An example showing how new (unknown) files are added\n"
-"       automatically by ``hg add``::\n"
-"\n"
+"       automatically by ``hg add``::"
+msgstr ""
+"       Um exemplo que mostra como novos arquivos (desconhecidos) são\n"
+"       adicionados automaticamente por ``hg add``::"
+
+msgid ""
 "         $ ls\n"
 "         foo.c\n"
 "         $ hg status\n"
@@ -6621,23 +22109,6 @@
 "         A foo.c\n"
 "    "
 msgstr ""
-"adiciona os arquivos especificados na próxima consolidação\n"
-"\n"
-"    Agenda arquivos para serem adicionados ao controle de versão\n"
-"    e ao repositório.\n"
-"\n"
-"    Os arquivos serão adicionados ao repositório na próxima\n"
-"    consolidação. Para desfazer uma adição antes disso, veja\n"
-"    hg forget.\n"
-"\n"
-"    Se nomes não forem dados, adiciona todos os arquivos ao\n"
-"    repositório.\n"
-"\n"
-"    .. container:: verbose\n"
-"\n"
-"       Um exemplo que mostra como novos arquivos (desconhecidos) são\n"
-"       adicionados automaticamente por ``hg add``::\n"
-"\n"
 "         $ ls\n"
 "         foo.c\n"
 "         $ hg status\n"
@@ -6648,16 +22119,26 @@
 "         A foo.c\n"
 "    "
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr "adiciona arquivos novos e remove arquivos faltando"
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    Adiciona ao repositório todos os arquivos novos, e remove do\n"
+"    repositório todos os arquivos ausentes."
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+"    Novos arquivos são ignorados se casarem com qualquer dos padrões\n"
+"    em .hgignore. Assim como em add, estas mudanças fazem efeito na\n"
+"    próxima consolidação."
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -6666,15 +22147,6 @@
 "    can be expensive.\n"
 "    "
 msgstr ""
-"adiciona arquivos novos e remove arquivos faltando\n"
-"\n"
-"    Adiciona ao repositório todos os arquivos novos, e remove do\n"
-"    repositório todos os arquivos ausentes.\n"
-"\n"
-"    Novos arquivos são ignorados se casarem com qualquer dos padrões\n"
-"    em .hgignore. Assim como em add, estas mudanças fazem efeito na\n"
-"    próxima consolidação.\n"
-"\n"
 "    Use a opção -s/--similarity para detectar arquivos renomeados.\n"
 "    Com um parâmetro maior do que 0, compara cada arquivo removido com cada\n"
 "    arquivo adicionado e grava como renomeações aqueles semelhantes o\n"
@@ -6689,29 +22161,30 @@
 msgid "similarity must be between 0 and 100"
 msgstr "similaridade deve ser um número entre 0 e 100"
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr "mostra informação de revisão por linha para cada arquivo"
+
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr ""
+"    Lista as mudanças em arquivos, mostrando o identificador de\n"
+"    revisão responsável por cada linha"
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr ""
+"    Este comando é útil para descobrir quando uma mudança foi feita\n"
+"    e por quem."
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
 "    nor desirable.\n"
 "    "
 msgstr ""
-"mostra informação de revisão por linha para cada arquivo\n"
-"\n"
-"    Lista as mudanças em arquivos, mostrando o identificador de\n"
-"    revisão responsável por cada linha\n"
-"\n"
-"    Este comando é útil para descobrir quando uma mudança foi feita\n"
-"    e por quem.\n"
-"\n"
 "    Sem a opção -a/--text, annotate evitará processar arquivos\n"
 "    detectados como binários. Com -a, annotate irá executar de\n"
 "    qualquer maneira, embora os resultados provavelmente não serão\n"
@@ -6728,49 +22201,52 @@
 msgid "%s: binary file\n"
 msgstr "%s: arquivo binário\n"
 
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr "cria um pacote não versionado contendo uma revisão do repositório"
+
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+"    Por padrão, a revisão usada é o pai do diretório de trabalho; use\n"
+"    -r/--rev para especificar uma outra revisão."
+
+msgid ""
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are:\n"
-"\n"
+"    types are:"
+msgstr ""
+"    Para especificar o tipo de pacote a ser criado, use -t/--type.\n"
+"    Tipos válidos são:"
+
+msgid ""
 "    :``files``: a directory full of files (default)\n"
 "    :``tar``:   tar archive, uncompressed\n"
 "    :``tbz2``:  tar archive, compressed using bzip2\n"
 "    :``tgz``:   tar archive, compressed using gzip\n"
 "    :``uzip``:  zip archive, uncompressed\n"
-"    :``zip``:   zip archive, compressed using deflate\n"
-"\n"
-"    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
-"    Each member added to an archive file has a directory prefix\n"
-"    prepended. Use -p/--prefix to specify a format string for the\n"
-"    prefix. The default is the basename of the archive, with suffixes\n"
-"    removed.\n"
-"    "
-msgstr ""
-"cria um pacote não versionado contendo uma revisão do repositório\n"
-"\n"
-"    Por padrão, a revisão usada é o pai do diretório de trabalho; use\n"
-"    -r/--rev para especificar uma outra revisão.\n"
-"\n"
-"    Para especificar o tipo de pacote a ser criado, use -t/--type.\n"
-"    Tipos válidos são:\n"
-"\n"
+"    :``zip``:   zip archive, compressed using deflate"
+msgstr ""
 "    :``files``: um diretório cheio de arquivos (padrão)\n"
 "    :``tar``:   pacote tar, não comprimido\n"
 "    :``tbz2``:  pacote tar, comprimido com bzip2\n"
 "    :``tgz``:   pacote tar, comprimido com gzip\n"
 "    :``uzip``:  pacote zip, não comprimido\n"
-"    :``zip``:   pacote zip, comprimido com deflate\n"
-"\n"
+"    :``zip``:   pacote zip, comprimido com deflate"
+
+msgid ""
+"    The exact name of the destination archive or directory is given\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
 "    O nome exato do pacote de destino ou diretório é dado por uma\n"
-"    string de formatação; veja 'hg help export' para detalhes.\n"
-"\n"
+"    string de formatação; veja 'hg help export' para detalhes."
+
+msgid ""
+"    Each member added to an archive file has a directory prefix\n"
+"    prepended. Use -p/--prefix to specify a format string for the\n"
+"    prefix. The default is the basename of the archive, with suffixes\n"
+"    removed.\n"
+"    "
+msgstr ""
 "    Cada membro adicionado ao pacote tem um diretório de prefixo\n"
 "    adicionado. Use -p/--prefix para especificar uma string de\n"
 "    formatação para o prefixo. O padrão é o nome base do pacote,\n"
@@ -6786,42 +22262,36 @@
 msgid "cannot archive plain files to stdout"
 msgstr "não se pode empacotar arquivos simples na saída padrão"
 
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgid "reverse effect of earlier changeset"
+msgstr "anula o efeito de uma revisão anterior"
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+"    Consolida a anulação das mudanças como uma nova revisão. Essa nova\n"
+"    revisão é uma filha da revisão anulada."
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+"    Se você anular uma revisão diferente da tip, uma nova cabeça é\n"
+"    criada. Esta cabeça será a nova tip e você deve mesclar essa\n"
+"    revisão de anulação com outra cabeça."
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"anula o efeito de uma revisão anterior\n"
-"\n"
-"    Consolida a anulação das mudanças como uma nova revisão. Essa nova\n"
-"    revisão é uma filha da revisão anulada.\n"
-"\n"
-"    Se você anular uma revisão diferente da tip, uma nova cabeça é\n"
-"    criada. Esta cabeça será a nova tip e você deve mesclar essa\n"
-"    revisão de anulação com outra cabeça.\n"
-"\n"
+"    The result of this merge is not committed, as with a normal merge."
+msgstr ""
 "    A opção --merge lembra do pai do diretório de trabalho antes do\n"
 "    início da anulação, e mescla a nova cabeça com essa revisão\n"
 "    logo em seguida. Isso poupa o trabalho de fazer uma mesclagem\n"
 "    manual. O resultado da mesclagem não é gravado, assim como em uma\n"
-"    mesclagem normal.\n"
-"\n"
-"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
-"    -d/--date.\n"
-"    "
+"    mesclagem normal."
 
 msgid "please specify just one revision"
 msgstr "por favor especifique apenas uma revisão"
@@ -6859,9 +22329,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr "(use \"backout --merge\" se você quiser mesclar automaticamente)\n"
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr "busca revisões por subdivisão"
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -6869,20 +22340,8 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
-"    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
-"    If you supply a command, it will be used for automatic bisection.\n"
-"    Its exit status will be used to mark revisions as good or bad:\n"
-"    status 0 means good, 125 means to skip the revision, 127\n"
-"    (command not found) will abort the bisection, and any other\n"
-"    non-zero exit status means the revision is bad.\n"
-"    "
-msgstr ""
-"busca revisões por subdivisão\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
 "    Este comando ajuda a encontrar revisões que introduziram\n"
 "    problemas. Para usá-lo, marque como ruim a revisão mais antiga\n"
 "    que apresentar o problema, e como boa a mais recente que não\n"
@@ -6891,11 +22350,23 @@
 "    que a opção -U/--noupdate seja especificada). Uma vez que você\n"
 "    tenha realizado os testes, marque o diretório de trabalho como\n"
 "    ruim ou bom e bisect irá ou atualizar para outra revisão\n"
-"    candidata ou informar que encontrou a revisão ruim.\n"
-"\n"
+"    candidata ou informar que encontrou a revisão ruim."
+
+msgid ""
+"    As a shortcut, you can also use the revision argument to mark a\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
 "    Como um atalho, você pode também usar o parâmetro de revisão para\n"
-"    marcar uma revisão como boa ou ruim sem obtê-la primeiro.\n"
-"\n"
+"    marcar uma revisão como boa ou ruim sem obtê-la primeiro."
+
+msgid ""
+"    If you supply a command, it will be used for automatic bisection.\n"
+"    Its exit status will be used to mark revisions as good or bad:\n"
+"    status 0 means good, 125 means to skip the revision, 127\n"
+"    (command not found) will abort the bisection, and any other\n"
+"    non-zero exit status means the revision is bad.\n"
+"    "
+msgstr ""
 "    Se você fornecer um comando ele será usado para bissecção\n"
 "    automática. Seu código de saída será usado para marcar revisões\n"
 "    como boas ou ruins: o código de saída 0 marcará a revisão como\n"
@@ -6911,14 +22382,10 @@
 msgstr "A primeira revisão ruim é:\n"
 
 msgid "Due to skipped revisions, the first good revision could be any of:\n"
-msgstr ""
-"Devido a revisões omitidas, a primeira revisão boa pode ser qualquer uma "
-"entre:\n"
+msgstr "Devido a revisões omitidas, a primeira revisão boa pode ser qualquer uma entre:\n"
 
 msgid "Due to skipped revisions, the first bad revision could be any of:\n"
-msgstr ""
-"Devido a revisões omitidas, a primeira revisão ruim pode ser qualquer uma "
-"entre:\n"
+msgstr "Devido a revisões omitidas, a primeira revisão ruim pode ser qualquer uma entre:\n"
 
 msgid "cannot bisect (no known good revisions)"
 msgstr "não é possível fazer o bisect (nenhuma revisão boa conhecida)"
@@ -6948,41 +22415,43 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr "Testando a revisão %d:%s (%d revisões restando, ~%d testes)\n"
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr "define ou mostra o nome de ramo atual"
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
-"    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
-"    Use -C/--clean to reset the working directory branch to that of\n"
-"    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch. Use\n"
-"    'hg commit --close-branch' to mark this branch as closed.\n"
-"    "
-msgstr ""
-"define ou mostra o nome de ramo atual\n"
-"\n"
+"    branch."
+msgstr ""
 "    Sem argumentos, mostra o nome de ramo atual. Com um argumento,\n"
 "    define o nome de ramo do diretório de trabalho (o ramo não\n"
 "    existirá no repositório até a próxima consolidação). Recomenda-se\n"
-"    usar o ramo 'default' como ramo primário de desenvolvimento.\n"
-"\n"
+"    usar o ramo 'default' como ramo primário de desenvolvimento."
+
+msgid ""
+"    Unless -f/--force is specified, branch will not let you set a\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
 "    A não ser que -f/--force seja especificado, o comando branch não\n"
 "    deixará você definir um nome de ramo que já existe, mesmo que\n"
-"    tal ramo esteja inativo.\n"
-"\n"
+"    tal ramo esteja inativo."
+
+msgid ""
+"    Use -C/--clean to reset the working directory branch to that of\n"
+"    the parent of the working directory, negating a previous branch\n"
+"    change."
+msgstr ""
 "    Use -C/--clean para redefinir o ramo do diretório de trabalho\n"
 "    para o ramo do pai do diretório de trabalho, desfazendo uma\n"
-"    mudança de ramo anterior.\n"
-"\n"
+"    mudança de ramo anterior."
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch. Use\n"
+"    'hg commit --close-branch' to mark this branch as closed.\n"
+"    "
+msgstr ""
 "    Use o comando 'hg update' para alternar para um ramo existente.\n"
 "    Use 'hg commit --close-branch' para marcar este ramo como\n"
 "    fechado.\n"
@@ -6999,28 +22468,29 @@
 msgid "marked working directory as branch %s\n"
 msgstr "diretório de trabalho marcado como ramo %s\n"
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr "lista os ramos nomeados do repositório"
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
-"    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-msgstr ""
-"lista os ramos nomeados do repositório\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
 "    Lista os ramos nomeados do repositório, indicando quais são\n"
 "    inativos. Se -c/--closed for especificado, exibe também ramos\n"
-"    marcados como fechados (veja hg commit --close-branch).\n"
-"\n"
+"    marcados como fechados (veja hg commit --close-branch)."
+
+msgid ""
+"    If -a/--active is specified, only show active branches. A branch\n"
+"    is considered active if it contains repository heads."
+msgstr ""
 "    Se -a/--active for especificado, mostra apenas ramos ativos. Um\n"
-"    ramo é considerado ativo se contém cabeças de repositório.\n"
-"\n"
+"    ramo é considerado ativo se contém cabeças de repositório."
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch.\n"
+"    "
+msgstr ""
 "    Use o comando 'hg update' para trocar para um ramo existente.\n"
 "    "
 
@@ -7030,51 +22500,54 @@
 msgid " (inactive)"
 msgstr " (inativo)"
 
-msgid ""
-"create a changegroup file\n"
-"\n"
+msgid "create a changegroup file"
+msgstr "cria um arquivo de changegroup (coleção de revisões)"
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+"    Gera um arquivo de changegroup contendo revisões não\n"
+"    encontradas no outro repositório."
+
+msgid ""
 "    If you omit the destination repository, then hg assumes the\n"
 "    destination will have all the nodes you specify with --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+"    Se você omitir o repositório de destino, o Mercurial assume que o\n"
+"    destino terá todos os nós especificados por um ou mais parâmetros\n"
+"    --base. Para criar um bundle contendo todas as revisões, use\n"
+"    -a/--all (ou --base null)."
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+"    Você pode mudar o método de compressão aplicado com a opção\n"
+"    -t/--type. Os métodos de compressão disponíveis são: none\n"
+"    (nenhum), bzip2 e gzip (por padrão, bundles são comprimidos\n"
+"    usando bzip2)."
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-msgstr ""
-"cria um arquivo de changegroup (coleção de revisões)\n"
-"\n"
-"    Gera um arquivo de changegroup contendo revisões não\n"
-"    encontradas no outro repositório.\n"
-"\n"
-"    Se você omitir o repositório de destino, o Mercurial assume que o\n"
-"    destino terá todos os nós especificados por um ou mais parâmetros\n"
-"    --base. Para criar um bundle contendo todas as revisões, use\n"
-"    -a/--all (ou --base null).\n"
-"\n"
-"    Você pode mudar o método de compressão aplicado com a opção\n"
-"    -t/--type. Os métodos de compressão disponíveis são: none\n"
-"    (nenhum), bzip2 e gzip (por padrão, bundles são comprimidos\n"
-"    usando bzip2).\n"
-"\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
 "    O arquivo bundle pode então ser transferido usando métodos\n"
 "    convencionais e aplicado a outro repositório com os comandos\n"
 "    unbundle ou pull. Isto pode ser útil caso o acesso direto para\n"
 "    push e pull não estiver disponível ou se exportar um repositório\n"
-"    completo não for desejável.\n"
-"\n"
+"    completo não for desejável."
+
+msgid ""
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+msgstr ""
 "    A aplicação de um bundle preserva todo o conteúdo das revisões,\n"
 "    incluindo permissões, informação de cópia/renomeação, e histórico\n"
 "    de revisões.\n"
@@ -7086,55 +22559,73 @@
 msgid "unknown bundle type specified with --type"
 msgstr "tipo de bundle especificado por --type desconhecido"
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr "mostra o conteúdo de um arquivo na revisão atual ou pedida"
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+"    Imprime o conteúdo dos arquivos especificados na revisão pedida.\n"
+"    Se a revisão não for dada, o pai do diretório de trabalho é usado,\n"
+"    ou a tip se nenhuma revisão estiver obtida."
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions:\n"
-"\n"
+"    for the export command, with the following additions:"
+msgstr ""
+"    A saída pode ser para um arquivo, e nesse caso o nome do arquivo é\n"
+"    dado através de uma string de formatação.As regras de formatação\n"
+"    são as mesmas que as do comando export, com as seguintes adições:"
+
+msgid ""
 "    :``%s``: basename of file being printed\n"
 "    :``%d``: dirname of file being printed, or '.' if in repository root\n"
 "    :``%p``: root-relative path name of file being printed\n"
 "    "
 msgstr ""
-"mostra o conteúdo de um arquivo na revisão atual ou pedida\n"
-"\n"
-"    Imprime o conteúdo dos arquivos especificados na revisão pedida.\n"
-"    Se a revisão não for dada, o pai do diretório de trabalho é usado,\n"
-"    ou a tip se nenhuma revisão estiver obtida.\n"
-"\n"
-"    A saída pode ser para um arquivo, e nesse caso o nome do arquivo é\n"
-"    dado através de uma string de formatação.As regras de formatação\n"
-"    são as mesmas que as do comando export, com as seguintes adições:\n"
-"\n"
 "    :``%s``: nome base do arquivo impresso\n"
-"    :``%d``: diretório do arquivo impresso, ou '.' se no raiz do "
-"repositório\n"
+"    :``%d``: diretório do arquivo impresso, ou '.' se no raiz do repositório\n"
 "    :``%p``: caminho do arquivo impresso relativo à raiz\n"
 "    "
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+msgid "make a copy of an existing repository"
+msgstr "cria uma cópia de um repositório existente"
+
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr "    Cria uma cópia de um repositório existente em um novo diretório."
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr ""
+"    Se um diretório de destino não for especificado, será usado o\n"
+"    nome base da origem."
+
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+"    A localização da origem é adicionada ao arquivo .hg/hgrc do novo\n"
+"    repositório, como o padrão a ser usado para futuros comandos\n"
+"    pull."
+
+msgid "    See 'hg help urls' for valid source format details."
+msgstr "    Veja 'hg help urls' para formatos válidos da origem."
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ``ssh://`` URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ``ssh://`` URLs."
+msgstr ""
+"    É possível especificar uma URL ``ssh://`` como destino, mas o\n"
+"    .hg/hgrc e a cópia de trabalho não serão criados do lado remoto.\n"
+"    Por favor veja 'hg help URLs' para detalhes importantes sobre\n"
+"    URLs ``ssh://`` ."
+
+msgid ""
 "    A set of changesets (tags, or branch names) to pull may be specified\n"
 "    by listing each changeset (tag, or branch name) with -r/--rev.\n"
 "    If -r/--rev is used, the cloned repository will contain only a subset\n"
@@ -7142,33 +22633,74 @@
 "    defined by all -r/--rev options (including all their ancestors)\n"
 "    will be pulled into the destination repository.\n"
 "    No subsequent changesets (including subsequent tags) will be present\n"
-"    in the destination.\n"
-"\n"
+"    in the destination."
+msgstr ""
+"    Um conjunto de revisões (etiquetas, ou nomes de ramo) a serem trazidas\n"
+"    pode ser especificado listando cada revisão (etiqueta, ou nome de\n"
+"    ramo) com -r/--rev. Se -r/--rev for usado, o repositório clonado irá\n"
+"    conter apenas um subconjunto das revisões do repositório de origem.\n"
+"    Apenas o conjunto de revisões definidas por todas as opçoes -r/--rev\n"
+"    (incluindo todos os seus ancestrais) será trazido para o repositório\n"
+"    de destino. Nenhuma revisão subseqüente (incluindo etiquetas\n"
+"    subseqüentes) estará presente no repositório."
+
+msgid ""
 "    Using -r/--rev (or 'clone src#rev dest') implies --pull, even for\n"
-"    local source repositories.\n"
-"\n"
+"    local source repositories."
+msgstr ""
+"    A opção -r/--rev (ou 'clone origem#revisão destino') implica --pull,\n"
+"    mesmo em repositórios locais."
+
+msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
 "    to the repository data, not to the working directory). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
+"    avoid hardlinking."
+msgstr ""
+"    Por eficiência, hardlinks são usados para a clonagem sempre que a\n"
+"    origem e o destino estiverem no mesmo sistema de arquivos (note\n"
+"    que isso se aplica apenas aos dados do repositório, e não aos\n"
+"    arquivos da cópia de trabalho). Alguns sistemas de arquivo, como\n"
+"    o AFS, implementam hardlinks incorretamente, mas não informam\n"
+"    erros. Nesses casos, use a opção --pull para evitar o uso de\n"
+"    hardlinks."
+
+msgid ""
 "    In some cases, you can clone repositories and the working directory\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    using full hardlinks with ::"
+msgstr ""
+"    Em alguns casos, você pode clonar repositórios e o diretório de\n"
+"    trabalho usando hardlinks completos com ::"
+
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr "      $ cp -al REPO REPOCLONE"
+
+msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
 "    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
 "    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
+"    metadata under the .hg directory, such as mq."
+msgstr ""
+"    Este é o jeito mais rápido de clonar, mas não é sempre seguro. A\n"
+"    operação não é atômica (garantir que REPO não seja modificado\n"
+"    durante a operação é sua responsabilidade) e você deve ter\n"
+"    certeza que seu editor quebre hardlinks (o Emacs e muitos\n"
+"    utilitários do kernel Linux fazem isso). Além disso, esse modo de\n"
+"    criar um clone não é compatível com certas extensões que colocam\n"
+"    seus metadados sob o diretório hg, como a mq."
+
+msgid ""
 "    Mercurial will update the working directory to the first applicable\n"
-"    revision from this list:\n"
-"\n"
+"    revision from this list:"
+msgstr ""
+"    O Mercurial atualizará o diretório de trabalho para a primeira revisão\n"
+"    aplicável da seguinte lista:"
+
+msgid ""
 "    a) null if -U or the source repository has no changesets\n"
 "    b) if -u . and the source repository is local, the first parent of\n"
 "       the source repository's working directory\n"
@@ -7181,60 +22713,6 @@
 "    h) tip\n"
 "    "
 msgstr ""
-"cria uma cópia de um repositório existente\n"
-"\n"
-"    Cria uma cópia de um repositório existente em um novo diretório.\n"
-"\n"
-"    Se um diretório de destino não for especificado, será usado o\n"
-"    nome base da origem.\n"
-"\n"
-"    A localização da origem é adicionada ao arquivo .hg/hgrc do novo\n"
-"    repositório, como o padrão a ser usado para futuros comandos\n"
-"    pull.\n"
-"\n"
-"    Veja 'hg help urls' para formatos válidos da origem.\n"
-"\n"
-"    É possível especificar uma URL ``ssh://`` como destino, mas o\n"
-"    .hg/hgrc e a cópia de trabalho não serão criados do lado remoto.\n"
-"    Por favor veja 'hg help URLs' para detalhes importantes sobre\n"
-"    URLs ``ssh://`` .\n"
-"\n"
-"    Um conjunto de revisões (etiquetas, ou nomes de ramo) a serem trazidas\n"
-"    pode ser especificado listando cada revisão (etiqueta, ou nome de\n"
-"    ramo) com -r/--rev. Se -r/--rev for usado, o repositório clonado irá\n"
-"    conter apenas um subconjunto das revisões do repositório de origem.\n"
-"    Apenas o conjunto de revisões definidas por todas as opçoes -r/--rev\n"
-"    (incluindo todos os seus ancestrais) será trazido para o repositório\n"
-"    de destino. Nenhuma revisão subseqüente (incluindo etiquetas\n"
-"    subseqüentes) estará presente no repositório.\n"
-"\n"
-"    A opção -r/--rev (ou 'clone origem#revisão destino') implica --pull,\n"
-"    mesmo em repositórios locais.\n"
-"\n"
-"    Por eficiência, hardlinks são usados para a clonagem sempre que a\n"
-"    origem e o destino estiverem no mesmo sistema de arquivos (note\n"
-"    que isso se aplica apenas aos dados do repositório, e não aos\n"
-"    arquivos da cópia de trabalho). Alguns sistemas de arquivo, como\n"
-"    o AFS, implementam hardlinks incorretamente, mas não informam\n"
-"    erros. Nesses casos, use a opção --pull para evitar o uso de\n"
-"    hardlinks.\n"
-"\n"
-"    Em alguns casos, você pode clonar repositórios e o diretório de\n"
-"    trabalho usando hardlinks completos com ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    Este é o jeito mais rápido de clonar, mas não é sempre seguro. A\n"
-"    operação não é atômica (garantir que REPO não seja modificado\n"
-"    durante a operação é sua responsabilidade) e você deve ter\n"
-"    certeza que seu editor quebre hardlinks (o Emacs e muitos\n"
-"    utilitários do kernel Linux fazem isso). Além disso, esse modo de\n"
-"    criar um clone não é compatível com certas extensões que colocam\n"
-"    seus metadados sob o diretório hg, como a mq.\n"
-"\n"
-"    O Mercurial atualizará o diretório de trabalho para a primeira revisão\n"
-"    aplicável da seguinte lista:\n"
-"\n"
 "    a) null, se for passada a opção -U ou se o repositório de origem não\n"
 "       tiver revisões\n"
 "    b) o primeiro pai do diretório de trabalho do repositório de origem,\n"
@@ -7252,44 +22730,39 @@
 msgid "cannot specify both --noupdate and --updaterev"
 msgstr "não se pode especificar ao mesmo tempo ---noupdate e --updaterev"
 
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr "consolida os arquivos pedidos ou todas as mudanças por gravar"
+
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
-"    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
-"    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"consolida os arquivos pedidos ou todas as mudanças por gravar\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr ""
 "    Consolida no repositório local mudanças nos arquivos dados. Ao\n"
 "    contrário do que ocorre um sistema de controle de versão\n"
 "    centralizado, esta operação é local. Veja hg push para um modo\n"
-"    de distribuir ativamente suas mudanças.\n"
-"\n"
+"    de distribuir ativamente suas mudanças."
+
+msgid ""
+"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    will be committed."
+msgstr ""
 "    Se não for passada uma lista de arquivos, todas as mudanças\n"
-"    informadas por \"hg status\" serão gravadas.\n"
-"\n"
+"    informadas por \"hg status\" serão gravadas."
+
+msgid ""
+"    If you are committing the result of a merge, do not provide any\n"
+"    filenames or -I/-X filters."
+msgstr ""
 "    Se você estiver consolidando o resultado de uma mesclagem, não\n"
-"    forneça nenhum nome de arquivo ou filtros -I/-X .\n"
-"\n"
+"    forneça nenhum nome de arquivo ou filtros -I/-X ."
+
+msgid ""
+"    If no commit message is specified, the configured editor is\n"
+"    started to prompt you for a message."
+msgstr ""
 "    Se uma mensagem de consolidação não for especificada, o editor\n"
-"    configurado será iniciado para editar uma mensagem.\n"
-"\n"
-"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
-"    -d/--date.\n"
-"    "
+"    configurado será iniciado para editar uma mensagem."
 
 msgid "nothing changed\n"
 msgstr "nada mudou\n"
@@ -7301,31 +22774,32 @@
 msgid "committed changeset %d:%s\n"
 msgstr "consolidada a revisão %d:%s\n"
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr "marca arquivos como copiados para a próxima consolidação"
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+"    Marca dest como tendo cópias de arquivos de origem. Se dest for\n"
+"    um diretório, cópias são colocadas nesse diretório. Se dest for\n"
+"    um arquivo, só pode haver uma origem."
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+"    Por padrão, este comando copia os conteúdos de arquivos como\n"
+"    estão no diretório de trabalho. Se chamado com a opção\n"
+"    -A/--after, a operação é gravada, mas nenhuma cópia é feita."
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
-"marca arquivos como copiados para a próxima consolidação\n"
-"\n"
-"    Marca dest como tendo cópias de arquivos de origem. Se dest for\n"
-"    um diretório, cópias são colocadas nesse diretório. Se dest for\n"
-"    um arquivo, só pode haver uma origem.\n"
-"\n"
-"    Por padrão, este comando copia os conteúdos de arquivos como\n"
-"    estão no diretório de trabalho. Se chamado com a opção\n"
-"    -A/--after, a operação é gravada, mas nenhuma cópia é feita.\n"
-"\n"
 "    Este comando faz efeito na próxima consolidação. para desfazer\n"
 "    uma cópia antes disso, veja hg revert.\n"
 "    "
@@ -7364,32 +22838,33 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr ".hg/dirstate inconsistente com manifesto do pai atual"
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr "exibe opções de configuração de todos os arquivos hgrc combinados"
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr ""
+"    Sem argumentos, imprime nomes e valores de todos os itens de\n"
+"    configuração."
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+"    Com um argumento da forma 'seção.nome', imprime apenas o valor\n"
+"    desse item de configuração."
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+"    Com múltiplos argumentos, imprime nomes e valores de todos os\n"
+"    itens de configuração que casarem com os nomes de seção."
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
 msgstr ""
-"exibe opções de configuração de todos os arquivos hgrc combinados\n"
-"\n"
-"    Sem argumentos, imprime nomes e valores de todos os itens de\n"
-"    configuração.\n"
-"\n"
-"    Com um argumento da forma 'seção.nome', imprime apenas o valor\n"
-"    desse item de configuração.\n"
-"\n"
-"    Com múltiplos argumentos, imprime nomes e valores de todos os\n"
-"    itens de configuração que casarem com os nomes de seção.\n"
-"\n"
 "    Com --debug, é mostrada a origem (nome de arquivo e número da\n"
 "    linha) para cada item de configuração.\n"
 "    "
@@ -7397,15 +22872,14 @@
 msgid "only one config item permitted"
 msgstr "apenas um item de configuração permitido"
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr "muda manualmente os pais do diretório de trabalho atual"
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
 msgstr ""
-"muda manualmente os pais do diretório de trabalho atual\n"
-"\n"
 "    Isto é útil para escrever utilitários de conversão de repositórios, mas\n"
 "    deve ser usado com cuidado.\n"
 "    "
@@ -7470,27 +22944,17 @@
 msgid " patch test failed!\n"
 msgstr " patch de teste falhou!\n"
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
-msgstr ""
-" (O utilitário de patch atual pode ser incompatível com o patch, ou pode "
-"estar configurado incorretamente. Por favor verifique seu arquivo .hgrc)\n"
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
-msgstr ""
-" Falha do sistema interno de patches, por favor informe esse erro em http://"
-"mercurial.selenic.com/bts/\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr " (O utilitário de patch atual pode ser incompatível com o patch, ou pode estar configurado incorretamente. Por favor verifique seu arquivo .hgrc)\n"
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
+msgstr " Falha do sistema interno de patches, por favor informe esse erro em http://mercurial.selenic.com/bts/\n"
 
 msgid "Checking commit editor...\n"
 msgstr "Verificando editor para consolidação...\n"
 
 msgid " No commit editor set and can't find vi in PATH\n"
-msgstr ""
-" Nenhum editor para consolidação configurado, e não foi possível encontrar "
-"'vi' no PATH\n"
+msgstr " Nenhum editor para consolidação configurado, e não foi possível encontrar 'vi' no PATH\n"
 
 msgid " (specify a commit editor in your .hgrc file)\n"
 msgstr " (especifique um editor para consolidação em seu arquivo .hgrc)\n"
@@ -7526,78 +22990,86 @@
 msgid "show how files match on given patterns"
 msgstr "mostra como os arquivos casam com os padrões pedidos"
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr "exibe um diff do repositório (ou arquivos selecionados)"
+
+msgid "    Show differences between revisions for the specified files."
+msgstr "    Mostra diferenças entre revisões para os arquivos especificados."
+
+msgid "    Differences between files are shown using the unified diff format."
+msgstr ""
+"    Diferenças entre arquivos são mostradas usando o formato\n"
+"    \"unified diff\"."
+
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
+"    NOTA: diff pode gerar resultados inesperados para mesclagens, já\n"
+"    que por padrão irá comparar com o primeiro pai do diretório de\n"
+"    trabalho se uma revisão não for especificada."
+
+msgid ""
 "    Alternatively you can specify -c/--change with a revision to see\n"
-"    the changes in that changeset relative to its first parent.\n"
-"\n"
+"    the changes in that changeset relative to its first parent."
+msgstr ""
+"    Alternativamente você pode especificar -c/--change com uma revisão\n"
+"    para ver as mudanças nessa revisão relativas a seu primeiro pai."
+
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+"    Sem a opção -a/--text, diff evitará gerar diffs de arquivos que\n"
+"    detectar como binários. Com -a, diff irá gerar um diff de\n"
+"    qualquer maneira, provavelmente com resultados não desejados."
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
 msgstr ""
-"exibe um diff do repositório (ou arquivos selecionados)\n"
-"\n"
-"    Mostra diferenças entre revisões para os arquivos especificados.\n"
-"\n"
-"    Diferenças entre arquivos são mostradas usando o formato\n"
-"    \"unified diff\".\n"
-"\n"
-"    NOTA: diff pode gerar resultados inesperados para mesclagens, já\n"
-"    que por padrão irá comparar com o primeiro pai do diretório de\n"
-"    trabalho se uma revisão não for especificada.\n"
-"\n"
-"    Quando dois argumentos de revisão forem dados, as mudanças entre\n"
-"    essas revisões são mostradas. Se apenas uma revisão for\n"
-"    especificada, tal revisão será comparada com o diretório de\n"
-"    trabalho, e se não for especificada uma revisão, os arquivos do\n"
-"    diretório de trabalho serão comparados com seu pai.\n"
-"\n"
-"    Alternativamente você pode especificar -c/--change com uma revisão\n"
-"    para ver as mudanças nessa revisão relativas a seu primeiro pai.\n"
-"\n"
-"    Sem a opção -a/--text, diff evitará gerar diffs de arquivos que\n"
-"    detectar como binários. Com -a, diff irá gerar um diff de\n"
-"    qualquer maneira, provavelmente com resultados não desejados.\n"
-"\n"
 "    Use a opção -g/--git para gerar diffs no formato estendido\n"
 "    \"git diff\". Leia 'hg help diffs' para mais informações.\n"
 "    "
 
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr "exibe o cabeçalho e diffs para uma ou mais revisões"
+
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr ""
+"    Imprime o cabeçalho de revisão e diffs para uma ou mais\n"
+"    revisões."
+
+msgid ""
 "    The information shown in the changeset header is: author, date,\n"
 "    branch name (if non-default), changeset hash, parent(s) and commit\n"
-"    comment.\n"
-"\n"
+"    comment."
+msgstr ""
+"    A informação exibida no cabeçalho de revisão é: autor, data,\n"
+"    nome do ramo (se diferente do default), hash da revisão, pai(s)\n"
+"    e comentário de consolidação."
+
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+"    NOTA: export pode gerar saída de diff inesperada para revisões\n"
+"    de mesclagem, já que irá comparar a revisão de mesclagem apenas\n"
+"    com seu primeiro pai."
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:\n"
-"\n"
+"    given using a format string. The formatting rules are as follows:"
+msgstr ""
+"    A saída pode ser gerada em um arquivo, e nesse caso o nome do\n"
+"    arquivo é dado usando uma string de formato. As regras de\n"
+"    formatação são como segue:"
+
+msgid ""
 "    :``%%``: literal \"%\" character\n"
 "    :``%H``: changeset hash (40 bytes of hexadecimal)\n"
 "    :``%N``: number of patches being generated\n"
@@ -7605,36 +23077,8 @@
 "    :``%b``: basename of the exporting repository\n"
 "    :``%h``: short-form changeset hash (12 bytes of hexadecimal)\n"
 "    :``%n``: zero-padded sequence number, starting at 1\n"
-"    :``%r``: zero-padded changeset revision number\n"
-"\n"
-"    Without the -a/--text option, export will avoid generating diffs\n"
-"    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
-"    With the --switch-parent option, the diff will be against the\n"
-"    second parent. It can be useful to review a merge.\n"
-"    "
-msgstr ""
-"exibe o cabeçalho e diffs para uma ou mais revisões\n"
-"\n"
-"    Imprime o cabeçalho de revisão e diffs para uma ou mais\n"
-"    revisões.\n"
-"\n"
-"    A informação exibida no cabeçalho de revisão é: autor, data,\n"
-"    nome do ramo (se diferente do default), hash da revisão, pai(s)\n"
-"    e comentário de consolidação.\n"
-"\n"
-"    NOTA: export pode gerar saída de diff inesperada para revisões\n"
-"    de mesclagem, já que irá comparar a revisão de mesclagem apenas\n"
-"    com seu primeiro pai.\n"
-"\n"
-"    A saída pode ser gerada em um arquivo, e nesse caso o nome do\n"
-"    arquivo é dado usando uma string de formato. As regras de\n"
-"    formatação são como segue:\n"
-"\n"
+"    :``%r``: zero-padded changeset revision number"
+msgstr ""
 "    :``%%``: caractere \"%\" literal\n"
 "    :``%H``: hash da revisão (40 bytes hexadecimais)\n"
 "    :``%N``: número de patches gerados\n"
@@ -7642,15 +23086,29 @@
 "    :``%b``: nome base do repositório onde o export é realizado\n"
 "    :``%h``: hash de forma curta da revisão (12 bytes hexadecimais)\n"
 "    :``%n``: número seqüencial completado com zeros, começando em 1\n"
-"    :``%r``: número de ordem da revisão completado com zeros\n"
-"\n"
+"    :``%r``: número de ordem da revisão completado com zeros"
+
+msgid ""
+"    Without the -a/--text option, export will avoid generating diffs\n"
+"    of files it detects as binary. With -a, export will generate a\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
 "    Sem a opção -a/--text, export evitará gerar diffs de arquivos\n"
 "    detectados como binários. Com -a, export gerará um diff de\n"
-"    qualquer maneira, provavelmente com resultados não desejados.\n"
-"\n"
+"    qualquer maneira, provavelmente com resultados não desejados."
+
+msgid ""
+"    Use the -g/--git option to generate diffs in the git extended diff\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
 "    Use a opção -g/--git para gerar diffs no formato estendido\n"
-"    \"git diff\". Veja 'hg help diffs' para mais informações.\n"
-"\n"
+"    \"git diff\". Veja 'hg help diffs' para mais informações."
+
+msgid ""
+"    With the --switch-parent option, the diff will be against the\n"
+"    second parent. It can be useful to review a merge.\n"
+"    "
+msgstr ""
 "    Com a opção --switch-parent, o diff será feito em relação ao\n"
 "    segundo pai. Isso pode ser útil para avaliar uma mesclagem.\n"
 "    "
@@ -7664,27 +23122,28 @@
 msgid "exporting patch:\n"
 msgstr "exportando patch:\n"
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr "esquece os arquivos especificados na próxima consolidação"
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+"    Marca os arquivos especificados de modo que não serão mais\n"
+"    rastreados após a próxima consolidação."
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+"    Isto remove arquivos apenas do ramo atual,e não de todo o\n"
+"    histórico do projeto, nem os apaga do diretório de trabalho."
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
-"esquece os arquivos especificados na próxima consolidação\n"
-"\n"
-"    Marca os arquivos especificados de modo que não serão mais\n"
-"    rastreados após a próxima consolidação.\n"
-"\n"
-"    Isto remove arquivos apenas do ramo atual,e não de todo o\n"
-"    histórico do projeto, nem os apaga do diretório de trabalho.\n"
-"\n"
 "    Para desfazer um forget antes da próxima consolidação, veja\n"
 "    hg add.\n"
 "    "
@@ -7696,16 +23155,24 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr "%s não removido: arquivo já não é rastreado\n"
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr "procura por um padrão nos arquivos e revisões especificados"
+
+msgid "    Search revisions of files for a regular expression."
+msgstr "    Procura em revisões e arquivos por uma expressão regular."
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+"    Este comando se comporta de modo diferente do grep do Unix. Ele\n"
+"    aceita apenas expressões regulares Python/Perl. Ele procura no\n"
+"    histórico do repositório, não no diretório de trabalho. Ele\n"
+"    sempre imprime o número da revisão onde um casamento aparece."
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -7713,15 +23180,6 @@
 "    use the --all flag.\n"
 "    "
 msgstr ""
-"procura por um padrão nos arquivos e revisões especificados\n"
-"\n"
-"    Procura em revisões e arquivos por uma expressão regular.\n"
-"\n"
-"    Este comando se comporta de modo diferente do grep do Unix. Ele\n"
-"    aceita apenas expressões regulares Python/Perl. Ele procura no\n"
-"    histórico do repositório, não no diretório de trabalho. Ele\n"
-"    sempre imprime o número da revisão onde um casamento aparece.\n"
-"\n"
 "    Por padrão, grep imprime uma saída apenas para a primeira revisão\n"
 "    de um arquivo no qual ele encontra um casamento. Para fazê-lo\n"
 "    imprimir todas as revisões que contenham uma mudança no casamento\n"
@@ -7734,50 +23192,51 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr "grep: padrão de busca inválido: %s\n"
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository branch heads.\n"
-"\n"
+msgid "show current repository heads or show branch heads"
+msgstr "mostra as cabeças atuais do repositório ou cabeças de ramo"
+
+msgid "    With no arguments, show all repository branch heads."
+msgstr "    Sem argumentos, mostra todas as cabeças de ramo do repositório."
+
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
 "    for update and merge operations. Branch heads are changesets that have\n"
-"    no child changeset on the same branch.\n"
-"\n"
-"    If one or more REVs are given, only branch heads on the branches\n"
-"    associated with the specified changesets are shown.\n"
-"\n"
-"    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
-"    If STARTREV is specified, only those heads that are descendants of\n"
-"    STARTREV will be displayed.\n"
-"\n"
-"    If -t/--topo is specified, named branch mechanics will be ignored and "
-"only\n"
-"    changesets without children will be shown.\n"
-"    "
-msgstr ""
-"mostra as cabeças atuais do repositório ou cabeças de ramo\n"
-"\n"
-"    Sem argumentos, mostra todas as cabeças de ramo do repositório.\n"
-"\n"
+"    no child changeset on the same branch."
+msgstr ""
 "    \"Cabeças\" do repositório são revisões que não têm revisões\n"
 "    filhas. Elas são onde o desenvolvimento geralmente\n"
 "    acontece e são os alvos costumeiros para operações update e\n"
 "    merge. Cabeças de ramo são revisões que não possuem revisões filhas\n"
-"    no mesmo ramo.\n"
-"\n"
+"    no mesmo ramo."
+
+msgid ""
+"    If one or more REVs are given, only branch heads on the branches\n"
+"    associated with the specified changesets are shown."
+msgstr ""
 "    Se um ou mais argumentos REV forem dados, as \"cabeças de ramo\"\n"
 "    serão mostradas para os ramos nomeados associados às revisões\n"
-"    especificadas.\n"
-"\n"
+"    especificadas."
+
+msgid ""
+"    If -c/--closed is specified, also show branch heads marked closed\n"
+"    (see hg commit --close-branch)."
+msgstr ""
 "    Se -c/--closed for especificado, mostra também cabeças de ramos\n"
-"    marcados como fechados (veja hg commit --close-branch).\n"
-"\n"
+"    marcados como fechados (veja hg commit --close-branch)."
+
+msgid ""
+"    If STARTREV is specified, only those heads that are descendants of\n"
+"    STARTREV will be displayed."
+msgstr ""
 "    Se REVINICIAL for especificada, serão mostradas apenas cabeças\n"
-"    (ou cabeças de ramo) descendentes de REVINICIAL.\n"
-"\n"
+"    (ou cabeças de ramo) descendentes de REVINICIAL."
+
+msgid ""
+"    If -t/--topo is specified, named branch mechanics will be ignored and only\n"
+"    changesets without children will be shown.\n"
+"    "
+msgstr ""
 "    Se -t/--topo for especificado, ramos nomeados serão ignorados e apenas\n"
 "    revisões sem filhas serão mostradas.\n"
 "    "
@@ -7790,19 +23249,18 @@
 msgid " (started at %s)"
 msgstr " (iniciado em %s)"
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr "exibe o texto de ajuda geral ou de um tópico pedido"
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr ""
+"    Sem argumentos, imprime uma lista de comandos com textos curtos\n"
+"    de ajuda."
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
-"exibe o texto de ajuda geral ou de um tópico pedido\n"
-"\n"
-"    Sem argumentos, imprime uma lista de comandos com textos curtos\n"
-"    de ajuda.\n"
-"\n"
 "    Dado um tópico, extensão, ou nome de comando, imprime o texto de\n"
 "    ajuda para esse tópico."
 
@@ -7823,12 +23281,8 @@
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "use \"hg -v help %s\" para mostrar opções globais"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"lista de comandos:\n"
-"\n"
+msgid "list of commands:"
+msgstr "lista de comandos:"
 
 #, python-format
 msgid ""
@@ -7842,14 +23296,12 @@
 msgstr "(texto de ajuda não disponível)"
 
 #, python-format
-msgid ""
-"alias for: hg %s\n"
-"\n"
-"%s"
-msgstr ""
-"apelido para: hg %s\n"
-"\n"
-"%s"
+msgid "alias for: hg %s"
+msgstr "apelido para: hg %s"
+
+#, python-format
+msgid "%s"
+msgstr "%s"
 
 #, python-format
 msgid ""
@@ -7869,12 +23321,8 @@
 msgstr "texto de ajuda não disponível"
 
 #, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
-msgstr ""
-"extensão %s - %s\n"
-"\n"
+msgid "%s extension - %s"
+msgstr "extensão %s - %s"
 
 msgid "use \"hg help extensions\" for information on enabling extensions\n"
 msgstr "use \"hg help extensions\" para informações sobre como habilitar extensões\n"
@@ -7886,12 +23334,8 @@
 msgid "Mercurial Distributed SCM\n"
 msgstr "Sistema de controle de versão distribuído Mercurial\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"comandos básicos:\n"
-"\n"
+msgid "basic commands:"
+msgstr "comandos básicos:"
 
 msgid "enabled extensions:"
 msgstr "extensões habilitadas:"
@@ -7901,36 +23345,34 @@
 
 msgid ""
 "\n"
-"additional help topics:\n"
-"\n"
-msgstr ""
-"\n"
-"tópicos adicionais de ajuda:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+"additional help topics:"
+msgstr ""
+"\n"
+"tópicos adicionais de ajuda:"
+
+msgid "identify the working copy or specified revision"
+msgstr "identifica a cópia de trabalho ou revisão especificada"
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    Sem a revisão, imprime um sumário do estado atual do repositório."
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+"    Especificar um caminho para a raiz de um repositório ou para um\n"
+"    arquivo bundle do Mercurial faz com que a busca opere em tal\n"
+"    repositório ou bundle."
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
 "    this revision and a branch name for non-default branches.\n"
 "    "
 msgstr ""
-"identifica a cópia de trabalho ou revisão especificada\n"
-"\n"
-"    Sem a revisão, imprime um sumário do estado atual do repositório.\n"
-"\n"
-"    Especificar um caminho para a raiz de um repositório ou para um\n"
-"    arquivo bundle do Mercurial faz com que a busca opere em tal\n"
-"    repositório ou bundle.\n"
-"\n"
 "    Este sumário identifica o estado do repositório usando um ou dois\n"
 "    identificadores de hash dos pais, seguidos por um \"+\" se houver\n"
 "    mudanças não gravadas no diretório de trabalho, uma lista de\n"
@@ -7938,71 +23380,76 @@
 "    diferentes do default.\n"
 "    "
 
-msgid ""
-"import an ordered set of patches\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr "importa um conjunto ordenado de patches"
+
+msgid ""
 "    Import a list of patches and commit them individually (unless\n"
-"    --no-commit is specified).\n"
-"\n"
+"    --no-commit is specified)."
+msgstr ""
+"    Importa uma lista de patches e consolida cada um individualmente\n"
+"    (se --no-commit não for especificado)."
+
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+"    Se houver mudanças não gravadas no diretório de trabalho, import\n"
+"    irá abortar, a não ser que a opção -f/--force seja passada."
+
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
-"    If the imported patch was generated by hg export, user and\n"
-"    description from patch override values from message headers and\n"
-"    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
-"    If --exact is specified, import will set the working directory to\n"
-"    the parent of each patch before applying it, and will abort if the\n"
-"    resulting changeset has a different ID than the one recorded in\n"
-"    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
-"    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
-"    To read a patch from standard input, use \"-\" as the patch name. If\n"
-"    a URL is specified, the patch will be downloaded from it.\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"importa um conjunto ordenado de patches\n"
-"\n"
-"    Importa uma lista de patches e consolida cada um individualmente\n"
-"    (se --no-commit não for especificado).\n"
-"\n"
-"    Se houver mudanças não gravadas no diretório de trabalho, import\n"
-"    irá abortar, a não ser que a opção -f/--force seja passada.\n"
-"\n"
+"    message."
+msgstr ""
 "    Você pode importar um patch direto de uma mensagem de e-mail. São\n"
 "    aceitos até mesmo patches anexados (para poder usar o o corpo da\n"
 "    mensagem, ele deve ser do tipo text/plain ou text/x-patch). Os\n"
 "    cabeçalhos From e Subject da mensagem são usados como autor e\n"
 "    mensagem de consolidação, respectivamente. Todas as partes\n"
 "    text/plain antes do primeiro diff são adicionadas à mensagem de\n"
-"    consolidação.\n"
-"\n"
+"    consolidação."
+
+msgid ""
+"    If the imported patch was generated by hg export, user and\n"
+"    description from patch override values from message headers and\n"
+"    body. Values given on command line with -m/--message and -u/--user\n"
+"    override these."
+msgstr ""
 "    Se o patch importado foi gerado por hg export, o usuário e\n"
 "    descrição do patch são usados ao invés dos cabeçalhos e corpo da\n"
 "    mensagem. Valores passados na linha de comando com -m/--message e\n"
-"    -u/--user são usados no lugar destes.\n"
-"\n"
+"    -u/--user são usados no lugar destes."
+
+msgid ""
+"    If --exact is specified, import will set the working directory to\n"
+"    the parent of each patch before applying it, and will abort if the\n"
+"    resulting changeset has a different ID than the one recorded in\n"
+"    the patch. This may happen due to character set problems or other\n"
+"    deficiencies in the text patch format."
+msgstr ""
 "    Se --exact for especificado, import irá posicionar o diretório de\n"
 "    trabalho no pai de cada patch antes de aplicá-lo, e irá abortar\n"
 "    se a revisão resultante tiver um ID diferente do gravado no\n"
 "    patch. Isso pode acontecer por problemas de conjunto de\n"
-"    caracteres ou outras deficiências no formato de texto de patch.\n"
-"\n"
+"    caracteres ou outras deficiências no formato de texto de patch."
+
+msgid ""
+"    With -s/--similarity, hg will attempt to discover renames and\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
 "    Com -s/--similarity, hg irá tentar determinar renomeações e\n"
-"    cópias no patch do mesmo modo que o comando 'addremove'.\n"
-"\n"
+"    cópias no patch do mesmo modo que o comando 'addremove'."
+
+msgid ""
+"    To read a patch from standard input, use \"-\" as the patch name. If\n"
+"    a URL is specified, the patch will be downloaded from it.\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
 "    Para ler um patch da entrada padrão, use \"-\" como nome do\n"
 "    patch. Se uma URL for especificada, o patch será obtido a partir\n"
 "    dela. Veja 'hg help dates' para uma lista de formatos válidos\n"
@@ -8028,117 +23475,287 @@
 msgid "no diffs found"
 msgstr "nenhum diff encontrado"
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr "mostra novas revisões encontradas na origem"
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
-"    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
-"    See pull for valid source format details.\n"
-"    "
-msgstr ""
-"mostra novas revisões encontradas na origem\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
 "    Mostra novas revisões encontradas no caminho/URL especificado\n"
 "    ou na localização de pull padrão. Estas são as revisões que\n"
-"    seriam trazidas se um pull fosse executado.\n"
-"\n"
+"    seriam trazidas se um pull fosse executado."
+
+msgid ""
+"    For remote repository, using --bundle avoids downloading the\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
 "    Para repositórios remotos, a opção --bundle evita baixar as\n"
 "    revisões duas vezes se o comando incoming for seguido por um\n"
-"    pull.\n"
-"\n"
+"    pull."
+
+msgid ""
+"    See pull for valid source format details.\n"
+"    "
+msgstr ""
 "    Veja pull para detalhes sobre formatos válidos da origem.\n"
 "    "
 
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr "cria um novo repositório no diretório pedido"
+
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+"    Inicializa um novo repositório no diretório dado. Se o diretório\n"
+"    não existir, ele será criado."
+
+msgid "    If no directory is given, the current directory is used."
+msgstr "    Se o diretório não for dado, o diretório atual será usado."
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"cria um novo repositório no diretório pedido\n"
-"\n"
-"    Inicializa um novo repositório no diretório dado. Se o diretório\n"
-"    não existir, ele será criado.\n"
-"\n"
-"    Se o diretório não for dado, o diretório atual será usado.\n"
-"\n"
 "    É possível especificar uma URL ``ssh://`` como destino.\n"
 "    Veja 'hg help urls' para mais informações.\n"
 "    "
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr "localiza arquivos que casem com os padrões especificados"
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+"    Imprime todos os arquivos sob o controle do Mercurial no\n"
+"    diretório de trabalho cujos nomes casem com os padrões\n"
+"    fornecidos."
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+"    Por padrão, este comando procura em todos os diretórios no\n"
+"    diretório de trabalho. Para procurar apenas no diretório\n"
+"    atual e subdiretórios, use \"--include .\"."
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+"    Se não forem passados padrões, este comando imprime os nomes\n"
+"    de todos os arquivos sob o controle do Mercurial no diretório\n"
+"    de trabalho."
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
 "    contain whitespace as multiple filenames.\n"
 "    "
 msgstr ""
-"localiza arquivos que casem com os padrões especificados\n"
-"\n"
-"    Imprime todos os arquivos sob o controle do Mercurial no\n"
-"    diretório de trabalho cujos nomes casem com os padrões\n"
-"    fornecidos.\n"
-"\n"
-"    Por padrão, este comando procura em todos os diretórios no\n"
-"    diretório de trabalho. Para procurar apenas no diretório\n"
-"    atual e subdiretórios, use \"--include .\".\n"
-"\n"
-"    Se não forem passados padrões, este comando imprime os nomes\n"
-"    de todos os arquivos sob o controle do Mercurial no diretório\n"
-"    de trabalho.\n"
-"\n"
 "    Se você quiser passar a saída desse comando para o comando\n"
 "    \"xargs\", use a opção -0 tanto para este comando como para o\n"
 "    \"xargs\". Isso irá evitar que \"xargs\" trate nomes de arquivo\n"
 "    contendo espaços como múltiplos nomes de arquivo.\n"
 "    "
 
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
+#, fuzzy
+msgid "show revision history of entire repository or files"
+msgstr ""
+"mostra o histórico de revisões do repositório ou de arquivos\n"
+"\n"
+"    Imprime o histórico de revisões dos arquivos especificados ou do\n"
+"    projeto como um todo.\n"
+"\n"
+"    O histórico de arquivos é mostrado sem que informações de cópia e\n"
+"    renomeação sejam seguidas. Use -f/--follow para seguir o\n"
+"    histórico através de renomeações e cópias. --follow sem um nome\n"
+"    de arquivo irá mostrar apenas ancestrais ou descendentes da\n"
+"    revisão de início. --follow-first segue apenas o primeiro pai em\n"
+"    revisões de mesclagem.\n"
+"\n"
+"    Se um intervalo de revisões não for pedido, o padrão é tip:0 a\n"
+"    não ser que --follow seja pedido; nesse caso, o pai do diretório\n"
+"    de trabalho é usado como revisão inicial.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    Por padrão este comando mostra o número e identificador da\n"
+"    revisão, etiquetas, pais não triviais, usuário, data e hora,\n"
+"    e um resumo de cada consolidação. Se a opção -v/--verbose for\n"
+"    usada, são mostradas a lista de arquivos modificados e a\n"
+"    mensagem de consolidação completa.\n"
+"\n"
+"    NOTA: log -p/--patch pode gerar saídas de diff inesperadas para\n"
+"    mesclagens, pois irá comparar a revisão de mesclagem apenas\n"
+"    com seu primeiro pai. Além disso, apenas arquivos diferentes de\n"
+"    AMBOS os pais aparecerão na lista de arquivos.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
+"    project."
+msgstr ""
+"mostra o histórico de revisões do repositório ou de arquivos\n"
+"\n"
+"    Imprime o histórico de revisões dos arquivos especificados ou do\n"
+"    projeto como um todo.\n"
+"\n"
+"    O histórico de arquivos é mostrado sem que informações de cópia e\n"
+"    renomeação sejam seguidas. Use -f/--follow para seguir o\n"
+"    histórico através de renomeações e cópias. --follow sem um nome\n"
+"    de arquivo irá mostrar apenas ancestrais ou descendentes da\n"
+"    revisão de início. --follow-first segue apenas o primeiro pai em\n"
+"    revisões de mesclagem.\n"
+"\n"
+"    Se um intervalo de revisões não for pedido, o padrão é tip:0 a\n"
+"    não ser que --follow seja pedido; nesse caso, o pai do diretório\n"
+"    de trabalho é usado como revisão inicial.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    Por padrão este comando mostra o número e identificador da\n"
+"    revisão, etiquetas, pais não triviais, usuário, data e hora,\n"
+"    e um resumo de cada consolidação. Se a opção -v/--verbose for\n"
+"    usada, são mostradas a lista de arquivos modificados e a\n"
+"    mensagem de consolidação completa.\n"
+"\n"
+"    NOTA: log -p/--patch pode gerar saídas de diff inesperadas para\n"
+"    mesclagens, pois irá comparar a revisão de mesclagem apenas\n"
+"    com seu primeiro pai. Além disso, apenas arquivos diferentes de\n"
+"    AMBOS os pais aparecerão na lista de arquivos.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
+"mostra o histórico de revisões do repositório ou de arquivos\n"
+"\n"
+"    Imprime o histórico de revisões dos arquivos especificados ou do\n"
+"    projeto como um todo.\n"
+"\n"
+"    O histórico de arquivos é mostrado sem que informações de cópia e\n"
+"    renomeação sejam seguidas. Use -f/--follow para seguir o\n"
+"    histórico através de renomeações e cópias. --follow sem um nome\n"
+"    de arquivo irá mostrar apenas ancestrais ou descendentes da\n"
+"    revisão de início. --follow-first segue apenas o primeiro pai em\n"
+"    revisões de mesclagem.\n"
+"\n"
+"    Se um intervalo de revisões não for pedido, o padrão é tip:0 a\n"
+"    não ser que --follow seja pedido; nesse caso, o pai do diretório\n"
+"    de trabalho é usado como revisão inicial.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    Por padrão este comando mostra o número e identificador da\n"
+"    revisão, etiquetas, pais não triviais, usuário, data e hora,\n"
+"    e um resumo de cada consolidação. Se a opção -v/--verbose for\n"
+"    usada, são mostradas a lista de arquivos modificados e a\n"
+"    mensagem de consolidação completa.\n"
+"\n"
+"    NOTA: log -p/--patch pode gerar saídas de diff inesperadas para\n"
+"    mesclagens, pois irá comparar a revisão de mesclagem apenas\n"
+"    com seu primeiro pai. Além disso, apenas arquivos diferentes de\n"
+"    AMBOS os pais aparecerão na lista de arquivos.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If no revision range is specified, the default is tip:0 unless\n"
 "    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    used as the starting revision."
+msgstr ""
+"mostra o histórico de revisões do repositório ou de arquivos\n"
+"\n"
+"    Imprime o histórico de revisões dos arquivos especificados ou do\n"
+"    projeto como um todo.\n"
+"\n"
+"    O histórico de arquivos é mostrado sem que informações de cópia e\n"
+"    renomeação sejam seguidas. Use -f/--follow para seguir o\n"
+"    histórico através de renomeações e cópias. --follow sem um nome\n"
+"    de arquivo irá mostrar apenas ancestrais ou descendentes da\n"
+"    revisão de início. --follow-first segue apenas o primeiro pai em\n"
+"    revisões de mesclagem.\n"
+"\n"
+"    Se um intervalo de revisões não for pedido, o padrão é tip:0 a\n"
+"    não ser que --follow seja pedido; nesse caso, o pai do diretório\n"
+"    de trabalho é usado como revisão inicial.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    Por padrão este comando mostra o número e identificador da\n"
+"    revisão, etiquetas, pais não triviais, usuário, data e hora,\n"
+"    e um resumo de cada consolidação. Se a opção -v/--verbose for\n"
+"    usada, são mostradas a lista de arquivos modificados e a\n"
+"    mensagem de consolidação completa.\n"
+"\n"
+"    NOTA: log -p/--patch pode gerar saídas de diff inesperadas para\n"
+"    mesclagens, pois irá comparar a revisão de mesclagem apenas\n"
+"    com seu primeiro pai. Além disso, apenas arquivos diferentes de\n"
+"    AMBOS os pais aparecerão na lista de arquivos.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    By default this command prints revision number and changeset id,\n"
 "    tags, non-trivial parents, user, date and time, and a summary for\n"
 "    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
+"    changed files and full commit message are shown."
+msgstr ""
+"mostra o histórico de revisões do repositório ou de arquivos\n"
+"\n"
+"    Imprime o histórico de revisões dos arquivos especificados ou do\n"
+"    projeto como um todo.\n"
+"\n"
+"    O histórico de arquivos é mostrado sem que informações de cópia e\n"
+"    renomeação sejam seguidas. Use -f/--follow para seguir o\n"
+"    histórico através de renomeações e cópias. --follow sem um nome\n"
+"    de arquivo irá mostrar apenas ancestrais ou descendentes da\n"
+"    revisão de início. --follow-first segue apenas o primeiro pai em\n"
+"    revisões de mesclagem.\n"
+"\n"
+"    Se um intervalo de revisões não for pedido, o padrão é tip:0 a\n"
+"    não ser que --follow seja pedido; nesse caso, o pai do diretório\n"
+"    de trabalho é usado como revisão inicial.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    Por padrão este comando mostra o número e identificador da\n"
+"    revisão, etiquetas, pais não triviais, usuário, data e hora,\n"
+"    e um resumo de cada consolidação. Se a opção -v/--verbose for\n"
+"    usada, são mostradas a lista de arquivos modificados e a\n"
+"    mensagem de consolidação completa.\n"
+"\n"
+"    NOTA: log -p/--patch pode gerar saídas de diff inesperadas para\n"
+"    mesclagens, pois irá comparar a revisão de mesclagem apenas\n"
+"    com seu primeiro pai. Além disso, apenas arquivos diferentes de\n"
+"    AMBOS os pais aparecerão na lista de arquivos.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    NOTE: 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"
@@ -8177,56 +23794,57 @@
 "\n"
 "    "
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr "mostra a revisão atual ou pedida do manifesto do projeto"
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
-"    With -v, print file permissions, symlink and executable bits.\n"
-"    With --debug, print file revision hashes.\n"
-"    "
-msgstr ""
-"mostra a revisão atual ou pedida do manifesto do projeto\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
 "    Imprime uma lista de arquivos sob controle de versão para a\n"
 "    revisão pedida. Se a revisão não for especificada, o primeiro pai\n"
 "    do diretório de trabalho será usado, ou a revisão null se nenhuma\n"
-"    revisão estiver selecionada.\n"
-"\n"
+"    revisão estiver selecionada."
+
+msgid ""
+"    With -v, print file permissions, symlink and executable bits.\n"
+"    With --debug, print file revision hashes.\n"
+"    "
+msgstr ""
 "    Com a opção -v, imprime permissões de arquivo, links simbólicos\n"
 "    e bits de execução. Com a opção --debug, imprime os hashes de\n"
 "   revisão de arquivo.\n"
 "    "
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr "mescla o diretório de trabalho com outra revisão"
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+"    O diretório de trabalho é atualizado com todas as mudanças feitas\n"
+"    na revisão pedida desde a última revisão predecessora comum."
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+"    Arquivos que mudarem com relação a qualquer dos pais são\n"
+"    marcados como modificados para a próxima consolidação, e esta\n"
+"    deve ser feita antes que qualquer outra atualização seja\n"
+"    permitida. Essa próxima consolidação terá dois pais."
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
 "    explicit revision with which to merge with must be provided.\n"
 "    "
 msgstr ""
-"mescla o diretório de trabalho com outra revisão\n"
-"\n"
-"    O diretório de trabalho é atualizado com todas as mudanças feitas\n"
-"    na revisão pedida desde a última revisão predecessora comum.\n"
-"\n"
-"    Arquivos que mudarem com relação a qualquer dos pais são\n"
-"    marcados como modificados para a próxima consolidação, e esta\n"
-"    deve ser feita antes que qualquer outra atualização seja\n"
-"    permitida. Essa próxima consolidação terá dois pais.\n"
-"\n"
 "    Se a revisão não for especificada, o pai do diretório de trabalho\n"
 "    for uma revisão cabeça, e o ramo atual contiver exatamente uma\n"
 "    outra cabeça, a outra cabeça será usada para a mesclagem. Caso\n"
@@ -8236,18 +23854,14 @@
 
 #, python-format
 msgid "abort: branch '%s' has %d heads - please merge with an explicit rev\n"
-msgstr ""
-"abortado: o ramo '%s' tem %d cabeças - por favor mescle com uma revisão "
-"específica\n"
+msgstr "abortado: o ramo '%s' tem %d cabeças - por favor mescle com uma revisão específica\n"
 
 msgid "(run 'hg heads .' to see heads)\n"
 msgstr "(execute 'hg heads .' para ver as cabeças)\n"
 
 #, python-format
 msgid "abort: branch '%s' has one head - please merge with an explicit rev\n"
-msgstr ""
-"abortado: o ramo '%s' tem apenas uma cabeça - por favor mescle com uma "
-"revisão específica\n"
+msgstr "abortado: o ramo '%s' tem apenas uma cabeça - por favor mescle com uma revisão específica\n"
 
 msgid "(run 'hg heads' to see all heads)\n"
 msgstr "(execute 'hg heads' para ver todas as cabeças)\n"
@@ -8259,35 +23873,32 @@
 msgid "%s - use \"hg update\" instead"
 msgstr "%s - use \"hg update\""
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
-msgstr ""
-"diretório de trabalho não está em uma cabeça - use \"hg update\" ou mescle "
-"com uma revisão explícita"
-
-msgid ""
-"show changesets not found in the destination\n"
-"\n"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
+msgstr "diretório de trabalho não está em uma cabeça - use \"hg update\" ou mescle com uma revisão explícita"
+
+msgid "show changesets not found in the destination"
+msgstr "mostra revisões não encontradas no destino"
+
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
-"    See pull for details of valid destination formats.\n"
-"    "
-msgstr ""
-"mostra revisões não encontradas no destino\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
 "    Mostra revisões não encontradas no repositório de destino\n"
 "    especificado ou na localização padrão de push. Estas são as\n"
-"    revisões que seriam enviadas se um push fosse pedido.\n"
-"\n"
+"    revisões que seriam enviadas se um push fosse pedido."
+
+msgid ""
+"    See pull for details of valid destination formats.\n"
+"    "
+msgstr ""
 "    Veja pull para detalhes do formato do destino.\n"
 "    "
 
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr "mostra os pais do diretório de trabalho ou da revisão"
+
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -8295,8 +23906,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"mostra os pais do diretório de trabalho ou da revisão\n"
-"\n"
 "    Imprime as revisões pai do diretório de trabalho. Se uma revisão\n"
 "    for passada com -r/--rev, o pai dessa revisão será impresso. Se\n"
 "    um arquivo for passado, será impressa a revisão na qual esse\n"
@@ -8311,15 +23920,25 @@
 msgid "'%s' not found in manifest!"
 msgstr "'%s' não encontrado no manifesto!"
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr "mostra apelidos de repositórios remotos"
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+"    Mostra a definição do caminho simbólico NOME. Se nenhum nome for\n"
+"    fornecido, mostra todas as definições de nomes disponíveis."
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
+"    Nomes de caminho são definidos na seção [paths] de\n"
+"    /etc/mercurial/hgrc e $HOME/.hgrc. Se executado em um\n"
+"    repositório, .hg/hgrc também será usado."
+
+msgid ""
 "    The path names ``default`` and ``default-push`` have a special\n"
 "    meaning.  When performing a push or pull operation, they are used\n"
 "    as fallbacks if no location is specified on the command-line.\n"
@@ -8329,20 +23948,8 @@
 "    source is written as ``default`` in ``.hg/hgrc``.  Note that\n"
 "    ``default`` and ``default-push`` apply to all inbound (e.g. ``hg\n"
 "    incoming``) and outbound (e.g. ``hg outgoing``, ``hg email`` and\n"
-"    ``hg bundle``) operations.\n"
-"\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"mostra apelidos de repositórios remotos\n"
-"\n"
-"    Mostra a definição do caminho simbólico NOME. Se nenhum nome for\n"
-"    fornecido, mostra todas as definições de nomes disponíveis.\n"
-"\n"
-"    Nomes de caminho são definidos na seção [paths] de\n"
-"    /etc/mercurial/hgrc e $HOME/.hgrc. Se executado em um\n"
-"    repositório, .hg/hgrc também será usado.\n"
-"\n"
+"    ``hg bundle``) operations."
+msgstr ""
 "    Os nomes de caminho ``default`` e ``default-push`` têm significado\n"
 "    especial. Ao realizar uma operação pull ou push, eles são usados como\n"
 "    origem ou destino pré-definidos se nenhum local remoto for especificado\n"
@@ -8352,8 +23959,12 @@
 "    é definida como ``default`` no ``.hg/hgrc`` do novo clone. Note que\n"
 "    ``default`` e ``default-push`` são usados por todas as operações de\n"
 "    entrada (por exemplo, ``hg incoming``) e de saída (por exemplo,\n"
-"    ``hg outgoing``).\n"
-"\n"
+"    ``hg outgoing``)."
+
+msgid ""
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    Veja 'hg help urls' para mais informações.\n"
 "    "
 
@@ -8369,87 +23980,90 @@
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(execute 'hg update' para obter uma cópia de trabalho)\n"
 
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+msgid "pull changes from the specified source"
+msgstr "traz mudanças da origem especificada"
+
+msgid "    Pull changes from a remote repository to a local one."
+msgstr "    Traz mudanças de um repositório remoto para um local."
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
-"    Use hg incoming if you want to see what would have been added by a\n"
-"    pull at the time you issued this command. If you then decide to\n"
-"    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
-"    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"traz mudanças da origem especificada\n"
-"\n"
-"    Traz mudanças de um repositório remoto para um local.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
 "    Este comando localiza todas as mudanças do repositório no\n"
 "    caminho ou URL especificado e as adiciona a um repositório\n"
 "    local (o atual, a não ser que a opção -R seja especificada).\n"
 "    Por padrão, ele não atualiza a cópia do projeto no diretório\n"
-"    de trabalho.\n"
-"\n"
+"    de trabalho."
+
+msgid ""
+"    Use hg incoming if you want to see what would have been added by a\n"
+"    pull at the time you issued this command. If you then decide to\n"
+"    added those changes to the repository, you should use pull -r X\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
 "    Use hg incoming se você quiser ver o que seria adicionado pelo\n"
 "    comando pull. Se você então decidir adicionar tais mudanças ao\n"
 "    repositório, você deve usar 'pull -r X', onde X é a última\n"
-"    revisão listada por hg incoming.\n"
-"\n"
+"    revisão listada por hg incoming."
+
+msgid ""
+"    If SOURCE is omitted, the 'default' path will be used.\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    Se ORIGEM for omitida, o caminho 'default' será usado. Veja\n"
 "    'hg help urls' para mais informações.\n"
 "    "
 
-msgid ""
-"push changes to the specified destination\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr "envia mudanças para o destino especificado"
+
+msgid ""
 "    Push changesets from the local repository to the specified\n"
-"    destination.\n"
-"\n"
+"    destination."
+msgstr "    Envia mudanças do repositório local para o destino especificado."
+
+msgid ""
 "    This operation is symmetrical to pull: it is identical to a pull\n"
-"    in the destination repository from the current one.\n"
-"\n"
+"    in the destination repository from the current one."
+msgstr ""
+"    Esta operação é simétrica à pull: ela é idêntica a um pull realizado\n"
+"    no destino usando o repositório atual como origem."
+
+msgid ""
 "    By default, push will not allow creation of new heads at the\n"
 "    destination, since multiple heads would make it unclear which head\n"
 "    to use. In this situation, it is recommended to pull and merge\n"
-"    before pushing.\n"
-"\n"
-"    Use -f/--force to override the default behavior and push all\n"
-"    changesets on all branches.\n"
-"\n"
-"    If -r/--rev is used, the specified revision and all its ancestors\n"
-"    will be pushed to the remote repository.\n"
-"\n"
-"    Please see 'hg help urls' for important details about ``ssh://``\n"
-"    URLs. If DESTINATION is omitted, a default path will be used.\n"
-"    "
-msgstr ""
-"envia mudanças para o destino especificado\n"
-"\n"
-"    Envia mudanças do repositório local para o destino especificado.\n"
-"\n"
-"    Esta operação é simétrica à pull: ela é idêntica a um pull realizado\n"
-"    no destino usando o repositório atual como origem.\n"
-"\n"
+"    before pushing."
+msgstr ""
 "    Por padrão, push não permite a criação de novas cabeças no destino,\n"
 "    já que múltiplas cabeças deixariam dúvidas sobre qual cabeça deva ser\n"
 "    usada. Nessa situação, o recomendado é trazer e mesclar as novas\n"
-"    mudanças antes de fazer o push.\n"
-"\n"
+"    mudanças antes de fazer o push."
+
+msgid ""
+"    Use -f/--force to override the default behavior and push all\n"
+"    changesets on all branches."
+msgstr ""
 "    Você pode usar a opção -f/--force para mudar o comportamento padrão,\n"
 "    fazendo com que as revisões sejam enviadas ao repositório remoto\n"
-"    mesmo que acrescentem novas cabeças ou ramos.\n"
-"\n"
+"    mesmo que acrescentem novas cabeças ou ramos."
+
+msgid ""
+"    If -r/--rev is used, the specified revision and all its ancestors\n"
+"    will be pushed to the remote repository."
+msgstr ""
 "    Se -r/--rev for usado, apenas a revisão pedida e todos os seus\n"
-"    ancestrais serão enviados para o repositório remoto.\n"
-"\n"
+"    ancestrais serão enviados para o repositório remoto."
+
+msgid ""
+"    Please see 'hg help urls' for important details about ``ssh://``\n"
+"    URLs. If DESTINATION is omitted, a default path will be used.\n"
+"    "
+msgstr ""
 "    Por favor veja 'hg help urls' para detalhes importantes sobre\n"
 "    URLs ``ssh://`` . Se DESTINO for omitido, um caminho padrão será\n"
 "    usado.\n"
@@ -8459,76 +24073,75 @@
 msgid "pushing to %s\n"
 msgstr "enviando revisões para %s\n"
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr "desfaz uma transação interrompida"
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr "    Recupera uma consolidação ou pull interrompido."
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
-"desfaz uma transação interrompida\n"
-"\n"
-"    Recupera uma consolidação ou pull interrompido.\n"
-"\n"
 "    Este comando tenta consertar o estado do repositório após uma\n"
 "    operação interrompida. Deve ser necessário apenas se o Mercurial\n"
 "    sugeri-lo.\n"
 "    "
 
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr "remove os arquivos pedidos na próxima consolidação"
+
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr "    Agenda os arquivos indicados para remoção do repositório."
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
-"    The following table details the behavior of remove for different\n"
-"    file states (columns) and option combinations (rows). The file\n"
-"    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
-"    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
-"             A  C  M  !\n"
-"      none   W  RD W  R\n"
-"      -f     R  RD RD R\n"
-"      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
-msgstr ""
-"remove os arquivos pedidos na próxima consolidação\n"
-"\n"
-"    Agenda os arquivos indicados para remoção do repositório.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
 "    Isto apenas remove arquivos do ramo atual, e não de todo o\n"
 "    histórico do projeto. -A/--after pode ser usado para remover\n"
 "    apenas arquivos já removidos do diretório de trabalho,\n"
 "    -f/--force pode ser usado para forçar a remoção, e -Af pode ser\n"
 "    usado para remover os arquivos da próxima revisão sem removê-los\n"
-"    do diretório de trabalho.\n"
-"\n"
+"    do diretório de trabalho."
+
+msgid ""
+"    The following table details the behavior of remove for different\n"
+"    file states (columns) and option combinations (rows). The file\n"
+"    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
+"    reported by hg status). The actions are Warn, Remove (from branch)\n"
+"    and Delete (from disk)::"
+msgstr ""
 "    A seguinte tabela detalha o comportamento do comando remove para\n"
 "    diferentes estados dos arquivos (colunas) e combinações de opções\n"
 "    (linhas). Os estados dos arquivos são: adicionados [A],\n"
 "    limpos [C], modificados [M] ou faltando [!] (conforme informado\n"
 "    por hg status). As ações são W (aviso), R (remove do ramo) e D\n"
-"    (remove do diretório de trabalho)::\n"
-"\n"
+"    (remove do diretório de trabalho)::"
+
+msgid ""
+"             A  C  M  !\n"
+"      none   W  RD W  R\n"
+"      -f     R  RD RD R\n"
+"      -A     W  W  W  R\n"
+"      -Af    R  R  R  R"
+msgstr ""
 "             A  C  M  !\n"
 "      nada   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
+"      -Af    R  R  R  R"
+
+msgid ""
+"    This command schedules the files to be removed at the next commit.\n"
+"    To undo a remove before that, see hg revert.\n"
+"    "
+msgstr ""
 "    Este comando agenda os arquivos para serem removidos na próxima\n"
 "    consolidação. Para desfazer uma remoção antes disso, veja\n"
 "    hg revert.\n"
@@ -8551,47 +24164,49 @@
 msgid "has been marked for add"
 msgstr "foi marcado para adição"
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr "renomeia arquivos; equivalente a uma cópia seguida de remoção"
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+"    Marca dest como cópia da origem; marca as origens como removidas.\n"
+"    Se dest for um diretório, as cópias serão colocadas nesse\n"
+"    diretório. Se dest for um arquivo, só pode haver uma origem."
+
+msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
-"renomeia arquivos; equivalente a uma cópia seguida de remoção\n"
-"\n"
-"    Marca dest como cópia da origem; marca as origens como removidas.\n"
-"    Se dest for um diretório, as cópias serão colocadas nesse\n"
-"    diretório. Se dest for um arquivo, só pode haver uma origem.\n"
-"\n"
-"    Por padrão, este comando copia o conteúdo dos arquivos do modo\n"
-"    como estão no diretório de trabalho. Se chamado com -A/--after, a\n"
-"    operação é gravada, mas a cópia não é realizada.\n"
-"\n"
 "    Este comando faz efeito na próxima consolidação. Para desfazer\n"
 "    uma renomeação antes disso, veja hg revert.\n"
 "    "
 
-msgid ""
-"various operations to help finish a merge\n"
-"\n"
+msgid "various operations to help finish a merge"
+msgstr "diversas operações para auxiliar a execução de uma mesclagem"
+
+msgid ""
 "    This command includes several actions that are often useful while\n"
 "    performing a merge, after running ``merge`` but before running\n"
 "    ``commit``.  (It is only meaningful if your working directory has\n"
 "    two parents.)  It is most relevant for merges with unresolved\n"
 "    conflicts, which are typically a result of non-interactive merging with\n"
-"    ``internal:merge`` or a command-line merge tool like ``diff3``.\n"
-"\n"
-"    The available actions are:\n"
-"\n"
+"    ``internal:merge`` or a command-line merge tool like ``diff3``."
+msgstr ""
+"    Este comando inclui diversas ações úteis para realizar uma mesclagem,\n"
+"    após a execução de ``merge`` mas antes da execução de ``commit`` (só\n"
+"    faz sentido se seu diretório de trabalho tiver dois pais). É mais\n"
+"    relevante para mesclagens com conflitos não resolvidos, que tipicamente\n"
+"    resultam de mesclagem não interativa usando ``internal:merge`` ou um\n"
+"    utilitário de mesclagem de linha de comando, como o ``diff3``."
+
+msgid "    The available actions are:"
+msgstr "    As ações disponíveis são:"
+
+msgid ""
 "      1) list files that were merged with conflicts (U, for unresolved)\n"
 "         and without conflicts (R, for resolved): ``hg resolve -l``\n"
 "         (this is like ``status`` for merges)\n"
@@ -8601,24 +24216,8 @@
 "         ``hg resolve -u [file ...]`` (default: unmark all resolved files)\n"
 "      4) discard your current attempt(s) at resolving conflicts and\n"
 "         restart the merge from scratch: ``hg resolve file...``\n"
-"         (or ``-a`` for all unresolved files)\n"
-"\n"
-"    Note that Mercurial will not let you commit files with unresolved merge\n"
-"    conflicts.  You must use ``hg resolve -m ...`` before you can commit\n"
-"    after a conflicting merge.\n"
-"    "
-msgstr ""
-"diversas operações para auxiliar a execução de uma mesclagem\n"
-"\n"
-"    Este comando inclui diversas ações úteis para realizar uma mesclagem,\n"
-"    após a execução de ``merge`` mas antes da execução de ``commit`` (só\n"
-"    faz sentido se seu diretório de trabalho tiver dois pais). É mais\n"
-"    relevante para mesclagens com conflitos não resolvidos, que tipicamente\n"
-"    resultam de mesclagem não interativa usando ``internal:merge`` ou um\n"
-"    utilitário de mesclagem de linha de comando, como o ``diff3``.\n"
-"\n"
-"    As ações disponíveis são:\n"
-"\n"
+"         (or ``-a`` for all unresolved files)"
+msgstr ""
 "      1) listar arquivos que foram mesclados com conflitos (marcando-os com\n"
 "         U, chamados de 'não resolvidos') ou sem conflitos (R, de\n"
 "         'resolvidos'): ``hg resolve -l`` (isto é semelhante ao comando\n"
@@ -8631,8 +24230,14 @@
 "         arquivos resolvidos)\n"
 "      4) descartar sua tentativa atual de resolver conflitos e recomeçar\n"
 "         do início: ``hg resolve arquivo...`` (ou ``-a`` para todos os\n"
-"         arquivos não resolvidos)\n"
-"\n"
+"         arquivos não resolvidos)"
+
+msgid ""
+"    Note that Mercurial will not let you commit files with unresolved merge\n"
+"    conflicts.  You must use ``hg resolve -m ...`` before you can commit\n"
+"    after a conflicting merge.\n"
+"    "
+msgstr ""
 "    Note que o Mercurial não deixará que você faça a consolidação de\n"
 "    arquivos com conflitos de mesclagem não resolvidos. Você deve usar\n"
 "    ``hg resolve -m ...`` após uma mesclagem com conflitos para que você\n"
@@ -8646,40 +24251,304 @@
 msgstr "não é possível especificar --all e padrões"
 
 msgid "no files or directories specified; use --all to remerge all files"
-msgstr ""
-"nenhum arquivo ou diretório especificado; use --all para refazer a mesclagem "
-"de todos os arquivos"
-
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgstr "nenhum arquivo ou diretório especificado; use --all para refazer a mesclagem de todos os arquivos"
+
+#, fuzzy
+msgid "restore individual files or directories to an earlier state"
+msgstr ""
+"restaura arquivos ou diretórios para um estado anterior\n"
+"\n"
+"    (Use update -r para obter revisões anteriores, revert não altera\n"
+"    os pais do diretório de trabalho.)\n"
+"\n"
+"    Se não for pedida uma revisão, reverte os arquivos ou diretórios\n"
+"    pedidos para o conteúdo que eles possuíam no pai do diretório de\n"
+"    trabalho. Isto restaura o conteúdo do arquivos afetados para um\n"
+"    estado inalterado e reverte adições, remoções, cópias e\n"
+"    renomeações. Se o diretório de trabalho tiver dois pais, você\n"
+"    deve especificar explicitamente a revisão para a qual reverter.\n"
+"\n"
+"    Com a opção -r/--rev, reverte os arquivos ou diretórios dados\n"
+"    para seus conteúdos na revisão pedida. Isso pode ser útil para\n"
+"    \"desfazer\" algumas ou todas as mudanças anteriores.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    O comando revert apenas modifica o diretório de trabalho. Ele não\n"
+"    grava nenhuma mudança, nem muda o pai do diretório de trabalho.\n"
+"    Se você reverter para uma revisão diferente do pai do diretório\n"
+"    de trabalho, os arquivos revertidos irão portanto aparecer como\n"
+"    modificados.\n"
+"\n"
+"    Se um arquivo tiver sido removido, será restaurado. Se o bit de\n"
+"    execução de um arquivo for modificado, ele será restaurado.\n"
+"\n"
+"    Se nomes forem fornecidos, todos os arquivos que casarem com\n"
+"    esses nomes serão revertidos. Se não forem passados argumentos,\n"
+"    nenhum arquivo será revertido.\n"
+"\n"
+"    Arquivos modificados são gravados com um sufixo .orig antes da\n"
+"    reversão. Para desabilitar essas cópias, use --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+"restaura arquivos ou diretórios para um estado anterior\n"
+"\n"
+"    (Use update -r para obter revisões anteriores, revert não altera\n"
+"    os pais do diretório de trabalho.)\n"
+"\n"
+"    Se não for pedida uma revisão, reverte os arquivos ou diretórios\n"
+"    pedidos para o conteúdo que eles possuíam no pai do diretório de\n"
+"    trabalho. Isto restaura o conteúdo do arquivos afetados para um\n"
+"    estado inalterado e reverte adições, remoções, cópias e\n"
+"    renomeações. Se o diretório de trabalho tiver dois pais, você\n"
+"    deve especificar explicitamente a revisão para a qual reverter.\n"
+"\n"
+"    Com a opção -r/--rev, reverte os arquivos ou diretórios dados\n"
+"    para seus conteúdos na revisão pedida. Isso pode ser útil para\n"
+"    \"desfazer\" algumas ou todas as mudanças anteriores.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    O comando revert apenas modifica o diretório de trabalho. Ele não\n"
+"    grava nenhuma mudança, nem muda o pai do diretório de trabalho.\n"
+"    Se você reverter para uma revisão diferente do pai do diretório\n"
+"    de trabalho, os arquivos revertidos irão portanto aparecer como\n"
+"    modificados.\n"
+"\n"
+"    Se um arquivo tiver sido removido, será restaurado. Se o bit de\n"
+"    execução de um arquivo for modificado, ele será restaurado.\n"
+"\n"
+"    Se nomes forem fornecidos, todos os arquivos que casarem com\n"
+"    esses nomes serão revertidos. Se não forem passados argumentos,\n"
+"    nenhum arquivo será revertido.\n"
+"\n"
+"    Arquivos modificados são gravados com um sufixo .orig antes da\n"
+"    reversão. Para desabilitar essas cópias, use --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify a\n"
-"    revision.\n"
-"\n"
+"    revision."
+msgstr ""
+"restaura arquivos ou diretórios para um estado anterior\n"
+"\n"
+"    (Use update -r para obter revisões anteriores, revert não altera\n"
+"    os pais do diretório de trabalho.)\n"
+"\n"
+"    Se não for pedida uma revisão, reverte os arquivos ou diretórios\n"
+"    pedidos para o conteúdo que eles possuíam no pai do diretório de\n"
+"    trabalho. Isto restaura o conteúdo do arquivos afetados para um\n"
+"    estado inalterado e reverte adições, remoções, cópias e\n"
+"    renomeações. Se o diretório de trabalho tiver dois pais, você\n"
+"    deve especificar explicitamente a revisão para a qual reverter.\n"
+"\n"
+"    Com a opção -r/--rev, reverte os arquivos ou diretórios dados\n"
+"    para seus conteúdos na revisão pedida. Isso pode ser útil para\n"
+"    \"desfazer\" algumas ou todas as mudanças anteriores.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    O comando revert apenas modifica o diretório de trabalho. Ele não\n"
+"    grava nenhuma mudança, nem muda o pai do diretório de trabalho.\n"
+"    Se você reverter para uma revisão diferente do pai do diretório\n"
+"    de trabalho, os arquivos revertidos irão portanto aparecer como\n"
+"    modificados.\n"
+"\n"
+"    Se um arquivo tiver sido removido, será restaurado. Se o bit de\n"
+"    execução de um arquivo for modificado, ele será restaurado.\n"
+"\n"
+"    Se nomes forem fornecidos, todos os arquivos que casarem com\n"
+"    esses nomes serão revertidos. Se não forem passados argumentos,\n"
+"    nenhum arquivo será revertido.\n"
+"\n"
+"    Arquivos modificados são gravados com um sufixo .orig antes da\n"
+"    reversão. Para desabilitar essas cópias, use --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+"restaura arquivos ou diretórios para um estado anterior\n"
+"\n"
+"    (Use update -r para obter revisões anteriores, revert não altera\n"
+"    os pais do diretório de trabalho.)\n"
+"\n"
+"    Se não for pedida uma revisão, reverte os arquivos ou diretórios\n"
+"    pedidos para o conteúdo que eles possuíam no pai do diretório de\n"
+"    trabalho. Isto restaura o conteúdo do arquivos afetados para um\n"
+"    estado inalterado e reverte adições, remoções, cópias e\n"
+"    renomeações. Se o diretório de trabalho tiver dois pais, você\n"
+"    deve especificar explicitamente a revisão para a qual reverter.\n"
+"\n"
+"    Com a opção -r/--rev, reverte os arquivos ou diretórios dados\n"
+"    para seus conteúdos na revisão pedida. Isso pode ser útil para\n"
+"    \"desfazer\" algumas ou todas as mudanças anteriores.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    O comando revert apenas modifica o diretório de trabalho. Ele não\n"
+"    grava nenhuma mudança, nem muda o pai do diretório de trabalho.\n"
+"    Se você reverter para uma revisão diferente do pai do diretório\n"
+"    de trabalho, os arquivos revertidos irão portanto aparecer como\n"
+"    modificados.\n"
+"\n"
+"    Se um arquivo tiver sido removido, será restaurado. Se o bit de\n"
+"    execução de um arquivo for modificado, ele será restaurado.\n"
+"\n"
+"    Se nomes forem fornecidos, todos os arquivos que casarem com\n"
+"    esses nomes serão revertidos. Se não forem passados argumentos,\n"
+"    nenhum arquivo será revertido.\n"
+"\n"
+"    Arquivos modificados são gravados com um sufixo .orig antes da\n"
+"    reversão. Para desabilitar essas cópias, use --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
+"    afterwards."
+msgstr ""
+"restaura arquivos ou diretórios para um estado anterior\n"
+"\n"
+"    (Use update -r para obter revisões anteriores, revert não altera\n"
+"    os pais do diretório de trabalho.)\n"
+"\n"
+"    Se não for pedida uma revisão, reverte os arquivos ou diretórios\n"
+"    pedidos para o conteúdo que eles possuíam no pai do diretório de\n"
+"    trabalho. Isto restaura o conteúdo do arquivos afetados para um\n"
+"    estado inalterado e reverte adições, remoções, cópias e\n"
+"    renomeações. Se o diretório de trabalho tiver dois pais, você\n"
+"    deve especificar explicitamente a revisão para a qual reverter.\n"
+"\n"
+"    Com a opção -r/--rev, reverte os arquivos ou diretórios dados\n"
+"    para seus conteúdos na revisão pedida. Isso pode ser útil para\n"
+"    \"desfazer\" algumas ou todas as mudanças anteriores.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    O comando revert apenas modifica o diretório de trabalho. Ele não\n"
+"    grava nenhuma mudança, nem muda o pai do diretório de trabalho.\n"
+"    Se você reverter para uma revisão diferente do pai do diretório\n"
+"    de trabalho, os arquivos revertidos irão portanto aparecer como\n"
+"    modificados.\n"
+"\n"
+"    Se um arquivo tiver sido removido, será restaurado. Se o bit de\n"
+"    execução de um arquivo for modificado, ele será restaurado.\n"
+"\n"
+"    Se nomes forem fornecidos, todos os arquivos que casarem com\n"
+"    esses nomes serão revertidos. Se não forem passados argumentos,\n"
+"    nenhum arquivo será revertido.\n"
+"\n"
+"    Arquivos modificados são gravados com um sufixo .orig antes da\n"
+"    reversão. Para desabilitar essas cópias, use --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
+"    of a file was changed, it is reset."
+msgstr ""
+"restaura arquivos ou diretórios para um estado anterior\n"
+"\n"
+"    (Use update -r para obter revisões anteriores, revert não altera\n"
+"    os pais do diretório de trabalho.)\n"
+"\n"
+"    Se não for pedida uma revisão, reverte os arquivos ou diretórios\n"
+"    pedidos para o conteúdo que eles possuíam no pai do diretório de\n"
+"    trabalho. Isto restaura o conteúdo do arquivos afetados para um\n"
+"    estado inalterado e reverte adições, remoções, cópias e\n"
+"    renomeações. Se o diretório de trabalho tiver dois pais, você\n"
+"    deve especificar explicitamente a revisão para a qual reverter.\n"
+"\n"
+"    Com a opção -r/--rev, reverte os arquivos ou diretórios dados\n"
+"    para seus conteúdos na revisão pedida. Isso pode ser útil para\n"
+"    \"desfazer\" algumas ou todas as mudanças anteriores.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    O comando revert apenas modifica o diretório de trabalho. Ele não\n"
+"    grava nenhuma mudança, nem muda o pai do diretório de trabalho.\n"
+"    Se você reverter para uma revisão diferente do pai do diretório\n"
+"    de trabalho, os arquivos revertidos irão portanto aparecer como\n"
+"    modificados.\n"
+"\n"
+"    Se um arquivo tiver sido removido, será restaurado. Se o bit de\n"
+"    execução de um arquivo for modificado, ele será restaurado.\n"
+"\n"
+"    Se nomes forem fornecidos, todos os arquivos que casarem com\n"
+"    esses nomes serão revertidos. Se não forem passados argumentos,\n"
+"    nenhum arquivo será revertido.\n"
+"\n"
+"    Arquivos modificados são gravados com um sufixo .orig antes da\n"
+"    reversão. Para desabilitar essas cópias, use --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
+"restaura arquivos ou diretórios para um estado anterior\n"
+"\n"
+"    (Use update -r para obter revisões anteriores, revert não altera\n"
+"    os pais do diretório de trabalho.)\n"
+"\n"
+"    Se não for pedida uma revisão, reverte os arquivos ou diretórios\n"
+"    pedidos para o conteúdo que eles possuíam no pai do diretório de\n"
+"    trabalho. Isto restaura o conteúdo do arquivos afetados para um\n"
+"    estado inalterado e reverte adições, remoções, cópias e\n"
+"    renomeações. Se o diretório de trabalho tiver dois pais, você\n"
+"    deve especificar explicitamente a revisão para a qual reverter.\n"
+"\n"
+"    Com a opção -r/--rev, reverte os arquivos ou diretórios dados\n"
+"    para seus conteúdos na revisão pedida. Isso pode ser útil para\n"
+"    \"desfazer\" algumas ou todas as mudanças anteriores.\n"
+"\n"
+"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
+"    -d/--date.\n"
+"\n"
+"    O comando revert apenas modifica o diretório de trabalho. Ele não\n"
+"    grava nenhuma mudança, nem muda o pai do diretório de trabalho.\n"
+"    Se você reverter para uma revisão diferente do pai do diretório\n"
+"    de trabalho, os arquivos revertidos irão portanto aparecer como\n"
+"    modificados.\n"
+"\n"
+"    Se um arquivo tiver sido removido, será restaurado. Se o bit de\n"
+"    execução de um arquivo for modificado, ele será restaurado.\n"
+"\n"
+"    Se nomes forem fornecidos, todos os arquivos que casarem com\n"
+"    esses nomes serão revertidos. Se não forem passados argumentos,\n"
+"    nenhum arquivo será revertido.\n"
+"\n"
+"    Arquivos modificados são gravados com um sufixo .orig antes da\n"
+"    reversão. Para desabilitar essas cópias, use --no-backup.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Modified files are saved with a .orig suffix before reverting.\n"
 "    To disable these backups, use --no-backup.\n"
 "    "
@@ -8724,9 +24593,7 @@
 msgstr "você não pode especificar uma revisão e uma data"
 
 msgid "no files or directories specified; use --all to revert the whole repo"
-msgstr ""
-"nenhum arquivo ou diretório especificado; use --all para reverter o "
-"repositório todo"
+msgstr "nenhum arquivo ou diretório especificado; use --all para reverter o repositório todo"
 
 #, python-format
 msgid "forgetting %s\n"
@@ -8752,26 +24619,47 @@
 msgid "no changes needed to %s\n"
 msgstr "nenhuma mudança necessária para %s\n"
 
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr "desfaz a última transação"
+
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+"    Este comando deve ser usado com cuidado. Há apenas um nível de\n"
+"    rollback, e não há maneira de desfazê-lo. Ele irá também restaurar\n"
+"    o dirstate ao do momento da última transação, descartando qualquer\n"
+"    mudança de dirstate desde aquele momento. Este comando não altera\n"
+"    o diretório de trabalho."
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back:\n"
-"\n"
+"    and their effects can be rolled back:"
+msgstr ""
+"    Transações são usadas para encapsular os efeitos de todos os comandos\n"
+"    que criam novas revisões ou propagam revisões existentes para o\n"
+"    repositório. Por exemplo, os seguintes comandos são transacionais,\n"
+"    e seus efeitos podem ser revertidos com rollback::"
+
+msgid ""
 "    - commit\n"
 "    - import\n"
 "    - pull\n"
 "    - push (with this repository as the destination)\n"
-"    - unbundle\n"
-"\n"
+"    - unbundle"
+msgstr ""
+"    - commit\n"
+"    - import\n"
+"    - pull\n"
+"    - push (com este repositório como destino)\n"
+"    - unbundle"
+
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -8780,25 +24668,6 @@
 "    may fail if a rollback is performed.\n"
 "    "
 msgstr ""
-"desfaz a última transação\n"
-"\n"
-"    Este comando deve ser usado com cuidado. Há apenas um nível de\n"
-"    rollback, e não há maneira de desfazê-lo. Ele irá também restaurar\n"
-"    o dirstate ao do momento da última transação, descartando qualquer\n"
-"    mudança de dirstate desde aquele momento. Este comando não altera\n"
-"    o diretório de trabalho.\n"
-"\n"
-"    Transações são usadas para encapsular os efeitos de todos os comandos\n"
-"    que criam novas revisões ou propagam revisões existentes para o\n"
-"    repositório. Por exemplo, os seguintes comandos são transacionais,\n"
-"    e seus efeitos podem ser revertidos com rollback::\n"
-"\n"
-"    - commit\n"
-"    - import\n"
-"    - pull\n"
-"    - push (com este repositório como destino)\n"
-"    - unbundle\n"
-"\n"
 "    Este comando não deve ser usado em repositórios públicos. Uma vez que\n"
 "    as mudanças sejam visíveis para serem trazidas por outros usuários, um\n"
 "    desfazimento local se torna inefetivo (alguém pode já ter feito um pull\n"
@@ -8807,50 +24676,50 @@
 "    se um rollback for executado.\n"
 "    "
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr "imprime o raiz (topo) do diretório de trabalho atual"
+
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
-"imprime o raiz (topo) do diretório de trabalho atual\n"
-"\n"
 "    Imprime o diretório raiz do repositório atual.\n"
 "    "
 
-msgid ""
-"export the repository via HTTP\n"
-"\n"
+msgid "export the repository via HTTP"
+msgstr "exporta o repositório por HTTP"
+
+msgid ""
 "    Start a local HTTP repository browser and pull server. You can use\n"
 "    this for ad-hoc sharing and browing of repositories. It is\n"
 "    recommended to use a real web server to serve a repository for\n"
-"    longer periods of time.\n"
-"\n"
+"    longer periods of time."
+msgstr ""
+"    Inicia um visualizador e servidor de pull local via HTTP. Você pode\n"
+"    usar esse comando para imediata visualização e compartilhamento de\n"
+"    repositórios. É recomendado utilizar um servidor web propriamente dito\n"
+"    para compartilhamento mais permanente de repositórios."
+
+msgid ""
 "    Please note that the server does not implement access control.\n"
 "    This means that, by default, anybody can read from the server and\n"
 "    nobody can write to it by default. Set the ``web.allow_push``\n"
 "    option to ``*`` to allow everybody to push to the server. You\n"
-"    should use a real web server if you need to authenticate users.\n"
-"\n"
-"    By default, the server logs accesses to stdout and errors to\n"
-"    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
-"    files.\n"
-"    "
-msgstr ""
-"exporta o repositório por HTTP\n"
-"\n"
-"    Inicia um visualizador e servidor de pull local via HTTP. Você pode\n"
-"    usar esse comando para imediata visualização e compartilhamento de\n"
-"    repositórios. É recomendado utilizar um servidor web propriamente dito\n"
-"    para compartilhamento mais permanente de repositórios.\n"
-"\n"
+"    should use a real web server if you need to authenticate users."
+msgstr ""
 "    Em particular, este serviço não implementa controle de acesso por\n"
 "    usuário. Na configuração padrão, o acesso de leitura é permitido a\n"
 "    qualquer usuário, e o acesso de escrita é restrito. Defina a opção\n"
 "    ``web.allow_push`` como ``*`` para permitir que qualquer um envie\n"
 "    revisões através deste serviço. Se você precisar autenticar usuários,\n"
-"    você deve usar um servidor web de verdade.\n"
-"\n"
+"    você deve usar um servidor web de verdade."
+
+msgid ""
+"    By default, the server logs accesses to stdout and errors to\n"
+"    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
+"    files.\n"
+"    "
+msgstr ""
 "    Por padrão, o servidor loga cada acesso para stdout, e erros para\n"
 "    stderr. Use as opções -A/--accesslog e -E/--errorlog para logar para\n"
 "    arquivos.\n"
@@ -8860,31 +24729,60 @@
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr "ouvindo em http://%s%s/%s (associado a %s:%d)\n"
 
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr "exibe arquivos alterados no diretório de trabalho"
+
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+"    Exibe o estado dos arquivos no repositório. Se nomes forem\n"
+"    fornecidos, apenas arquivos que casarem serão exibidos. Arquivos\n"
+"    sem modificações, ignorados ou origens de uma cópia ou renomeação\n"
+"    não são listados, a não ser que -c/--clean (sem modificações),\n"
+"    -i/--ignored (ignorados), -C/--copies (cópias) ou -A/-all (todos)\n"
+"    sejam passados. A não ser que as opções descritas como \"mostra\n"
+"    apenas ...\" sejam passadas, as opções -mardu serão usadas."
+
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+"    A opção -q/--quiet esconde arquivos não rastreados (desconhecidos\n"
+"    ou ignorados) a não ser que estes sejam pedidos explicitamente\n"
+"    com -u/--unknown (desconhecidos) ou -i/--ignored (ignorados)."
+
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+"    NOTA: o comando status pode aparentemente discordar do comando\n"
+"    diff se ocorrer uma mudança de permissões ou uma mesclagem. O\n"
+"    formato diff padrão não informa mudanças de permissão e o\n"
+"    comando diff informa apenas mudanças relativas a um pai da\n"
+"    mesclagem."
+
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
 "    shown. The --change option can also be used as a shortcut to list\n"
-"    the changed files of a revision from its first parent.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    the changed files of a revision from its first parent."
+msgstr ""
+"    Se uma revisão for dada, será usada como revisão base. Se duas\n"
+"    revisões forem dadas, serão mostradas as diferenças entre elas.\n"
+"    A opção --change pode ser usada como atalho para listar os\n"
+"    arquivos de uma revisão com mudanças em relação a seu primeiro pai."
+
+msgid "    The codes used to show the status of files are::"
+msgstr "    Os códigos usados para exibir o estado dos arquivos são::"
+
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -8895,33 +24793,6 @@
 "        = origin of the previous file listed as A (added)\n"
 "    "
 msgstr ""
-"exibe arquivos alterados no diretório de trabalho\n"
-"\n"
-"    Exibe o estado dos arquivos no repositório. Se nomes forem\n"
-"    fornecidos, apenas arquivos que casarem serão exibidos. Arquivos\n"
-"    sem modificações, ignorados ou origens de uma cópia ou renomeação\n"
-"    não são listados, a não ser que -c/--clean (sem modificações),\n"
-"    -i/--ignored (ignorados), -C/--copies (cópias) ou -A/-all (todos)\n"
-"    sejam passados. A não ser que as opções descritas como \"mostra\n"
-"    apenas ...\" sejam passadas, as opções -mardu serão usadas.\n"
-"\n"
-"    A opção -q/--quiet esconde arquivos não rastreados (desconhecidos\n"
-"    ou ignorados) a não ser que estes sejam pedidos explicitamente\n"
-"    com -u/--unknown (desconhecidos) ou -i/--ignored (ignorados).\n"
-"\n"
-"    NOTA: o comando status pode aparentemente discordar do comando\n"
-"    diff se ocorrer uma mudança de permissões ou uma mesclagem. O\n"
-"    formato diff padrão não informa mudanças de permissão e o\n"
-"    comando diff informa apenas mudanças relativas a um pai da\n"
-"    mesclagem.\n"
-"\n"
-"    Se uma revisão for dada, será usada como revisão base. Se duas\n"
-"    revisões forem dadas, serão mostradas as diferenças entre elas.\n"
-"    A opção --change pode ser usada como atalho para listar os\n"
-"    arquivos de uma revisão com mudanças em relação a seu primeiro pai.\n"
-"\n"
-"    Os códigos usados para exibir o estado dos arquivos são::\n"
-"\n"
 "      M = modificado\n"
 "      A = adicionado\n"
 "      R = removido\n"
@@ -8933,22 +24804,22 @@
 "        = origem do arquivo anterior listado como A (adicionado)\n"
 "    "
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr "sumariza o estado do diretório de trabalho"
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+"    Isto gera um breve sumário do estado do diretório de trabalho,\n"
+"    incluindo pais, ramo, status de consolidação e atualizações\n"
+"    disponíveis."
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
 msgstr ""
-"sumariza o estado do diretório de trabalho\n"
-"\n"
-"    Isto gera um breve sumário do estado do diretório de trabalho,\n"
-"    incluindo pais, ramo, status de consolidação e atualizações\n"
-"    disponíveis.\n"
-"\n"
 "    Com a opção --remote, isto verificará no caminho default mudanças ainda\n"
 "    não sincronizadas. Isto pode levar algum tempo.\n"
 "    "
@@ -9036,50 +24907,43 @@
 msgid "remote: (synced)\n"
 msgstr "remoto: (sincronizado)\n"
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr "adiciona uma ou mais etiquetas à revisão atual ou pedida"
+
+msgid "    Name a particular revision using <name>."
+msgstr "    Nomeia uma determinada revisão usando <nome>."
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+"    Etiquetas são usadas para nomear determinadas revisões do\n"
+"    repositório e são muito úteis para comparar diferentes revisões,\n"
+"    para voltar para versões significativas anteriores ou para marcar\n"
+"    pontos de ramificação para versões de distribuição, etc."
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+"    Se a revisão não for fornecida, será usada a revisão pai do\n"
+"    diretório de trabalho, ou a tip se a cópia de trabalho não\n"
+"    estiver em uma revisão."
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"adiciona uma ou mais etiquetas à revisão atual ou pedida\n"
-"\n"
-"    Nomeia uma determinada revisão usando <nome>.\n"
-"\n"
-"    Etiquetas são usadas para nomear determinadas revisões do\n"
-"    repositório e são muito úteis para comparar diferentes revisões,\n"
-"    para voltar para versões significativas anteriores ou para marcar\n"
-"    pontos de ramificação para versões de distribuição, etc.\n"
-"\n"
-"    Se a revisão não for fornecida, será usada a revisão pai do\n"
-"    diretório de trabalho, ou a tip se a cópia de trabalho não\n"
-"    estiver em uma revisão.\n"
-"\n"
+"    shared among repositories)."
+msgstr ""
 "    Para facilitar o controle de versão, a distribuição e a\n"
 "    mesclagem de etiquetas, elas são armazenadas em um arquivo\n"
 "    chamado \".hgtags\" que é gerenciado de forma similar a\n"
 "    outros arquivos do projeto, e pode ser editado manualmente se\n"
 "    necessário. O arquivo '.hg/localtags' é usado para etiquetas\n"
-"    locais (não compartilhadas entre repositórios).\n"
-"\n"
-"    Veja 'hg help dates' para uma lista de formatos válidos para\n"
-"    -d/--date.\n"
-"    "
+"    locais (não compartilhadas entre repositórios)."
 
 msgid "tag names must be unique"
 msgstr "nomes de etiqueta devem ser únicos"
@@ -9103,39 +24967,38 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr "a etiqueta '%s' já existe (use -f para forçar)"
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr "lista as etiquetas do repositório"
+
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
-"lista as etiquetas do repositório\n"
-"\n"
 "    Lista tanto etiquetas regulares como locais. Se a opção\n"
 "    -v/--verbose for usada, uma terceira coluna \"local\" é impressa\n"
 "    para etiquetas locais.\n"
 "    "
 
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr "exibe a revisão mais recente"
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+"    A revisão tip (tipicamente chamada apenas de tip) é a revisão\n"
+"    adicionada mais recentemente ao repositório (e portanto a cabeça\n"
+"    modificada mais recentemente."
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
 "    and cannot be renamed or assigned to a different changeset.\n"
 "    "
 msgstr ""
-"exibe a revisão mais recente\n"
-"\n"
-"    A revisão tip (tipicamente chamada apenas de tip) é a revisão\n"
-"    adicionada mais recentemente ao repositório (e portanto a cabeça\n"
-"    modificada mais recentemente.\n"
-"\n"
 "    Se você acabou de fazer uma consolidação, essa consolidação será\n"
 "    a tip. Se você acabou de trazer revisões de outro repositório, a\n"
 "    tip desse repositório será a tip do atual. A etiqueta \"tip\" é\n"
@@ -9143,32 +25006,45 @@
 "    revisão.\n"
 "    "
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr "aplica um ou mais arquivos de changegroup"
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
-"aplica um ou mais arquivos de changegroup\n"
-"\n"
 "    Aplica um ou mais arquivos comprimidos de changegroup gerados pelo\n"
 "    comando bundle.\n"
 "    "
 
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr "atualiza o diretório de trabalho"
+
+msgid ""
 "    Update the repository's working directory to the specified\n"
-"    changeset.\n"
-"\n"
+"    changeset."
+msgstr ""
+"    Atualiza o diretório de trabalho do repositório para a revisão\n"
+"    pedida."
+
+msgid ""
 "    If no changeset is specified, attempt to update to the head of the\n"
 "    current branch. If this head is a descendant of the working\n"
-"    directory's parent, update to it, otherwise abort.\n"
-"\n"
+"    directory's parent, update to it, otherwise abort."
+msgstr ""
+"    Se nenhuma revisão for especificada, tenta atualizar para a cabeça\n"
+"    do ramo atual. Se esta cabeça for uma descendente do pai do\n"
+"    diretório de trabalho, atualiza para ela, e aborta caso contrário."
+
+msgid ""
 "    The following rules apply when the working directory contains\n"
-"    uncommitted changes:\n"
-"\n"
+"    uncommitted changes:"
+msgstr ""
+"    Quando o diretório de trabalho contiver mudanças não consolidadas, as\n"
+"    seguintes regras se aplicam:"
+
+msgid ""
 "    1. If neither -c/--check nor -C/--clean is specified, and if\n"
 "       the requested changeset is an ancestor or descendant of\n"
 "       the working directory's parent, the uncommitted changes\n"
@@ -9176,35 +25052,8 @@
 "       result is left uncommitted. If the requested changeset is\n"
 "       not an ancestor or descendant (that is, it is on another\n"
 "       branch), the update is aborted and the uncommitted changes\n"
-"       are preserved.\n"
-"\n"
-"    2. With the -c/--check option, the update is aborted and the\n"
-"       uncommitted changes are preserved.\n"
-"\n"
-"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
-"       the working directory is updated to the requested changeset.\n"
-"\n"
-"    Use null as the changeset to remove the working directory (like 'hg\n"
-"    clone -U').\n"
-"\n"
-"    If you want to update just one file to an older changeset, use 'hg "
-"revert'.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"atualiza o diretório de trabalho\n"
-"\n"
-"    Atualiza o diretório de trabalho do repositório para a revisão\n"
-"    pedida.\n"
-"\n"
-"    Se nenhuma revisão for especificada, tenta atualizar para a cabeça\n"
-"    do ramo atual. Se esta cabeça for uma descendente do pai do\n"
-"    diretório de trabalho, atualiza para ela, e aborta caso contrário.\n"
-"\n"
-"    Quando o diretório de trabalho contiver mudanças não consolidadas, as\n"
-"    seguintes regras se aplicam:\n"
-"\n"
+"       are preserved."
+msgstr ""
 "    1. Se nem -c/--check nem -C/--clean forem especificadas, e se a\n"
 "       revisão pedida for um ancestral ou um descendente do pai do\n"
 "       diretório de trabalho, as alterações não consolidadas são\n"
@@ -9212,22 +25061,33 @@
 "       será automaticamente consolidado. Se a revisão pedida não for\n"
 "       um ancestral ou um descendente (ou seja, se estiver em um\n"
 "       outro ramo), a atualização abortará e as mudanças não\n"
-"       consolidadas serão preservadas.\n"
-"\n"
+"       consolidadas serão preservadas."
+
+msgid ""
+"    2. With the -c/--check option, the update is aborted and the\n"
+"       uncommitted changes are preserved."
+msgstr ""
 "    2. Com a opção -c/--check, a atualização abortará e as mudanças\n"
-"       não consolidadas serão preservadas.\n"
-"\n"
+"       não consolidadas serão preservadas."
+
+msgid ""
+"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
+"       the working directory is updated to the requested changeset."
+msgstr ""
 "    3. Com a opção -C/--clean, mudanças não consolidadas são descartadas\n"
-"       e o diretório de trabalho é atualizado para a revisão pedida.\n"
-"\n"
+"       e o diretório de trabalho é atualizado para a revisão pedida."
+
+msgid ""
+"    Use null as the changeset to remove the working directory (like 'hg\n"
+"    clone -U')."
+msgstr ""
 "    Use null como revisão para remover o diretório de trabalho (com um\n"
-"    resultado semelhante a 'hg clone -U').\n"
-"\n"
+"    resultado semelhante a 'hg clone -U')."
+
+msgid "    If you want to update just one file to an older changeset, use 'hg revert'."
+msgstr ""
 "    Se você quiser atualizar apenas um arquivo para uma revisão\n"
-"    anterior, use 'hg revert'.\n"
-"\n"
-"    Veja 'hg help dates' para uma lista de formatos válidos para -d/--date.\n"
-"    "
+"    anterior, use 'hg revert'."
 
 msgid "cannot specify both -c/--check and -C/--clean"
 msgstr "não se pode especificar ao mesmo tempo -c/--check e -C/--clean"
@@ -9235,21 +25095,19 @@
 msgid "uncommitted local changes"
 msgstr "alterações locais pendentes"
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr "verifica a integridade do repositório"
+
+msgid "    Verify the integrity of the current repository."
+msgstr "    Verifica a integridade do repositório atual."
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
 "    integrity of their crosslinks and indices.\n"
 "    "
 msgstr ""
-"verifica a integridade do repositório\n"
-"\n"
-"    Verifica a integridade do repositório atual.\n"
-"\n"
 "    Isto irá realizar uma verificação ampla da integridade do\n"
 "    repositório, validando os hashes e checksums de cada entrada\n"
 "    no changelog, manifesto, e arquivos rastreados, bem como a\n"
@@ -9534,9 +25392,7 @@
 msgstr "[OPÇÃO]... ORIGEM [DEST]"
 
 msgid "mark new/missing files as added/removed before committing"
-msgstr ""
-"marca arquivos novos/ausentes como adicionados/removidos antes da "
-"consolidação"
+msgstr "marca arquivos novos/ausentes como adicionados/removidos antes da consolidação"
 
 msgid "mark a branch as closed, hiding it from the branch list"
 msgstr "marca um ramo como fechado, escondendo-o da lista de ramos"
@@ -9620,9 +25476,7 @@
 msgstr "imprime todas as revisões que casarem"
 
 msgid "follow changeset history, or file history across copies and renames"
-msgstr ""
-"acompanha histórico de revisões, ou histórico de arquivo através de cópias e "
-"renomeações"
+msgstr "acompanha histórico de revisões, ou histórico de arquivo através de cópias e renomeações"
 
 msgid "ignore case when matching"
 msgstr "ignora maiúsculas/minúsculas ao casar"
@@ -9675,12 +25529,8 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr "[-nibt] [-r REV] [ORIGEM]"
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
-msgstr ""
-"opção de remoção de diretório para o patch. Tem o mesmo significado da opção "
-"correspondente do utilitário patch"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
+msgstr "opção de remoção de diretório para o patch. Tem o mesmo significado da opção correspondente do utilitário patch"
 
 msgid "base path"
 msgstr "caminho base"
@@ -9875,9 +25725,7 @@
 msgstr "nome a ser exibido em páginas web (padrão: diretório de trabalho)"
 
 msgid "name of the webdir config file (serve more than one repository)"
-msgstr ""
-"nome do arquivo de configuração do webdir (para servir mais de um "
-"repositório)"
+msgstr "nome do arquivo de configuração do webdir (para servir mais de um repositório)"
 
 msgid "for remote clients"
 msgstr "para clientes remotos"
@@ -10151,12 +25999,8 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr "A opção --cwd não pode ser abreviada!"
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
-msgstr ""
-"A opção -R deve ser separada de outras opções (por exemplo, não usar -qR) e "
-"--repository pode ser abreviada apenas como --repo!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
+msgstr "A opção -R deve ser separada de outras opções (por exemplo, não usar -qR) e --repository pode ser abreviada apenas como --repo!"
 
 #, python-format
 msgid "Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n"
@@ -10173,12 +26017,8 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr "formato de profiling '%s' não reconhecido - Ignorado\n"
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
-msgstr ""
-"lsprof não disponível - instale de http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
+msgstr "lsprof não disponível - instale de http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
 
 #, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
@@ -10287,10 +26127,24 @@
 
 msgid ""
 "Mercurial reads configuration data from several files, if they exist.\n"
-"Below we list the most specific file first.\n"
-"\n"
-"On Windows, these configuration files are read:\n"
-"\n"
+"Below we list the most specific file first."
+msgstr ""
+"O Mercurial lê dados de configuração de váris arquivos, se existirem.\n"
+"Abaixo listamos os arquivos mais específicos primeiro."
+
+msgid "On Windows, these configuration files are read:"
+msgstr "No Windows, estes arquivos de configuração são lidos:"
+
+msgid ""
+"- ``<repo>\\.hg\\hgrc``\n"
+"- ``%USERPROFILE%\\.hgrc``\n"
+"- ``%USERPROFILE%\\Mercurial.ini``\n"
+"- ``%HOME%\\.hgrc``\n"
+"- ``%HOME%\\Mercurial.ini``\n"
+"- ``C:\\Mercurial\\Mercurial.ini``\n"
+"- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
+"- ``<install-dir>\\Mercurial.ini``"
+msgstr ""
 "- ``<repo>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -10298,78 +26152,74 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<install-dir>\\Mercurial.ini``\n"
-"\n"
-"On Unix, these files are read:\n"
-"\n"
+"- ``<install-dir>\\Mercurial.ini``"
+
+msgid "On Unix, these files are read:"
+msgstr "No Unix, estes arquivos são lidos:"
+
+msgid ""
+"- ``<repo>/.hg/hgrc``\n"
+"- ``$HOME/.hgrc``\n"
+"- ``/etc/mercurial/hgrc``\n"
+"- ``/etc/mercurial/hgrc.d/*.rc``\n"
+"- ``<install-root>/etc/mercurial/hgrc``\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+msgstr ""
 "- ``<repo>/.hg/hgrc``\n"
 "- ``$HOME/.hgrc``\n"
 "- ``/etc/mercurial/hgrc``\n"
 "- ``/etc/mercurial/hgrc.d/*.rc``\n"
 "- ``<install-root>/etc/mercurial/hgrc``\n"
-"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+
+msgid ""
 "The configuration files for Mercurial use a simple ini-file format. A\n"
 "configuration file consists of sections, led by a ``[section]`` header\n"
-"and followed by ``name = value`` entries::\n"
-"\n"
+"and followed by ``name = value`` entries::"
+msgstr ""
+"Os arquivos de configuração do Mercurial usam um simples formato ini.\n"
+"Um arquivo de configuração consiste de seções iniciadas por um\n"
+"cabeçalho ``[seção]`` seguidas por entradas ``nome = valor``::"
+
+msgid ""
 "  [ui]\n"
 "  username = Firstname Lastname <firstname.lastname@example.net>\n"
-"  verbose = True\n"
-"\n"
+"  verbose = True"
+msgstr ""
+"  [ui]\n"
+"  username = Primeironome Sobrenome <primeironome.sobrenome@exemplo.net>\n"
+"  verbose = True"
+
+msgid ""
 "This above entries will be referred to as ``ui.username`` and\n"
 "``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
-"description of the possible configuration values:\n"
-"\n"
+"description of the possible configuration values:"
+msgstr ""
+"As entradas acima são referidas como ``ui.username`` e\n"
+"``ui.verbose``, respectivamente. Por favor veja a página de manual hgrc\n"
+"para uma descrição completa dos possíveis valores de configuração:"
+
+msgid ""
 "- on Unix-like systems: ``man hgrc``\n"
 "- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
 msgstr ""
-"O Mercurial lê dados de configuração de váris arquivos, se existirem.\n"
-"Abaixo listamos os arquivos mais específicos primeiro.\n"
-"\n"
-"No Windows, estes arquivos de configuração são lidos:\n"
-"\n"
-"- ``<repo>\\.hg\\hgrc``\n"
-"- ``%USERPROFILE%\\.hgrc``\n"
-"- ``%USERPROFILE%\\Mercurial.ini``\n"
-"- ``%HOME%\\.hgrc``\n"
-"- ``%HOME%\\Mercurial.ini``\n"
-"- ``C:\\Mercurial\\Mercurial.ini``\n"
-"- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<install-dir>\\Mercurial.ini``\n"
-"\n"
-"No Unix, estes arquivos são lidos:\n"
-"\n"
-"- ``<repo>/.hg/hgrc``\n"
-"- ``$HOME/.hgrc``\n"
-"- ``/etc/mercurial/hgrc``\n"
-"- ``/etc/mercurial/hgrc.d/*.rc``\n"
-"- ``<install-root>/etc/mercurial/hgrc``\n"
-"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
-"Os arquivos de configuração do Mercurial usam um simples formato ini.\n"
-"Um arquivo de configuração consiste de seções iniciadas por um\n"
-"cabeçalho ``[seção]`` seguidas por entradas ``nome = valor``::\n"
-"\n"
-"  [ui]\n"
-"  username = Primeironome Sobrenome <primeironome.sobrenome@exemplo.net>\n"
-"  verbose = True\n"
-"\n"
-"As entradas acima são referidas como ``ui.username`` e\n"
-"``ui.verbose``, respectivamente. Por favor veja a página de manual hgrc\n"
-"para uma descrição completa dos possíveis valores de configuração:\n"
-"\n"
 "- em sistemas semelhantes ao Unix: ``man hgrc``\n"
 "- na Internet: http://www.selenic.com/mercurial/hgrc.5.html\n"
 
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr "Alguns comandos permitem ao usuário especificar uma data, como:"
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples:\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+"- backout, commit, import, tag: Especificar a data de consolidação.\n"
+"- log, revert, update: Selecionar revisões por data."
+
+msgid "Many date formats are valid. Here are some examples:"
+msgstr "Muitos formatos de data são válidos. Eis alguns exemplos:"
+
+msgid ""
 "- ``Wed Dec 6 13:18:29 2006`` (local timezone assumed)\n"
 "- ``Dec 6 13:18 -0600`` (year assumed, time offset provided)\n"
 "- ``Dec 6 13:18 UTC`` (UTC and GMT are aliases for +0000)\n"
@@ -10382,31 +26232,8 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format:\n"
-"\n"
-"- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
-"This is the internal representation format for dates. unixtime is the\n"
-"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
-"the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges:\n"
-"\n"
-"- ``<{datetime}`` - at or before a given date/time\n"
-"- ``>{datetime}`` - on or after a given date/time\n"
-"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
-"- ``-{days}`` - within a given number of days of today\n"
-msgstr ""
-"Alguns comandos permitem ao usuário especificar uma data, como:\n"
-"\n"
-"- backout, commit, import, tag: Especificar a data de consolidação.\n"
-"- log, revert, update: Selecionar revisões por data.\n"
-"\n"
-"Muitos formatos de data são válidos. Eis alguns exemplos:\n"
-"\n"
+"- ``12/6/6`` (Dec 6 2006)"
+msgstr ""
 "- ``Wed Dec 6 13:18:29 2006`` (assumido fuso horário local)\n"
 "- ``Dec 6 13:18 -0600`` (ano atual, defasagem de horário local fornecida)\n"
 "- ``Dec 6 13:18 UTC`` (UTC e GMT são apelidos para +0000)\n"
@@ -10419,19 +26246,34 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (Dec 6 2006)\n"
-"\n"
-"E por fim, há um formato interno do Mercurial:\n"
-"\n"
-"- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
+"- ``12/6/6`` (Dec 6 2006)"
+
+msgid "Lastly, there is Mercurial's internal format:"
+msgstr "E por fim, há um formato interno do Mercurial:"
+
+msgid "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
+
+msgid ""
+"This is the internal representation format for dates. unixtime is the\n"
+"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
+"the offset of the local timezone, in seconds west of UTC (negative if\n"
+"the timezone is east of UTC)."
+msgstr ""
 "Este é o formato interno de representação de datas. unixtime é\n"
 "o número de segundos desde a epoch (1970-01-01 00:00 UTC). offset\n"
 "é a defasagem do fuso horário local, em segundos a oeste de UTC\n"
-"(negativo para fusos horários a leste de UTC).\n"
-"\n"
-"O comando log também aceita intervalos de data:\n"
-"\n"
+"(negativo para fusos horários a leste de UTC)."
+
+msgid "The log command also accepts date ranges:"
+msgstr "O comando log também aceita intervalos de data:"
+
+msgid ""
+"- ``<{datetime}`` - at or before a given date/time\n"
+"- ``>{datetime}`` - on or after a given date/time\n"
+"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
+"- ``-{days}`` - within a given number of days of today\n"
+msgstr ""
 "- ``<{date}`` - na data fornecida, ou anterior\n"
 "- ``>{date}`` - na data fornecida, ou posterior\n"
 "- ``{date} to {date}`` - um intervalo de data, incluindo os extremos\n"
@@ -10440,52 +26282,51 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+"O formato padrão do Mercurial para exibir mudanças entre duas\n"
+"versões de um arquivo é compatível com o formato unified do GNU\n"
+"diff, que pode ser usado pelo GNU patch e muitos outros\n"
+"utilitários padrão."
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr ""
+"Apesar de esse formato padrão ser muitas vezes suficiente, ele\n"
+"não codifica as seguintes informações:"
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+"- bits de execução e permissão\n"
+"- informação de cópia ou renomeação\n"
+"- mudanças em arquivos binários\n"
+"- criação ou remoção de arquivos vazios"
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+"O Mercurial também suporta o formato diff estendido do VCS git\n"
+"que trata dessas limitações. O formato git diff não é\n"
+"produzido por padrão porque há muito poucas ferramentas que\n"
+"entendem esse formato."
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
-"To make Mercurial produce the git extended diff format, use the --git\n"
-"option available for many commands, or set 'git = True' in the [diff]\n"
-"section of your hgrc. You do not need to set this option when\n"
-"importing diffs in this format or using them in the mq extension.\n"
-msgstr ""
-"O formato padrão do Mercurial para exibir mudanças entre duas\n"
-"versões de um arquivo é compatível com o formato unified do GNU\n"
-"diff, que pode ser usado pelo GNU patch e muitos outros\n"
-"utilitários padrão.\n"
-"\n"
-"Apesar de esse formato padrão ser muitas vezes suficiente, ele\n"
-"não codifica as seguintes informações:\n"
-"\n"
-"- bits de execução e permissão\n"
-"- informação de cópia ou renomeação\n"
-"- mudanças em arquivos binários\n"
-"- criação ou remoção de arquivos vazios\n"
-"\n"
-"O Mercurial também suporta o formato diff estendido do VCS git\n"
-"que trata dessas limitações. O formato git diff não é\n"
-"produzido por padrão porque há muito poucas ferramentas que\n"
-"entendem esse formato.\n"
-"\n"
+"format for communicating changes."
+msgstr ""
 "Isso quer dizer que ao gerar diffs de um repositório do Mercurial\n"
 "(por exemplo, com \"hg export\"), você deve tomar cuidado com por\n"
 "exemplo cópias e renomeações de arquivos ou outras coisas\n"
@@ -10493,8 +26334,14 @@
 "aplicar um diff padrão em um outro repositório. As operações\n"
 "internas do Mercurial (como push e pull) não são afetadas por\n"
 "isso, porque usam um formato binário interno para comunicar\n"
-"mudanças.\n"
-"\n"
+"mudanças."
+
+msgid ""
+"To make Mercurial produce the git extended diff format, use the --git\n"
+"option available for many commands, or set 'git = True' in the [diff]\n"
+"section of your hgrc. You do not need to set this option when\n"
+"importing diffs in this format or using them in the mq extension.\n"
+msgstr ""
 "Para fazer com que o Mercurial produza o formato estendido git\n"
 "diff, use a opção --git disponível para vários comandos, ou\n"
 "defina 'git = True' na seção [diff] de seu hgrc. Você não precisa\n"
@@ -10507,106 +26354,47 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+"HG\n"
+"    Caminho para o executável 'hg', automaticamente passado na\n"
+"    execução de ganchos, extensões ou ferramentas externas. Se não\n"
+"    definido ou vazio, um executável chamado 'hg' (com a extensão\n"
+"    com/exe/bat/cmd no Windows) é procurado."
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+"HGEDITOR\n"
+"    Este é o nome do editor usado em consolidações. Veja EDITOR."
+
+msgid "    (deprecated, use .hgrc)"
+msgstr "    (obsoleto, use .hgrc)"
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+"HGENCODING\n"
+"    É usado no lugar da configuração padrão de locale detectada\n"
+"    pelo Mercurial. Essa configuração é usada para converter dados\n"
+"    como nomes de usuário, descrições de revisões, nomes de\n"
+"    etiqueta e ramos. Essa configuração pode ser sobreposta com a\n"
+"    opção --encoding na linha de comando."
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
-"HGMERGE\n"
-"    An executable to use for resolving merge conflicts. The program\n"
-"    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"HGRCPATH\n"
-"    A list of files or directories to search for hgrc files. Item\n"
-"    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
-"    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
-"    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
-"HGPLAIN\n"
-"    When set, this disables any options in .hgrc that might change\n"
-"    Mercurial's default output. This includes encoding, defaults,\n"
-"    verbose mode, debug mode, quiet mode, tracebacks, and\n"
-"    localization. This can be useful when scripting against Mercurial\n"
-"    in the face of existing user configuration.\n"
-"\n"
-"    Equivalent options set via command line flags or environment\n"
-"    variables are not overridden.\n"
-"\n"
-"HGUSER\n"
-"    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
-"    - HGUSER (deprecated)\n"
-"    - hgrc files from the HGRCPATH\n"
-"    - EMAIL\n"
-"    - interactive prompt\n"
-"    - LOGNAME (with ``@hostname`` appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
-"LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
-"VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
-"EDITOR\n"
-"    Sometimes Mercurial needs to open a text file in an editor for a\n"
-"    user to modify, for example when writing commit messages. The\n"
-"    editor it uses is determined by looking at the environment\n"
-"    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
-"    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
-"PYTHONPATH\n"
-"    This is used by Python to find imported modules and may need to be\n"
-"    set appropriately if this Mercurial is not installed system-wide.\n"
-msgstr ""
-"HG\n"
-"    Caminho para o executável 'hg', automaticamente passado na\n"
-"    execução de ganchos, extensões ou ferramentas externas. Se não\n"
-"    definido ou vazio, um executável chamado 'hg' (com a extensão\n"
-"    com/exe/bat/cmd no Windows) é procurado.\n"
-"\n"
-"HGEDITOR\n"
-"    Este é o nome do editor usado em consolidações. Veja EDITOR.\n"
-"\n"
-"    (obsoleto, use .hgrc)\n"
-"\n"
-"HGENCODING\n"
-"    É usado no lugar da configuração padrão de locale detectada\n"
-"    pelo Mercurial. Essa configuração é usada para converter dados\n"
-"    como nomes de usuário, descrições de revisões, nomes de\n"
-"    etiqueta e ramos. Essa configuração pode ser sobreposta com a\n"
-"    opção --encoding na linha de comando.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
 "HGENCODINGMODE\n"
 "    Essa configuração ajusta o comportamento do Mercurial no\n"
 "    tratamento de caracteres desconhecidos, ao codificar entradas do\n"
@@ -10614,69 +26402,133 @@
 "    aborte se ele não puder traduzir um caractere. Outros valores\n"
 "    incluem \"replace\", que substitui caracteres desconhecidos, e\n"
 "    \"ignore\", que os descarta. Essa configuração pode ser\n"
-"    sobreposta com a opção --encodingmode na linha de comando.\n"
-"\n"
+"    sobreposta com a opção --encodingmode na linha de comando."
+
+msgid ""
+"HGMERGE\n"
+"    An executable to use for resolving merge conflicts. The program\n"
+"    will be executed with three arguments: local file, remote file,\n"
+"    ancestor file."
+msgstr ""
 "HGMERGE\n"
 "    Um executável a ser usado para solucionar conflitos de mesclagem.\n"
 "    O programa será executado com três argumentos: arquivo local,\n"
-"    arquivo remoto, arquivo ancestral.\n"
-"\n"
-"    (obsoleta, use .hgrc)\n"
-"\n"
+"    arquivo remoto, arquivo ancestral."
+
+msgid ""
+"HGRCPATH\n"
+"    A list of files or directories to search for hgrc files. Item\n"
+"    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
+"    platform default search path is used. If empty, only the .hg/hgrc\n"
+"    from the current repository is read."
+msgstr ""
 "HGRCPATH\n"
 "    Uma lista de arquivos ou diretórios onde procurar arquivos hgrc.\n"
 "    O separador de itens é \":\" em Unix, \";\" no Windows. Se\n"
 "    HGRCPATH não estiver definido, o caminho de busca padrão da\n"
 "    plataforma será usado. Se vazio, será lido apenas .hg/hgrc no\n"
-"    repositório atual.\n"
-"\n"
-"    Para cada elemento em HGRCPATH:\n"
-"\n"
+"    repositório atual."
+
+msgid "    For each element in HGRCPATH:"
+msgstr "    Para cada elemento em HGRCPATH:"
+
+msgid ""
+"    - if it's a directory, all files ending with .rc are added\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
 "    - se for um diretório, todos os arquivos nesse diretório\n"
 "      terminados por \".rc\" serão adicionados\n"
-"    - caso contrário, o próprio arquivo será adicionado\n"
-"\n"
+"    - caso contrário, o próprio arquivo será adicionado"
+
+msgid ""
+"HGPLAIN\n"
+"    When set, this disables any options in .hgrc that might change\n"
+"    Mercurial's default output. This includes encoding, defaults,\n"
+"    verbose mode, debug mode, quiet mode, tracebacks, and\n"
+"    localization. This can be useful when scripting against Mercurial\n"
+"    in the face of existing user configuration."
+msgstr ""
 "HGPLAIN\n"
 "    Se definido, desabilita qualquer opção em .hgrc que possa mudar\n"
 "    a saída padrão do Mercurial. Isto inclui codificação, seção defaults,\n"
 "    modo verboso, modo debug, modo silencioso, adições de tracebacks\n"
 "    e localização. Isto pode ser útil para a inclusão do Mercurial em\n"
-"    scipts para compensar mudanças de configuração feitas pelo usuário.\n"
-"\n"
+"    scipts para compensar mudanças de configuração feitas pelo usuário."
+
+msgid ""
+"    Equivalent options set via command line flags or environment\n"
+"    variables are not overridden."
+msgstr ""
 "    Opções equivalentes definidas pela linha de comando ou variáveis de\n"
-"    ambiente não serão sobrepostas.\n"
-"\n"
+"    ambiente não serão sobrepostas."
+
+msgid ""
+"HGUSER\n"
+"    This is the string used as the author of a commit. If not set,\n"
+"    available values will be considered in this order:"
+msgstr ""
 "HGUSER\n"
 "    Esta é a string usada para o autor de uma consolidação.\n"
 "    Se não for definida, valores disponíveis serão considerados na\n"
-"    seguinte ordem:\n"
-"\n"
+"    seguinte ordem:"
+
+msgid ""
+"    - HGUSER (deprecated)\n"
+"    - hgrc files from the HGRCPATH\n"
+"    - EMAIL\n"
+"    - interactive prompt\n"
+"    - LOGNAME (with ``@hostname`` appended)"
+msgstr ""
 "    - HGUSER (obsoleto)\n"
 "    - arquivos hgrc no HGRCPATH\n"
 "    - EMAIL\n"
 "    - consulta interativa\n"
-"    - LOGNAME (com ``@hostname`` anexado)\n"
-"\n"
-"    (obsoleto, use .hgrc)\n"
-"\n"
+"    - LOGNAME (com ``@hostname`` anexado)"
+
+msgid ""
+"EMAIL\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
 "EMAIL\n"
-"    Pode ser usado como autor de consolidações; veja HGUSER.\n"
-"\n"
+"    Pode ser usado como autor de consolidações; veja HGUSER."
+
+msgid ""
+"LOGNAME\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
 "LOGNAME\n"
-"    Pode ser usado como autor de consolidações; veja HGUSER.\n"
-"\n"
+"    Pode ser usado como autor de consolidações; veja HGUSER."
+
+msgid ""
+"VISUAL\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
 "VISUAL\n"
 "    Este é o nome do editor a ser usado em consolidações. Veja\n"
-"    EDITOR.\n"
-"\n"
+"    EDITOR."
+
+msgid ""
+"EDITOR\n"
+"    Sometimes Mercurial needs to open a text file in an editor for a\n"
+"    user to modify, for example when writing commit messages. The\n"
+"    editor it uses is determined by looking at the environment\n"
+"    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
+"    non-empty one is chosen. If all of them are empty, the editor\n"
+"    defaults to 'vi'."
+msgstr ""
 "EDITOR\n"
 "    Algumas vezes o Mercurial precisa abrir em um editor um arquivo\n"
 "    texto para ser modificado por um usuário, por exemplo ao escrever\n"
 "    mensagens de consolidação. O editor usado é determinado pela\n"
 "    consulta às variáveis de ambiente HGEDITOR, VISUAL e EDITOR,\n"
 "    nessa ordem. O primeiro valor não vazio é escolhido. Se todos\n"
-"    estiverem vazios, o editor será o 'vi'.\n"
-"\n"
+"    estiverem vazios, o editor será o 'vi'."
+
+msgid ""
+"PYTHONPATH\n"
+"    This is used by Python to find imported modules and may need to be\n"
+"    set appropriately if this Mercurial is not installed system-wide.\n"
+msgstr ""
 "PYTHONPATH\n"
 "    Isto é usado pelo Python para localizar módulos importados, e\n"
 "    pode precisar ser ajustado apropriadamente se o Mercurial não\n"
@@ -10686,66 +26538,72 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+"O Mercurial possui um mecanismo para adicionar novas\n"
+"funcionalidades através do uso de extensões. Extensões podem\n"
+"adicionar novos comandos, adicionar novas opções a comandos\n"
+"existentes ou implementar ganchos."
+
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
-"To enable the \"foo\" extension, either shipped with Mercurial or in\n"
-"the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
-"  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
-"  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
-"To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
-"  [extensions]\n"
-"  # disabling extension bar residing in /path/to/extension/bar.py\n"
-"  bar = !/path/to/extension/bar.py\n"
-"  # ditto, but no path was supplied for extension baz\n"
-"  baz = !\n"
-msgstr ""
-"O Mercurial possui um mecanismo para adicionar novas\n"
-"funcionalidades através do uso de extensões. Extensões podem\n"
-"adicionar novos comandos, adicionar novas opções a comandos\n"
-"existentes ou implementar ganchos.\n"
-"\n"
+"needed."
+msgstr ""
 "Extensões não são carregadas por padrão por diversas razões:\n"
 "elas podem aumentar o tempo de início ou execução; podem ser\n"
 "destinadas apenas a uso avançado; podem fornecer funcionalidade\n"
 "potencialmente perigosa (por exemplo, modificar ou destruir o\n"
 "histórico); podem ainda não estar prontas para uso geral; ou\n"
 "podem alterar o comportamento padrão do Mercurial. Cabe ao\n"
-"usuário ativar extensões como desejar.\n"
-"\n"
+"usuário ativar extensões como desejar."
+
+msgid ""
+"To enable the \"foo\" extension, either shipped with Mercurial or in\n"
+"the Python search path, create an entry for it in your hgrc, like\n"
+"this::"
+msgstr ""
 "Para habilitar a extensão \"foo\", tanto se for distribuída com\n"
 "o Mercurial como estiver no caminho de busca do Python, crie uma\n"
-"entrada para ela em seu hgrc, da seguinte forma::\n"
-"\n"
+"entrada para ela em seu hgrc, da seguinte forma::"
+
+msgid ""
 "  [extensions]\n"
-"  foo =\n"
-"\n"
+"  foo ="
+msgstr ""
+"  [extensions]\n"
+"  foo ="
+
+msgid "You may also specify the full path to an extension::"
+msgstr ""
 "Você também pode especificar o caminho completo para uma\n"
-"extensão::\n"
-"\n"
+"extensão::"
+
+msgid ""
+"  [extensions]\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
 "  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"  myfeature = ~/.hgext/myfeature.py"
+
+msgid ""
+"To explicitly disable an extension enabled in an hgrc of broader\n"
+"scope, prepend its path with !::"
+msgstr ""
 "Para desabilitar explicitamente uma extensão habilitada em um\n"
-"hgrc de escopo mais amplo, prefixe seu caminho com !::\n"
-"\n"
+"hgrc de escopo mais amplo, prefixe seu caminho com !::"
+
+msgid ""
+"  [extensions]\n"
+"  # disabling extension bar residing in /path/to/extension/bar.py\n"
+"  bar = !/path/to/extension/bar.py\n"
+"  # ditto, but no path was supplied for extension baz\n"
+"  baz = !\n"
+msgstr ""
 "  [extensions]\n"
 "  # desabilita a extensão bar localizada em\n"
 "  # /caminho/para/extensao/bar.py\n"
@@ -10757,113 +26615,116 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+"Quando o Mercurial aceita mais de uma revisão, elas podem ser\n"
+"especificadas individualmente, ou fornecidas como uma seqüência\n"
+"topologicamente contínua, separadas pelo caractere \":\"."
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
-"A range acts as a closed interval. This means that a range of 3:5\n"
-"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
-msgstr ""
-"Quando o Mercurial aceita mais de uma revisão, elas podem ser\n"
-"especificadas individualmente, ou fornecidas como uma seqüência\n"
-"topologicamente contínua, separadas pelo caractere \":\".\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
 "A sintaxe da notação de seqüência é [INÃCIO]:[FIM], onde INÃCIO\n"
 "e FIM são identificadores de revisão. Tanto INÃCIO como FIM são\n"
 "opcionais. Se INÃCIO não for especificado, terá como valor padrão\n"
 "a revisão número 0. Se FIM não for especificado, terá como valor\n"
 "padrão a revisão tip. A seqüência \":\" portanto significa\n"
-"\"todas as revisões\".\n"
-"\n"
+"\"todas as revisões\"."
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
 "Se INÃCIO for maior que FIM, as revisões são tratadas na ordem\n"
-"inversa.\n"
-"\n"
+"inversa."
+
+msgid ""
+"A range acts as a closed interval. This means that a range of 3:5\n"
+"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
+msgstr ""
 "Uma seqüência age como um intervalo fechado. Isso quer dizer que\n"
 "uma seqüência 3:5 nos dá 3, 4 e 5. De forma semelhante, uma\n"
 "seqüência 4:2 nos dá 4, 3, e 2.\n"
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr ""
+"O Mercurial aceita diversas notações para identificar um ou mais\n"
+"arquivos de uma vez."
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+"Por padrão, o Mercurial trata nomes de arquivo como padrões\n"
+"estendidos de glob do shell."
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr ""
+"Notações alternativas de padrões devem ser especificadas\n"
+"explicitamente."
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+"Para usar um nome simples de caminho sem qualquer casamento de\n"
+"padrões, comece o nome com ``path:``. Estes nomes de caminho\n"
+"devem bater completamente, a partir da raiz do repositório\n"
+"atual."
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+"Para usar um glob estendido, comece um nome com ``glob:``. Globs\n"
+"têm como raiz o diretório corrente; um glob como ``*.c`` baterá\n"
+"apenas com arquivos terminados em ``.c`` no diretório corrente."
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+"As sintaxes de extensão do glob suportadas são ``**`` para bater\n"
+"com qualquer string incluindo separadores de caminho, e ``{a,b}``\n"
+"para significar \"a ou b\"."
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+"Para usar uma expressão regular Perl/Python, comece um nome com\n"
+"``re:``. O casamento de padrões por expressão regular é feito a\n"
+"partir do raiz do repositório."
+
+msgid "Plain examples::"
+msgstr "Exemplos de caminhos simples::"
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+"  path:foo/bar   o nome bar em um diretório chamado foo no raiz do\n"
+"                 repositório\n"
+"  path:path:name um arquivo ou diretório chamado \"path:name\""
+
+msgid "Glob examples::"
+msgstr "Exemplos de glob::"
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-"O Mercurial aceita diversas notações para identificar um ou mais\n"
-"arquivos de uma vez.\n"
-"\n"
-"Por padrão, o Mercurial trata nomes de arquivo como padrões\n"
-"estendidos de glob do shell.\n"
-"\n"
-"Notações alternativas de padrões devem ser especificadas\n"
-"explicitamente.\n"
-"\n"
-"Para usar um nome simples de caminho sem qualquer casamento de\n"
-"padrões, comece o nome com ``path:``. Estes nomes de caminho\n"
-"devem bater completamente, a partir da raiz do repositório\n"
-"atual.\n"
-"\n"
-"Para usar um glob estendido, comece um nome com ``glob:``. Globs\n"
-"têm como raiz o diretório corrente; um glob como ``*.c`` baterá\n"
-"apenas com arquivos terminados em ``.c`` no diretório corrente.\n"
-"\n"
-"As sintaxes de extensão do glob suportadas são ``**`` para bater\n"
-"com qualquer string incluindo separadores de caminho, e ``{a,b}``\n"
-"para significar \"a ou b\".\n"
-"\n"
-"Para usar uma expressão regular Perl/Python, comece um nome com\n"
-"``re:``. O casamento de padrões por expressão regular é feito a\n"
-"partir do raiz do repositório.\n"
-"\n"
-"Exemplos de caminhos simples::\n"
-"\n"
-"  path:foo/bar   o nome bar em um diretório chamado foo no raiz do\n"
-"                 repositório\n"
-"  path:path:name um arquivo ou diretório chamado \"path:name\"\n"
-"\n"
-"Exemplos de glob::\n"
-"\n"
+"                 including itself."
+msgstr ""
 "  glob:*.c       qualquer nome terminado por \".c\" no diretório\n"
 "                 atual\n"
 "  *.c            qualquer nome terminado por \".c\" no diretório\n"
@@ -10873,516 +26734,8835 @@
 "  foo/*.c        qualquer nome terminado por \".c\" no diretório\n"
 "                 foo\n"
 "  foo/**.c       qualquer nome terminado por \".c\" no diretório\n"
-"                 foo ou em qualquer subdiretório\n"
-"\n"
-"Exemplos de expressão regular::\n"
-"\n"
+"                 foo ou em qualquer subdiretório"
+
+msgid "Regexp examples::"
+msgstr "Exemplos de expressão regular::"
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr ""
 "  re:.*\\.c$      qualquer nome terminado por \".c\", em qualquer\n"
 "                  lugar no repositório\n"
 
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr ""
+"O Mercurial aceita diversas notações para identificar revisões\n"
+"individuais."
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+"Um simples inteiro é tratado como um número de revisão. Inteiros\n"
+"negativos são contados a partir da tip, com -1 denotando a tip,\n"
+"-2 denotando a revisão anterior à tip, e assim por diante."
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr ""
+"Uma string hexadecimal de 40 dígitos é tratada como um\n"
+"identificador único de revisão."
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+"Uma string hexadecimal de menos de 40 caracteres é tratada como\n"
+"um identificador único de revisão, chamado de identificador\n"
+"curto. Um identificador curto é válido apenas se for o prefixo\n"
+"de um identificador completo."
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+"Qualquer outra string é tratada como um nome de etiqueta ou\n"
+"ramo. Um nome de etiqueta é um nome simbólico associado a um\n"
+"identificador de revisão. Um nome de ramo denota a revisão mais\n"
+"recente de tal ramo. Nomes de etiqueta ou de ramo não podem\n"
+"conter o caractere \":\"."
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+"O nome reservado \"tip\" é uma etiqueta especial que sempre\n"
+"identifica a revisão mais recente."
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+"O nome reservado \"null\" indica a revisão nula. Essa é a revisão\n"
+"de um repositório vazio, e a revisão pai da revisão 0."
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
 "parent.\n"
 msgstr ""
-"O Mercurial aceita diversas notações para identificar revisões\n"
-"individuais.\n"
-"\n"
-"Um simples inteiro é tratado como um número de revisão. Inteiros\n"
-"negativos são contados a partir da tip, com -1 denotando a tip,\n"
-"-2 denotando a revisão anterior à tip, e assim por diante.\n"
-"\n"
-"Uma string hexadecimal de 40 dígitos é tratada como um\n"
-"identificador único de revisão.\n"
-"\n"
-"Uma string hexadecimal de menos de 40 caracteres é tratada como\n"
-"um identificador único de revisão, chamado de identificador\n"
-"curto. Um identificador curto é válido apenas se for o prefixo\n"
-"de um identificador completo.\n"
-"\n"
-"Qualquer outra string é tratada como um nome de etiqueta ou\n"
-"ramo. Um nome de etiqueta é um nome simbólico associado a um\n"
-"identificador de revisão. Um nome de ramo denota a revisão mais\n"
-"recente de tal ramo. Nomes de etiqueta ou de ramo não podem\n"
-"conter o caractere \":\".\n"
-"\n"
-"O nome reservado \"tip\" é uma etiqueta especial que sempre\n"
-"identifica a revisão mais recente.\n"
-"\n"
-"O nome reservado \"null\" indica a revisão nula. Essa é a revisão\n"
-"de um repositório vazio, e a revisão pai da revisão 0.\n"
-"\n"
 "O nome reservado \".\" indica a revisão pai do diretório de\n"
 "trabalho. Se nenhum diretório de trabalho estiver selecionado,\n"
 "será equivalente a null. Se uma mesclagem estiver em progresso,\n"
 "\".\" será a revisão do primeiro pai.\n"
 
+#, fuzzy
 msgid ""
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 "Four styles are packaged with Mercurial: default (the style used\n"
 "when no explicit preference is passed), compact, changelog,\n"
 "and xml.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"Usage::"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
-"    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"expansion::"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
-":author: String. The unmodified author of the changeset.\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":author: String. The unmodified author of the changeset."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":branches: String. The name of the branch on which the changeset was\n"
-"    committed. Will be empty if the branch name was default.\n"
-"\n"
-":date: Date information. The date when the changeset was committed.\n"
-"\n"
-":desc: String. The text of the changeset description.\n"
-"\n"
+"    committed. Will be empty if the branch name was default."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":date: Date information. The date when the changeset was committed."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":desc: String. The text of the changeset description."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":diffstat: String. Statistics of changes with the following format:\n"
-"    \"modified files: +added/-removed lines\"\n"
-"\n"
+"    \"modified files: +added/-removed lines\""
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":files: List of strings. All files modified, added, or removed by this\n"
-"    changeset.\n"
-"\n"
-":file_adds: List of strings. Files added by this changeset.\n"
-"\n"
+"    changeset."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":file_adds: List of strings. Files added by this changeset."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":file_copies: List of strings. Files copied in this changeset with\n"
-"    their sources.\n"
-"\n"
+"    their sources."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
-"    only if the --copied switch is set.\n"
-"\n"
-":file_mods: List of strings. Files modified by this changeset.\n"
-"\n"
-":file_dels: List of strings. Files removed by this changeset.\n"
-"\n"
+"    only if the --copied switch is set."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":file_mods: List of strings. Files modified by this changeset."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":file_dels: List of strings. Files removed by this changeset."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":node: String. The changeset identification hash, as a 40-character\n"
-"    hexadecimal string.\n"
-"\n"
-":parents: List of strings. The parents of the changeset.\n"
-"\n"
-":rev: Integer. The repository-local changeset revision number.\n"
-"\n"
-":tags: List of strings. Any tags associated with the changeset.\n"
-"\n"
+"    hexadecimal string."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":parents: List of strings. The parents of the changeset."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":rev: Integer. The repository-local changeset revision number."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":tags: List of strings. Any tags associated with the changeset."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
-"    changeset.\n"
-"\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+"    changeset."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. Be sure to use the stringify filter first when you're\n"
 "applying a string-input filter to a list-like input variable.\n"
-"You can also use a chain of filters to get the desired output::\n"
-"\n"
-"   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"You can also use a chain of filters to get the desired output::"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid "List of filters:"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
-"    every line except the last.\n"
-"\n"
+"    every line except the last."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":age: Date. Returns a human-readable date/time difference between the\n"
-"    given date/time and the current date/time.\n"
-"\n"
+"    given date/time and the current date/time."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":basename: Any text. Treats the text as a path, and returns the last\n"
 "    component of the path after splitting by the path separator\n"
 "    (ignoring trailing separators). For example, \"foo/bar/baz\" becomes\n"
-"    \"baz\" and \"foo/bar//\" becomes \"bar\".\n"
-"\n"
+"    \"baz\" and \"foo/bar//\" becomes \"bar\"."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":stripdir: Treat the text as path and strip a directory level, if\n"
-"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\".\n"
-"\n"
+"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\"."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":date: Date. Returns a date in a Unix date format, including the\n"
-"    timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
-"\n"
+"    timezone: \"Mon Sep 04 15:13:13 2006 0700\"."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":domain: Any text. Finds the first string that looks like an email\n"
 "    address, and extracts just the domain component. Example: ``User\n"
-"    <user@example.com>`` becomes ``example.com``.\n"
-"\n"
+"    <user@example.com>`` becomes ``example.com``."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":email: Any text. Extracts the first string that looks like an email\n"
 "    address. Example: ``User <user@example.com>`` becomes\n"
-"    ``user@example.com``.\n"
-"\n"
+"    ``user@example.com``."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":escape: Any text. Replaces the special XML/XHTML characters \"&\", \"<\"\n"
-"    and \">\" with XML entities.\n"
-"\n"
-":fill68: Any text. Wraps the text to fit in 68 columns.\n"
-"\n"
-":fill76: Any text. Wraps the text to fit in 76 columns.\n"
-"\n"
-":firstline: Any text. Returns the first line of text.\n"
-"\n"
-":nonempty: Any text. Returns '(none)' if the string is empty.\n"
-"\n"
+"    and \">\" with XML entities."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":fill68: Any text. Wraps the text to fit in 68 columns."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":fill76: Any text. Wraps the text to fit in 76 columns."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":firstline: Any text. Returns the first line of text."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":nonempty: Any text. Returns '(none)' if the string is empty."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":hgdate: Date. Returns the date as a pair of numbers: \"1157407993\n"
-"    25200\" (Unix timestamp, timezone offset).\n"
-"\n"
+"    25200\" (Unix timestamp, timezone offset)."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":isodate: Date. Returns the date in ISO 8601 format: \"2009-08-18 13:00\n"
-"    +0200\".\n"
-"\n"
+"    +0200\"."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":isodatesec: Date. Returns the date in ISO 8601 format, including\n"
 "    seconds: \"2009-08-18 13:00:13 +0200\". See also the rfc3339date\n"
-"    filter.\n"
-"\n"
-":localdate: Date. Converts a date to local date.\n"
-"\n"
+"    filter."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":localdate: Date. Converts a date to local date."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":obfuscate: Any text. Returns the input text rendered as a sequence of\n"
-"    XML entities.\n"
-"\n"
-":person: Any text. Returns the text before an email address.\n"
-"\n"
+"    XML entities."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":person: Any text. Returns the text before an email address."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":rfc822date: Date. Returns a date using the same format used in email\n"
-"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
-"\n"
+"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\"."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":rfc3339date: Date. Returns a date using the Internet date format\n"
-"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n"
-"\n"
+"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\"."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":short: Changeset hash. Returns the short form of a changeset hash,\n"
-"    i.e. a 12-byte hexadecimal string.\n"
-"\n"
-":shortdate: Date. Returns a date like \"2006-09-18\".\n"
-"\n"
-":strip: Any text. Strips all leading and trailing whitespace.\n"
-"\n"
+"    i.e. a 12-byte hexadecimal string."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":shortdate: Date. Returns a date like \"2006-09-18\"."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":strip: Any text. Strips all leading and trailing whitespace."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":tabindent: Any text. Returns the text, with every line except the\n"
-"     first starting with a tab character.\n"
-"\n"
+"     first starting with a tab character."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ""
 ":urlescape: Any text. Escapes all \"special\" characters. For example,\n"
-"    \"foo bar\" becomes \"foo%20bar\".\n"
-"\n"
-":user: Any text. Returns the user portion of an email address.\n"
-msgstr ""
-"O Mercurial permite que você personalize a saída de comandos\n"
-"usando modelos. Você pode tanto passar um modelo pela linha de\n"
-"comando, usando a opção --template, como selecionar um\n"
-"modelo-estilo existente (--style).\n"
-"\n"
-"Você pode personalizar a saída de qualquer comando semelhante\n"
-"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
-"\n"
-"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
-"(o estilo usado quando nenhuma preferência for passada), compact,\n"
-"changelog e xml.\n"
-"Uso::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
-"Um modelo é um texto com marcações que invocam expansão de\n"
-"variáveis::\n"
-"\n"
-"    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
-"Strings entre chaves são chamadas palavras chave. A\n"
-"disponibilidade de palavras chave depende do contexto exato do\n"
-"modelador. Estas palavras chave estão comumente disponíveis para\n"
-"modelar comandos semelhantes ao log:\n"
-"\n"
-":author: String. O autor da revisão, sem modificações.\n"
-"\n"
-":branches: String. O nome do ramo no qual a revisão foi\n"
-"    consolidada. Será vazio se o nome do ramo for default.\n"
-"\n"
-":date: Informação de data. A data de consolidação da revisão.\n"
-"\n"
-":desc: String. O texto da descrição da revisão.\n"
-"\n"
-":diffstat: String. Estatísticas de mudanças no seguinte\n"
-"    formato: \"modified files: +added/-removed lines\"\n"
-"\n"
-":files: Lista de strings. Todos os arquivos modificados,\n"
-"    adicionados ou removidos por esta revisão.\n"
-"\n"
-":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
-"\n"
-":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
-"\n"
-":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
-"\n"
-":node: String. O hash de identificação da revisão, como uma string\n"
-"    hexadecimal de 40 caracteres.\n"
-"\n"
-":parents: Lista de strings. Os pais da revisão.\n"
-"\n"
-":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
-"\n"
-":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
-"\n"
-":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
-"    revisão.\n"
-"\n"
-":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
-"\n"
-"A palavra chave \"date\" não produz saída legível para humanos.\n"
-"Se você quiser usar uma data em sua saída, você pode usar um\n"
-"filtro para processá-la. Filtros são funções que devolvem uma\n"
-"string baseada na variável de entrada. Certifique-se de usar\n"
-"primeiro o filtro stringify quando você estiver aplicando um\n"
-"filtro de entrada de strings para uma variável de entrada que\n"
-"contenha uma lista. Você também pode encadear\n"
-"filtros para obter a saída desejada::\n"
-"\n"
-"   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"Lista de filtros:\n"
-"\n"
-":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
-"    antes do fim de cada linha, exceto a última.\n"
-"\n"
-":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
-"    a data/hora dada e a data/hora atual.\n"
-"\n"
-":basename: Qualquer texto. Trata o texto como um caminho, e\n"
-"    devolve o último componente do caminho após quebrá-lo\n"
-"    usando o separador de caminhos (ignorando separadores à\n"
-"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
-"    e \"foo/bar//\" se torna \"bar\".\n"
-"\n"
-":date: Data. Devolve uma data em um formato de data Unix,\n"
-"    incluindo a diferença de fuso horário:\n"
-"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
-"\n"
-":stripdir: Trata o texto como um caminho e remove um nível\n"
-"    de diretório, se possível. Por exemplo, \"foo\" e\n"
-"    \"foo/bar\" se tornam \"foo\".\n"
-"\n"
-":domain: Qualquer texto. Encontra a primeira string que se\n"
-"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
-"    do domínio. Por exemplo:\n"
-"    ``User <user@example.com>`` se torna ``example.com``.\n"
-"\n"
-":email: Qualquer texto. Extrai a primeira string que se pareça\n"
-"    com um endereço de e-mail. Por exemplo:\n"
-"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
-"\n"
-":escape: Qualquer texto. Substitui os caracteres especiais\n"
-"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
-"\n"
-":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
-"    colunas.\n"
-"\n"
-":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
-"    colunas.\n"
-"\n"
-":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
-"\n"
-":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
-"\n"
-":hgdate: Data. Devolve a data como um par de números:\n"
-"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
-"\n"
-":isodate: Data. Devolve a data em formato ISO 8601:\n"
-"    \"2009-08-18 13:00 +0200\".\n"
-"\n"
-":localdate: Data. Converte para data local.\n"
-"\n"
-":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
-"    renderizado como uma seqüência de entidades XML.\n"
-"\n"
-":person: Qualquer texto. Devolve o texto antes de um endereço\n"
-"    de e-mail.\n"
-"\n"
-":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
-"    em cabeçalhos de e-mail:\n"
-"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
-"\n"
-":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
-"    Internet especificado na RFC 3339:\n"
-"    \"2009-08-18T13:00:13+02:00\".\n"
-"\n"
-":short: Hash da revisão. Devolve a forma curta do hash de\n"
-"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
-"\n"
-":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
-"\n"
-":strip: Qualquer texto. Remove todos os espaços em branco no\n"
-"    início e no final do texto.\n"
-"\n"
-":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
-"    de um caractere de tabulação ao início de cada linha,\n"
-"    exceto da primeira.\n"
-"\n"
-":urlescape: Qualquer texto. Codifica todos os caracteres\n"
-"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
-"    \"foo%20bar\".\n"
-"\n"
-":user: Qualquer texto. Devolve a parte do usuário de um\n"
-"    endereço de e-mail.\n"
-
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+"    \"foo bar\" becomes \"foo%20bar\"."
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+#, fuzzy
+msgid ":user: Any text. Returns the user portion of an email address.\n"
+msgstr ""
+"O Mercurial permite que você personalize a saída de comandos\n"
+"usando modelos. Você pode tanto passar um modelo pela linha de\n"
+"comando, usando a opção --template, como selecionar um\n"
+"modelo-estilo existente (--style).\n"
+"\n"
+"Você pode personalizar a saída de qualquer comando semelhante\n"
+"ao log: log, outgoing, incoming, tip, parents, heads e glog.\n"
+"\n"
+"Quatro estilos são incluídos na distribuição do Mercurial: default\n"
+"(o estilo usado quando nenhuma preferência for passada), compact,\n"
+"changelog e xml.\n"
+"Uso::\n"
+"\n"
+"    $ hg log -r1 --style changelog\n"
+"\n"
+"Um modelo é um texto com marcações que invocam expansão de\n"
+"variáveis::\n"
+"\n"
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"Strings entre chaves são chamadas palavras chave. A\n"
+"disponibilidade de palavras chave depende do contexto exato do\n"
+"modelador. Estas palavras chave estão comumente disponíveis para\n"
+"modelar comandos semelhantes ao log:\n"
+"\n"
+":author: String. O autor da revisão, sem modificações.\n"
+"\n"
+":branches: String. O nome do ramo no qual a revisão foi\n"
+"    consolidada. Será vazio se o nome do ramo for default.\n"
+"\n"
+":date: Informação de data. A data de consolidação da revisão.\n"
+"\n"
+":desc: String. O texto da descrição da revisão.\n"
+"\n"
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\"\n"
+"\n"
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão.\n"
+"\n"
+":file_adds: Lista de strings. Arquivos adicionados por esta revisão.\n"
+"\n"
+":file_mods: Lista de strings. Arquivos modificados por esta revisão.\n"
+"\n"
+":file_dels: Lista de strings. Arquivos removidos por esta revisão.\n"
+"\n"
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 caracteres.\n"
+"\n"
+":parents: Lista de strings. Os pais da revisão.\n"
+"\n"
+":rev: Inteiro. O número de ordem da revisão no repositório local.\n"
+"\n"
+":tags: Lista de strings. Quaisquer etiquetas associadas à revisão.\n"
+"\n"
+":latesttag: String. A etiqueta global mais recente nos ancestrais desta\n"
+"    revisão.\n"
+"\n"
+":latesttagdistance: Inteiro. O caminho mais longo para a latesttag.\n"
+"\n"
+"A palavra chave \"date\" não produz saída legível para humanos.\n"
+"Se você quiser usar uma data em sua saída, você pode usar um\n"
+"filtro para processá-la. Filtros são funções que devolvem uma\n"
+"string baseada na variável de entrada. Certifique-se de usar\n"
+"primeiro o filtro stringify quando você estiver aplicando um\n"
+"filtro de entrada de strings para uma variável de entrada que\n"
+"contenha uma lista. Você também pode encadear\n"
+"filtros para obter a saída desejada::\n"
+"\n"
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000\n"
+"\n"
+"Lista de filtros:\n"
+"\n"
+":addbreaks: Qualquer texto. Adiciona uma tag XHTML \"<br />\"\n"
+"    antes do fim de cada linha, exceto a última.\n"
+"\n"
+":age:         Data. Devolve uma diferença de data/tempo legível entre\n"
+"    a data/hora dada e a data/hora atual.\n"
+"\n"
+":basename: Qualquer texto. Trata o texto como um caminho, e\n"
+"    devolve o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos (ignorando separadores à\n"
+"    direita). Por exemple, \"foo/bar/baz\" se torna \"baz\"\n"
+"    e \"foo/bar//\" se torna \"bar\".\n"
+"\n"
+":date: Data. Devolve uma data em um formato de data Unix,\n"
+"    incluindo a diferença de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"\n"
+":stripdir: Trata o texto como um caminho e remove um nível\n"
+"    de diretório, se possível. Por exemplo, \"foo\" e\n"
+"    \"foo/bar\" se tornam \"foo\".\n"
+"\n"
+":domain: Qualquer texto. Encontra a primeira string que se\n"
+"    pareça com um endereço de e-mail, e extrai apenas a parte\n"
+"    do domínio. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``example.com``.\n"
+"\n"
+":email: Qualquer texto. Extrai a primeira string que se pareça\n"
+"    com um endereço de e-mail. Por exemplo:\n"
+"    ``User <user@example.com>`` se torna ``user@example.com``.\n"
+"\n"
+":escape: Qualquer texto. Substitui os caracteres especiais\n"
+"    XML/XHTML \"&\", \"<\" e \">\" por entidades XML.\n"
+"\n"
+":fill68: Qualquer texto. Quebra o texto para caber em 68\n"
+"    colunas.\n"
+"\n"
+":fill76: Qualquer texto. Quebra o texto para caber em 76\n"
+"    colunas.\n"
+"\n"
+":firstline: Qualquer texto. Devolve a primeira linha do texto.\n"
+"\n"
+":nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n"
+"\n"
+":hgdate: Data. Devolve a data como um par de números:\n"
+"    \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n"
+"\n"
+":isodate: Data. Devolve a data em formato ISO 8601:\n"
+"    \"2009-08-18 13:00 +0200\".\n"
+"\n"
+":localdate: Data. Converte para data local.\n"
+"\n"
+":obfuscate: Qualquer texto. Devolve o texto de entrada\n"
+"    renderizado como uma seqüência de entidades XML.\n"
+"\n"
+":person: Qualquer texto. Devolve o texto antes de um endereço\n"
+"    de e-mail.\n"
+"\n"
+":rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n"
+"    em cabeçalhos de e-mail:\n"
+"    \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"\n"
+":rfc3339date: Data. Devolve uma data usando o formato de data da\n"
+"    Internet especificado na RFC 3339:\n"
+"    \"2009-08-18T13:00:13+02:00\".\n"
+"\n"
+":short: Hash da revisão. Devolve a forma curta do hash de\n"
+"    uma revisão, ou seja, uma string hexadecimal de 12 bytes.\n"
+"\n"
+":shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
+"\n"
+":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+"    início e no final do texto.\n"
+"\n"
+":tabindent: Qualquer texto. Devolve o texto todo, com a adição\n"
+"    de um caractere de tabulação ao início de cada linha,\n"
+"    exceto da primeira.\n"
+"\n"
+":urlescape: Qualquer texto. Codifica todos os caracteres\n"
+"    \"especiais\". Por exemplo, \"foo bar\" se torna\n"
+"    \"foo%20bar\".\n"
+"\n"
+":user: Qualquer texto. Devolve a parte do usuário de um\n"
+"    endereço de e-mail.\n"
+
+msgid "Valid URLs are of the form::"
+msgstr "URLs válidas são da forma::"
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
-"Paths in the local filesystem can either point to Mercurial\n"
-"repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
-"An optional identifier after # indicates a particular branch, tag, or\n"
-"changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
-"Some features, such as pushing to http:// and https:// URLs are only\n"
-"possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
-"- SSH requires an accessible shell account on the destination machine\n"
-"  and a copy of hg in the remote path or specified with as remotecmd.\n"
-"- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
-"- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
-"    Host *.mylocalnetwork.example.com\n"
-"      Compression no\n"
-"    Host *\n"
-"      Compression yes\n"
-"\n"
-"  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
-"These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
-"  [paths]\n"
-"  alias1 = URL1\n"
-"  alias2 = URL2\n"
-"  ...\n"
-"\n"
-"You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' will be treated as 'hg pull URL1').\n"
-"\n"
-"Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
-"default:\n"
-"  When you create a repository with hg clone, the clone command saves\n"
-"  the location of the source repository as the new repository's\n"
-"  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
-"default-push:\n"
-"  The push command will look for a path named 'default-push', and\n"
-"  prefer it over 'default' if both are defined.\n"
-msgstr ""
-"URLs válidas são da forma::\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
 "  caminho/no/sistema/de/arquivos/local[#revisão]\n"
 "  file://caminho/no/sistema/de/arquivos/local[#revisão]\n"
 "  http://[usuário[:senha]@]servidor[:porta]/[caminho][#revisão]\n"
 "  https://[usuário[:senha]@]servidor[:porta]/[caminho][#revisão]\n"
-"  ssh://[usuário[:senha]@]servidor[:porta]/[caminho][#revisão]\n"
-"\n"
+"  ssh://[usuário[:senha]@]servidor[:porta]/[caminho][#revisão]"
+
+msgid ""
+"Paths in the local filesystem can either point to Mercurial\n"
+"repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
+"incoming --bundle')."
+msgstr ""
 "Caminhos no sistema de arquivos local podem tanto apontar para\n"
 "repositórios do Mercurial como para arquivos bundle (criados por\n"
-"'hg bundle' ou 'hg incoming --bundle').\n"
-"\n"
+"'hg bundle' ou 'hg incoming --bundle')."
+
+msgid ""
+"An optional identifier after # indicates a particular branch, tag, or\n"
+"changeset to use from the remote repository. See also 'hg help\n"
+"revisions'."
+msgstr ""
 "Um identificador opcional após # indica um ramo, etiqueta ou\n"
 "revisão do repositório remoto a ser usado. Veja também 'hg\n"
-"help revisions'.\n"
-"\n"
+"help revisions'."
+
+msgid ""
+"Some features, such as pushing to http:// and https:// URLs are only\n"
+"possible if the feature is explicitly enabled on the remote Mercurial\n"
+"server."
+msgstr ""
 "Certas funcionalidades, como o push para URLs http:// e https://\n"
 "são possíveis apenas se forem explicitamente habilitadas no\n"
-"servidor remoto do Mercurial.\n"
-"\n"
-"Algumas notas sobre o uso de SSH com o Mercurial:\n"
-"\n"
+"servidor remoto do Mercurial."
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr "Algumas notas sobre o uso de SSH com o Mercurial:"
+
+msgid ""
+"- SSH requires an accessible shell account on the destination machine\n"
+"  and a copy of hg in the remote path or specified with as remotecmd.\n"
+"- path is relative to the remote user's home directory by default. Use\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
 "- o SSH necessita de uma conta shell acessível na máquina de\n"
 "  destino e uma cópia do hg no caminho de execução remoto ou\n"
 "  especificado em remotecmd.\n"
 "- o caminho é por padrão relativo ao diretório home do usuário\n"
 "  remoto.\n"
 "  Use uma barra extra no início de um caminho para especificar um\n"
-"  caminho absoluto::\n"
-"\n"
-"    ssh://exemplo.com//tmp/repositorio\n"
-"\n"
+"  caminho absoluto::"
+
+msgid "    ssh://example.com//tmp/repository"
+msgstr "    ssh://exemplo.com//tmp/repositorio"
+
+msgid ""
+"- Mercurial doesn't use its own compression via SSH; the right thing\n"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
 "- o Mercurial não usa sua própria compressão via SSH; a coisa\n"
-"  certa a fazer é configurá-la em seu ~/.ssh/config, por exemplo::\n"
-"\n"
+"  certa a fazer é configurá-la em seu ~/.ssh/config, por exemplo::"
+
+msgid ""
+"    Host *.mylocalnetwork.example.com\n"
+"      Compression no\n"
+"    Host *\n"
+"      Compression yes"
+msgstr ""
 "    Host *.minharedelocal.exemplo.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+
+msgid ""
+"  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
+"  with the --ssh command line option."
+msgstr ""
 "  Alternativamente especifique \"ssh -C\" como seu comando ssh\n"
-"  em seu hgrc ou pela opção de linha de comando --ssh .\n"
-"\n"
+"  em seu hgrc ou pela opção de linha de comando --ssh ."
+
+msgid ""
+"These URLs can all be stored in your hgrc with path aliases under the\n"
+"[paths] section like so::"
+msgstr ""
 "Estas URLs podem ser todas armazenadas em seu hgrc com apelidos\n"
-"de caminho na seção [paths] , da seguinte forma::\n"
-"\n"
+"de caminho na seção [paths] , da seguinte forma::"
+
+msgid ""
+"  [paths]\n"
+"  alias1 = URL1\n"
+"  alias2 = URL2\n"
+"  ..."
+msgstr ""
 "  [paths]\n"
 "  apelido1 = URL1\n"
 "  apelido2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+
+msgid ""
+"You can then use the alias for any command that uses a URL (for\n"
+"example 'hg pull alias1' will be treated as 'hg pull URL1')."
+msgstr ""
 "Você pode então usar o apelido em qualquer comando que receba uma\n"
-"URL (por exemplo 'hg pull apelido1' será tratado como 'hg pull URL1').\n"
-"\n"
+"URL (por exemplo 'hg pull apelido1' será tratado como 'hg pull URL1')."
+
+msgid ""
+"Two path aliases are special because they are used as defaults when\n"
+"you do not provide the URL to a command:"
+msgstr ""
 "Dois apelidos de caminho são especiais por serem usados como\n"
-"valores padrão quando você não fornece a URL para um comando:\n"
-"\n"
+"valores padrão quando você não fornece a URL para um comando:"
+
+msgid ""
+"default:\n"
+"  When you create a repository with hg clone, the clone command saves\n"
+"  the location of the source repository as the new repository's\n"
+"  'default' path. This is then used when you omit path from push- and\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
 "default:\n"
 "  Quando você cria um repositório com hg clone, o comando clone\n"
 "  grava a localização do repositório de origem como o novo\n"
 "  caminho 'default' do repositório. Ele é então usado quando você\n"
 "  omitir o caminho de comandos semelhantes ao push e ao pull\n"
-"  (incluindo incoming e outgoing).\n"
-"\n"
+"  (incluindo incoming e outgoing)."
+
+msgid ""
+"default-push:\n"
+"  The push command will look for a path named 'default-push', and\n"
+"  prefer it over 'default' if both are defined.\n"
+msgstr ""
 "default-push:\n"
 "  O comando push procurará por um caminho chamado 'default-push',\n"
 "  e o usará ao invés de 'default' se ambos estiverem definidos.\n"
@@ -11411,12 +35591,8 @@
 msgid "destination '%s' is not empty"
 msgstr "o destino '%s' não está vazio"
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
-msgstr ""
-"repositório de origem não suporta busca de revisões, portanto não suporta "
-"clonar por revisão"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
+msgstr "repositório de origem não suporta busca de revisões, portanto não suporta clonar por revisão"
 
 msgid "clone from remote to remote not supported"
 msgstr "clone de origem remota para destino remoto não suportado"
@@ -11427,19 +35603,13 @@
 
 #, python-format
 msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
-msgstr ""
-"%d arquivos atualizados, %d arquivos mesclados, %d arquivos removidos, %d "
-"arquivos não resolvidos\n"
+msgstr "%d arquivos atualizados, %d arquivos mesclados, %d arquivos removidos, %d arquivos não resolvidos\n"
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr "use 'hg resolve' para mesclar novamente arquivos não resolvidos\n"
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
-msgstr ""
-"use 'hg resolve' para mesclar novamente arquivos não resolvidos ou 'hg "
-"update -C' para abandonar\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
+msgstr "use 'hg resolve' para mesclar novamente arquivos não resolvidos ou 'hg update -C' para abandonar\n"
 
 msgid "(branch merge, don't forget to commit)\n"
 msgstr "(mesclagem de ramo, não esqueça de consolidar)\n"
@@ -11606,9 +35776,7 @@
 msgstr "%r não pode ser usado em um nome de etiqueta"
 
 msgid "working copy of .hgtags is changed (please commit .hgtags manually)"
-msgstr ""
-"a cópia de trabalho de .hgtags foi modificada (por favor consolide .hgtags "
-"manualmente)"
+msgstr "a cópia de trabalho de .hgtags foi modificada (por favor consolide .hgtags manualmente)"
 
 #, python-format
 msgid "working directory has unknown parent '%s'!"
@@ -11650,9 +35818,7 @@
 msgstr "diretório de trabalho de %s"
 
 msgid "cannot partially commit a merge (do not specify files or patterns)"
-msgstr ""
-"não é possível consolidar parcialmente uma mesclagem (não especifique "
-"arquivos ou padrões)"
+msgstr "não é possível consolidar parcialmente uma mesclagem (não especifique arquivos ou padrões)"
 
 msgid "file not found!"
 msgstr "arquivo não encontrado!"
@@ -11739,12 +35905,8 @@
 msgid "requesting all changes\n"
 msgstr "pedindo todas as mudanças\n"
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
-msgstr ""
-"Pull parcial não pode ser feito porque o outro repositório não suporta "
-"'changegroupsubset'."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
+msgstr "Pull parcial não pode ser feito porque o outro repositório não suporta 'changegroupsubset'."
 
 #, python-format
 msgid "abort: push creates new remote heads on branch '%s'!\n"
@@ -11870,9 +36032,7 @@
 msgstr "enviando e-mail: %s\n"
 
 msgid "smtp specified as email transport, but no smtp host configured"
-msgstr ""
-"smtp especificado como transporte de e-mail, mas o servidor smtp não foi "
-"configurado"
+msgstr "smtp especificado como transporte de e-mail, mas o servidor smtp não foi configurado"
 
 #, python-format
 msgid "%r specified as email transport, but not in PATH"
@@ -11899,12 +36059,8 @@
 msgstr "o número de linhas de contexto de diff deve ser um inteiro, e não %r"
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
-msgstr ""
-"arquivo não versionado no diretório de trabalho difere do arquivo na revisão "
-"pedida: '%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
+msgstr "arquivo não versionado no diretório de trabalho difere do arquivo na revisão pedida: '%s'"
 
 #, python-format
 msgid "case-folding collision between %s and %s"
@@ -11982,16 +36138,10 @@
 msgstr "nada para mesclar (use 'hg update' ou verifique 'hg heads')"
 
 msgid "outstanding uncommitted changes (use 'hg status' to list changes)"
-msgstr ""
-"alterações não consolidadas pendentes (use 'hg status' para listar as "
-"mudanças)"
-
-msgid ""
-"crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard "
-"changes)"
-msgstr ""
-"atravessa ramos (use 'hg merge' para mesclar ou 'hg update -C' para "
-"descartar mudanças)"
+msgstr "alterações não consolidadas pendentes (use 'hg status' para listar as mudanças)"
+
+msgid "crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)"
+msgstr "atravessa ramos (use 'hg merge' para mesclar ou 'hg update -C' para descartar mudanças)"
 
 msgid "crosses branches (use 'hg merge' or use 'hg update -c')"
 msgstr "atravessa ramos (use 'hg merge' ou 'hg update -c')"
@@ -12026,9 +36176,7 @@
 
 #, python-format
 msgid "Hunk #%d succeeded at %d with fuzz %d (offset %d lines).\n"
-msgstr ""
-"Trecho #%d aplicado com sucesso em %d com indistinção %d (distância %d "
-"linhas).\n"
+msgstr "Trecho #%d aplicado com sucesso em %d com indistinção %d (distância %d linhas).\n"
 
 #, python-format
 msgid "Hunk #%d succeeded at %d (offset %d lines).\n"
@@ -12610,4 +36758,3 @@
 
 msgid "user name not available - set USERNAME environment variable"
 msgstr "nome de usuário indisponível - defina a variável de ambiente USERNAME"
-
--- a/i18n/sv.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/sv.po	Mon Jun 21 13:41:11 2010 -0500
@@ -1,20 +1,20 @@
 # Swedish translation for Mercurial
 # Svensk översättning för Mercurial
 # Copyright (C) 2009-2010 Matt Mackall and others
-#
+# 
 # Translation dictionary:
-#
+# 
 # changeset  ändring
 # commit     arkivera
 # merge      sammanfoga
 # tag        märke
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2010-04-19 18:26+0200\n"
-"PO-Revision-Date: 2010-04-19 18:57+0100\n"
+"POT-Creation-Date: 2010-04-19 18:58+0200\n"
+"PO-Revision-Date: 2010-04-19 19:49+0200\n"
 "Last-Translator: Jens Bäckman <jens.backman@gmail.com>\n"
 "Language-Team: Swedish\n"
 "MIME-Version: 1.0\n"
@@ -31,62 +31,72 @@
 msgid "Commands"
 msgstr "Kommandon"
 
-msgid ""
-"    options:\n"
-"\n"
-msgstr ""
-"    flaggor:\n"
-"\n"
-
-#, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    alias: %s\n"
-"\n"
-
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "    options:"
+msgstr "    flaggor:"
+
+#, python-format
+msgid "    aliases: %s"
+msgstr "    alias: %s"
+
+msgid "hooks for controlling repository access"
+msgstr ""
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
@@ -102,38 +112,47 @@
 msgid "acl: access denied for changeset %s"
 msgstr ""
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr ""
+
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
@@ -177,117 +196,171 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr ""
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+
+msgid ""
 "The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
-"\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+
+msgid ""
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
-"\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+
+msgid ""
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
-"\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "password\n"
-"  Password to use to access MySQL server.\n"
-"\n"
+"  Password to use to access MySQL server."
+msgstr ""
+
+msgid ""
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
-"\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+
+msgid ""
 "version\n"
 "  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
 "  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
-"\n"
+"  to 2.18."
+msgstr ""
+
+msgid ""
 "bzuser\n"
 "  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
-"\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+
+msgid ""
 "bzdir\n"
 "   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
-"\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+
+msgid ""
 "notify\n"
 "  The command to run to get Bugzilla to send bug change notification\n"
 "  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
 "  and 'user' (committer bugzilla email). Default depends on version;\n"
 "  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
-"\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+
+msgid ""
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
 "  Must contain one \"()\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
-"\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+
+msgid ""
 "style\n"
-"  The style file to use when formatting comments.\n"
-"\n"
+"  The style file to use when formatting comments."
+msgstr ""
+
+msgid ""
 "template\n"
 "  Template to use when formatting comments. Overrides style if\n"
 "  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
+"  extension specifies::"
+msgstr ""
+
+msgid ""
 "    {bug}       The Bugzilla bug ID.\n"
 "    {root}      The full pathname of the Mercurial repository.\n"
 "    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+
+msgid ""
 "  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+
+msgid ""
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
-"\n"
+"  {webroot}. Default 0."
+msgstr ""
+
+msgid ""
 "usermap\n"
 "  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
 "  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+
+msgid ""
 "The [usermap] section is used to specify mappings of Mercurial\n"
 "committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
-"\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+
+msgid ""
 "baseurl\n"
 "  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
-"\n"
+"  templates as {hgweb}."
+msgstr ""
+
+msgid "Activating the extension::"
+msgstr ""
+
+msgid ""
 "    [extensions]\n"
-"    bugzilla =\n"
-"\n"
+"    bugzilla ="
+msgstr ""
+
+msgid ""
 "    [hooks]\n"
 "    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+
+msgid "Example configuration:"
+msgstr ""
+
+msgid ""
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
-"\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+
+msgid ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -297,20 +370,28 @@
 "    template=Changeset {node|short} in {root|basename}.\n"
 "             {hgweb}/{webroot}/rev/{node|short}\\n\n"
 "             {desc}\\n\n"
-"    strip=5\n"
-"\n"
+"    strip=5"
+msgstr ""
+
+msgid ""
 "    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+
+msgid ""
 "    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+
+msgid ""
 "    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+
+msgid "    Changeset commit comment. Bug 1234.\n"
 msgstr ""
 
 #, python-format
@@ -387,9 +468,10 @@
 msgid "command to display child changesets"
 msgstr ""
 
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr ""
+
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -411,42 +493,58 @@
 msgid "Revision %d is a merge, ignoring...\n"
 msgstr ""
 
-#, python-format
-msgid "generating stats: %d%%"
-msgstr ""
-
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "analyzing"
+msgstr "analyserar"
+
+msgid "histogram of changes to the repository"
+msgstr ""
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
+"    date instead."
+msgstr ""
+
+msgid ""
 "    Statistics are based on the number of changed lines, or\n"
 "    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    --changesets option is specified."
+msgstr ""
+
+msgid "    Examples::"
+msgstr ""
+
+msgid ""
 "      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
+
+msgid ""
 "      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
+
+msgid ""
 "      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
+
+msgid ""
 "      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
+
+msgid ""
 "    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
+"    by providing a file using the following format::"
+msgstr ""
+
+msgid "      <alias email> <actual email>"
+msgstr ""
+
+msgid ""
 "    Such a file may be specified with the --aliases option, otherwise\n"
 "    a .hgchurn file will be looked for in the working directory root.\n"
 "    "
@@ -476,45 +574,75 @@
 msgid "file with email aliases"
 msgstr ""
 
-msgid "show progress"
-msgstr ""
-
-msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
-msgstr ""
-
-msgid ""
-"colorize output from some commands\n"
-"\n"
-"This extension modifies the status and resolve commands to add color to "
-"their\n"
+msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [FILE]"
+msgstr "hg churn [-d DATUM] [-r REV] [--aliases FIL] [FIL]"
+
+msgid "colorize output from some commands"
+msgstr "färglägg utmatning från vissa kommandon"
+
+msgid ""
+"This extension modifies the status and resolve commands to add color to their\n"
 "output to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+"Denna utökning modifierar kommandona status och resolve för att färglägga\n"
+"deras utmaning för att spegla filstatus, qseries-kommandon för att\n"
+"färglägga patchstatus (applicerad, oapplicerad, saknad), och till\n"
+"diff-relaterade kommandon för att framhäva additioner, borttagningar,\n"
+"diffhuvuden, och eftersläpande blanktecken."
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+"Andra effekter förutom färg, såsom fet och understryken text, är också\n"
+"tillgänglig. Effekter renderas med kontrollfunktionerna ECMA-48 SGR\n"
+"(aka ANSI escape-koder). Denna modul tillhandahåller också funktionen\n"
+"render_text, som kan användas för att lägga till effekter på valfri text."
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr "Standardeffekter kan ersättas från .hgrc-filen::"
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold"
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+"  # 'none' stänger av alla effekter\n"
+"  status.clean = none\n"
+"  status.copied = none"
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold"
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -523,44 +651,8 @@
 "  diff.deleted = red\n"
 "  diff.inserted = green\n"
 "  diff.changed = white\n"
-"  diff.trailingwhitespace = bold red_background\n"
-"\n"
-"  resolve.unresolved = red bold\n"
-"  resolve.resolved = green bold\n"
-"\n"
-"  bookmarks.current = green\n"
-msgstr ""
-"färglägg utmatning från vissa kommandon\n"
-"\n"
-"Denna utökning modifierar kommandona status och resolve för att färglägga\n"
-"deras utmaning för att spegla filstatus, qseries-kommandon för att\n"
-"färglägga patchstatus (applicerad, oapplicerad, saknad), och till\n"
-"diff-relaterade kommandon för att framhäva additioner, borttagningar,\n"
-"diffhuvuden, och eftersläpande blanktecken.\n"
-"\n"
-"Andra effekter förutom färg, såsom fet och understryken text, är också\n"
-"tillgänglig. Effekter renderas med kontrollfunktionerna ECMA-48 SGR\n"
-"(aka ANSI escape-koder). Denna modul tillhandahåller också funktionen\n"
-"render_text, som kan användas för att lägga till effekter på valfri text.\n"
-"\n"
-"Standardeffekter kan ersättas från .hgrc-filen::\n"
-"\n"
-"  [color]\n"
-"  status.modified = blue bold underline red_background\n"
-"  status.added = green bold\n"
-"  status.removed = red bold blue_background\n"
-"  status.deleted = cyan bold underline\n"
-"  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
-"  # 'none' stänger av alla effekter\n"
-"  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
-"  qseries.applied = blue bold underline\n"
-"  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  diff.trailingwhitespace = bold red_background"
+msgstr ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -569,31 +661,55 @@
 "  diff.deleted = red\n"
 "  diff.inserted = green\n"
 "  diff.changed = white\n"
-"  diff.trailingwhitespace = bold red_background\n"
-"\n"
+"  diff.trailingwhitespace = bold red_background"
+
+msgid ""
+"  resolve.unresolved = red bold\n"
+"  resolve.resolved = green bold"
+msgstr ""
 "  resolve.unresolved = red bold\n"
-"  resolve.resolved = green bold\n"
-"\n"
-"  bookmarks.current = green\n"
+"  resolve.resolved = green bold"
+
+msgid "  bookmarks.current = green"
+msgstr "  bookmarks.current = green"
+
+msgid ""
+"The color extension will try to detect whether to use ANSI codes or\n"
+"Win32 console APIs, unless it is made explicit::"
+msgstr ""
+"Utökningen color försöker att upptäcka om ANSI-koder eller APIer för\n"
+"konsolen i Win32 om det inte anges explicit::"
+
+msgid ""
+"  [color]\n"
+"  mode = ansi"
+msgstr ""
+"  [color]\n"
+"  mode = ansi"
+
+msgid "Any value other than 'ansi', 'win32', or 'auto' will disable color."
+msgstr "Ett värde skilt från 'ansi', 'win32', eller 'auto' stänger av färg."
+
+#, python-format
+msgid "ignoring unknown color/effect %r (configured in color.%s)\n"
+msgstr "ignorerar okänd färg/effekt %r (konfigurerad i color.%s)\n"
+
+msgid "win32console not found, please install pywin32\n"
+msgstr "win32console hittades inte, installera pywin32\n"
 
 msgid "when to colorize (always, auto, or never)"
 msgstr "när färgläggning ska ske (always, auto eller never)"
 
-msgid "don't colorize output (DEPRECATED)"
-msgstr "färglägg inte utmatning (FÖRLEGAD)"
-
-#, python-format
-msgid "ignoring unknown color/effect %r (configured in color.%s)\n"
-msgstr ""
-
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr ""
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -602,72 +718,103 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
+"    - Perforce [p4]"
+msgstr ""
+
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+
+msgid "      <source ID> <destination ID>"
+msgstr ""
+
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+
+msgid "      include path/to/file"
+msgstr ""
+
+msgid "      exclude path/to/file"
+msgstr ""
+
+msgid "      rename from/file to/file"
+msgstr ""
+
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -680,8 +827,10 @@
 "    should be used as the new parents for that node. For example, if\n"
 "    you have merged \"release-1.0\" into \"trunk\", then you should\n"
 "    specify the revision on \"trunk\" as the first parent and the one on\n"
-"    the \"release-1.0\" branch as the second.\n"
-"\n"
+"    the \"release-1.0\" branch as the second."
+msgstr ""
+
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -691,11 +840,15 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -704,11 +857,15 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -717,10 +874,13 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+
+msgid "    The options shown are the defaults."
+msgstr ""
+
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -747,16 +907,22 @@
 "        Specify a Python function to be called after the changesets\n"
 "        are calculated from the the CVS log. The function is passed\n"
 "        a list with the changeset entries, and can modify the changesets\n"
-"        in-place, or add or delete them.\n"
-"\n"
+"        in-place, or add or delete them."
+msgstr ""
+
+msgid ""
 "    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
 "    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
+"    the command help for more details."
+msgstr ""
+
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -766,58 +932,80 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+
+msgid "    "
+msgstr ""
+
+msgid "create changeset information from CVS"
+msgstr ""
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
@@ -890,9 +1078,7 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr ""
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
 msgstr ""
 
 msgid "bzr source type could not be determined\n"
@@ -1012,8 +1198,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
 msgstr ""
 
 #, python-format
@@ -1122,8 +1307,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr ""
 
 #, python-format
@@ -1173,9 +1357,7 @@
 msgid "Mercurial failed to run itself, check hg executable is in PATH"
 msgstr ""
 
-msgid ""
-"svn: cannot probe remote repository, assume it could be a subversion "
-"repository. Use --source-type if you know better.\n"
+msgid "svn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better.\n"
 msgstr ""
 
 msgid "Subversion python bindings could not be loaded"
@@ -1260,37 +1442,50 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr ""
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr ""
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
+
+msgid ""
 "  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+msgstr ""
+
+msgid ""
 "  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+msgstr ""
+
+msgid ""
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+
+msgid ""
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
 "diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
@@ -1311,18 +1506,23 @@
 msgid "cleaning up temp directory\n"
 msgstr ""
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr ""
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
@@ -1343,17 +1543,13 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr ""
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
-"    the %(path)s program.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent."
+"    the %(path)s program."
 msgstr ""
 
 #, python-format
@@ -1363,28 +1559,34 @@
 msgid "pull, update and merge in one command"
 msgstr ""
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
+
+msgid ""
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
 
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
 msgstr ""
 
 msgid "outstanding uncommitted merge"
@@ -1396,23 +1598,18 @@
 msgid "working directory is missing some files"
 msgstr ""
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
 msgstr ""
 
 #, python-format
 msgid "pulling from %s\n"
 msgstr "drar från %s\n"
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr ""
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
 msgstr ""
 
 #, python-format
@@ -1474,14 +1671,12 @@
 msgid "No valid signature for %s\n"
 msgstr ""
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    or tip if no revision is checked out."
 msgstr ""
 
 msgid "uncommitted merge - please provide a specific revision"
@@ -1494,9 +1689,7 @@
 msgid "Error while signing"
 msgstr ""
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
 msgstr ""
 
 msgid "unknown signature version"
@@ -1526,15 +1719,14 @@
 msgid "hg sigs"
 msgstr ""
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr "kommando för att se revisionsgrafer i ett skal"
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
 msgstr ""
-"kommando för att se revisionsgrafer i ett skal\n"
-"\n"
 "Denna utökning lägger till flaggan --graph till kommandona incoming,\n"
 "outgoing och log. När flaggan anges, visas också en ASCII-version av\n"
 "revisionsgrafen.\n"
@@ -1543,21 +1735,21 @@
 msgid "--graph option is incompatible with --%s"
 msgstr "flaggan --graph är inkompatibel med --%s"
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr "visa revisionshistorik vid sidan av en ASCII-revisionsgraf"
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr ""
+"    Visa en revisionshistorik bredvid en revisionsgraf ritad med\n"
+"    ASCII-tecken."
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
 msgstr ""
-"visa revisionshistorik vid sidan av en ASCII-revisionsgraf\n"
-"\n"
-"    Visa en revisionshistorik bredvid en revisionsgraf ritad med\n"
-"    ASCII-tecken.\n"
-"\n"
 "    Noder visade som ett @-tecken är föräldrar till arbetskatalogen.\n"
 "    "
 
@@ -1583,12 +1775,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr "hg glog [FLAGGA]... [FIL]"
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -1608,13 +1803,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -1631,32 +1830,45 @@
 msgid "email.from must be defined when sending by email"
 msgstr ""
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -1742,18 +1954,23 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr ""
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+
+msgid "There is a single configuration option::"
+msgstr ""
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
+"  pygments_style = <style>"
+msgstr ""
+
+msgid "The default is 'colorful'.\n"
 msgstr ""
 
 msgid "accelerate status report using Linux's inotify service"
@@ -1762,9 +1979,10 @@
 msgid "start an inotify server for this repository"
 msgstr ""
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr ""
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
@@ -1899,9 +2117,7 @@
 msgid "cannot start: socket is already bound"
 msgstr ""
 
-msgid ""
-"cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/"
-"inotify.sock already exists"
+msgid "cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/inotify.sock already exists"
 msgstr ""
 
 #, python-format
@@ -1916,20 +2132,24 @@
 msgid "unrecognized query type: %s\n"
 msgstr ""
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr ""
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
@@ -1941,52 +2161,76 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr ""
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr ""
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+
+msgid "Example::"
+msgstr ""
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
@@ -2006,17 +2250,23 @@
 msgid "no [keyword] patterns configured"
 msgstr ""
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr ""
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
@@ -2055,9 +2305,6 @@
 "keywords written to %s:\n"
 msgstr ""
 
-msgid "unhooked all commit hooks\n"
-msgstr ""
-
 msgid "hg keyword configuration and expansion example"
 msgstr "exempel på nyckelordskonfiguration och -expansion i hg"
 
@@ -2066,31 +2313,42 @@
 "\tkeywords expanded\n"
 msgstr ""
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr ""
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr ""
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr ""
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
@@ -2098,12 +2356,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr ""
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
@@ -2129,47 +2390,57 @@
 msgid "only show unknown (not tracked) files"
 msgstr "visa bara okända (ospårade) filer"
 
-msgid "show keyword status flags of all files (DEPRECATED)"
-msgstr "visa statusflaggor för alla filer (FÖRLEGAD)"
-
-msgid "only show untracked files (DEPRECATED)"
-msgstr "visa bara ospårade filer (FÖRLEGAD)"
-
 msgid "hg kwfiles [OPTION]... [FILE]..."
 msgstr ""
 
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr ""
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr ""
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr ""
+
+msgid ""
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
-"  refresh contents of top applied patch     qrefresh\n"
-"\n"
+"  refresh contents of top applied patch     qrefresh"
+msgstr ""
+
+msgid ""
 "By default, mq will automatically use git patches when required to\n"
 "avoid losing file mode changes, copy records, binary files or empty\n"
-"files creations or deletions. This behaviour can be configured with::\n"
-"\n"
+"files creations or deletions. This behaviour can be configured with::"
+msgstr ""
+
+msgid ""
 "  [mq]\n"
-"  git = auto/keep/yes/no\n"
-"\n"
+"  git = auto/keep/yes/no"
+msgstr ""
+
+msgid ""
 "If set to 'keep', mq will obey the [diff] section configuration while\n"
 "preserving existing git patches upon qrefresh. If set to 'yes' or\n"
 "'no', mq will override the [diff] section and always generate git or\n"
@@ -2409,9 +2680,7 @@
 msgid "cannot refresh a revision with children"
 msgstr ""
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
 msgstr ""
 
 msgid "patch queue directory already exists"
@@ -2505,13 +2774,15 @@
 msgid "adding %s to series file\n"
 msgstr ""
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr ""
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
@@ -2528,60 +2799,79 @@
 msgid "all patches applied\n"
 msgstr ""
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr ""
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr ""
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    To import a patch from standard input, pass - as the patch file.\n"
 "    When importing from standard input, a patch name must be specified\n"
 "    using the --name flag.\n"
 "    "
 msgstr ""
 
-msgid ""
-"init a new queue repository (DEPRECATED)\n"
-"\n"
+msgid "init a new queue repository (DEPRECATED)"
+msgstr ""
+
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
 "    an unversioned patch repository into a versioned one). You can use\n"
-"    qcommit to commit changes to this queue repository.\n"
-"\n"
+"    qcommit to commit changes to this queue repository."
+msgstr ""
+
+msgid ""
 "    This command is deprecated. Without -c, it's implied by other relevant\n"
 "    commands. With -c, use hg init --mq instead."
 msgstr ""
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr ""
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
+
+msgid ""
 "    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
+"    default. Use -p <url> to change."
+msgstr ""
+
+msgid ""
 "    The patch directory must be a nested Mercurial repository, as\n"
 "    would be created by init --mq.\n"
 "    "
@@ -2602,14 +2892,11 @@
 msgid "updating destination repository\n"
 msgstr ""
 
-msgid ""
-"commit changes in the queue repository (DEPRECATED)\n"
-"\n"
-"    This command is deprecated; use hg commit --mq instead."
-msgstr ""
-"arkivera ändringar i köarkivet (FÖRÅLDRAD)\n"
-"\n"
-"    Detta är ett föråldrat kommando; använd hg commit --mq istället."
+msgid "commit changes in the queue repository (DEPRECATED)"
+msgstr "arkivera ändringar i köarkivet (FÖRÅLDRAD)"
+
+msgid "    This command is deprecated; use hg commit --mq instead."
+msgstr "    Detta är ett föråldrat kommando; använd hg commit --mq istället."
 
 msgid "print the entire series file"
 msgstr ""
@@ -2623,24 +2910,31 @@
 msgid "print the name of the previous patch"
 msgstr ""
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr ""
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). The patch will be initialized with any outstanding changes\n"
 "    in the working directory. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
+
+msgid ""
 "    -u/--user and -d/--date can be used to set the (given) user and\n"
 "    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
+"    to current user and date to current date."
+msgstr ""
+
+msgid ""
 "    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
 "    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to keep the patch in the git extended diff\n"
 "    format. Read the diffs help topic for more information on why this\n"
 "    is important for preserving permission changes and copy/rename\n"
@@ -2648,16 +2942,21 @@
 "    "
 msgstr ""
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr ""
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
@@ -2668,14 +2967,17 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr ""
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr ""
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
@@ -2683,16 +2985,19 @@
 "    "
 msgstr ""
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr ""
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
+"    removed afterwards."
+msgstr ""
+
+msgid ""
 "    The header for each folded patch will be concatenated with the\n"
 "    current patch header, separated by a line of '* * *'."
 msgstr ""
@@ -2718,21 +3023,27 @@
 msgid "push or pop patches until named patch is at top of stack"
 msgstr ""
 
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgid "set or print guards for a patch"
+msgstr ""
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
+"    has activated it."
+msgstr ""
+
+msgid ""
 "    With no arguments, print the currently active guards.\n"
 "    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
-"    To set guards on another patch::\n"
-"\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
+
+msgid "    To set guards on another patch::"
+msgstr ""
+
+msgid ""
 "      hg qguard other.patch -- +2.6.17 -stable\n"
 "    "
 msgstr ""
@@ -2750,9 +3061,10 @@
 msgid "print the header of the topmost or specified patch"
 msgstr ""
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr ""
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
@@ -2765,9 +3077,10 @@
 msgid "merging with queue at: %s\n"
 msgstr ""
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr ""
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
@@ -2778,9 +3091,10 @@
 msgid "using patch queue: %s\n"
 msgstr ""
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr ""
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
@@ -2797,16 +3111,13 @@
 msgid "renaming %s to %s\n"
 msgstr "döper om %s till %s\n"
 
-msgid ""
-"restore the queue state saved by a revision (DEPRECATED)\n"
-"\n"
-"    This command is deprecated, use rebase --mq instead."
-msgstr ""
-
-msgid ""
-"save current queue state (DEPRECATED)\n"
-"\n"
-"    This command is deprecated, use rebase --mq instead."
+msgid "restore the queue state saved by a revision (DEPRECATED)"
+msgstr ""
+
+msgid "    This command is deprecated, use rebase --mq instead."
+msgstr ""
+
+msgid "save current queue state (DEPRECATED)"
 msgstr ""
 
 #, python-format
@@ -2821,45 +3132,59 @@
 msgid "copy %s to %s\n"
 msgstr ""
 
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr ""
+
+msgid ""
 "    If one of the working directory's parent revisions is stripped, the\n"
 "    working directory will be updated to the parent of the stripped\n"
 "    revision.\n"
 "    "
 msgstr ""
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr ""
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example::\n"
-"\n"
+"    match the current guard. For example::"
+msgstr ""
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
+"    guarded patches."
+msgstr ""
+
+msgid ""
 "    Use -s/--series to print a list of all guards in the series file\n"
 "    (no other arguments needed). Use -v for more information."
 msgstr ""
@@ -2893,18 +3218,23 @@
 msgid "reapplying unguarded patches\n"
 msgstr ""
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr ""
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
@@ -3180,33 +3510,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr ""
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -3217,31 +3561,40 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -3257,140 +3610,193 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"diffs (%d lines):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"diffs (%d lines):"
 msgstr ""
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr ""
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend. Below is the default list of commands to be paged::\n"
-"\n"
+"pager.attend. Below is the default list of commands to be paged::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = annotate, cat, diff, export, glog, log, qdiff\n"
-"\n"
+"  attend = annotate, cat, diff, export, glog, log, qdiff"
+msgstr ""
+
+msgid ""
 "Setting pager.attend to an empty value will cause all commands to be\n"
-"paged.\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"paged."
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr ""
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr ""
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+msgid "command to send changesets as (a series of) patch emails"
+msgstr ""
+
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+
+msgid ""
 "Use ``[patchbomb]`` as configuration section name if you need to\n"
-"override global ``[email]`` address settings.\n"
-"\n"
+"override global ``[email]`` address settings."
+msgstr ""
+
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
+
+msgid ""
 "The -m/--mbox option is also very useful. Instead of previewing each\n"
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"files, e.g. with mutt::"
+msgstr ""
+
+msgid "  % mutt -R -f mbox"
+msgstr ""
+
+msgid ""
 "When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
+"package), to send each message out::"
+msgstr ""
+
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr ""
+
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr ""
+
+msgid ""
 "You can also either configure the method option in the email section\n"
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
@@ -3411,53 +3817,66 @@
 msgid "diffstat rejected"
 msgstr "diffstat avvisad"
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr ""
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
+
+msgid ""
 "    By default the patch is included as text in the email body for\n"
 "    easy reviewing. Using the -a/--attach option will instead create\n"
 "    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
+"    will be created."
+msgstr ""
+
+msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
 "    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
+
+msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    will be sent."
+msgstr ""
+
+msgid ""
 "      hg email -r 3000          # send patch 3000 only\n"
 "      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
 "      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
+
+msgid ""
 "      hg email -o               # send all patches not in default\n"
 "      hg email -o DEST          # send all patches not in DEST\n"
 "      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
 "    "
@@ -3477,14 +3896,11 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
+"Write the introductory message for the patch series."
+msgstr ""
+
+#, python-format
+msgid "This patch series consists of %d patches."
 msgstr ""
 
 msgid "Final summary:\n"
@@ -3568,16 +3984,20 @@
 msgid "hg email [OPTION]... [DEST]..."
 msgstr ""
 
-msgid ""
-"show progress bars for some actions\n"
-"\n"
+msgid "show progress bars for some actions"
+msgstr ""
+
+msgid ""
 "This extension uses the progress information logged by hg commands\n"
 "to draw progress bars that are as informative as possible. Some progress\n"
 "bars only offer indeterminate information, while others have a definite\n"
-"end point.\n"
-"\n"
-"The following settings are available::\n"
-"\n"
+"end point."
+msgstr ""
+
+msgid "The following settings are available::"
+msgstr ""
+
+msgid ""
 "  [progress]\n"
 "  delay = 3 # number of seconds (float) before showing the progress bar\n"
 "  refresh = 0.1 # time in seconds between refreshes of the progress bar\n"
@@ -3587,8 +4007,10 @@
 "  clear-complete = True # clear the progress bar after it's done\n"
 "  disable = False # if true, don't show a progress bar\n"
 "  assume-tty = False # if true, ALWAYS show a progress bar, unless\n"
-"                     # disable is given\n"
-"\n"
+"                     # disable is given"
+msgstr ""
+
+msgid ""
 "Valid entries for the format field are topic, bar, number, unit, and\n"
 "item. item defaults to the last 20 characters of the item, but this\n"
 "can be changed by adding either ``-<num>`` which would take the last\n"
@@ -3598,27 +4020,38 @@
 msgid "command to delete untracked files from the working directory"
 msgstr ""
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+
+msgid "    This means that purge will delete:"
+msgstr ""
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+
+msgid "    But it will leave untouched:"
+msgstr ""
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -3657,29 +4090,37 @@
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr ""
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr ""
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr ""
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history (the source) onto another (the destination). This can be\n"
 "    useful for linearizing local changes relative to a master\n"
-"    development tree.\n"
-"\n"
+"    development tree."
+msgstr ""
+
+msgid ""
 "    If you don't specify a destination changeset (``-d/--dest``),\n"
 "    rebase uses the tipmost head of the current named branch as the\n"
 "    destination. (The destination changeset is not modified by\n"
-"    rebasing, but new changesets are added as its descendants.)\n"
-"\n"
+"    rebasing, but new changesets are added as its descendants.)"
+msgstr ""
+
+msgid ""
 "    You can specify which changesets to rebase in two ways: as a\n"
 "    \"source\" changeset or as a \"base\" changeset. Both are shorthand\n"
 "    for a topologically related set of changesets (the \"source\n"
@@ -3690,21 +4131,27 @@
 "    ``-b`` is less precise but more convenient than ``-s``: you can\n"
 "    specify any changeset in the source branch, and rebase will select\n"
 "    the whole branch. If you specify neither ``-s`` nor ``-b``, rebase\n"
-"    uses the parent of the working directory as the base.\n"
-"\n"
+"    uses the parent of the working directory as the base."
+msgstr ""
+
+msgid ""
 "    By default, rebase recreates the changesets in the source branch\n"
 "    as descendants of dest and then destroys the originals. Use\n"
 "    ``--keep`` to preserve the original source changesets. Some\n"
 "    changesets in the source branch (e.g. merges from the destination\n"
-"    branch) may be dropped if they no longer contribute any change.\n"
-"\n"
+"    branch) may be dropped if they no longer contribute any change."
+msgstr ""
+
+msgid ""
 "    One result of the rules for selecting the destination changeset\n"
 "    and source branch is that, unlike ``merge``, rebase will do\n"
 "    nothing if you are at the latest (tipmost) head of a named branch\n"
 "    with two heads. You need to explicitly specify source and/or\n"
 "    destination (or ``update`` to the other head, if it's the head of\n"
-"    the intended source branch).\n"
-"\n"
+"    the intended source branch)."
+msgstr ""
+
+msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a.\n"
 "    "
@@ -3788,9 +4235,7 @@
 msgid "rebase from the specified changeset"
 msgstr ""
 
-msgid ""
-"rebase from the base of the specified changeset (up to greatest common "
-"ancestor of base and dest)"
+msgid "rebase from the base of the specified changeset (up to greatest common ancestor of base and dest)"
 msgstr ""
 
 msgid "rebase onto the specified changeset"
@@ -3880,30 +4325,41 @@
 msgid "record change %d/%d to %r?"
 msgstr ""
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr ""
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
+"    possible::"
+msgstr ""
+
+msgid ""
 "      y - record this change\n"
-"      n - skip this change\n"
-"\n"
+"      n - skip this change"
+msgstr ""
+
+msgid ""
 "      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
+"      f - record remaining changes to this file"
+msgstr ""
+
+msgid ""
 "      d - done, skip remaining changes and files\n"
 "      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
+"      q - quit, recording no changes"
+msgstr ""
+
+msgid "      ? - display help"
 msgstr ""
 
 msgid "'mq' extension not loaded"
@@ -3927,27 +4383,38 @@
 msgid "recreates hardlinks between repository clones"
 msgstr ""
 
-msgid ""
-"recreate hardlinks between two repositories\n"
-"\n"
+msgid "recreate hardlinks between two repositories"
+msgstr ""
+
+msgid ""
 "    When repositories are cloned locally, their data files will be\n"
-"    hardlinked so that they only use the space of a single repository.\n"
-"\n"
+"    hardlinked so that they only use the space of a single repository."
+msgstr ""
+
+msgid ""
 "    Unfortunately, subsequent pulls into either repository will break\n"
 "    hardlinks for any files touched by the new changesets, even if\n"
-"    both repositories end up pulling the same changes.\n"
-"\n"
+"    both repositories end up pulling the same changes."
+msgstr ""
+
+msgid ""
 "    Similarly, passing --rev to \"hg clone\" will fail to use any\n"
 "    hardlinks, falling back to a complete copy of the source\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    This command lets you recreate those hardlinks and reclaim that\n"
-"    wasted space.\n"
-"\n"
+"    wasted space."
+msgstr ""
+
+msgid ""
 "    This repository will be relinked to share space with ORIGIN, which\n"
 "    must be on the same local disk. If ORIGIN is omitted, looks for\n"
-"    \"default-relink\", then \"default\", in [paths].\n"
-"\n"
+"    \"default-relink\", then \"default\", in [paths]."
+msgstr ""
+
+msgid ""
 "    Do not attempt any read operations on this repository while the\n"
 "    command is running. (Both repositories will be locked against\n"
 "    writes.)\n"
@@ -3989,40 +4456,56 @@
 msgid "[ORIGIN]"
 msgstr ""
 
-msgid ""
-"extend schemes with shortcuts to repository swarms\n"
-"\n"
+msgid "extend schemes with shortcuts to repository swarms"
+msgstr ""
+
+msgid ""
 "This extension allows you to specify shortcuts for parent URLs with a\n"
-"lot of repositories to act like a scheme, for example::\n"
-"\n"
+"lot of repositories to act like a scheme, for example::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
-"  py = http://code.python.org/hg/\n"
-"\n"
-"After that you can use it like::\n"
-"\n"
-"  hg clone py://trunk/\n"
-"\n"
+"  py = http://code.python.org/hg/"
+msgstr ""
+
+msgid "After that you can use it like::"
+msgstr ""
+
+msgid "  hg clone py://trunk/"
+msgstr ""
+
+msgid ""
 "Additionally there is support for some more complex schemas, for\n"
-"example used by Google Code::\n"
-"\n"
+"example used by Google Code::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
-"  gcode = http://{1}.googlecode.com/hg/\n"
-"\n"
+"  gcode = http://{1}.googlecode.com/hg/"
+msgstr ""
+
+msgid ""
 "The syntax is taken from Mercurial templates, and you have unlimited\n"
 "number of variables, starting with ``{1}`` and continuing with\n"
 "``{2}``, ``{3}`` and so on. This variables will receive parts of URL\n"
 "supplied, split by ``/``. Anything not specified as ``{part}`` will be\n"
-"just appended to an URL.\n"
-"\n"
-"For convenience, the extension adds these schemes by default::\n"
-"\n"
+"just appended to an URL."
+msgstr ""
+
+msgid "For convenience, the extension adds these schemes by default::"
+msgstr ""
+
+msgid ""
 "  [schemes]\n"
 "  py = http://hg.python.org/\n"
 "  bb = https://bitbucket.org/\n"
 "  bb+ssh = ssh://hg@bitbucket.org/\n"
 "  gcode = https://{1}.googlecode.com/hg/\n"
-"  kiln = https://{1}.kilnhg.com/Repo/\n"
-"\n"
+"  kiln = https://{1}.kilnhg.com/Repo/"
+msgstr ""
+
+msgid ""
 "You can override a predefined scheme by defining a new scheme with the\n"
 "same name.\n"
 msgstr ""
@@ -4030,12 +4513,15 @@
 msgid "share a common history between several working directories"
 msgstr ""
 
-msgid ""
-"create a new shared repository\n"
-"\n"
+msgid "create a new shared repository"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: using rollback or extensions that destroy/modify history\n"
 "    (mq, rebase, etc.) can cause considerable confusion with shared\n"
 "    clones. In particular, if two shared clones are both updated to\n"
@@ -4054,11 +4540,13 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr ""
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr ""
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr ""
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
@@ -4133,38 +4621,52 @@
 msgid "no such option\n"
 msgstr "inget sådant alternativ\n"
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr ""
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr ""
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
+"    changesets you want."
+msgstr ""
+
+msgid ""
 "    hg transplant --branch REVISION --all will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
+"    directory."
+msgstr ""
+
+msgid ""
 "    You can optionally mark selected transplanted changesets as merge\n"
 "    changesets. You will not be prompted to transplant any ancestors\n"
 "    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
+"    normally instead of transplanting them."
+msgstr ""
+
+msgid ""
 "    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
+"    an interactive changeset browser."
+msgstr ""
+
+msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
 "    and then resume where you left off by calling hg transplant\n"
 "    --continue/-c.\n"
@@ -4216,44 +4718,57 @@
 msgid "filter changesets through FILTER"
 msgstr ""
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-msgstr ""
-
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgstr ""
+
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr ""
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
+"operation."
+msgstr ""
+
+msgid "This extension is useful for:"
+msgstr ""
+
+msgid ""
 "- Japanese Windows users using shift_jis encoding.\n"
 "- Chinese Windows users using big5 encoding.\n"
 "- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
+"  case-insensitive file system."
+msgstr ""
+
+msgid "This extension is not needed for:"
+msgstr ""
+
+msgid ""
 "- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
-"- You should use single encoding in one repository.\n"
-"\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr ""
+
+msgid "- You should use single encoding in one repository."
+msgstr ""
+
+msgid ""
 "\n"
 "By default, win32mbcs uses encoding.encoding decided by Mercurial.\n"
-"You can specify the encoding by config option::\n"
-"\n"
+"You can specify the encoding by config option::"
+msgstr ""
+
+msgid ""
 " [win32mbcs]\n"
-" encoding = sjis\n"
-"\n"
-"It is useful for the users who want to commit with UTF-8 log message.\n"
+" encoding = sjis"
+msgstr ""
+
+msgid "It is useful for the users who want to commit with UTF-8 log message.\n"
 msgstr ""
 
 #, python-format
@@ -4263,31 +4778,41 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr ""
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr ""
+
+msgid "To perform automatic newline conversion, use::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+msgstr ""
+
+msgid ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+msgstr ""
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -4313,13 +4838,21 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+
+#, python-format
+msgid "and also consider adding:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -4328,21 +4861,29 @@
 "** = %sdecode:\n"
 msgstr ""
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr ""
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
@@ -4417,6 +4958,9 @@
 msgid "invalid format spec '%%%s' in output filename"
 msgstr ""
 
+msgid "searching"
+msgstr "söker"
+
 #, python-format
 msgid "adding %s\n"
 msgstr ""
@@ -4548,12 +5092,8 @@
 msgstr ""
 
 #, python-format
-msgid "%s: %s"
-msgstr ""
-
-#, python-format
 msgid "Found revision %s from %s\n"
-msgstr ""
+msgstr "Hittade revision %s från %s\n"
 
 msgid "revision matching date not found"
 msgstr ""
@@ -4604,22 +5144,36 @@
 msgid "empty commit message"
 msgstr ""
 
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr "lägg till de specificerade filerna i nästa arkivering"
+
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    Schemalägg filer att versionshanteras och läggas till i arkivet."
+
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
-"    If no names are given, add all files to the repository.\n"
-"\n"
-"    .. container:: verbose\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+"    Filerna kommer att läggas till i arkivet vid nästa arkivering. För att\n"
+"    ångra en addering innan dess, se hg forget."
+
+msgid "    If no names are given, add all files to the repository."
+msgstr "    Om inga namn anges, läggs alla filer till i arkivet."
+
+msgid "    .. container:: verbose"
+msgstr "    .. container:: verbose"
+
+msgid ""
 "       An example showing how new (unknown) files are added\n"
-"       automatically by ``hg add``::\n"
-"\n"
+"       automatically by ``hg add``::"
+msgstr ""
+"       An example showing how new (unknown) files are added\n"
+"       Ett exempel som visar hur nya (okända) filer läggs\n"
+"       till automatiskt av ``hg add``::"
+
+msgid ""
 "         $ ls\n"
 "         foo.c\n"
 "         $ hg status\n"
@@ -4630,21 +5184,6 @@
 "         A foo.c\n"
 "    "
 msgstr ""
-"lägg till de specificerade filerna i nästa arkivering\n"
-"\n"
-"    Schemalägg filer att versionshanteras och läggas till i arkivet.\n"
-"\n"
-"    Filerna kommer att läggas till i arkivet vid nästa arkivering. För att\n"
-"    ångra en addering innan dess, se hg forget.\n"
-"\n"
-"    Om inga namn anges, läggs alla filer till i arkivet.\n"
-"\n"
-"    .. container:: verbose\n"
-"\n"
-"       An example showing how new (unknown) files are added\n"
-"       Ett exempel som visar hur nya (okända) filer läggs\n"
-"       till automatiskt av ``hg add``::\n"
-"\n"
 "         $ ls\n"
 "         foo.c\n"
 "         $ hg status\n"
@@ -4655,16 +5194,24 @@
 "         A foo.c\n"
 "    "
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr "lägg till alla nya nya filer, radera alla saknade filer"
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    Lägg till alla nya filer och radera alla saknade filer från arkivet."
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+"    Nya filer ignoreras om de överrensstämmer något av mönstren i\n"
+"    .hgignore. Precis som med add, kommer ändringarna att träda i kraft vid\n"
+"    nästa arkivering."
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -4673,14 +5220,6 @@
 "    can be expensive.\n"
 "    "
 msgstr ""
-"lägg till alla nya nya filer, radera alla saknade filer\n"
-"\n"
-"    Lägg till alla nya filer och radera alla saknade filer från arkivet.\n"
-"\n"
-"    Nya filer ignoreras om de överrensstämmer något av mönstren i\n"
-"    .hgignore. Precis som med add, kommer ändringarna att träda i kraft vid\n"
-"    nästa arkivering.\n"
-"\n"
 "    Använd flaggan -s/--similarity för att upptäcka omdöpta filer. Med en\n"
 "    parameter större än 0, kommer varje borttagen fil att jämföras med\n"
 "    varje tillagd fil och lagrar de som är tillräckligt lika som ett\n"
@@ -4695,28 +5234,28 @@
 msgid "similarity must be between 0 and 100"
 msgstr "likhet måste vara mellan 0 och 100"
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr "visa ändringsinformation för varje rad i filer"
+
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr "    Visa ändringar i filer, och ansvarigt revisions-ID för varje rad"
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr ""
+"    Detta kommando är användbart för att upptäcka när en ändring gjordes\n"
+"    och av vem."
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
 "    nor desirable.\n"
 "    "
 msgstr ""
-"visa ändringsinformation för varje rad i filer\n"
-"\n"
-"    Visa ändringar i filer, och ansvarigt revisions-ID för varje rad\n"
-"\n"
-"    Detta kommando är användbart för att upptäcka när en ändring gjordes\n"
-"    och av vem.\n"
-"\n"
 "    Utan flaggan -a/--text, kommer annotate att undvika behandling av filer\n"
 "    som upptäcks vara binära. Med -a, kommer filen att annoteras ändå, även\n"
 "    om resultatet antagligen inte kommer att vara användbart.\n"
@@ -4732,49 +5271,55 @@
 msgid "%s: binary file\n"
 msgstr ""
 
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr "skapa ett icke versionshanterat arkiv från en arkivrevision"
+
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
-"    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are:\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+"    Som standard används revisonen för arbetskatalogens förälder; använd\n"
+"    -r/--rev för att specificera en annan revision."
+
+msgid ""
+"    The archive type is automatically detected based on file\n"
+"    extension (or override using -t/--type)."
+msgstr ""
+"    Arkivtypen upptäcks automatiskt baserat på filändelsen (eller tvinga\n"
+"    med hjälp av -t/--type)."
+
+msgid "    Valid types are:"
+msgstr "    Giltiga typer är:"
+
+msgid ""
 "    :``files``: a directory full of files (default)\n"
 "    :``tar``:   tar archive, uncompressed\n"
 "    :``tbz2``:  tar archive, compressed using bzip2\n"
 "    :``tgz``:   tar archive, compressed using gzip\n"
 "    :``uzip``:  zip archive, uncompressed\n"
-"    :``zip``:   zip archive, compressed using deflate\n"
-"\n"
-"    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
-"    Each member added to an archive file has a directory prefix\n"
-"    prepended. Use -p/--prefix to specify a format string for the\n"
-"    prefix. The default is the basename of the archive, with suffixes\n"
-"    removed.\n"
-"    "
-msgstr ""
-"skapa ett icke versionshanterat arkiv från en arkivrevision\n"
-"\n"
-"    Som standard används revisonen för arbetskatalogens förälder; använd\n"
-"    -r/--rev för att specificera en annan revision.\n"
-"\n"
-"    För att definiera vilken typ av arkiv som ska skapas, använd -t/--type.\n"
-"    Giltiga typer är::\n"
-"\n"
+"    :``zip``:   zip archive, compressed using deflate"
+msgstr ""
 "    :``files``: en katalog fylld med filer (standard)\n"
 "    :``tar``:   tar-arkiv, okomprimerad\n"
 "    :``tbz2``:  tar-arkiv, komprimerad med bzip2\n"
 "    :``tgz``:   tar-arkiv, komprimerad med gzip\n"
 "    :``uzip``:  zip-arkiv, okomprimerad\n"
-"    :``zip``:   zip-arkiv, komprimerad med deflate\n"
-"\n"
+"    :``zip``:   zip-arkiv, komprimerad med deflate"
+
+msgid ""
+"    The exact name of the destination archive or directory is given\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
 "    Det exakta namnet på destinationsarkivet eller -katalogen anges med en\n"
-"    formatsträng; se 'hg help export' för detaljer.\n"
-"\n"
+"    formatsträng; se 'hg help export' för detaljer."
+
+msgid ""
+"    Each member added to an archive file has a directory prefix\n"
+"    prepended. Use -p/--prefix to specify a format string for the\n"
+"    prefix. The default is the basename of the archive, with suffixes\n"
+"    removed.\n"
+"    "
+msgstr ""
 "    Varje fil som läggs till en arkivfil har ett katalogprefix. Använd\n"
 "    -p/--prefix för att specificera en formatsträn för prefixet. Som\n"
 "    standard används basnamnet för arkivet, med suffix borttagna.\n"
@@ -4789,41 +5334,36 @@
 msgid "cannot archive plain files to stdout"
 msgstr "kan inte arkivera rena filer till stdout"
 
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgid "reverse effect of earlier changeset"
+msgstr "omvänd effekten från en tidigare ändring"
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+"    Arkivera de återkallade ändringarna som en ny ändring. Den nya\n"
+"    ändringen är ett barn till den återkallade ändringen."
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+"    Om du återkallar en annan ändring än toppen, skapas ett nytt huvud.\n"
+"    Detta huvud kommer att vara en nya toppen och du bör sammanfoga den med\n"
+"    ett annat huvud."
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"omvänd effekten från en tidigare ändring\n"
-"\n"
-"    Arkivera de återkallade ändringarna som en ny ändring. Den nya\n"
-"    ändringen är ett barn till den återkallade ändringen.\n"
-"\n"
-"    Om du återkallar en annan ändring än toppen, skapas ett nytt huvud.\n"
-"    Detta huvud kommer att vara en nya toppen och du bör sammanfoga den med\n"
-"    ett annat huvud.\n"
-"\n"
+"    The result of this merge is not committed, as with a normal merge."
+msgstr ""
 "    Flaggan --merge kommer ihåg arbetskatalogens förälder innan\n"
 "    återkallningen påbörjas, och sammanfogar sedan det nya huvudet med den\n"
 "    ändringen efteråt. Detta gör att du inte behöver göra sammanfogningen\n"
 "    manuellt. Resultatet av sammanfogningen arkiveras inte, precis som en\n"
-"    vanlig sammanfogning.\n"
-"\n"
-"    Se 'hg help dates' för en lista med giltiga format för -d/--date.\n"
-"    "
+"    vanlig sammanfogning."
 
 msgid "please specify just one revision"
 msgstr "specificera bara en revision"
@@ -4861,9 +5401,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr "(använd \"backout --merge\" om du vill auto-sammanfoga)\n"
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr "genomsökning av ändringar med halveringsmetoden"
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -4871,31 +5412,31 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
-"    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
-"    If you supply a command, it will be used for automatic bisection.\n"
-"    Its exit status will be used to mark revisions as good or bad:\n"
-"    status 0 means good, 125 means to skip the revision, 127\n"
-"    (command not found) will abort the bisection, and any other\n"
-"    non-zero exit status means the revision is bad.\n"
-"    "
-msgstr ""
-"genomsökning av ändringar med halveringsmetoden\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
 "    Detta kommando hjälper till att hitta ändringar som skapar problem. För\n"
 "    att använda, markera den tidigaste ändringen du vet har problemet som\n"
 "    dålig, och markera sedan den senaste problemfria ändringen som bra.\n"
 "    Bisect uppdaterar din arbetskatalog till en revision för testning (om\n"
 "    inte -U/--noupdate anges). När du har testat, markera arbetskatalogen\n"
 "    som bra eller dålig, och bisect kommer endera att uppdatera till en\n"
-"    annan kandidat eller meddela att den dåliga revisionen har hittats.\n"
-"\n"
+"    annan kandidat eller meddela att den dåliga revisionen har hittats."
+
+msgid ""
+"    As a shortcut, you can also use the revision argument to mark a\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
 "    Som en genväg kan du också använda revisionsargumentet för att markera\n"
-"    en revision som bra eller dålig utan att kontrollera den först.\n"
-"\n"
+"    en revision som bra eller dålig utan att kontrollera den först."
+
+msgid ""
+"    If you supply a command, it will be used for automatic bisection.\n"
+"    Its exit status will be used to mark revisions as good or bad:\n"
+"    status 0 means good, 125 means to skip the revision, 127\n"
+"    (command not found) will abort the bisection, and any other\n"
+"    non-zero exit status means the revision is bad.\n"
+"    "
+msgstr ""
 "    Om du tillhandahåller ett kommando, kommer det att användas för\n"
 "    automatisk genomsökning. Dess returkod kommer att användas för att ange\n"
 "    revisioner som bra eller dåliga: kod 0 betyder bra, 125 betyder att\n"
@@ -4910,12 +5451,10 @@
 msgstr "Den första dåliga revisionen är:\n"
 
 msgid "Due to skipped revisions, the first good revision could be any of:\n"
-msgstr ""
-"Tack vare skippade revisioner, är den första bra revisionen någon av:\n"
+msgstr "Tack vare skippade revisioner, är den första bra revisionen någon av:\n"
 
 msgid "Due to skipped revisions, the first bad revision could be any of:\n"
-msgstr ""
-"Tack vare skippade revisioner, kan den första dåliga revisionen någon av:\n"
+msgstr "Tack vare skippade revisioner, kan den första dåliga revisionen någon av:\n"
 
 msgid "cannot bisect (no known good revisions)"
 msgstr "kan inte genomsöka (inga kända bra revisioner)"
@@ -4945,41 +5484,43 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr "Testar ändring %d:%s (%d ändringar kvar, ~%d test)\n"
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr "sätt eller visa det aktuella grennamnet"
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
-"    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
-"    Use -C/--clean to reset the working directory branch to that of\n"
-"    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch. Use\n"
-"    'hg commit --close-branch' to mark this branch as closed.\n"
-"    "
-msgstr ""
-"sätt eller visa det aktuella grennamnet\n"
-"\n"
+"    branch."
+msgstr ""
 "    Utan arguments visas det aktuella grennamnet. Med ett argument\n"
 "    sätts arbetskatalogens grennamn (grenen existerar inte i arkivet\n"
 "    förrän nästa arkivering). Standardförfarandet är att all primär\n"
-"    utveckling sker i grenen 'default'.\n"
-"\n"
+"    utveckling sker i grenen 'default'."
+
+msgid ""
+"    Unless -f/--force is specified, branch will not let you set a\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
 "    Om inte -f/--force är specificerad, kommer branch inte att tillåta\n"
 "    dig att sätta ett grennamn som redan existerar, även om den är\n"
-"    inaktiv.\n"
-"\n"
+"    inaktiv."
+
+msgid ""
+"    Use -C/--clean to reset the working directory branch to that of\n"
+"    the parent of the working directory, negating a previous branch\n"
+"    change."
+msgstr ""
 "    Använd -C/--clean för att återställa arbetskatalogens gren till\n"
 "    samma som förälderns arbetskatalog, och återställer ett tidigare\n"
-"    grenbyte.\n"
-"\n"
+"    grenbyte."
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch. Use\n"
+"    'hg commit --close-branch' to mark this branch as closed.\n"
+"    "
+msgstr ""
 "    Använd kommandot 'hg update' för att byta till en existerande gren.\n"
 "    Använd 'hg commit --close-branch' för att markera grenen som stängd.\n"
 "    "
@@ -4988,37 +5529,36 @@
 msgid "reset working directory to branch %s\n"
 msgstr "återställ arbetskatalogen till grenen %s\n"
 
-msgid ""
-"a branch of the same name already exists (use 'hg update' to switch to it)"
-msgstr ""
-"en gren med samma namn finns redan (kör 'hg update' för att byta till den)"
+msgid "a branch of the same name already exists (use 'hg update' to switch to it)"
+msgstr "en gren med samma namn finns redan (kör 'hg update' för att byta till den)"
 
 #, python-format
 msgid "marked working directory as branch %s\n"
 msgstr "markerade arbetskatalogen som grenen %s\n"
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr "visa namngivna grenar i arkivet"
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
-"    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-msgstr ""
-"visa namngivna grenar i arkivet\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
 "    Visa alla namngivna grenar i arkivet, och indikera vilka som är\n"
 "    inaktiva. Om -c/--closed anges, visas också grenar som har markerats\n"
-"    som stängda (se hg commit --close-branch).\n"
-"\n"
+"    som stängda (se hg commit --close-branch)."
+
+msgid ""
+"    If -a/--active is specified, only show active branches. A branch\n"
+"    is considered active if it contains repository heads."
+msgstr ""
 "    Om -a/--acive anges, visas bara aktiva grenar. En gren anses aktiv om\n"
-"    den innehåller arkivhuvuden.\n"
-"\n"
+"    den innehåller arkivhuvuden."
+
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch.\n"
+"    "
+msgstr ""
 "    Använd kommandot 'hg update' för att byta till en existerande gren.\n"
 "    "
 
@@ -5028,48 +5568,51 @@
 msgid " (inactive)"
 msgstr " (inaktiv)"
 
-msgid ""
-"create a changegroup file\n"
-"\n"
+msgid "create a changegroup file"
+msgstr "skapa en ändringsgruppsfil"
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+"    Skapa en komprimerad ändringsgruppfil genom att samla ihop ändringar\n"
+"    som inte finns i ett annat arkiv."
+
+msgid ""
 "    If you omit the destination repository, then hg assumes the\n"
 "    destination will have all the nodes you specify with --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+"    Om inget destinationsarkiv anges, så antar hg att destinationen har\n"
+"    alla noder du anger med parametrar av typen --base. För att skapa en\n"
+"    bunt med alla ändringar, använd -a/--all (eller --base null)."
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+"    Du kan ändra kompressionsmetod med flaggan -t/--type. De tillgänliga\n"
+"    kompressionsmetoderna är: none, bzip2, och gzip (som standard\n"
+"    komprimeras buntar med bzip2)."
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-msgstr ""
-"skapa en ändringsgruppsfil\n"
-"\n"
-"    Skapa en komprimerad ändringsgruppfil genom att samla ihop ändringar\n"
-"    som inte finns i ett annat arkiv.\n"
-"\n"
-"    Om inget destinationsarkiv anges, så antar hg att destinationen har\n"
-"    alla noder du anger med parametrar av typen --base. För att skapa en\n"
-"    bunt med alla ändringar, använd -a/--all (eller --base null).\n"
-"\n"
-"    Du kan ändra kompressionsmetod med flaggan -t/--type. De tillgänliga\n"
-"    kompressionsmetoderna är: none, bzip2, och gzip (som standard\n"
-"    komprimeras buntar med bzip2).\n"
-"\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
 "    Buntfilen kan överföras med konventionella metoder och appliceras i\n"
 "    ett annat arkiv med kommandot unbundle eller pull. Detta är\n"
 "    användbart när en direkt push och pull inte är tillgängliga eller\n"
-"    när export av ett helt arkiv inte är intressant.\n"
-"\n"
+"    när export av ett helt arkiv inte är intressant."
+
+msgid ""
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+msgstr ""
 "    Applicering av buntar bevarar all ändringsinnehåll inklusive\n"
 "    tillstånd, information om kopior/namnbyte, och revisionshistorik.\n"
 "    "
@@ -5080,54 +5623,419 @@
 msgid "unknown bundle type specified with --type"
 msgstr "okänd bunttyp specificerad med --type"
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr "visa den aktuella eller angivna revisionen för filer"
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+"    Visa de angivna filerna som de ser ut i den angivna revisionen. Om\n"
+"    ingen revision anges, så används arbetskatalogens förälder, eller tip\n"
+"    om ingen revision är uthämtad."
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions:\n"
-"\n"
+"    for the export command, with the following additions:"
+msgstr ""
+"    Utmatning kan vara till en fil, och då anges filnamnet med en\n"
+"    formatsträng. Formatteringsreglerna är samma som för kommandot\n"
+"    export, med följande tillägg:"
+
+msgid ""
 "    :``%s``: basename of file being printed\n"
 "    :``%d``: dirname of file being printed, or '.' if in repository root\n"
 "    :``%p``: root-relative path name of file being printed\n"
 "    "
 msgstr ""
-"visa den aktuella eller angivna revisionen för filer\n"
-"\n"
-"    Visa de angivna filerna som de ser ut i den angivna revisionen. Om\n"
-"    ingen revision anges, så används arbetskatalogens förälder, eller tip\n"
-"    om ingen revision är uthämtad.\n"
-"\n"
-"    Utmatning kan vara till en fil, och då anges filnamnet med en\n"
-"    formatsträng. Formatteringsreglerna är samma som för kommandot\n"
-"    export, med följande tillägg:\n"
-"\n"
 "    :``%s``: basnamn på den visade filen\n"
 "    :``%d``: katalognamn på den visade filen, eller '.' om i arkivroten\n"
 "    :``%p``: rotrelativ sökvägsnamn för den visade filen\n"
 "    "
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+#, fuzzy
+msgid "make a copy of an existing repository"
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid "    See 'hg help urls' for valid source format details."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ``ssh://`` URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ``ssh://`` URLs."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    A set of changesets (tags, or branch names) to pull may be specified\n"
 "    by listing each changeset (tag, or branch name) with -r/--rev.\n"
 "    If -r/--rev is used, the cloned repository will contain only a subset\n"
@@ -5135,33 +6043,459 @@
 "    defined by all -r/--rev options (including all their ancestors)\n"
 "    will be pulled into the destination repository.\n"
 "    No subsequent changesets (including subsequent tags) will be present\n"
-"    in the destination.\n"
-"\n"
+"    in the destination."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Using -r/--rev (or 'clone src#rev dest') implies --pull, even for\n"
-"    local source repositories.\n"
-"\n"
+"    local source repositories."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
 "    to the repository data, not to the working directory). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
+"    avoid hardlinking."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    In some cases, you can clone repositories and the working directory\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    using full hardlinks with ::"
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
 "    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
 "    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
+"    metadata under the .hg directory, such as mq."
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Mercurial will update the working directory to the first applicable\n"
-"    revision from this list:\n"
-"\n"
+"    revision from this list:"
+msgstr ""
+"gör en kopia av ett existerande arkiv\n"
+"\n"
+"    Skapa en kopia av ett existerande arkiv i en ny katalog.\n"
+"\n"
+"    Om ingen namn på destinationskatalogen anges, kommer basnamnet för\n"
+"    källan att användas.\n"
+"\n"
+"    Källans plats kommer att läggas till i det nya arkivets .hg/hgrc-fil\n"
+"    som standardplats att användas för framtida dragningar.\n"
+"\n"
+"    Se 'hg help urls' för detaljer om giltiga källformat.\n"
+"\n"
+"    Det är möjligt att specificera en ``ssh://``-URL som destination, men\n"
+"    ingen .hg/hgrc och arbetskatalog skapas på fjärrsidan.\n"
+"    Se 'hg help urls' för viktiga detaljer om ``ssh://``-URLer.\n"
+"    En grupp ändringar (märken, eller grennamn) att dra kan specificeras\n"
+"    genom att lista varje ändring (märke, eller grennamn) med -r/--rev.\n"
+"    Om -r/--rev används, kommer det klonade arkivet bara att innehålla en\n"
+"    delmängd av ändringarna i källarkivet. Bara ändringarna definierade med\n"
+"    -r/--rev (och alla föräldrar) kommer att dras in i destinationsarkivet.\n"
+"    Inga efterföljande ändringar (inklusive efterföljande märken) kommer\n"
+"    att finnas i destinationen.\n"
+"\n"
+"    Användande av -r/--rev (eller 'clone källa#rev dest') aktiverar också\n"
+"    --pull, även för lokala arkiv.\n"
+"\n"
+"    Av effektivitestskäl används hårda länkar när källan och destinationen\n"
+"    är på samma filsystem (notera att detta bara gäller för arkivdatat,\n"
+"    inte arbetskopian). Vissa filsystem såsom AFS implementerar\n"
+"    hårda länkar felaktigt, men rapporterar inga fel. Använd flaggan --pull\n"
+"    för att undvika användning av hårda länkar.\n"
+"\n"
+"    I vissa fall kan du klona både arkiv och arbetskopia, alla\n"
+"    hårdlänkade, med ::\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Detta är det snabbaste sättet att klona, men det är inte alltid säkert.\n"
+"    Operationen är inte atomisk (att ARKIV inte modifieras under\n"
+"    operationen är upp till dig) och du måste se till att din editor bryter\n"
+"    hårda länkar (Emacs och de flesta Linux-kernelverktyg gör det). Det är\n"
+"    inte heller kompatibelt med vissa utökningar som placerar sin metadata\n"
+"    under katalogen .hg, som mq.\n"
+"\n"
+"    Mercurial uppdaterar arbetskatalogen till den första passande\n"
+"    revisionen från den här listan:\n"
+"\n"
+"    a) null med -U eller källarkivet inte har några ändringar\n"
+"    b) med -u . och källarkivet, den första föräldern av källarkivets\n"
+"       arbetskatalog\n"
+"    c) ändringen antigen med -u (om ett grennamn, innebär det senaste\n"
+"       huvudet på den grenen)\n"
+"    d) ändringen angiven med -r\n"
+"    e) det högsta huvudet angivet med -b\n"
+"    f) det högsta huvudet angivent med källsyntaxen url#gren\n"
+"    g) det högsta huvudet på default-grenen\n"
+"    h) tip\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    a) null if -U or the source repository has no changesets\n"
 "    b) if -u . and the source repository is local, the first parent of\n"
 "       the source repository's working directory\n"
@@ -5236,42 +6570,38 @@
 msgid "cannot specify both --noupdate and --updaterev"
 msgstr "kan inte ange både --noupdate och --updaterev"
 
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr "arkivera de angivna filerna eller alla ändringar"
+
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
-"    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
-"    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"arkivera de angivna filerna eller alla ändringar\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr ""
 "    Arkiverar ändringar för de angivna filerna i arkivet. Till skillnad\n"
 "    från ett centralicerat RCS, är detta en lokal operation. Se hg push\n"
-"    för ett sätt att aktivt distribuera dina ändringar.\n"
-"\n"
+"    för ett sätt att aktivt distribuera dina ändringar."
+
+msgid ""
+"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    will be committed."
+msgstr ""
 "    Om filer inte anges, kommer alla ändringar som \"hg status\"\n"
-"    rapporterar att arkiveras.\n"
-"\n"
+"    rapporterar att arkiveras."
+
+msgid ""
+"    If you are committing the result of a merge, do not provide any\n"
+"    filenames or -I/-X filters."
+msgstr ""
 "    Om du arkiverar resultatet av en sammanfogning, ange inga filnamn\n"
-"    eller flaggorna -I/-X.\n"
-"\n"
+"    eller flaggorna -I/-X."
+
+msgid ""
+"    If no commit message is specified, the configured editor is\n"
+"    started to prompt you for a message."
+msgstr ""
 "    Om inget arkiveringsmeddelande anges, kommer den konfigurerade editorn\n"
-"    att startas och fråga om meddelandet.\n"
-"\n"
-"    Se 'hg help dates' för en lista med giltiga format för -d/--date.\n"
-"    "
+"    att startas och fråga om meddelandet."
 
 msgid "nothing changed\n"
 msgstr "inget ändrat\n"
@@ -5283,31 +6613,32 @@
 msgid "committed changeset %d:%s\n"
 msgstr "arkiverade ändringen %d:%s\n"
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr "markera filer som kopierade vid nästa arkivering"
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+"    Markera dest som kopia av källfilerna. Om dest är en katalog,\n"
+"    placeras kopiorna i den katalogen. Om dest är en fil, måste källan\n"
+"    vara en enda fil."
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+"    Som standard kopierar detta kommando filinnehållet som det ser ut i\n"
+"    arbetskatalogen. Om det aktiveras med -A/--after, sparas operationen\n"
+"    men ingen kopiering utförs."
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
-"markera filer som kopierade vid nästa arkivering\n"
-"\n"
-"    Markera dest som kopia av källfilerna. Om dest är en katalog,\n"
-"    placeras kopiorna i den katalogen. Om dest är en fil, måste källan\n"
-"    vara en enda fil.\n"
-"\n"
-"    Som standard kopierar detta kommando filinnehållet som det ser ut i\n"
-"    arbetskatalogen. Om det aktiveras med -A/--after, sparas operationen\n"
-"    men ingen kopiering utförs.\n"
-"\n"
 "    Kommandot slår igenom vid nästa arkivering. För att ångra en\n"
 "    kopiering innan dess, se hg revert.\n"
 "    "
@@ -5346,31 +6677,31 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr ".hg/dirstate överrensstämmer inte med nuvarande förälders manifest"
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr "visa kombinerade konfigurationsalternativ från alla hgrc-filer"
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr "    Utan argument, skrivs namn och värden för alla alternativ."
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+"    Med ett argument i formen sektion.namn, visas bara värdet för det\n"
+"    konfigurationsalternativet."
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+"    Med flera argument, visas namn och värden för alla alternativ med\n"
+"    överrensstämmande sektionsnamn."
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
 msgstr ""
-"visa kombinerade konfigurationsalternativ från alla hgrc-filer\n"
-"\n"
-"    Utan argument, skrivs namn och värden för alla alternativ.\n"
-"\n"
-"    Med ett argument i formen sektion.namn, visas bara värdet för det\n"
-"    konfigurationsalternativet.\n"
-"\n"
-"    Med flera argument, visas namn och värden för alla alternativ med\n"
-"    överrensstämmande sektionsnamn.\n"
-"\n"
 "    Med --debug, visas källan (filnamn och radnummer) för varje\n"
 "    alternativ.\n"
 "    "
@@ -5378,9 +6709,10 @@
 msgid "only one config item permitted"
 msgstr "bara ett konfigurationsalternativ tillåts"
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr ""
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
@@ -5446,14 +6778,10 @@
 msgid " patch test failed!\n"
 msgstr ""
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
-msgstr ""
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr ""
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
 msgstr ""
 
 msgid "Checking commit editor...\n"
@@ -5496,76 +6824,81 @@
 msgid "show how files match on given patterns"
 msgstr ""
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr "visa skillnader i arkivet (eller på valda filer)"
+
+msgid "    Show differences between revisions for the specified files."
+msgstr "    Visa skillnader mellan revisioner för specificerade filer."
+
+msgid "    Differences between files are shown using the unified diff format."
+msgstr "    Skillnaderna mellan filerna visas i unified diff-format."
+
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
+"    NOTERA: diff kan generera oväntade resultat för sammanfogningar,\n"
+"    eftersom den som standard kommer att jämföra mot arbetskatalogens\n"
+"    tidigare ändring om ingen revision anges."
+
+msgid ""
 "    Alternatively you can specify -c/--change with a revision to see\n"
-"    the changes in that changeset relative to its first parent.\n"
-"\n"
+"    the changes in that changeset relative to its first parent."
+msgstr ""
+"    Alternativt så kan du ange -c/--change med en revision för att se\n"
+"    modifikationerna i den ändringen relativt till dess första förälder."
+
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+"    Utan flaggan -a/--text, kommer diff att försöka undvika att visa\n"
+"    skillnader mellan binära filer. Med -a, kommer en diff att skapas ändå,\n"
+"    troligtvis med oönskade resultat."
+
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
 msgstr ""
-"visa skillnader i arkivet (eller på valda filer)\n"
-"\n"
-"    Visa skillnader mellan revisioner för specificerade filer.\n"
-"\n"
-"    Skillnaderna mellan filerna visas i unified diff-format.\n"
-"\n"
-"    NOTERA: diff kan generera oväntade resultat för sammanfogningar,\n"
-"    eftersom den som standard kommer att jämföra mot arbetskatalogens\n"
-"    tidigare ändring om ingen revision anges.\n"
-"\n"
-"    När två revisioner anges, visas ändringarna mellan dessa två\n"
-"    revisioner. Om bara en revision anges kommer den att jämföras med\n"
-"    arbetskatalogen, och om ingen revision anges, jämförs arbetskatalogens\n"
-"    filer med dess förälder.\n"
-"\n"
-"    Alternativt så kan du ange -c/--change med en revision för att se\n"
-"    modifikationerna i den ändringen relativt till dess första förälder.\n"
-"\n"
-"    Utan flaggan -a/--text, kommer diff att försöka undvika att visa\n"
-"    skillnader mellan binära filer. Med -a, kommer en diff att skapas ändå,\n"
-"    troligtvis med oönskade resultat.\n"
-"\n"
 "    Använd flaggan -g/--git för att skapa diffs i gits utökade format. För\n"
 "    mer information, läs 'hg help diffs'.\n"
 "    "
 
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr "dumpa rubrik och diff för en eller fler ändringar"
+
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr "    Skriv ändringsrubriken och diffen för en eller fler revisioner."
+
+msgid ""
 "    The information shown in the changeset header is: author, date,\n"
 "    branch name (if non-default), changeset hash, parent(s) and commit\n"
-"    comment.\n"
-"\n"
+"    comment."
+msgstr ""
+"    Informationen som visas i ändringsheadern är: författare, datum,\n"
+"    grenens namn (om inte default), ändringens hash, föräldrar och\n"
+"    arkiveringskommentar."
+
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+"    NOTERA: export kan generera oväntade resultat för sammanfogningar,\n"
+"    eftersom den som standard bara kommer att jämföra mot den första\n"
+"    föräldern."
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:\n"
-"\n"
+"    given using a format string. The formatting rules are as follows:"
+msgstr ""
+"    Utmatning kan vara till en fil, och då anges namnet på filen med en\n"
+"    formatsträng. Formateringsreglerna är som följer::"
+
+msgid ""
 "    :``%%``: literal \"%\" character\n"
 "    :``%H``: changeset hash (40 bytes of hexadecimal)\n"
 "    :``%N``: number of patches being generated\n"
@@ -5573,34 +6906,8 @@
 "    :``%b``: basename of the exporting repository\n"
 "    :``%h``: short-form changeset hash (12 bytes of hexadecimal)\n"
 "    :``%n``: zero-padded sequence number, starting at 1\n"
-"    :``%r``: zero-padded changeset revision number\n"
-"\n"
-"    Without the -a/--text option, export will avoid generating diffs\n"
-"    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
-"    With the --switch-parent option, the diff will be against the\n"
-"    second parent. It can be useful to review a merge.\n"
-"    "
-msgstr ""
-"dumpa rubrik och diff för en eller fler ändringar\n"
-"\n"
-"    Skriv ändringsrubriken och diffen för en eller fler revisioner.\n"
-"\n"
-"    Informationen som visas i ändringsheadern är: författare, datum,\n"
-"    grenens namn (om inte default), ändringens hash, föräldrar och\n"
-"    arkiveringskommentar.\n"
-"\n"
-"    NOTERA: export kan generera oväntade resultat för sammanfogningar,\n"
-"    eftersom den som standard bara kommer att jämföra mot den första\n"
-"    föräldern.\n"
-"\n"
-"    Utmatning kan vara till en fil, och då anges namnet på filen med en\n"
-"    formatsträng. Formateringsreglerna är som följer::\n"
-"\n"
+"    :``%r``: zero-padded changeset revision number"
+msgstr ""
 "    :``%%``: ett \"%\"-tecken\n"
 "    :``%H``: ändringshash (40 hexadecimala bytes)\n"
 "    :``%N``: antal genererade patchar\n"
@@ -5608,15 +6915,29 @@
 "    :``%b``: basnamn för det exporterande arkivet\n"
 "    :``%h``: kort ändringshash (12 hexadecimala bytes)\n"
 "    :``%n``: nollpaddat sekvensnummer, börjar med 1\n"
-"    :``%r``: nollpaddat ändringsrevisionsnummer\n"
-"\n"
+"    :``%r``: nollpaddat ändringsrevisionsnummer"
+
+msgid ""
+"    Without the -a/--text option, export will avoid generating diffs\n"
+"    of files it detects as binary. With -a, export will generate a\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
 "    Utan flaggan -a/--text, kommer export att undvika skapandet av diffar\n"
 "    av filer som upptäcks vara binära. Med -a, kommer filen att exporteras\n"
-"    ändå, även om resultatet antagligen inte kommer att vara användbart.\n"
-"\n"
+"    ändå, även om resultatet antagligen inte kommer att vara användbart."
+
+msgid ""
+"    Use the -g/--git option to generate diffs in the git extended diff\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
 "    Använd flaggan -g/--git för att generera diffar i gits utökade format.\n"
-"    Se 'hg help diffs' för mer information.\n"
-"\n"
+"    Se 'hg help diffs' för mer information."
+
+msgid ""
+"    With the --switch-parent option, the diff will be against the\n"
+"    second parent. It can be useful to review a merge.\n"
+"    "
+msgstr ""
 "    Med flaggan --switch-parent, kommer diffen att vara mot den andra\n"
 "    föräldern. Det kan vara användbart för att granska en sammanfogning.\n"
 "    "
@@ -5630,27 +6951,28 @@
 msgid "exporting patch:\n"
 msgstr ""
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr "glöm de specificerade filerna vid nästa arkivering"
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+"    Märk de specificerade filerna så att de inte längre kommer att spåras\n"
+"    efter nästa arkivering."
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+"    Detta tar bara bort filer från den nuvarande grenen, inte från hela\n"
+"    projekthistoriken, och det raderar dem inte från arbetskatalogen."
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
-"glöm de specificerade filerna vid nästa arkivering\n"
-"\n"
-"    Märk de specificerade filerna så att de inte längre kommer att spåras\n"
-"    efter nästa arkivering.\n"
-"\n"
-"    Detta tar bara bort filer från den nuvarande grenen, inte från hela\n"
-"    projekthistoriken, och det raderar dem inte från arbetskatalogen.\n"
-"\n"
 "    För att ångra en forget innan nästa arkivering, se hg add.\n"
 "    "
 
@@ -5661,16 +6983,23 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr ""
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr "sök efter ett mänster i specificerade filer och revisioner"
+
+msgid "    Search revisions of files for a regular expression."
+msgstr "    Söker igenom revisioner och filer med reguljära uttryck."
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+"    Det här kommandot beter sig annorlunda jämfört med grep i Unix. Det\n"
+"    accepterar bara Python/Perl-regexps. Det söker arkivhistorik, inte\n"
+"    arbetskatalogen. Det visar också revisionsnumret där en träff finns."
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -5678,14 +7007,6 @@
 "    use the --all flag.\n"
 "    "
 msgstr ""
-"sök efter ett mänster i specificerade filer och revisioner\n"
-"\n"
-"    Söker igenom revisioner och filer med reguljära uttryck.\n"
-"\n"
-"    Det här kommandot beter sig annorlunda jämfört med grep i Unix. Det\n"
-"    accepterar bara Python/Perl-regexps. Det söker arkivhistorik, inte\n"
-"    arbetskatalogen. Det visar också revisionsnumret där en träff finns.\n"
-"\n"
 "    Som standard visar grep bara utmatningen från den första revisionen\n"
 "    av en matchande fil. För att visa varje revision som innehåller en\n"
 "    ändring i träffstatus (\"-\" för en träff som blir en icke-träff,\n"
@@ -5697,48 +7018,49 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr "grep: ogiltigt träffmönster: %s\n"
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository branch heads.\n"
-"\n"
+msgid "show current repository heads or show branch heads"
+msgstr "visa aktuella arkivhuvuden och visar grenhuvuden"
+
+msgid "    With no arguments, show all repository branch heads."
+msgstr "    Utan några argument visas alla ändringar som är grenhuvuden."
+
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
 "    for update and merge operations. Branch heads are changesets that have\n"
-"    no child changeset on the same branch.\n"
-"\n"
-"    If one or more REVs are given, only branch heads on the branches\n"
-"    associated with the specified changesets are shown.\n"
-"\n"
-"    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
-"    If STARTREV is specified, only those heads that are descendants of\n"
-"    STARTREV will be displayed.\n"
-"\n"
-"    If -t/--topo is specified, named branch mechanics will be ignored and "
-"only\n"
-"    changesets without children will be shown.\n"
-"    "
-msgstr ""
-"visa aktuella arkivhuvuden och visar grenhuvuden\n"
-"\n"
-"    Utan några argument visas alla ändringar som är grenhuvuden.\n"
-"\n"
+"    no child changeset on the same branch."
+msgstr ""
 "    Arkiv-\"huvuden\" är ändringar utan barnändringar. Det är vanligtvis\n"
 "    där som utveckling sker och är de vanligaste målen för update- och\n"
 "    merge-operationer. Grenhuvuden är ändringar som inte har några\n"
-"    barnändringar på samma gren.\n"
-"\n"
+"    barnändringar på samma gren."
+
+msgid ""
+"    If one or more REVs are given, only branch heads on the branches\n"
+"    associated with the specified changesets are shown."
+msgstr ""
 "    Om en eller flera REV anges, kommer bara grenhuvuden på grenar\n"
-"    som är associerade med de angivna ändringarna att visas.\n"
-"\n"
+"    som är associerade med de angivna ändringarna att visas."
+
+msgid ""
+"    If -c/--closed is specified, also show branch heads marked closed\n"
+"    (see hg commit --close-branch)."
+msgstr ""
 "    Om -c/--closed anges, visas också grenvhuvuden som markerats som\n"
-"    stängda (se hg commit --close-branch).\n"
-"\n"
+"    stängda (se hg commit --close-branch)."
+
+msgid ""
+"    If STARTREV is specified, only those heads that are descendants of\n"
+"    STARTREV will be displayed."
+msgstr ""
 "    Om STARTREV anges, visas bara de huvuden som har STARTREV som\n"
-"    anfader.\n"
-"\n"
+"    anfader."
+
+msgid ""
+"    If -t/--topo is specified, named branch mechanics will be ignored and only\n"
+"    changesets without children will be shown.\n"
+"    "
+msgstr ""
 "    Om -t/--topo anges, ignoreras all logik för namngivna grenar och bara\n"
 "    ändringar utan barn kommer att visas.\n"
 "    "
@@ -5751,18 +7073,16 @@
 msgid " (started at %s)"
 msgstr " (började som %s)"
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr "visa hjälp för ett givet ämne eller en hjälpöversikt"
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr "    Utan argument visas en kommandolista med korta hjälpmeddelanden."
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
-"visa hjälp för ett givet ämne eller en hjälpöversikt\n"
-"\n"
-"    Utan argument visas en kommandolista med korta hjälpmeddelanden.\n"
-"\n"
 "    Med ett ämne, utökning eller kommandonamn, visas hjälp för det ämnet.\n"
 "    "
 
@@ -5773,8 +7093,7 @@
 msgstr "använd \"hg help\" för den fulla kommandolistan"
 
 msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
-msgstr ""
-"använd \"hg help\" för en full kommandolista eller \"hg -v\" för detaljer"
+msgstr "använd \"hg help\" för en full kommandolista eller \"hg -v\" för detaljer"
 
 #, python-format
 msgid "use \"hg -v help%s\" to show aliases and global options"
@@ -5784,12 +7103,8 @@
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "använd \"hg -v help %s\" för att visa globala flaggor"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"kommandolista:\n"
-"\n"
+msgid "list of commands:"
+msgstr "kommandolista:"
 
 #, python-format
 msgid ""
@@ -5803,14 +7118,12 @@
 msgstr "(ingen hjälptext tillgänglig)"
 
 #, python-format
-msgid ""
-"alias for: hg %s\n"
-"\n"
-"%s"
-msgstr ""
-"alias för: hg %s\n"
-"\n"
-"%s"
+msgid "alias for: hg %s"
+msgstr "alias för: hg %s"
+
+#, python-format
+msgid "%s"
+msgstr "%s"
 
 #, python-format
 msgid ""
@@ -5830,16 +7143,11 @@
 msgstr "ingen hjälptext tillgänglig"
 
 #, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
-msgstr ""
-"%s-utökning - %s\n"
-"\n"
+msgid "%s extension - %s"
+msgstr "%s-utökning - %s"
 
 msgid "use \"hg help extensions\" for information on enabling extensions\n"
-msgstr ""
-"använd \"hg help extensions\" för information om aktivering av utökningar\n"
+msgstr "använd \"hg help extensions\" för information om aktivering av utökningar\n"
 
 #, python-format
 msgid "'%s' is provided by the following extension:"
@@ -5848,12 +7156,8 @@
 msgid "Mercurial Distributed SCM\n"
 msgstr "Mercurial Distribuerad SCM\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"grundläggande kommandon:\n"
-"\n"
+msgid "basic commands:"
+msgstr "grundläggande kommandon:"
 
 msgid "enabled extensions:"
 msgstr "aktiverade utökningar:"
@@ -5863,72 +7167,84 @@
 
 msgid ""
 "\n"
-"additional help topics:\n"
-"\n"
-msgstr ""
-"\n"
-"ytterligare hjälpämnen:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+"additional help topics:"
+msgstr ""
+"\n"
+"ytterligare hjälpämnen:"
+
+msgid "identify the working copy or specified revision"
+msgstr "identifiera arbetskopian eller angivna revisioner"
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    Utan någon revision, visas en sammanfattning av den aktuella\n"
+"    statusen för arkivet."
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+"    Specificering av en sökväg till ett arkiv eller Mercurial-bunt\n"
+"    gör att kommandot jobbar mot arkivet/bunten som är angiven."
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
 "    this revision and a branch name for non-default branches.\n"
 "    "
 msgstr ""
-"identifiera arbetskopian eller angivna revisioner\n"
-"\n"
-"    Utan någon revision, visas en sammanfattning av den aktuella\n"
-"    statusen för arkivet.\n"
-"\n"
-"    Specificering av en sökväg till ett arkiv eller Mercurial-bunt\n"
-"    gör att kommandot jobbar mot arkivet/bunten som är angiven.\n"
-"\n"
 "    Sammanfattningen identifierar arkivstatusen med en eller två\n"
 "    föräldrars hash-identifierare, följt av ett \"+\" om det finns\n"
 "    oarkiverade ändringar i arbetskatalogen, en lista av märken för den\n"
 "    här revisionen och ett grennamn för grenar som inte är default.\n"
 "    "
 
-msgid ""
-"import an ordered set of patches\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr ""
+
+msgid ""
 "    Import a list of patches and commit them individually (unless\n"
-"    --no-commit is specified).\n"
-"\n"
+"    --no-commit is specified)."
+msgstr ""
+
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
+"    message."
+msgstr ""
+
+msgid ""
 "    If the imported patch was generated by hg export, user and\n"
 "    description from patch override values from message headers and\n"
 "    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
+"    override these."
+msgstr ""
+
+msgid ""
 "    If --exact is specified, import will set the working directory to\n"
 "    the parent of each patch before applying it, and will abort if the\n"
 "    resulting changeset has a different ID than the one recorded in\n"
 "    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
+"    deficiencies in the text patch format."
+msgstr ""
+
+msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
+
+msgid ""
 "    To read a patch from standard input, use \"-\" as the patch name. If\n"
 "    a URL is specified, the patch will be downloaded from it.\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
@@ -5954,196 +7270,198 @@
 msgid "no diffs found"
 msgstr ""
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr "visa nya ändringar som hittas i källan"
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
-"    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
-"    See pull for valid source format details.\n"
-"    "
-msgstr ""
-"visa nya ändringar som hittas i källan\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
 "    Visa nya ändringar som hittas i den specificerade sökvägen/URL:en\n"
 "    eller den vanliga pull-platsen. Dessa ändringar skulle ha dragits om\n"
-"    du använt pull-kommandot.\n"
-"\n"
+"    du använt pull-kommandot."
+
+msgid ""
+"    For remote repository, using --bundle avoids downloading the\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
 "    För fjärrarkiv, använd --bundle för att slippa ladda ner\n"
-"    ändringarna två gånger om incoming följs av pull.\n"
-"\n"
+"    ändringarna två gånger om incoming följs av pull."
+
+msgid ""
+"    See pull for valid source format details.\n"
+"    "
+msgstr ""
 "    Se pull för detaljer om giltiga källformat.\n"
 "    "
 
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr "skapa ett nytt arkiv i den angivna katalogen"
+
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+"    Initialisera ett nytt arkiv i den angivna katalogen. Om den angivna\n"
+"    katalogen inte existerar, kommer den att skapas."
+
+msgid "    If no directory is given, the current directory is used."
+msgstr "    Om ingen katalog anges, används den nuvarande katalogen."
+
+msgid ""
 "    It is possible to specify an ``ssh://`` URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"skapa ett nytt arkiv i den angivna katalogen\n"
-"\n"
-"    Initialisera ett nytt arkiv i den angivna katalogen. Om den angivna\n"
-"    katalogen inte existerar, kommer den att skapas.\n"
-"\n"
-"    Om ingen katalog anges, används den nuvarande katalogen.\n"
-"\n"
 "    Det är möjligt att specificera en URL med ``ssh://`` som destination.\n"
 "    Se 'hg help urls' för mer information.\n"
 "    "
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr "hitta filer som matchar givna mönster"
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+"    Visa filer som är under Mercurials kontroll i arbetskatalogen vars\n"
+"    namn matchar givna mönster."
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+"    Som standard söker det här kommandot i alla kataloger inuti\n"
+"    arbetskatalogen. För att bara söka den aktuella katalogen och dess\n"
+"    underkataloger, använd \"--include .\"."
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+"    Om inga mönster anges för matching, visar det här kommantod namnen på\n"
+"    alla filer under Mercurials kontroll i arbetskatalogen."
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
 "    contain whitespace as multiple filenames.\n"
 "    "
 msgstr ""
-"hitta filer som matchar givna mönster\n"
-"\n"
-"    Visa filer som är under Mercurials kontroll i arbetskatalogen vars\n"
-"    namn matchar givna mönster.\n"
-"\n"
-"    Som standard söker det här kommandot i alla kataloger inuti\n"
-"    arbetskatalogen. För att bara söka den aktuella katalogen och dess\n"
-"    underkataloger, använd \"--include .\".\n"
-"\n"
-"    Om inga mönster anges för matching, visar det här kommantod namnen på\n"
-"    alla filer under Mercurials kontroll i arbetskatalogen.\n"
-"\n"
 "    Om du vill skicka utmatningen från detta kommando till kommandot\n"
 "    \"xargs\", använd flaggan -O till både detta kommando och \"xargs\".\n"
 "    Detta undviker problemet med att \"xargs\" behandlar filnamn som\n"
 "    innehåller blanktecken som multipla filnamn.\n"
 "    "
 
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
+msgid "show revision history of entire repository or files"
+msgstr "visa revisionshistorik för hela arkivet eller filer"
+
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
+"    project."
+msgstr ""
+"    Skriv ut revisionshistoriken för de specificerade filerna eller hela\n"
+"    projektet."
+
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
+"    Filhistorik visas utan att följa namnbyten eller kopieringshistorik av\n"
+"    filer. Använd -f/--follow med ett filnamn för att följa historiken även\n"
+"    vid namnbyten och kopiering. --follow utan ett filnamn kommer bara att\n"
+"    visa föräldrar eller ättlingar från startrevisionen. --follow-first\n"
+"    följer bara den första föräldern i revisoner med sammanfogningar."
+
+msgid ""
 "    If no revision range is specified, the default is tip:0 unless\n"
 "    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    used as the starting revision."
+msgstr ""
+"    Om ingen revisionsserie specificeras, används tip:0 som standard om\n"
+"    inte --follow är satt, då arbetskatalogens förälder används som första\n"
+"    revision."
+
+msgid ""
 "    By default this command prints revision number and changeset id,\n"
 "    tags, non-trivial parents, user, date and time, and a summary for\n"
 "    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
+"    changed files and full commit message are shown."
+msgstr ""
+"    Som standard skriver detta kommando ut revisionsnummer och ändrings-id,\n"
+"    märken, icke-triviala föräldrar, användare, datum och tid, samt ett\n"
+"    sammandrag för varje arkivering. När flaggan -v/--verbose används,\n"
+"    visas listan med ändrade filer och fullständigt arkiveringsmeddelande."
+
+msgid ""
 "    NOTE: 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:.\n"
 "    "
 msgstr ""
-"visa revisionshistorik för hela arkivet eller filer\n"
-"\n"
-"    Skriv ut revisionshistoriken för de specificerade filerna eller hela\n"
-"    projektet.\n"
-"\n"
-"    Filhistorik visas utan att följa namnbyten eller kopieringshistorik av\n"
-"    filer. Använd -f/--follow med ett filnamn för att följa historiken även\n"
-"    vid namnbyten och kopiering. --follow utan ett filnamn kommer bara att\n"
-"    visa föräldrar eller ättlingar från startrevisionen. --follow-first\n"
-"    följer bara den första föräldern i revisoner med sammanfogningar.\n"
-"\n"
-"    Om ingen revisionsserie specificeras, används tip:0 som standard om\n"
-"    inte --follow är satt, då arbetskatalogens förälder används som första\n"
-"    revision.\n"
-"\n"
-"    Se 'hg help dates' för giltiga format till -d/--date.\n"
-"\n"
-"    Som standard skriver detta kommando ut revisionsnummer och ändrings-id,\n"
-"    märken, icke-triviala föräldrar, användare, datum och tid, samt ett\n"
-"    sammandrag för varje arkivering. När flaggan -v/--verbose används,\n"
-"    visas listan med ändrade filer och fullständigt arkiveringsmeddelande.\n"
-"\n"
 "    NOTERA: log -p/--patch kan generera oväntad diff-utmatning för\n"
 "    sammanfogningar, eftersom det bara kommer att jämföra ändringen mot den\n"
 "    första förälder. Dessutom kommer bara filer som skiljer sig från BÅDA\n"
 "    föräldrarna att visas i filer:.\n"
 "    "
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr "visa den nuvarande eller angivna revisionen av projektmanifestet"
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+"    Visa en lista med versionshanterade filer för den angivna revisionen.\n"
+"    Om ingen revision anges, används arbetskatalogens första föräldern,\n"
+"    eller null-revisionen om ingen revision är uthämtad."
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
-"visa den nuvarande eller angivna revisionen av projektmanifestet\n"
-"\n"
-"    Visa en lista med versionshanterade filer för den angivna revisionen.\n"
-"    Om ingen revision anges, används arbetskatalogens första föräldern,\n"
-"    eller null-revisionen om ingen revision är uthämtad.\n"
-"\n"
 "    Med -v visas filtillstånd, symlänkar och exekverbarhetsbitar.\n"
 "    Med --debug visas filrevisionhashar.\n"
 "    "
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr "sammanfoga arbetskatalogen med en annan revision"
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+"    Den aktuella arbetskatalogen uppdateras med alla ändringar som gjorts i\n"
+"    den efterfrågade revisionen sedan den senaste gemensamma revisionen."
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+"    Filerna som ändrats mellan föräldrarna markeras som förändrade till\n"
+"    nästa arkivering och en arkivering måste utföras innan några andra\n"
+"    arkivuppdateringar tillåts. Nästa arkivering kommer att ha två\n"
+"    föräldrar."
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
 "    explicit revision with which to merge with must be provided.\n"
 "    "
 msgstr ""
-"sammanfoga arbetskatalogen med en annan revision\n"
-"\n"
-"    Den aktuella arbetskatalogen uppdateras med alla ändringar som gjorts i\n"
-"    den efterfrågade revisionen sedan den senaste gemensamma revisionen.\n"
-"\n"
-"    Filerna som ändrats mellan föräldrarna markeras som förändrade till\n"
-"    nästa arkivering och en arkivering måste utföras innan några andra\n"
-"    arkivuppdateringar tillåts. Nästa arkivering kommer att ha två\n"
-"    föräldrar.\n"
-"\n"
 "    Om ingen revision anges, arbetskatalogens förälder är en huvudrevision,\n"
 "    och den nuvarande grenen innehåller exakt ett annat huvud, sammanfogas\n"
 "    det andra huvudet som standard. Om inte, måste en explicit revision\n"
@@ -6152,8 +7470,7 @@
 
 #, python-format
 msgid "abort: branch '%s' has %d heads - please merge with an explicit rev\n"
-msgstr ""
-"avbryter: grenen '%s' har %d huvuden - sammanfoga med en specifik rev\n"
+msgstr "avbryter: grenen '%s' har %d huvuden - sammanfoga med en specifik rev\n"
 
 msgid "(run 'hg heads .' to see heads)\n"
 msgstr "(kör 'hg heads .' för att se huvuden)\n"
@@ -6172,35 +7489,32 @@
 msgid "%s - use \"hg update\" instead"
 msgstr "%s - använd \"hg update\" istället"
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
-msgstr ""
-"arbetskatalogen är inte vid huvudrevisionen - använd \"hg update\" eller "
-"sammanfoga med en speficik rev"
-
-msgid ""
-"show changesets not found in the destination\n"
-"\n"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
+msgstr "arbetskatalogen är inte vid huvudrevisionen - använd \"hg update\" eller sammanfoga med en speficik rev"
+
+msgid "show changesets not found in the destination"
+msgstr "visa ändringar som inte hittas i destinationen"
+
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
-"    See pull for details of valid destination formats.\n"
-"    "
-msgstr ""
-"visa ändringar som inte hittas i destinationen\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
 "    Visa ändringar som inte hittas i det angivna destionationsarkivet\n"
 "    eller den vanliga push-platsen. Detta är de ändringar som skulle\n"
-"    tryckas om push genomfördes.\n"
-"\n"
+"    tryckas om push genomfördes."
+
+msgid ""
+"    See pull for details of valid destination formats.\n"
+"    "
+msgstr ""
 "    Se pull för information om giltiga destinationsformat.\n"
 "    "
 
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr "visa föräldrar till arbetskatalogen eller revision"
+
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -6208,8 +7522,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"visa föräldrar till arbetskatalogen eller revision\n"
-"\n"
 "    Visa revisioner för arbetskatalogens föräldrar. Om en revision anges\n"
 "    via -r/--rev, kommer den revisionens föräldrar att visas. Om en fil\n"
 "    anges, kommer revisionen då den filen sist ändrades (innan\n"
@@ -6223,35 +7535,37 @@
 msgid "'%s' not found in manifest!"
 msgstr "'%s' hittades inte i manifestet!"
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr "visa aliases för fjärrarkiv"
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+"    Visa definitioner för sökvägen NAME. Om inget namn anges, visas\n"
+"    definitionen för alla tillgängliga namn."
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
+"    Sökvägar definieras i sektionen [paths] i /etc/mercurial/hgrc och\n"
+"    $HOME/.hgrc. Om det körs i ett arkiv, så används .hg/hgrc också."
+
+msgid ""
 "    The names 'default' and 'default-push' have a special meaning.\n"
 "    They are the locations used when pulling and pushing respectively\n"
 "    unless a location is specified. When cloning a repository, the\n"
-"    clone source is written as 'default' in .hg/hgrc.\n"
-"\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"visa aliases för fjärrarkiv\n"
-"\n"
-"    Visa definitioner för sökvägen NAME. Om inget namn anges, visas\n"
-"    definitionen för alla tillgängliga namn.\n"
-"\n"
-"    Sökvägar definieras i sektionen [paths] i /etc/mercurial/hgrc och\n"
-"    $HOME/.hgrc. Om det körs i ett arkiv, så används .hg/hgrc också.\n"
-"\n"
+"    clone source is written as 'default' in .hg/hgrc."
+msgstr ""
 "    Namnen 'default' och 'default-push' har en särskild innebörd. De är\n"
 "    platserna som används vid push eller pull om ingen plats anges. När\n"
-"    ett arkiv klonas, skrivs klonkällan som 'default' i .hg/hgrc.\n"
-"\n"
+"    ett arkiv klonas, skrivs klonkällan som 'default' i .hg/hgrc."
+
+msgid ""
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    Se 'hg help urls' för mer information.\n"
 "    "
 
@@ -6262,85 +7576,85 @@
 msgstr "uppdaterar inte, eftersom nya huvuden läggs till\n"
 
 msgid "(run 'hg heads' to see heads, 'hg merge' to merge)\n"
-msgstr ""
-"(kör 'hg heads' för att se nya huvuden, 'hg merge' för att sammanfoga)\n"
+msgstr "(kör 'hg heads' för att se nya huvuden, 'hg merge' för att sammanfoga)\n"
 
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(kör 'hg update' för att få en arbetskopia)\n"
 
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+msgid "pull changes from the specified source"
+msgstr "dra ändringar från den specificerade källan"
+
+msgid "    Pull changes from a remote repository to a local one."
+msgstr "    Drar ändringar från ett annat arkiv till ett lokalt."
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
+"    Hittar alla ändringar från arkivet i den specificerade sökvägen eller\n"
+"    URL:en och lägger till dem i det lokala arkivet (det nuvarande om inte\n"
+"    -R är angivet). Som standard uppdaterar detta inte projektkopian i\n"
+"    arbetskatalogen."
+
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
-"    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"dra ändringar från den specificerade källan\n"
-"\n"
-"    Drar ändringar från ett annat arkiv till ett lokalt.\n"
-"\n"
-"    Hittar alla ändringar från arkivet i den specificerade sökvägen eller\n"
-"    URL:en och lägger till dem i det lokala arkivet (det nuvarande om inte\n"
-"    -R är angivet). Som standard uppdaterar detta inte projektkopian i\n"
-"    arbetskatalogen.\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
 "    Använd hg incoming om du vill se vad som skulle ha lagts till av en\n"
 "    dragning vid det tillfället du kör kommandot. Om du bestämmer dig för\n"
 "    att lägga till de ändringarna i arkivet, använd pull -r X där X -r den\n"
-"    sista ändringen listad av hg incoming.\n"
-"\n"
+"    sista ändringen listad av hg incoming."
+
+msgid ""
+"    If SOURCE is omitted, the 'default' path will be used.\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    Om KÄLLA inte är angivet, används 'default'-sökvägen.\n"
 "     Se 'hg help urls' för mer information.\n"
 "    "
 
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the specified destination.\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr "tryck ändringar till den specificerade destinationen"
+
+msgid "    Push changes from the local repository to the specified destination."
+msgstr "    Trycker ändringar från det lokala arkivet till angiven destination."
+
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
+"    current one."
+msgstr ""
+"    Detta är en symmetriska operationen för pull. Den flyttar ändringar\n"
+"    från det nuvarande arkivet till ett annat. Om destinationen är lokal så\n"
+"    är detta identiskt med en dragning i den katalogen från den nuvarande."
+
+msgid ""
 "    By default, push will refuse to run if it detects the result would\n"
 "    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
+"    Som standard vägrar push att utföra något om det upptäcks att antalet\n"
+"    huvuden i destinationen ökar. Det brukar generellt sett indikera att\n"
+"    användaren glömt att dra och sammanfoga innan tryckning."
+
+msgid ""
 "    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
+"    be pushed to the remote repository."
+msgstr ""
+"    Om -r/--rev används, kommer den angivna revisionen och alla anfäder att\n"
+"    tryckas till det andra arkivet."
+
+msgid ""
 "    Please see 'hg help urls' for important details about ``ssh://``\n"
 "    URLs. If DESTINATION is omitted, a default path will be used.\n"
 "    "
 msgstr ""
-"tryck ändringar till den specificerade destinationen\n"
-"\n"
-"    Trycker ändringar från det lokala arkivet till angiven destination.\n"
-"\n"
-"    Detta är en symmetriska operationen för pull. Den flyttar ändringar\n"
-"    från det nuvarande arkivet till ett annat. Om destinationen är lokal så\n"
-"    är detta identiskt med en dragning i den katalogen från den nuvarande.\n"
-"\n"
-"    Som standard vägrar push att utföra något om det upptäcks att antalet\n"
-"    huvuden i destinationen ökar. Det brukar generellt sett indikera att\n"
-"    användaren glömt att dra och sammanfoga innan tryckning.\n"
-"\n"
-"    Om -r/--rev används, kommer den angivna revisionen och alla anfäder att\n"
-"    tryckas till det andra arkivet.\n"
-"\n"
 "    Se 'hg help urls' för viktiga detaljer om URL:er med ``ssh://``. Om\n"
 "    DESTINATION inte är angivet, används standardsökvägen."
 
@@ -6348,74 +7662,71 @@
 msgid "pushing to %s\n"
 msgstr "trycker till %s\n"
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr "Ã¥ngra en avbruten transaktion"
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr "    Återställ från en avbruten commit eller pull."
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
-"Ã¥ngra en avbruten transaktion\n"
-"\n"
-"    Återställ från en avbruten commit eller pull.\n"
-"\n"
 "    Kommandot försöker att fixa arkivstatusen efter en avbruten operation.\n"
 "    Det bör bara användas när Mercurial föreslår det.\n"
 "    "
 
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr "ta bort de specificerade filerna vid nästa arkivering"
+
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr "    Markera de indikerade filerna för borttagning från arkivet."
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+"    Detta tar bara bort filerna från den nuvarande grenen, inte från hela\n"
+"    projektets historik. -A/--after kan användas för att bara ta bort filer\n"
+"    som redan raderats, -f/--force kan användas för att tvinga radering, och\n"
+"    -Af kan ta bort filer från nästa revision utan att radera dem från\n"
+"    arbetskopian."
+
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
+"    Följande tabell visar hur remove uppför sig för olika filstatus\n"
+"    (kolumner) och flaggor (rader). Filstatus är Adderade [A], Ren [C],\n"
+"    Modifierad [M] och Saknad [!] (som rapporteras av hg status). Aktionerna\n"
+"    är Varna, Radera (från gren) och Ta bort (från disk)::"
+
+msgid ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
-msgstr ""
-"ta bort de specificerade filerna vid nästa arkivering\n"
-"\n"
-"    Markera de indikerade filerna för borttagning från arkivet.\n"
-"\n"
-"    Detta tar bara bort filerna från den nuvarande grenen, inte från hela\n"
-"    projektets historik. -A/--after kan användas för att bara ta bort filer\n"
-"    som redan raderats, -f/--force kan användas för att tvinga radering, "
-"och\n"
-"    -Af kan ta bort filer från nästa revision utan att radera dem från\n"
-"    arbetskopian.\n"
-"\n"
-"    Följande tabell visar hur remove uppför sig för olika filstatus\n"
-"    (kolumner) och flaggor (rader). Filstatus är Adderade [A], Ren [C],\n"
-"    Modifierad [M] och Saknad [!] (som rapporteras av hg status). "
-"Aktionerna\n"
-"    är Varna, Radera (från gren) och Ta bort (från disk)::\n"
-"\n"
+"      -Af    R  R  R  R"
+msgstr ""
 "             A  C  M  !\n"
 "      ingen  V  RT V  R\n"
 "      -f     R  RT RT R\n"
 "      -A     V  V  V  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
+"      -Af    R  R  R  R"
+
+msgid ""
+"    This command schedules the files to be removed at the next commit.\n"
+"    To undo a remove before that, see hg revert.\n"
+"    "
+msgstr ""
 "    Kommandot markerar att filerna ska tas bort vid nästa arkivering. För\n"
 "    att ångra en remove innan dess, se hg revert.\n"
 "    "
@@ -6437,47 +7748,49 @@
 msgid "has been marked for add"
 msgstr "har markerats för addering"
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr "döp om filer; likvärdig med kopiering + radering"
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+"    Markera dest som kopior av källorna; markera källorna för radering.\n"
+"    Om dest är en katalog, placeras kopiorna i den katalogen. Om dest är\n"
+"    en fil, kan det bara finnas en källa."
+
+msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
-"döp om filer; likvärdig med kopiering + radering\n"
-"\n"
-"    Markera dest som kopior av källorna; markera källorna för radering.\n"
-"    Om dest är en katalog, placeras kopiorna i den katalogen. Om dest är\n"
-"    en fil, kan det bara finnas en källa.\n"
-"\n"
-"    Som standard kopierar detta kommando innehållet i filerna som de ser\n"
-"    ut i arbetskopian. Om det utförs med -A/--after, så sparas\n"
-"    operationen, men ingen kopiering utförs.\n"
-"\n"
 "    Det här kommandot får effekt vid nästa arkivering. För att ångra ett\n"
 "    namnbyte innan det, se hg revert.\n"
 "    "
 
-msgid ""
-"various operations to help finish a merge\n"
-"\n"
+msgid "various operations to help finish a merge"
+msgstr "diverse operationer för att slutföra sammanfogningar"
+
+msgid ""
 "    This command includes several actions that are often useful while\n"
 "    performing a merge, after running ``merge`` but before running\n"
 "    ``commit``.  (It is only meaningful if your working directory has\n"
 "    two parents.)  It is most relevant for merges with unresolved\n"
 "    conflicts, which are typically a result of non-interactive merging with\n"
-"    ``internal:merge`` or a command-line merge tool like ``diff3``.\n"
-"\n"
-"    The available actions are:\n"
-"\n"
+"    ``internal:merge`` or a command-line merge tool like ``diff3``."
+msgstr ""
+"    Det här kommandot inkludera flera handlingar som ofta är nyttiga när\n"
+"    en sammanfogning utförs, efter att ``merge`` körts men innan\n"
+"    ``commit``. (Det är bara nyttigt om din arbetskatalog har två\n"
+"    föräldrar.)  Det är mest relevant för sammanfogningar med olösta\n"
+"    konflikter, som är vanliga resultat av icke-interaktiv sammanfogning\n"
+"    med ``internal:merge`` eller ett kommandoradsverktyg som ``diff3``."
+
+msgid "    The available actions are:"
+msgstr "    Tillgängliga handlingar är:"
+
+msgid ""
 "      1) list files that were merged with conflicts (U, for unresolved)\n"
 "         and without conflicts (R, for resolved): ``hg resolve -l``\n"
 "         (this is like ``status`` for merges)\n"
@@ -6487,24 +7800,8 @@
 "         ``hg resolve -u [file ...]`` (default: unmark all resolved files)\n"
 "      4) discard your current attempt(s) at resolving conflicts and\n"
 "         restart the merge from scratch: ``hg resolve file...``\n"
-"         (or ``-a`` for all unresolved files)\n"
-"\n"
-"    Note that Mercurial will not let you commit files with unresolved merge\n"
-"    conflicts.  You must use ``hg resolve -m ...`` before you can commit\n"
-"    after a conflicting merge.\n"
-"    "
-msgstr ""
-"diverse operationer för att slutföra sammanfogningar\n"
-"\n"
-"    Det här kommandot inkludera flera handlingar som ofta är nyttiga när\n"
-"    en sammanfogning utförs, efter att ``merge`` körts men innan\n"
-"    ``commit``. (Det är bara nyttigt om din arbetskatalog har två\n"
-"    föräldrar.)  Det är mest relevant för sammanfogningar med olösta\n"
-"    konflikter, som är vanliga resultat av icke-interaktiv sammanfogning\n"
-"    med ``internal:merge`` eller ett kommandoradsverktyg som ``diff3``.\n"
-"\n"
-"    Tillgängliga handlingar är:\n"
-"\n"
+"         (or ``-a`` for all unresolved files)"
+msgstr ""
 "      1) visa filer som är sammanfogade med konflikter (U för olösta) och\n"
 "         utan konflikter (R för lösta): ``hg resolve -l`` (detta är som\n"
 "         ``status`` för sammanfogningar)\n"
@@ -6514,8 +7811,14 @@
 "         ``hg resolve -u [fil ...]`` (standard: avmarkera alla lösta filer)\n"
 "      4) kasta bort ditt nuvarande försök att lösa konflikter och starta\n"
 "         sammanfogningen från noll: ``hg resolve fil...`` (eller ``-a``\n"
-"         för alla olösta filer)\n"
-"\n"
+"         för alla olösta filer)"
+
+msgid ""
+"    Note that Mercurial will not let you commit files with unresolved merge\n"
+"    conflicts.  You must use ``hg resolve -m ...`` before you can commit\n"
+"    after a conflicting merge.\n"
+"    "
+msgstr ""
 "    Notera att Mercurial inte låter dig arkivera filer med olösta\n"
 "    konflikter från sammanfogningar. Du måste använda ``hg resolve -m ...``\n"
 "    innan du kan arkivera efter en sammanfogning med konflikter.\n"
@@ -6528,71 +7831,74 @@
 msgstr "kan inte specificera --all och mönster"
 
 msgid "no files or directories specified; use --all to remerge all files"
-msgstr ""
-"inga filer eller kataloger specificerade; använd --all för att "
-"Ã¥tersammanfoga alla filer"
-
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgstr "inga filer eller kataloger specificerade; använd --all för att återsammanfoga alla filer"
+
+msgid "restore individual files or directories to an earlier state"
+msgstr "återställ filer eller kataloger till ett tidigare tillstånd"
+
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+"    (Använd update -r för att hämta ut tidigare revisioner, revert ändrar\n"
+"    inte arbetskatalogens föräldrar.)"
+
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify a\n"
-"    revision.\n"
-"\n"
+"    revision."
+msgstr ""
+"    Om ingen revision anges, så återställs de givna filerna eller\n"
+"    katalogerna till innehållet de hade i arbetskatalogens förälder. Det\n"
+"    sätter filer i ett omodifierad läge och avbeställer adderingar,\n"
+"    raderingar, kopior och namnbyten. Om arbetskatalogen har två\n"
+"    föräldrar, så måste du ange en revision."
+
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+"    Med flaggan -r/--rev, återställs de givna filerna eller katalogerna\n"
+"    till innehållet i den specifika revisionen. Detta kan användas för\n"
+"    att ångra delar av eller hela tidigare ändringar. Se 'hg help dates'\n"
+"    för en lista med giltiga format för -d/--date."
+
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
-"    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
-"    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
-"    Modified files are saved with a .orig suffix before reverting.\n"
-"    To disable these backups, use --no-backup.\n"
-"    "
-msgstr ""
-"återställ filer eller kataloger till ett tidigare tillstånd\n"
-"\n"
-"    (Använd update -r för att hämta ut tidigare revisioner, revert ändrar\n"
-"    inte arbetskatalogens föräldrar.)\n"
-"\n"
-"    Om ingen revision anges, så återställs de givna filerna eller\n"
-"    katalogerna till innehållet de hade i arbetskatalogens förälder. Det\n"
-"    sätter filer i ett omodifierad läge och avbeställer adderingar,\n"
-"    raderingar, kopior och namnbyten. Om arbetskatalogen har två\n"
-"    föräldrar, så måste du ange en revision.\n"
-"\n"
-"    Med flaggan -r/--rev, återställs de givna filerna eller katalogerna\n"
-"    till innehållet i den specifika revisionen. Detta kan användas för\n"
-"    att ångra delar av eller hela tidigare ändringar. Se 'hg help dates'\n"
-"    för en lista med giltiga format för -d/--date.\n"
-"\n"
+"    afterwards."
+msgstr ""
 "    Revert modifierar arbetskatalogen. Det arkiverar inga ändringar, och\n"
 "    ändrar inte arbetskatalogens förälder. Om du återgår till en revision\n"
 "    som inte är arbetskatalogens förälder, kommer den återställda filen\n"
-"    att visas som modifierad.\n"
-"\n"
+"    att visas som modifierad."
+
+msgid ""
+"    If a file has been deleted, it is restored. If the executable mode\n"
+"    of a file was changed, it is reset."
+msgstr ""
 "    Om en fil har raderas, så återställs den. Om läget för exekverbarhet\n"
-"    har ändrats för en fil, så återställs det.\n"
-"\n"
+"    har ändrats för en fil, så återställs det."
+
+msgid ""
+"    If names are given, all files matching the names are reverted.\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
 "    Om namn anges, så återställs alla filer med överrensstämmande namn.\n"
-"    Om inga argument ges, återställs inga filer.\n"
-"\n"
+"    Om inga argument ges, återställs inga filer."
+
+msgid ""
+"    Modified files are saved with a .orig suffix before reverting.\n"
+"    To disable these backups, use --no-backup.\n"
+"    "
+msgstr ""
 "    Modifierade filer sparas med suffixet .orig innan återställning.\n"
 "    För att deaktivera dessa säkerhetskopior, använd --no-backup.\n"
 "    "
@@ -6601,9 +7907,7 @@
 msgstr "du kan inte specificera en revision och ett datum"
 
 msgid "no files or directories specified; use --all to revert the whole repo"
-msgstr ""
-"inga filer eller kataloger angivna; använd --all för att återställa hela "
-"arkivet"
+msgstr "inga filer eller kataloger angivna; använd --all för att återställa hela arkivet"
 
 #, python-format
 msgid "forgetting %s\n"
@@ -6629,26 +7933,47 @@
 msgid "no changes needed to %s\n"
 msgstr "inga ändringar behövs för %s\n"
 
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction (dangerous)"
+msgstr "återgång från den senaste transaktionen (farligt)"
+
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+"    Detta kommando bör användas med försiktighet. Det finns bara en nivå\n"
+"    av återgång, och det finns inget sätt att ångra en återgång.\n"
+"    Det återställer också katalogstatusen till tillståndet vid den\n"
+"    senaste transaktionen, så dessa förloras. Kommandot ändrar inte\n"
+"    arbetskatalogen."
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back:\n"
-"\n"
+"    and their effects can be rolled back:"
+msgstr ""
+"    Transaktioner används för att kapsla in alla kommandon som skapar nya\n"
+"    ändringar eller sprider existerade ändringar till ett arkiv.\n"
+"    Exempelvis skapar de följande kommandona transaktioner, och deras\n"
+"    ändringar kan återkallas:"
+
+msgid ""
 "    - commit\n"
 "    - import\n"
 "    - pull\n"
 "    - push (with this repository as the destination)\n"
-"    - unbundle\n"
-"\n"
+"    - unbundle"
+msgstr ""
+"    - commit\n"
+"    - import\n"
+"    - pull\n"
+"    - push (med det här arkivet som destination)\n"
+"    - unbundle"
+
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -6657,25 +7982,6 @@
 "    may fail if a rollback is performed.\n"
 "    "
 msgstr ""
-"återgång från den senaste transaktionen\n"
-"\n"
-"    Detta kommando bör användas med försiktighet. Det finns bara en nivå\n"
-"    av återgång, och det finns inget sätt att ångra en återgång.\n"
-"    Det återställer också katalogstatusen till tillståndet vid den\n"
-"    senaste transaktionen, så dessa förloras. Kommandot ändrar inte\n"
-"    arbetskatalogen.\n"
-"\n"
-"    Transaktioner används för att kapsla in alla kommandon som skapar nya\n"
-"    ändringar eller sprider existerade ändringar till ett arkiv.\n"
-"    Exempelvis skapar de följande kommandona transaktioner, och deras\n"
-"    ändringar kan återkallas:\n"
-"\n"
-"    - commit\n"
-"    - import\n"
-"    - pull\n"
-"    - push (med det här arkivet som destination)\n"
-"    - unbundle\n"
-"\n"
 "    Detta kommando är inte tänkt att användas i offentliga arkiv. När\n"
 "    ändringar är tillgängliga att dras av andra användare, så är en\n"
 "    lokal återgång ineffektivt (någon annan kan redan ha dragit\n"
@@ -6684,65 +7990,95 @@
 "    utförs.\n"
 "    "
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr "visa roten för den aktuella arbetskatalogen"
+
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
-"visa roten för den aktuella arbetskatalogen\n"
-"\n"
 "    Visa rotkatalogen för det aktuella arkivet.\n"
 "    "
 
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
+msgid "start stand-alone webserver"
+msgstr "starta fristående webbserver"
+
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr "    Startar en lokal HTTP-arkivbläddrare och pull-server."
+
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
-"    files.\n"
-"    "
-msgstr ""
-"exportera arkivet via HTTP\n"
-"\n"
-"    Startar en lokal HTTP-arkivbläddrare och pull-server.\n"
-"\n"
+"    files."
+msgstr ""
 "    Som standard loggar servern anslutningar till stdout och fel till\n"
 "    stderr. Använd flaggorna -A/--accesslog och -E/--errorlog för att logga\n"
-"    till filer.\n"
+"    till filer."
+
+msgid ""
+"    To have the server choose a free port number to listen on, specify\n"
+"    a port number of 0; in this case, the server will print the port\n"
+"    number it uses.\n"
+"    "
+msgstr ""
+"    För att låta servern välja ett ledigt portnummer att lyssna på, ange 0\n"
+"    som portnummer; då visar servern det portnummer som används.\n"
 "    "
 
 #, python-format
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr "lyssnar på http://%s%s/%s (bunden till %s:%d)\n"
 
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr "visa ändrade filer i arbetskatalogen"
+
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+"    Visa status för filer i arkivet. Om namn anges, visas bara filer som\n"
+"    matchar. FIler som är rena eller ignorerade eller källan för en flytt-\n"
+"    eller kopieringsoperation, visas inte om förrän -c/--clean,\n"
+"    -i/--ignored, -C/--copies eller -A/--all anges. Om inte flaggor med\n"
+"    beskrivningen \"visa bara ...\" anges, så används flaggorna -mardu."
+
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+"    Flaggan -q/--quiet döljer ospårade (okända och ignorerade) filer om det\n"
+"    inte bes om explicit med -u/--unknown eller -i/--ignored."
+
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+"    NOTERA: status kan verka osams med diff om tillstånd har ändrat eller\n"
+"    en sammanfogning har utförts. Det vanliga diff-formatet rapporterar\n"
+"    inte förändringar av tillstånd och diff rapporterar bara ändringar\n"
+"    relativt till en förälder vid sammanfogningar."
+
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
 "    shown. The --change option can also be used as a shortcut to list\n"
-"    the changed files of a revision from its first parent.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    the changed files of a revision from its first parent."
+msgstr ""
+"    Om en revision anges, används den som basrevision. Om två revisioner\n"
+"    anges, visas skillnaderna mellan dem. Flaggan --change kan också\n"
+"    användas som en genväg för att visa de ändrade filerna i en revision\n"
+"    från dess första förälder."
+
+msgid "    The codes used to show the status of files are::"
+msgstr "    Koderna som används för att visa filstatus är::"
+
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -6753,29 +8089,6 @@
 "        = origin of the previous file listed as A (added)\n"
 "    "
 msgstr ""
-"visa ändrade filer i arbetskatalogen\n"
-"\n"
-"    Visa status för filer i arkivet. Om namn anges, visas bara filer som\n"
-"    matchar. FIler som är rena eller ignorerade eller källan för en flytt-\n"
-"    eller kopieringsoperation, visas inte om förrän -c/--clean,\n"
-"    -i/--ignored, -C/--copies eller -A/--all anges. Om inte flaggor med\n"
-"    beskrivningen \"visa bara ...\" anges, så används flaggorna -mardu.\n"
-"\n"
-"    Flaggan -q/--quiet döljer ospårade (okända och ignorerade) filer om det\n"
-"    inte bes om explicit med -u/--unknown eller -i/--ignored.\n"
-"\n"
-"    NOTERA: status kan verka osams med diff om tillstånd har ändrat eller\n"
-"    en sammanfogning har utförts. Det vanliga diff-formatet rapporterar\n"
-"    inte förändringar av tillstånd och diff rapporterar bara ändringar\n"
-"    relativt till en förälder vid sammanfogningar.\n"
-"\n"
-"    Om en revision anges, används den som basrevision. Om två revisioner\n"
-"    anges, visas skillnaderna mellan dem. Flaggan --change kan också\n"
-"    användas som en genväg för att visa de ändrade filerna i en revision\n"
-"    från dess första förälder.\n"
-"\n"
-"    Koderna som används för att visa filstatus är::\n"
-"\n"
 "      M = modifierad\n"
 "      A = adderad\n"
 "      R = raderad\n"
@@ -6786,25 +8099,29 @@
 "        = källa för den tidigare filen listad som A (adderad)\n"
 "    "
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr "sammanfatta arbetskatalogens tillstånd"
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+"    Detta skapar en kort sammanfattning av arbetskatalogens tillstånd,\n"
+"    inklusive föräldrar, gren, arkivstatus, och tillgängliga uppdateringar."
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
 msgstr ""
-"sammanfatta arbetskatalogens tillstånd\n"
-"\n"
-"    Detta skapar en kort sammanfattning av arbetskatalogens tillstånd,\n"
-"    inklusive föräldrar, gren, arkivstatus, och tillgängliga uppdateringar.\n"
-"\n"
 "    Med flaggan --remote kommer också standardsökvägarna att sökas igenom\n"
 "    för att hitta inkommande och utgående ändringar. Detta kan ta lång tid.\n"
 "    "
 
+#, python-format
+msgid "parent: %d:%s "
+msgstr "förälder: %d:%s "
+
 msgid " (empty repository)"
 msgstr " (tomt arkiv)"
 
@@ -6812,22 +8129,18 @@
 msgstr " (ingen revision uthämtad)"
 
 #, python-format
-msgid "parent: %d:%s %s\n"
-msgstr "förälder: %d:%s %s\n"
-
-#, python-format
 msgid "branch: %s\n"
 msgstr "gren: %s\n"
 
 #, python-format
+msgid "%d modified"
+msgstr "%d modifierad"
+
+#, python-format
 msgid "%d added"
 msgstr "%d tillagd"
 
 #, python-format
-msgid "%d modified"
-msgstr "%d modifierad"
-
-#, python-format
 msgid "%d removed"
 msgstr "%d borttagen"
 
@@ -6836,14 +8149,14 @@
 msgstr "%d raderad"
 
 #, python-format
+msgid "%d unknown"
+msgstr "%d okänd"
+
+#, python-format
 msgid "%d ignored"
 msgstr "%d ignorerad"
 
 #, python-format
-msgid "%d unknown"
-msgstr "%d okänd"
-
-#, python-format
 msgid "%d unresolved"
 msgstr "%d olöst"
 
@@ -6888,46 +8201,40 @@
 msgid "remote: (synced)\n"
 msgstr "fjärran: (synkad)\n"
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr "lägg till en eller fler märken för en revision"
+
+msgid "    Name a particular revision using <name>."
+msgstr "    Namnge en specifik revision med <namn>."
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+"    Märken används för att namnge specifika revisioner i arkivet och är\n"
+"    väldigt användbara för at jämföra olika revisioner, för att gå\n"
+"    tillbaka till tidigare versioner eller för att markera förgreningar\n"
+"    som releaser, osv."
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+"    Om ingen revision anges, används föräldern för arbetskatalogen, eller\n"
+"    toppen om ingen revision är uthämtad."
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"lägg till en eller fler märken för en revision\n"
-"\n"
-"    Namnge en specifik revision med <namn>.\n"
-"\n"
-"    Märken används för att namnge specifika revisioner i arkivet och är\n"
-"    väldigt användbara för at jämföra olika revisioner, för att gå\n"
-"    tillbaka till tidigare versioner eller för att markera förgreningar\n"
-"    som releaser, osv.\n"
-"\n"
-"    Om ingen revision anges, används föräldern för arbetskatalogen, eller\n"
-"    toppen om ingen revision är uthämtad.\n"
-"\n"
+"    shared among repositories)."
+msgstr ""
 "    För att underlätta versionshantering, distribution, och sammanfogning\n"
 "    av märken, lagras de som en fil vid namn \".hgtags\" som hanteras på\n"
 "    samma sätt som andra projektfiler och kan ändras för hand vid behov.\n"
-"    Filen '.hg/localtags' används för lokala märken (ej delad i arkiv).\n"
-"\n"
-"    Se 'hg help dates' för en lista med giltiga format för -d/--date.\n"
-"    "
+"    Filen '.hg/localtags' används för lokala märken (ej delad i arkiv)."
 
 msgid "tag names must be unique"
 msgstr "märkesnamn måste vara unika"
@@ -6951,69 +8258,79 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr "märket '%s' existerar redan (använd -f för att tvinga)"
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr "lista arkivmärken"
+
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
-"lista arkivmärken\n"
-"\n"
 "    Listar både vanliga och lokala märken. När flaggan -v/--verbose\n"
 "    används, visas en tredje kolumn med namnet \"local\" för lokala märken.\n"
 "    "
 
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr "visa topprevisionen"
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+"    Topprevisionen (kallas tip av Mercurial) är den senast tillagda\n"
+"    ändringen i arkivet (och därför det senast tillagda huvudet)."
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
 "    and cannot be renamed or assigned to a different changeset.\n"
 "    "
 msgstr ""
-"visa topprevisionen\n"
-"\n"
-"    Topprevisionen (kallas tip av Mercurial) är den senast tillagda\n"
-"    ändringen i arkivet (och därför det senast tillagda huvudet).\n"
-"\n"
 "    Om du precis har gjort en arkivering, kommer den att vara toppen. Om\n"
 "    du har dragit ändringar från ett annat arkiv, så blir toppen för det\n"
 "    arkivet den aktuella toppen. Märket \"tip\" är speciellt och kan inte\n"
 "    döpas om eller tilldelas en annan ändring.\n"
 "    "
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr "applicera en eller flera filer med ändringar"
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
-"applicera en eller flera filer med ändringar\n"
-"\n"
 "    Applicera en eller flera komprimerade filer med ändringar genererade\n"
 "    av bundle-kommandot.\n"
 "    "
 
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory (or switch revisions)"
+msgstr "uppdatera arbetskatalogen (eller växla mellan revisioner)"
+
+msgid ""
 "    Update the repository's working directory to the specified\n"
-"    changeset.\n"
-"\n"
+"    changeset."
+msgstr "    Uppdatera arkivets arbetskatalog till den specificerade ändringen."
+
+msgid ""
 "    If no changeset is specified, attempt to update to the head of the\n"
 "    current branch. If this head is a descendant of the working\n"
-"    directory's parent, update to it, otherwise abort.\n"
-"\n"
+"    directory's parent, update to it, otherwise abort."
+msgstr ""
+"    Om ingen ändring specificeras, kommer ett försök att göras för att\n"
+"    hämta ut huvudet på den nuvarande grenen. Om huvudet är en ättling till\n"
+"    den nuvarande grenen, uppdatera till det, annars avbryt."
+
+msgid ""
 "    The following rules apply when the working directory contains\n"
-"    uncommitted changes:\n"
-"\n"
+"    uncommitted changes:"
+msgstr ""
+"    Följande regler gäller när arbetskatalogen innehåller oarkiverade\n"
+"    ändringar:"
+
+msgid ""
 "    1. If neither -c/--check nor -C/--clean is specified, and if\n"
 "       the requested changeset is an ancestor or descendant of\n"
 "       the working directory's parent, the uncommitted changes\n"
@@ -7021,56 +8338,41 @@
 "       result is left uncommitted. If the requested changeset is\n"
 "       not an ancestor or descendant (that is, it is on another\n"
 "       branch), the update is aborted and the uncommitted changes\n"
-"       are preserved.\n"
-"\n"
-"    2. With the -c/--check option, the update is aborted and the\n"
-"       uncommitted changes are preserved.\n"
-"\n"
-"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
-"       the working directory is updated to the requested changeset.\n"
-"\n"
-"    Use null as the changeset to remove the working directory (like 'hg\n"
-"    clone -U').\n"
-"\n"
-"    If you want to update just one file to an older changeset, use 'hg "
-"revert'.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"uppdatera arbetskatalogen\n"
-"\n"
-"    Uppdatera arkivets arbetskatalog till den specificerade ändringen.\n"
-"\n"
-"    Om ingen ändring specificeras, kommer ett försök att göras för att\n"
-"    hämta ut huvudet på den nuvarande grenen. Om huvudet är en ättling till\n"
-"    den nuvarande grenen, uppdatera till det, annars avbryt.\n"
-"\n"
-"    Följande regler gäller när arbetskatalogen innehåller oarkiverade\n"
-"    ändringar:\n"
-"\n"
+"       are preserved."
+msgstr ""
 "    1. Om varken -c/--check eller -C/--clean specificeras, och om den\n"
 "       begärda ändringen är en anfader eller ättling till arbetskatalogens\n"
 "       förälder, kommer oarkiverade ändringar att sammanfogas med den\n"
 "       begärda ändringen och det sammanfogade resultatet lämnas oarkiverat.\n"
 "       Om den begärda ändringen inte är en anfader eller ättling (dvs är i\n"
 "       en annan gren), avbryts uppdateringen och de oarkiverade ändringarna\n"
-"       bevaras.\n"
-"\n"
+"       bevaras."
+
+msgid ""
+"    2. With the -c/--check option, the update is aborted and the\n"
+"       uncommitted changes are preserved."
+msgstr ""
 "    2. Med flaggan -c/--check avbryts uppdateringen och de oarkiverade\n"
-"       ändringarna lämnas.\n"
-"\n"
+"       ändringarna lämnas."
+
+msgid ""
+"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
+"       the working directory is updated to the requested changeset."
+msgstr ""
 "    3. Med flaggan -C/--clean kommer oarkiverade ändringar att kasseras och\n"
-"       arbetskatalogen uppdateras till den begärda ändringen.\n"
-"\n"
+"       arbetskatalogen uppdateras till den begärda ändringen."
+
+msgid ""
+"    Use null as the changeset to remove the working directory (like 'hg\n"
+"    clone -U')."
+msgstr ""
 "    Använd null som ändring för att radera arbetskatalogen (som 'hg clone\n"
-"     -U').\n"
-"\n"
+"     -U')."
+
+msgid "    If you want to update just one file to an older changeset, use 'hg revert'."
+msgstr ""
 "    Om du vill uppdatera bara en fil till en äldre ändring, använd 'hg\n"
-"    revert'.\n"
-"\n"
-"    Se 'hg help dates' för en lista med giltiga format för -d/--date.\n"
-"    "
+"    revert'."
 
 msgid "cannot specify both -c/--check and -C/--clean"
 msgstr ""
@@ -7078,21 +8380,19 @@
 msgid "uncommitted local changes"
 msgstr ""
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr "verifiera arkivets integritet"
+
+msgid "    Verify the integrity of the current repository."
+msgstr "    Verifiera det aktuella arkivets integritet."
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
 "    integrity of their crosslinks and indices.\n"
 "    "
 msgstr ""
-"verifiera arkivets integritet\n"
-"\n"
-"    Verifiera det aktuella arkivets integritet.\n"
-"\n"
 "    Detta genomför en omfattande kontroll av arkivets integritet, validerar\n"
 "    hash- och checksummor för varje notering i ändringsloggen, manifestet,\n"
 "    och spårade filer, såväl som integriteten av korslänkar och indexar.\n"
@@ -7459,8 +8759,7 @@
 msgstr "visa alla revisioner som matchar"
 
 msgid "follow changeset history, or file history across copies and renames"
-msgstr ""
-"följ ändringshistorik, eller filhistorik över kopieringar och namnbyten"
+msgstr "följ ändringshistorik, eller filhistorik över kopieringar och namnbyten"
 
 msgid "ignore case when matching"
 msgstr "ignorera versaler/gemener vid matchning"
@@ -7513,9 +8812,7 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr "[-nibt] [-r REV] [KÄLLA]"
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
 msgstr ""
 
 msgid "base path"
@@ -7981,9 +9278,7 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr ""
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
 msgstr ""
 
 #, python-format
@@ -8001,9 +9296,7 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr ""
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
 msgstr ""
 
 #, python-format
@@ -8109,10 +9402,15 @@
 
 msgid ""
 "Mercurial reads configuration data from several files, if they exist.\n"
-"Below we list the most specific file first.\n"
-"\n"
-"On Windows, these configuration files are read:\n"
-"\n"
+"Below we list the most specific file first."
+msgstr ""
+"Mercurial läser konfigurationsdata från flera filer, om de existerar.\n"
+"Nedan listar vi den mest specifika filen först."
+
+msgid "On Windows, these configuration files are read:"
+msgstr "Under Windows läses dessa konfigurationsfiler:"
+
+msgid ""
 "- ``<repo>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -8120,37 +9418,8 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<install-dir>\\Mercurial.ini``\n"
-"\n"
-"On Unix, these files are read:\n"
-"\n"
-"- ``<repo>/.hg/hgrc``\n"
-"- ``$HOME/.hgrc``\n"
-"- ``/etc/mercurial/hgrc``\n"
-"- ``/etc/mercurial/hgrc.d/*.rc``\n"
-"- ``<install-root>/etc/mercurial/hgrc``\n"
-"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
-"The configuration files for Mercurial use a simple ini-file format. A\n"
-"configuration file consists of sections, led by a ``[section]`` header\n"
-"and followed by ``name = value`` entries::\n"
-"\n"
-"  [ui]\n"
-"  username = Firstname Lastname <firstname.lastname@example.net>\n"
-"  verbose = True\n"
-"\n"
-"This above entries will be referred to as ``ui.username`` and\n"
-"``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
-"description of the possible configuration values:\n"
-"\n"
-"- on Unix-like systems: ``man hgrc``\n"
-"- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
-msgstr ""
-"Mercurial läser konfigurationsdata från flera filer, om de existerar.\n"
-"Nedan listar vi den mest specifika filen först.\n"
-"\n"
-"Under Windows läses dessa konfigurationsfiler:\n"
-"\n"
+"- ``<install-dir>\\Mercurial.ini``"
+msgstr ""
 "- ``<arkiv>\\.hg\\hgrc``\n"
 "- ``%USERPROFILE%\\.hgrc``\n"
 "- ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -8158,40 +9427,74 @@
 "- ``%HOME%\\Mercurial.ini``\n"
 "- ``C:\\Mercurial\\Mercurial.ini``\n"
 "- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial``\n"
-"- ``<installationskatalog>\\Mercurial.ini``\n"
-"\n"
-"Under Unix läses dessa filer:\n"
-"\n"
+"- ``<installationskatalog>\\Mercurial.ini``"
+
+msgid "On Unix, these files are read:"
+msgstr "Under Unix läses dessa filer:"
+
+msgid ""
+"- ``<repo>/.hg/hgrc``\n"
+"- ``$HOME/.hgrc``\n"
+"- ``/etc/mercurial/hgrc``\n"
+"- ``/etc/mercurial/hgrc.d/*.rc``\n"
+"- ``<install-root>/etc/mercurial/hgrc``\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+msgstr ""
 "- ``<arkiv>/.hg/hgrc``\n"
 "- ``$HOME/.hgrc``\n"
 "- ``/etc/mercurial/hgrc``\n"
 "- ``/etc/mercurial/hgrc.d/*.rc``\n"
 "- ``<installationsrot>/etc/mercurial/hgrc``\n"
-"- ``<installationsrot>/etc/mercurial/hgrc.d/*.rc``\n"
-"\n"
+"- ``<installationsrot>/etc/mercurial/hgrc.d/*.rc``"
+
+msgid ""
+"The configuration files for Mercurial use a simple ini-file format. A\n"
+"configuration file consists of sections, led by a ``[section]`` header\n"
+"and followed by ``name = value`` entries::"
+msgstr ""
 "Konfigurationsfilerna för Mercurial använder ett enkelt ini-filformat. En\n"
 "file består av sektioner, som inleds av en rubrik (ex ``[sektion]``) och\n"
-"följs av rader med ``namn = värde``::\n"
-"\n"
+"följs av rader med ``namn = värde``::"
+
+msgid ""
+"  [ui]\n"
+"  username = Firstname Lastname <firstname.lastname@example.net>\n"
+"  verbose = True"
+msgstr ""
 "  [ui]\n"
 "  username = Förnamn Efternamn <fornamn.efternamn@example.net>\n"
-"  verbose = True\n"
-"\n"
+"  verbose = True"
+
+msgid ""
+"This above entries will be referred to as ``ui.username`` and\n"
+"``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
+"description of the possible configuration values:"
+msgstr ""
 "Raderna ovanför refereras till som ``ui.username`` och\n"
 "``ui.verbose``. Läs man-sidan för hgrc för en full beskrivning av alla\n"
-"möjliga konfigurationsvärden:\n"
-"\n"
+"möjliga konfigurationsvärden:"
+
+msgid ""
+"- on Unix-like systems: ``man hgrc``\n"
+"- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
+msgstr ""
 "- under Unix-liknande system: ``man hgrc``\n"
 "- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
 
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr "Vissa kommandon tillåter att användare anger ett datum, bland dom:"
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples:\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+"- backout, commit, import, tag: Ange arkiveringsdatum.\n"
+"- log, revert, update: Välj revision(er) med hjälp av datum."
+
+msgid "Many date formats are valid. Here are some examples:"
+msgstr "Många datumformat är giltiga. Här är några exempel:"
+
+msgid ""
 "- ``Wed Dec 6 13:18:29 2006`` (local timezone assumed)\n"
 "- ``Dec 6 13:18 -0600`` (year assumed, time offset provided)\n"
 "- ``Dec 6 13:18 UTC`` (UTC and GMT are aliases for +0000)\n"
@@ -8204,31 +9507,8 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format:\n"
-"\n"
-"- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
-"This is the internal representation format for dates. unixtime is the\n"
-"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
-"the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges:\n"
-"\n"
-"- ``<{datetime}`` - at or before a given date/time\n"
-"- ``>{datetime}`` - on or after a given date/time\n"
-"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
-"- ``-{days}`` - within a given number of days of today\n"
-msgstr ""
-"Vissa kommandon tillåter att användare anger ett datum, bland dom:\n"
-"\n"
-"- backout, commit, import, tag: Ange arkiveringsdatum.\n"
-"- log, revert, update: Välj revision(er) med hjälp av datum.\n"
-"\n"
-"Många datumformat är giltiga. Här är några exempel:\n"
-"\n"
+"- ``12/6/6`` (Dec 6 2006)"
+msgstr ""
 "- ``Wed Dec 6 13:18:29 2006`` (lokal tidszon antas)\n"
 "- ``Dec 6 13:18 -0600`` (Ã¥ret antas, tidsoffset anges)\n"
 "- ``Dec 6 13:18 UTC`` (UTC och GMT är alias för +0000)\n"
@@ -8241,19 +9521,34 @@
 "- ``2006-12-6``\n"
 "- ``12-6``\n"
 "- ``12/6``\n"
-"- ``12/6/6`` (Dec 6 2006)\n"
-"\n"
-"Till sist, så finns även Mercurial's interna format:\n"
-"\n"
-"- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
+"- ``12/6/6`` (Dec 6 2006)"
+
+msgid "Lastly, there is Mercurial's internal format:"
+msgstr "Till sist, så finns även Mercurial's interna format:"
+
+msgid "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
+
+msgid ""
+"This is the internal representation format for dates. unixtime is the\n"
+"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
+"the offset of the local timezone, in seconds west of UTC (negative if\n"
+"the timezone is east of UTC)."
+msgstr ""
 "Detta är det interna representationsformatet för datum. unixtime är antalet\n"
 "sekunder sedan epoken(1970-01-01 00:00 UTC). offset är offseten till den\n"
 "lokala tidszonen, i sekunder väst om UTC (negativ om tidszonen är öst om\n"
-"UTC).\n"
-"\n"
-"Kommandot log accepterar också datumintervall:\n"
-"\n"
+"UTC)."
+
+msgid "The log command also accepts date ranges:"
+msgstr "Kommandot log accepterar också datumintervall:"
+
+msgid ""
+"- ``<{datetime}`` - at or before a given date/time\n"
+"- ``>{datetime}`` - on or after a given date/time\n"
+"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
+"- ``-{days}`` - within a given number of days of today\n"
+msgstr ""
 "- ``<{datumtid}`` - på eller innan datum/tid\n"
 "- ``>{datumtid}`` - på eller efter datum/tid\n"
 "- ``{datumtid} to {datumtid}`` - ett datumintervall, inklusivt\n"
@@ -8262,29 +9557,39 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr ""
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
+"format for communicating changes."
+msgstr ""
+
+msgid ""
 "To make Mercurial produce the git extended diff format, use the --git\n"
 "option available for many commands, or set 'git = True' in the [diff]\n"
 "section of your hgrc. You do not need to set this option when\n"
@@ -8297,84 +9602,112 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use .hgrc)"
+msgstr ""
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
+
+msgid ""
 "HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    ancestor file."
+msgstr ""
+
+msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
+"    from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
 "    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
 "HGPLAIN\n"
 "    When set, this disables any options in .hgrc that might change\n"
 "    Mercurial's default output. This includes encoding, defaults,\n"
 "    verbose mode, debug mode, quiet mode, tracebacks, and\n"
 "    localization. This can be useful when scripting against Mercurial\n"
-"    in the face of existing user configuration.\n"
-"\n"
+"    in the face of existing user configuration."
+msgstr ""
+
+msgid ""
 "    Equivalent options set via command line flags or environment\n"
-"    variables are not overridden.\n"
-"\n"
+"    variables are not overridden."
+msgstr ""
+
+msgid ""
 "HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
+"    available values will be considered in this order:"
+msgstr ""
+
+msgid ""
 "    - HGUSER (deprecated)\n"
 "    - hgrc files from the HGRCPATH\n"
 "    - EMAIL\n"
 "    - interactive prompt\n"
-"    - LOGNAME (with ``@hostname`` appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    - LOGNAME (with ``@hostname`` appended)"
+msgstr ""
+
+msgid ""
 "EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
 "EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
 "    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
 "    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
+"    defaults to 'vi'."
+msgstr ""
+
+msgid ""
 "PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
@@ -8384,31 +9717,44 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
+"needed."
+msgstr ""
+
+msgid ""
 "To enable the \"foo\" extension, either shipped with Mercurial or in\n"
 "the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
+"  foo ="
+msgstr ""
+
+msgid "You may also specify the full path to an extension::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
+
+msgid ""
 "To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
+"scope, prepend its path with !::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  # disabling extension bar residing in /path/to/extension/bar.py\n"
 "  bar = !/path/to/extension/bar.py\n"
@@ -8419,159 +9765,171 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
+
+msgid ""
 "A range acts as a closed interval. This means that a range of 3:5\n"
 "gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
 msgstr ""
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr ""
+"Mercurial acceptera flera notationer för att identifiera en eller flera\n"
+"filer samma gång."
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+"Som standard behandlar Mercurial filnamn som ett utökat glob-mönster i\n"
+"skalstil."
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr "Alternativa mönsternotationer måste anges explicit."
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+"För att använda en enkel sökväg utan någon mönstermatching, börja den med\n"
+"``path:``. Dessa sökvägar måste överrensstämma helt från det nuvarande\n"
+"arkivroten."
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+"För att använda utökad glob, börja ett namn med ``glob:``. Globs har sin\n"
+"rot i den aktuella katalogen; en glob som ``*.c`` kommer bara att matcha\n"
+"filer i den aktuella katalogen som slutar med ``.c``."
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+"Den utökade glob-syntaxen är ``**`` för att matcha alla strängar i sökvägen\n"
+"och ``{a,b}`` som innebär \"a eller b\"."
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+"För att använda reguljära uttryck från Perl/Python, börja ett namn med\n"
+"``re:``. Regexp-mönstermatchning har sin början i arkivroten."
+
+msgid "Plain examples::"
+msgstr "RÃ¥a exempel::"
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+"  path:foo/bar   namnet bar i en katalog med namnet foo i arkivroten\n"
+"  path:path:name en fil eller katalog med namnet \"path:name\""
+
+msgid "Glob examples::"
+msgstr "Glob-exempel::"
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-"Mercurial acceptera flera notationer för att identifiera en eller flera\n"
-"filer samma gång.\n"
-"\n"
-"Som standard behandlar Mercurial filnamn som ett utökat glob-mönster i\n"
-"skalstil.\n"
-"\n"
-"Alternativa mönsternotationer måste anges explicit.\n"
-"\n"
-"För att använda en enkel sökväg utan någon mönstermatching, börja den med\n"
-"``path:``. Dessa sökvägar måste överrensstämma helt från det nuvarande\n"
-"arkivroten.\n"
-"\n"
-"För att använda utökad glob, börja ett namn med ``glob:``. Globs har sin\n"
-"rot i den aktuella katalogen; en glob som ``*.c`` kommer bara att matcha\n"
-"filer i den aktuella katalogen som slutar med ``.c``.\n"
-"\n"
-"Den utökade glob-syntaxen är ``**`` för att matcha alla strängar i sökvägen\n"
-"och ``{a,b}`` som innebär \"a eller b\".\n"
-"\n"
-"För att använda reguljära uttryck från Perl/Python, börja ett namn med\n"
-"``re:``. Regexp-mönstermatchning har sin början i arkivroten.\n"
-"\n"
-"RÃ¥a exempel::\n"
-"\n"
-"  path:foo/bar   namnet bar i en katalog med namnet foo i arkivroten\n"
-"  path:path:name en fil eller katalog med namnet \"path:name\"\n"
-"\n"
-"Glob-exempel::\n"
-"\n"
+"                 including itself."
+msgstr ""
 "  glob:*.c       alla namn som slutar på \".c\" i den nuvarande katalogen\n"
 "  *.c            alla namn som slutar på \".c\" i den nuvarande katalogen\n"
 "  **.c           alla namn som slutar på \".c\" i alla underkataloger från\n"
 "                 den nuvarande katalogen inklusive sig själv.\n"
 "  foo/*.c        alla namn som slutar på \".c\" i katalogen foo\n"
 "  foo/**.c       alla namn som slutar på \".c\" i alla underkataloger från\n"
-"                 foo inklusive sig själv.\n"
-"\n"
-"Regexp-exempel::\n"
-"\n"
-"  re:.*\\.c$      alla namn som slutar med \".c\", var som helst i arkivet\n"
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"                 foo inklusive sig själv."
+
+msgid "Regexp examples::"
+msgstr "Regexp-exempel::"
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr "  re:.*\\.c$      alla namn som slutar med \".c\", var som helst i arkivet\n"
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr "Mercurial stöder flera sött att ange individuella revisioner."
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+"Ett heltal behandlas som ett revisionsnummer. Negativa heltal behandlas som\n"
+"sekventiell offset från toppen, där -1 är tippen, -2 revisionen innan\n"
+"toppen, och så vidare."
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr ""
+"En 40-siffrig hexadecimal sträng behandlas som en unik\n"
+"revisionsidentifierare."
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+"En hexadecimal sträng med mindre än 40 tecken behandlas som en unik\n"
+"revisionsidentifierare och refereras till som en kort identifierare. En\n"
+"kort identifierare är bara giltig om det är prefixet för exakt en\n"
+"fullängdsidentifierare."
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+"Alla andra strängar behandlas som märkes- eller grennamn. Ett märkesnamn är\n"
+"ett symboliskt namn associerad med en revisionsidentifierare. Ett grennamn\n"
+"anger den högsta revisionen på den grenen. Märkes- och grennamn kan inte\n"
+"innehålla tecknet \":\"."
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+"Det reserverade namnet \"tip\" är ett speciellt märke som alltid\n"
+"identifierar den senaste revisionen."
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+"Det reserverade namnet \"null\" indikerar null-revisionen. Detta är\n"
+"revisionen i ett tomt arkiv, och är förälder till revision 0."
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
 "parent.\n"
 msgstr ""
-"Mercurial stöder flera sött att ange individuella revisioner.\n"
-"\n"
-"Ett heltal behandlas som ett revisionsnummer. Negativa heltal behandlas som\n"
-"sekventiell offset från toppen, där -1 är tippen, -2 revisionen innan\n"
-"toppen, och så vidare.\n"
-"\n"
-"En 40-siffrig hexadecimal sträng behandlas som en unik\n"
-"revisionsidentifierare.\n"
-"\n"
-"En hexadecimal sträng med mindre än 40 tecken behandlas som en unik\n"
-"revisionsidentifierare och refereras till som en kort identifierare. En\n"
-"kort identifierare är bara giltig om det är prefixet för exakt en\n"
-"fullängdsidentifierare.\n"
-"\n"
-"Alla andra strängar behandlas som märkes- eller grennamn. Ett märkesnamn är\n"
-"ett symboliskt namn associerad med en revisionsidentifierare. Ett grennamn\n"
-"anger den högsta revisionen på den grenen. Märkes- och grennamn kan inte\n"
-"innehålla tecknet \":\".\n"
-"\n"
-"Det reserverade namnet \"tip\" är ett speciellt märke som alltid\n"
-"identifierar den senaste revisionen.\n"
-"\n"
-"Det reserverade namnet \"null\" indikerar null-revisionen. Detta är\n"
-"revisionen i ett tomt arkiv, och är förälder till revision 0.\n"
-"\n"
 "Det reserverade namnet \".\" indikerar arbetskatalogens förälder. Om ingen\n"
 "arbetskatalog är uthämtad, är den ekvivalent med null. Om en oarkiverad\n"
 "sammanfogning pågår, så är \".\" den första förälderns revision.\n"
@@ -8580,216 +9938,328 @@
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+
+msgid ""
 "Three styles are packaged with Mercurial: default (the style used\n"
 "when no explicit preference is passed), compact and changelog.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"Usage::"
+msgstr ""
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
+"expansion::"
+msgstr ""
+
+msgid ""
 "    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
-":author: String. The unmodified author of the changeset.\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+
+msgid ":author: String. The unmodified author of the changeset."
+msgstr ""
+
+msgid ""
 ":branches: String. The name of the branch on which the changeset was\n"
-"    committed. Will be empty if the branch name was default.\n"
-"\n"
-":date: Date information. The date when the changeset was committed.\n"
-"\n"
-":desc: String. The text of the changeset description.\n"
-"\n"
+"    committed. Will be empty if the branch name was default."
+msgstr ""
+
+msgid ":date: Date information. The date when the changeset was committed."
+msgstr ""
+
+msgid ":desc: String. The text of the changeset description."
+msgstr ""
+
+msgid ""
 ":diffstat: String. Statistics of changes with the following format:\n"
-"    \"modified files: +added/-removed lines\"\n"
-"\n"
+"    \"modified files: +added/-removed lines\""
+msgstr ""
+
+msgid ""
 ":files: List of strings. All files modified, added, or removed by this\n"
-"    changeset.\n"
-"\n"
-":file_adds: List of strings. Files added by this changeset.\n"
-"\n"
+"    changeset."
+msgstr ""
+
+msgid ":file_adds: List of strings. Files added by this changeset."
+msgstr ""
+
+msgid ""
 ":file_copies: List of strings. Files copied in this changeset with\n"
-"    their sources.\n"
-"\n"
+"    their sources."
+msgstr ""
+
+msgid ""
 ":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
-"    only if the --copied switch is set.\n"
-"\n"
-":file_mods: List of strings. Files modified by this changeset.\n"
-"\n"
-":file_dels: List of strings. Files removed by this changeset.\n"
-"\n"
+"    only if the --copied switch is set."
+msgstr ""
+
+msgid ":file_mods: List of strings. Files modified by this changeset."
+msgstr ""
+
+msgid ":file_dels: List of strings. Files removed by this changeset."
+msgstr ""
+
+msgid ""
 ":node: String. The changeset identification hash, as a 40-character\n"
-"    hexadecimal string.\n"
-"\n"
-":parents: List of strings. The parents of the changeset.\n"
-"\n"
-":rev: Integer. The repository-local changeset revision number.\n"
-"\n"
-":tags: List of strings. Any tags associated with the changeset.\n"
-"\n"
+"    hexadecimal string."
+msgstr ""
+
+msgid ":parents: List of strings. The parents of the changeset."
+msgstr ""
+
+msgid ":rev: Integer. The repository-local changeset revision number."
+msgstr ""
+
+msgid ":tags: List of strings. Any tags associated with the changeset."
+msgstr ""
+
+msgid ""
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
-"    changeset.\n"
-"\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+"    changeset."
+msgstr ""
+
+msgid ":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. Be sure to use the stringify filter first when you're\n"
 "applying a string-input filter to a list-like input variable.\n"
-"You can also use a chain of filters to get the desired output::\n"
-"\n"
+"You can also use a chain of filters to get the desired output::"
+msgstr ""
+
+msgid ""
 "   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
+
+msgid "List of filters:"
+msgstr ""
+
+msgid ""
 ":addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
-"    every line except the last.\n"
-"\n"
+"    every line except the last."
+msgstr ""
+
+msgid ""
 ":age: Date. Returns a human-readable date/time difference between the\n"
-"    given date/time and the current date/time.\n"
-"\n"
+"    given date/time and the current date/time."
+msgstr ""
+
+msgid ""
 ":basename: Any text. Treats the text as a path, and returns the last\n"
 "    component of the path after splitting by the path separator\n"
 "    (ignoring trailing separators). For example, \"foo/bar/baz\" becomes\n"
-"    \"baz\" and \"foo/bar//\" becomes \"bar\".\n"
-"\n"
+"    \"baz\" and \"foo/bar//\" becomes \"bar\"."
+msgstr ""
+
+msgid ""
 ":stripdir: Treat the text as path and strip a directory level, if\n"
-"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\".\n"
-"\n"
+"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\"."
+msgstr ""
+
+msgid ""
 ":date: Date. Returns a date in a Unix date format, including the\n"
-"    timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
-"\n"
+"    timezone: \"Mon Sep 04 15:13:13 2006 0700\"."
+msgstr ""
+
+msgid ""
 ":domain: Any text. Finds the first string that looks like an email\n"
 "    address, and extracts just the domain component. Example: ``User\n"
-"    <user@example.com>`` becomes ``example.com``.\n"
-"\n"
+"    <user@example.com>`` becomes ``example.com``."
+msgstr ""
+
+msgid ""
 ":email: Any text. Extracts the first string that looks like an email\n"
 "    address. Example: ``User <user@example.com>`` becomes\n"
-"    ``user@example.com``.\n"
-"\n"
+"    ``user@example.com``."
+msgstr ""
+
+msgid ""
 ":escape: Any text. Replaces the special XML/XHTML characters \"&\", \"<\"\n"
-"    and \">\" with XML entities.\n"
-"\n"
-":fill68: Any text. Wraps the text to fit in 68 columns.\n"
-"\n"
-":fill76: Any text. Wraps the text to fit in 76 columns.\n"
-"\n"
-":firstline: Any text. Returns the first line of text.\n"
-"\n"
-":nonempty: Any text. Returns '(none)' if the string is empty.\n"
-"\n"
+"    and \">\" with XML entities."
+msgstr ""
+
+msgid ":fill68: Any text. Wraps the text to fit in 68 columns."
+msgstr ""
+
+msgid ":fill76: Any text. Wraps the text to fit in 76 columns."
+msgstr ""
+
+msgid ":firstline: Any text. Returns the first line of text."
+msgstr ""
+
+msgid ":nonempty: Any text. Returns '(none)' if the string is empty."
+msgstr ""
+
+msgid ""
 ":hgdate: Date. Returns the date as a pair of numbers: \"1157407993\n"
-"    25200\" (Unix timestamp, timezone offset).\n"
-"\n"
+"    25200\" (Unix timestamp, timezone offset)."
+msgstr ""
+
+msgid ""
 ":isodate: Date. Returns the date in ISO 8601 format: \"2009-08-18 13:00\n"
-"    +0200\".\n"
-"\n"
+"    +0200\"."
+msgstr ""
+
+msgid ""
 ":isodatesec: Date. Returns the date in ISO 8601 format, including\n"
 "    seconds: \"2009-08-18 13:00:13 +0200\". See also the rfc3339date\n"
-"    filter.\n"
-"\n"
-":localdate: Date. Converts a date to local date.\n"
-"\n"
+"    filter."
+msgstr ""
+
+msgid ":localdate: Date. Converts a date to local date."
+msgstr ""
+
+msgid ""
 ":obfuscate: Any text. Returns the input text rendered as a sequence of\n"
-"    XML entities.\n"
-"\n"
-":person: Any text. Returns the text before an email address.\n"
-"\n"
+"    XML entities."
+msgstr ""
+
+msgid ":person: Any text. Returns the text before an email address."
+msgstr ""
+
+msgid ""
 ":rfc822date: Date. Returns a date using the same format used in email\n"
-"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
-"\n"
+"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\"."
+msgstr ""
+
+msgid ""
 ":rfc3339date: Date. Returns a date using the Internet date format\n"
-"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n"
-"\n"
+"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\"."
+msgstr ""
+
+msgid ""
 ":short: Changeset hash. Returns the short form of a changeset hash,\n"
-"    i.e. a 12-byte hexadecimal string.\n"
-"\n"
-":shortdate: Date. Returns a date like \"2006-09-18\".\n"
-"\n"
-":strip: Any text. Strips all leading and trailing whitespace.\n"
-"\n"
+"    i.e. a 12-byte hexadecimal string."
+msgstr ""
+
+msgid ":shortdate: Date. Returns a date like \"2006-09-18\"."
+msgstr ""
+
+msgid ":strip: Any text. Strips all leading and trailing whitespace."
+msgstr ""
+
+msgid ""
 ":tabindent: Any text. Returns the text, with every line except the\n"
-"     first starting with a tab character.\n"
-"\n"
+"     first starting with a tab character."
+msgstr ""
+
+msgid ""
 ":urlescape: Any text. Escapes all \"special\" characters. For example,\n"
-"    \"foo bar\" becomes \"foo%20bar\".\n"
-"\n"
-":user: Any text. Returns the user portion of an email address.\n"
-msgstr ""
-
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+"    \"foo bar\" becomes \"foo%20bar\"."
+msgstr ""
+
+msgid ":user: Any text. Returns the user portion of an email address.\n"
+msgstr ""
+
+msgid "Valid URLs are of the form::"
+msgstr ""
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
+
+msgid ""
 "Paths in the local filesystem can either point to Mercurial\n"
 "repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
+"incoming --bundle')."
+msgstr ""
+
+msgid ""
 "An optional identifier after # indicates a particular branch, tag, or\n"
 "changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
+"revisions'."
+msgstr ""
+
+msgid ""
 "Some features, such as pushing to http:// and https:// URLs are only\n"
 "possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
+"server."
+msgstr ""
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr ""
+
+msgid ""
 "- SSH requires an accessible shell account on the destination machine\n"
 "  and a copy of hg in the remote path or specified with as remotecmd.\n"
 "- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
+
+msgid "    ssh://example.com//tmp/repository"
+msgstr ""
+
+msgid ""
 "- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
+
+msgid ""
 "    Host *.mylocalnetwork.example.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+msgstr ""
+
+msgid ""
 "  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
+"  with the --ssh command line option."
+msgstr ""
+
+msgid ""
 "These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
+"[paths] section like so::"
+msgstr ""
+
+msgid ""
 "  [paths]\n"
 "  alias1 = URL1\n"
 "  alias2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+msgstr ""
+
+msgid ""
 "You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' will be treated as 'hg pull URL1').\n"
-"\n"
+"example 'hg pull alias1' will be treated as 'hg pull URL1')."
+msgstr ""
+
+msgid ""
 "Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
+"you do not provide the URL to a command:"
+msgstr ""
+
+msgid ""
 "default:\n"
 "  When you create a repository with hg clone, the clone command saves\n"
 "  the location of the source repository as the new repository's\n"
 "  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
+
+msgid ""
 "default-push:\n"
 "  The push command will look for a path named 'default-push', and\n"
 "  prefer it over 'default' if both are defined.\n"
@@ -8819,12 +10289,8 @@
 msgid "destination '%s' is not empty"
 msgstr "destinationen '%s är inte tom"
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
-msgstr ""
-"källarkivet stödjer inte revisionsuppslag, och stödjer därför inte kloning "
-"av angivna revisioner"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
+msgstr "källarkivet stödjer inte revisionsuppslag, och stödjer därför inte kloning av angivna revisioner"
 
 msgid "clone from remote to remote not supported"
 msgstr "kloning från fjärr till fjärr stödjs inte"
@@ -8834,18 +10300,13 @@
 msgstr "uppdaterar till grenen %s\n"
 
 #, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
-msgstr ""
-"%d filer uppdaterade, %d filer sammanfogade, %d filer raderade, %d filer "
-"olösta\n"
+msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgstr "%d filer uppdaterade, %d filer sammanfogade, %d filer raderade, %d filer olösta\n"
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr ""
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
 msgstr ""
 
 msgid "(branch merge, don't forget to commit)\n"
@@ -9032,8 +10493,16 @@
 msgid "no interrupted transaction available\n"
 msgstr ""
 
-msgid "rolling back last transaction\n"
-msgstr "Ã¥terkallar den senaste transaktionen\n"
+#, python-format
+msgid "rolling back to revision %s (undo %s: %s)\n"
+msgstr "återgår till revisionen %s (ångra %s: %s)\n"
+
+#, python-format
+msgid "rolling back to revision %s (undo %s)\n"
+msgstr "återgår till revisionen %s (ångra %s)\n"
+
+msgid "rolling back unknown transaction\n"
+msgstr "återkallar okänd transaktion\n"
 
 #, python-format
 msgid "Named branch could not be reset, current branch still is: %s\n"
@@ -9127,9 +10596,6 @@
 msgid "queries"
 msgstr "frågor"
 
-msgid "searching"
-msgstr "söker"
-
 msgid "already have changeset "
 msgstr "har redan ändringen "
 
@@ -9142,12 +10608,8 @@
 msgid "requesting all changes\n"
 msgstr "efterfrågar alla ändringar\n"
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
-msgstr ""
-"Deldragningar kan inte göras eftersom det andra arkivet inte stödjer "
-"changegroupsubset."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
+msgstr "Deldragningar kan inte göras eftersom det andra arkivet inte stödjer changegroupsubset."
 
 #, python-format
 msgid "abort: push creates new remote heads on branch '%s'!\n"
@@ -9300,9 +10762,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr ""
 
 #, python-format
@@ -9377,9 +10837,7 @@
 msgid "outstanding uncommitted changes (use 'hg status' to list changes)"
 msgstr ""
 
-msgid ""
-"crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard "
-"changes)"
+msgid "crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)"
 msgstr ""
 
 msgid "crosses branches (use 'hg merge' or use 'hg update -c')"
@@ -9463,6 +10921,15 @@
 msgid "Unsupported line endings type: %s"
 msgstr ""
 
+msgid ""
+"internal patcher failed\n"
+"please report details to http://mercurial.selenic.com/bts/\n"
+"or mercurial@selenic.com\n"
+msgstr ""
+"den interna patcharen misslyckades\n"
+"rapportera detaljer till http://mercurial.selenic.com/bts/\n"
+"eller mercurial@selenic.com\n"
+
 #, python-format
 msgid " %d files changed, %d insertions(+), %d deletions(-)\n"
 msgstr ""
@@ -9610,8 +11077,8 @@
 msgstr ""
 
 #, python-format
-msgid "pulling subrepo %s\n"
-msgstr ""
+msgid "pulling subrepo %s from %s\n"
+msgstr "drar subarkivet %s från %s\n"
 
 #, python-format
 msgid "pushing subrepo %s\n"
@@ -9886,12 +11353,9 @@
 msgid "checking changesets\n"
 msgstr "kontrollerar ändringar\n"
 
-msgid "checking"
-msgstr "kontrollerar"
-
 #, python-format
 msgid "unpacking changeset %s"
-msgstr ""
+msgstr "packar upp ändringen %s"
 
 msgid "checking manifests\n"
 msgstr "kontrollerar manifest\n"
@@ -9930,6 +11394,9 @@
 msgid "cannot decode filename '%s'"
 msgstr "kan inte avkoda filnamnet '%s'"
 
+msgid "checking"
+msgstr "kontrollerar"
+
 #, python-format
 msgid "broken revlog! (%s)"
 msgstr "skadad revlog! (%s)"
--- a/i18n/zh_CN.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/zh_CN.po	Mon Jun 21 13:41:11 2010 -0500
@@ -1,26 +1,25 @@
-#
 # Chinese (simplified) translation for Mercurial
 # This file is distributed under the same license as Mercurial
-#
+# 
 # Copyright (C) 2009 the Mercurial team
 # Dongsheng Song <dongsheng.song@gmail.com>, 2009
-#
+# 
 # Update with pot file:
 #    msgmerge --update zh_CN.po hg.pot
 #    msgfmt --statistics -c zh_CN.po
-#
+# 
 # Please test your translation before commit:
 #    python setup.py build_py -c -d . build_ext -i build_mo
 #    LC_ALL=zh_CN.UTF-8 ./hg
-#
+# 
 # Please format your translation before commit:
 #    msgcat --width=80 --sort-by-file -o zh_CN_new.po zh_CN.po
 #    mv -f zh_CN_new.po zh_CN.po
-#
+# 
 # Please remove '#: filename:line' lines before submit to hg:
 #    msgcat --width=80 --no-location -o zh_CN_new.po zh_CN.po
 #    mv -f zh_CN_new.po zh_CN.po
-#
+# 
 # Dictionary:
 # blame             追溯
 # branch            分支
@@ -43,7 +42,7 @@
 # versioned         å—版本控制
 # working copy      工作副本
 # ...
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial 1.3\n"
@@ -55,8 +54,8 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Chinese\n"
 "Generated-By: pygettext.py 1.5\n"
-"X-Poedit-Language: Chinese\n"
 "X-Poedit-Country: CHINA\n"
 
 #, python-format
@@ -69,62 +68,72 @@
 msgid "COMMANDS"
 msgstr "命令"
 
-msgid ""
-"    options:\n"
-"\n"
-msgstr ""
-"    选项:\n"
-"\n"
-
-#, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    别å: %s\n"
-"\n"
-
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "    options:"
+msgstr "    选项:"
+
+#, python-format
+msgid "    aliases: %s"
+msgstr "    别å: %s"
+
+msgid "hooks for controlling repository access"
+msgstr ""
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
@@ -164,38 +173,47 @@
 msgid "acl: allowing changeset %s\n"
 msgstr "acl: å…许修改集 %s\n"
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr ""
+
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
@@ -236,117 +254,171 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr ""
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+
+msgid ""
 "The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
-"\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+
+msgid ""
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
-"\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+
+msgid ""
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
-"\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "password\n"
-"  Password to use to access MySQL server.\n"
-"\n"
+"  Password to use to access MySQL server."
+msgstr ""
+
+msgid ""
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
-"\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+
+msgid ""
 "version\n"
 "  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
 "  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
-"\n"
+"  to 2.18."
+msgstr ""
+
+msgid ""
 "bzuser\n"
 "  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
-"\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+
+msgid ""
 "bzdir\n"
 "   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
-"\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+
+msgid ""
 "notify\n"
 "  The command to run to get Bugzilla to send bug change notification\n"
 "  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
 "  and 'user' (committer bugzilla email). Default depends on version;\n"
 "  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
-"\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+
+msgid ""
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
 "  Must contain one \"()\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
-"\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+
+msgid ""
 "style\n"
-"  The style file to use when formatting comments.\n"
-"\n"
+"  The style file to use when formatting comments."
+msgstr ""
+
+msgid ""
 "template\n"
 "  Template to use when formatting comments. Overrides style if\n"
 "  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
+"  extension specifies::"
+msgstr ""
+
+msgid ""
 "    {bug}       The Bugzilla bug ID.\n"
 "    {root}      The full pathname of the Mercurial repository.\n"
 "    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+
+msgid ""
 "  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+
+msgid ""
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
-"\n"
+"  {webroot}. Default 0."
+msgstr ""
+
+msgid ""
 "usermap\n"
 "  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
 "  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+
+msgid ""
 "The [usermap] section is used to specify mappings of Mercurial\n"
 "committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
-"\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+
+msgid ""
 "baseurl\n"
 "  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
-"\n"
+"  templates as {hgweb}."
+msgstr ""
+
+msgid "Activating the extension::"
+msgstr ""
+
+msgid ""
 "    [extensions]\n"
-"    bugzilla =\n"
-"\n"
+"    bugzilla ="
+msgstr ""
+
+msgid ""
 "    [hooks]\n"
 "    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+
+msgid "Example configuration:"
+msgstr ""
+
+msgid ""
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
-"\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+
+msgid ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -356,20 +428,28 @@
 "    template=Changeset {node|short} in {root|basename}.\n"
 "             {hgweb}/{webroot}/rev/{node|short}\\n\n"
 "             {desc}\\n\n"
-"    strip=5\n"
-"\n"
+"    strip=5"
+msgstr ""
+
+msgid ""
 "    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+
+msgid ""
 "    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+
+msgid ""
 "    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+
+msgid "    Changeset commit comment. Bug 1234.\n"
 msgstr ""
 
 #, python-format
@@ -447,9 +527,11 @@
 msgstr "列出å­ä¿®æ”¹é›†çš„命令"
 
 #, fuzzy
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr "显示工作目录或指定版本的父亲"
+
+#, fuzzy
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -457,8 +539,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"显示工作目录或指定版本的父亲\n"
-"\n"
 "    显示工作目录的父亲版本。如果使用 '--rev' 指定版本,就显示此版本的\n"
 "    父亲。如果指定了文件,那么使用此文件最åŽä¿®æ”¹çš„版本(工作目录的起æº\n"
 "    版本,或 '--rev' 指定的版本)。\n"
@@ -481,38 +561,55 @@
 msgid "generating stats: %d%%"
 msgstr ""
 
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "histogram of changes to the repository"
+msgstr ""
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
+"    date instead."
+msgstr ""
+
+msgid ""
 "    Statistics are based on the number of changed lines, or\n"
 "    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    --changesets option is specified."
+msgstr ""
+
+msgid "    Examples::"
+msgstr ""
+
+msgid ""
 "      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
+
+msgid ""
 "      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
+
+msgid ""
 "      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
+
+msgid ""
 "      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
+
+msgid ""
 "    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
+"    by providing a file using the following format::"
+msgstr ""
+
+msgid "      <alias email> <actual email>"
+msgstr ""
+
+msgid ""
 "    Such a file may be specified with the --aliases option, otherwise\n"
 "    a .hgchurn file will be looked for in the working directory root.\n"
 "    "
@@ -550,38 +647,50 @@
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 msgstr ""
 
-msgid ""
-"colorize output from some commands\n"
-"\n"
+msgid "colorize output from some commands"
+msgstr ""
+
+msgid ""
 "This extension modifies the status command to add color to its output\n"
 "to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -606,11 +715,13 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr ""
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -619,72 +730,103 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
+"    - Perforce [p4]"
+msgstr ""
+
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+
+msgid "      <source ID> <destination ID>"
+msgstr ""
+
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+
+msgid "      include path/to/file"
+msgstr ""
+
+msgid "      exclude path/to/file"
+msgstr ""
+
+msgid "      rename from/file to/file"
+msgstr ""
+
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -694,8 +836,10 @@
 "    revision control system whose parents should be modified (same\n"
 "    format as a key in .hg/shamap). The values are the revision IDs\n"
 "    (in either the source or destination revision control system) that\n"
-"    should be used as the new parents for that node.\n"
-"\n"
+"    should be used as the new parents for that node."
+msgstr ""
+
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -705,11 +849,15 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -718,11 +866,15 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -731,25 +883,35 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+
+msgid ""
 "    Because CVS does not have changesets, it is necessary to collect\n"
 "    individual commits to CVS and merge them into changesets. CVS\n"
 "    source uses its internal changeset merging code by default but can\n"
-"    be configured to call the external 'cvsps' program by setting::\n"
-"\n"
-"      --config convert.cvsps='cvsps -A -u --cvs-direct -q'\n"
-"\n"
-"    This option is deprecated and will be removed in Mercurial 1.4.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
-"    Internal cvsps is selected by setting ::\n"
-"\n"
-"      --config convert.cvsps=builtin\n"
-"\n"
-"    and has a few more configurable options:\n"
-"\n"
+"    be configured to call the external 'cvsps' program by setting::"
+msgstr ""
+
+msgid "      --config convert.cvsps='cvsps -A -u --cvs-direct -q'"
+msgstr ""
+
+msgid "    This option is deprecated and will be removed in Mercurial 1.4."
+msgstr ""
+
+msgid "    The options shown are the defaults."
+msgstr ""
+
+msgid "    Internal cvsps is selected by setting ::"
+msgstr ""
+
+msgid "      --config convert.cvsps=builtin"
+msgstr ""
+
+msgid "    and has a few more configurable options:"
+msgstr ""
+
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -767,15 +929,21 @@
 "        Specify a regular expression to which commit log messages are\n"
 "        matched. If a match occurs, then the conversion process will\n"
 "        add the most recent revision on the branch indicated in the\n"
-"        regex as the second parent of the changeset.\n"
-"\n"
+"        regex as the second parent of the changeset."
+msgstr ""
+
+msgid ""
 "    The hgext/convert/cvsps wrapper script allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
-"    parameters and output are similar to that of cvsps 2.1.\n"
-"\n"
+"    parameters and output are similar to that of cvsps 2.1."
+msgstr ""
+
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -785,58 +953,80 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+
+msgid "    "
+msgstr ""
+
+msgid "create changeset information from CVS"
+msgstr ""
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
@@ -909,9 +1099,7 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr ""
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
 msgstr ""
 
 msgid "bzr source type could not be determined\n"
@@ -1015,9 +1203,7 @@
 msgid "--sourcesort is not supported by this data source"
 msgstr ""
 
-msgid ""
-"warning: support for external cvsps is deprecated and will be removed in "
-"Mercurial 1.4\n"
+msgid "warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4\n"
 msgstr ""
 
 #, python-format
@@ -1035,8 +1221,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
 msgstr ""
 
 #, python-format
@@ -1154,8 +1339,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr ""
 
 #, python-format
@@ -1359,37 +1543,50 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr ""
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr ""
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
+
+msgid ""
 "  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+msgstr ""
+
+msgid ""
 "  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+msgstr ""
+
+msgid ""
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+
+msgid ""
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
 "diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
@@ -1418,18 +1615,23 @@
 msgid "cleaning up temp directory\n"
 msgstr ""
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr ""
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
@@ -1450,12 +1652,17 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr ""
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using the\n"
-"    %(path)s program.\n"
-"\n"
+"    %(path)s program."
+msgstr ""
+
+#, python-format
+msgid ""
 "    When two revision arguments are given, then changes are shown between\n"
 "    those revisions. If only one revision is specified then that revision is\n"
 "    compared to the working directory, and, when no revisions are specified,\n"
@@ -1469,28 +1676,34 @@
 msgid "pull, update and merge in one command"
 msgstr ""
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
+
+msgid ""
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
 
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
 msgstr ""
 
 msgid "outstanding uncommitted merge"
@@ -1502,23 +1715,18 @@
 msgid "working directory is missing some files"
 msgstr ""
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
 msgstr ""
 
 #, python-format
 msgid "pulling from %s\n"
 msgstr "正在拉自 %s\n"
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr ""
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
 msgstr ""
 
 #, python-format
@@ -1580,14 +1788,12 @@
 msgid "No valid signature for %s\n"
 msgstr ""
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    or tip if no revision is checked out."
 msgstr ""
 
 msgid "uncommitted merge - please provide a specific revision"
@@ -1596,9 +1802,7 @@
 msgid "Error while signing"
 msgstr ""
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
 msgstr ""
 
 msgid "unknown signature version"
@@ -1628,9 +1832,10 @@
 msgid "hg sigs"
 msgstr ""
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr ""
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
@@ -1640,12 +1845,15 @@
 msgid "--graph option is incompatible with --%s"
 msgstr ""
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr ""
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr ""
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
@@ -1673,12 +1881,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr ""
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -1698,13 +1909,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -1723,32 +1938,45 @@
 msgid "cia: no project specified"
 msgstr ""
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -1834,18 +2062,23 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr ""
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+
+msgid "There is a single configuration option::"
+msgstr ""
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
+"  pygments_style = <style>"
+msgstr ""
+
+msgid "The default is 'colorful'.\n"
 msgstr ""
 
 msgid "accelerate status report using Linux's inotify service"
@@ -1854,9 +2087,10 @@
 msgid "start an inotify server for this repository"
 msgstr "为此版本库å¯åŠ¨æœåŠ¡ 'inotify'"
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr ""
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
@@ -2018,20 +2252,24 @@
 msgid "finished setup\n"
 msgstr ""
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr ""
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
@@ -2043,52 +2281,76 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr ""
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr ""
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+
+msgid "Example::"
+msgstr ""
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
@@ -2108,17 +2370,23 @@
 msgid "no [keyword] patterns configured"
 msgstr ""
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr ""
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
@@ -2173,33 +2441,45 @@
 "\n"
 "正在删除临时版本库 %s\n"
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr ""
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr ""
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr ""
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
-"    Use -u/--untracked to list untracked files as well.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+
+msgid "    Use -u/--untracked to list untracked files as well."
+msgstr ""
+
+msgid ""
 "    With -a/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (untracked)\n"
 "      I = ignored\n"
@@ -2207,12 +2487,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr ""
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
@@ -2244,25 +2527,35 @@
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr ""
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr ""
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr ""
+
+msgid ""
 "  prepare repository to work with patches   qinit\n"
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
 "  refresh contents of top applied patch     qrefresh\n"
@@ -2508,8 +2801,7 @@
 msgid "cannot refresh a revision with children"
 msgstr ""
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
 msgstr ""
 
 msgid "patch queue directory already exists"
@@ -2603,13 +2895,15 @@
 msgid "adding %s to series file\n"
 msgstr ""
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr ""
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
@@ -2627,29 +2921,142 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr ""
+"导入补ä¸\n"
+"\n"
+"    此补ä¸æ’入到最近一次应用的补ä¸åºåˆ—中。\n"
+"    如果尚无应用补ä¸ï¼Œqimport 会æ’入补ä¸åˆ°åºåˆ—开始。\n"
+"\n"
+"    除éžä½ ä½¿ç”¨ '--name' 给出补ä¸å称,å¦åˆ™å°±ä¸Žæºæ–‡ä»¶åŒå。\n"
+"\n"
+"    ä½ å¯ä»¥ä½¿ç”¨ '--existing' 注册一个已在补ä¸ç›®å½•ä¸­çš„è¡¥ä¸ã€‚\n"
+"\n"
+"    使用 '--force' 会覆盖已有的补ä¸ã€‚\n"
+"\n"
+"    å¯ä»¥ä½¿ç”¨ '--rev' 将已有的修改集置于 mq 控制下(例如 \n"
+"    'qimport --rev tip -n patch' 会将 tip 置于 mq 控制下)。当使用 '--git'\n"
+"    时,'--rev' 导入的补ä¸å°†ä¼šä½¿ç”¨ git 差异格å¼ã€‚å‚è§å·®å¼‚帮助主题,以了解\n"
+"    为什么这对于ä¿ç•™æ”¹å/å¤åˆ¶ä¿¡æ¯å’Œæƒé™ä¿®æ”¹å¾ˆé‡è¦ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+"导入补ä¸\n"
+"\n"
+"    此补ä¸æ’入到最近一次应用的补ä¸åºåˆ—中。\n"
+"    如果尚无应用补ä¸ï¼Œqimport 会æ’入补ä¸åˆ°åºåˆ—开始。\n"
+"\n"
+"    除éžä½ ä½¿ç”¨ '--name' 给出补ä¸å称,å¦åˆ™å°±ä¸Žæºæ–‡ä»¶åŒå。\n"
+"\n"
+"    ä½ å¯ä»¥ä½¿ç”¨ '--existing' 注册一个已在补ä¸ç›®å½•ä¸­çš„è¡¥ä¸ã€‚\n"
+"\n"
+"    使用 '--force' 会覆盖已有的补ä¸ã€‚\n"
+"\n"
+"    å¯ä»¥ä½¿ç”¨ '--rev' 将已有的修改集置于 mq 控制下(例如 \n"
+"    'qimport --rev tip -n patch' 会将 tip 置于 mq 控制下)。当使用 '--git'\n"
+"    时,'--rev' 导入的补ä¸å°†ä¼šä½¿ç”¨ git 差异格å¼ã€‚å‚è§å·®å¼‚帮助主题,以了解\n"
+"    为什么这对于ä¿ç•™æ”¹å/å¤åˆ¶ä¿¡æ¯å’Œæƒé™ä¿®æ”¹å¾ˆé‡è¦ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+"导入补ä¸\n"
+"\n"
+"    此补ä¸æ’入到最近一次应用的补ä¸åºåˆ—中。\n"
+"    如果尚无应用补ä¸ï¼Œqimport 会æ’入补ä¸åˆ°åºåˆ—开始。\n"
+"\n"
+"    除éžä½ ä½¿ç”¨ '--name' 给出补ä¸å称,å¦åˆ™å°±ä¸Žæºæ–‡ä»¶åŒå。\n"
+"\n"
+"    ä½ å¯ä»¥ä½¿ç”¨ '--existing' 注册一个已在补ä¸ç›®å½•ä¸­çš„è¡¥ä¸ã€‚\n"
+"\n"
+"    使用 '--force' 会覆盖已有的补ä¸ã€‚\n"
+"\n"
+"    å¯ä»¥ä½¿ç”¨ '--rev' 将已有的修改集置于 mq 控制下(例如 \n"
+"    'qimport --rev tip -n patch' 会将 tip 置于 mq 控制下)。当使用 '--git'\n"
+"    时,'--rev' 导入的补ä¸å°†ä¼šä½¿ç”¨ git 差异格å¼ã€‚å‚è§å·®å¼‚帮助主题,以了解\n"
+"    为什么这对于ä¿ç•™æ”¹å/å¤åˆ¶ä¿¡æ¯å’Œæƒé™ä¿®æ”¹å¾ˆé‡è¦ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+"导入补ä¸\n"
+"\n"
+"    此补ä¸æ’入到最近一次应用的补ä¸åºåˆ—中。\n"
+"    如果尚无应用补ä¸ï¼Œqimport 会æ’入补ä¸åˆ°åºåˆ—开始。\n"
+"\n"
+"    除éžä½ ä½¿ç”¨ '--name' 给出补ä¸å称,å¦åˆ™å°±ä¸Žæºæ–‡ä»¶åŒå。\n"
+"\n"
+"    ä½ å¯ä»¥ä½¿ç”¨ '--existing' 注册一个已在补ä¸ç›®å½•ä¸­çš„è¡¥ä¸ã€‚\n"
+"\n"
+"    使用 '--force' 会覆盖已有的补ä¸ã€‚\n"
+"\n"
+"    å¯ä»¥ä½¿ç”¨ '--rev' 将已有的修改集置于 mq 控制下(例如 \n"
+"    'qimport --rev tip -n patch' 会将 tip 置于 mq 控制下)。当使用 '--git'\n"
+"    时,'--rev' 导入的补ä¸å°†ä¼šä½¿ç”¨ git 差异格å¼ã€‚å‚è§å·®å¼‚帮助主题,以了解\n"
+"    为什么这对于ä¿ç•™æ”¹å/å¤åˆ¶ä¿¡æ¯å’Œæƒé™ä¿®æ”¹å¾ˆé‡è¦ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr ""
+"导入补ä¸\n"
+"\n"
+"    此补ä¸æ’入到最近一次应用的补ä¸åºåˆ—中。\n"
+"    如果尚无应用补ä¸ï¼Œqimport 会æ’入补ä¸åˆ°åºåˆ—开始。\n"
+"\n"
+"    除éžä½ ä½¿ç”¨ '--name' 给出补ä¸å称,å¦åˆ™å°±ä¸Žæºæ–‡ä»¶åŒå。\n"
+"\n"
+"    ä½ å¯ä»¥ä½¿ç”¨ '--existing' 注册一个已在补ä¸ç›®å½•ä¸­çš„è¡¥ä¸ã€‚\n"
+"\n"
+"    使用 '--force' 会覆盖已有的补ä¸ã€‚\n"
+"\n"
+"    å¯ä»¥ä½¿ç”¨ '--rev' 将已有的修改集置于 mq 控制下(例如 \n"
+"    'qimport --rev tip -n patch' 会将 tip 置于 mq 控制下)。当使用 '--git'\n"
+"    时,'--rev' 导入的补ä¸å°†ä¼šä½¿ç”¨ git 差异格å¼ã€‚å‚è§å·®å¼‚帮助主题,以了解\n"
+"    为什么这对于ä¿ç•™æ”¹å/å¤åˆ¶ä¿¡æ¯å’Œæƒé™ä¿®æ”¹å¾ˆé‡è¦ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+"导入补ä¸\n"
+"\n"
+"    此补ä¸æ’入到最近一次应用的补ä¸åºåˆ—中。\n"
+"    如果尚无应用补ä¸ï¼Œqimport 会æ’入补ä¸åˆ°åºåˆ—开始。\n"
+"\n"
+"    除éžä½ ä½¿ç”¨ '--name' 给出补ä¸å称,å¦åˆ™å°±ä¸Žæºæ–‡ä»¶åŒå。\n"
+"\n"
+"    ä½ å¯ä»¥ä½¿ç”¨ '--existing' 注册一个已在补ä¸ç›®å½•ä¸­çš„è¡¥ä¸ã€‚\n"
+"\n"
+"    使用 '--force' 会覆盖已有的补ä¸ã€‚\n"
+"\n"
+"    å¯ä»¥ä½¿ç”¨ '--rev' 将已有的修改集置于 mq 控制下(例如 \n"
+"    'qimport --rev tip -n patch' 会将 tip 置于 mq 控制下)。当使用 '--git'\n"
+"    时,'--rev' 导入的补ä¸å°†ä¼šä½¿ç”¨ git 差异格å¼ã€‚å‚è§å·®å¼‚帮助主题,以了解\n"
+"    为什么这对于ä¿ç•™æ”¹å/å¤åˆ¶ä¿¡æ¯å’Œæƒé™ä¿®æ”¹å¾ˆé‡è¦ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    To import a patch from standard input, pass - as the patch file.\n"
 "    When importing from standard input, a patch name must be specified\n"
 "    using the --name flag.\n"
@@ -2673,33 +3080,38 @@
 "    "
 
 #, fuzzy
-msgid ""
-"init a new queue repository\n"
-"\n"
+msgid "init a new queue repository"
+msgstr "åˆå§‹åŒ–队列仓库"
+
+#, fuzzy
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
 "    an unversioned patch repository into a versioned one). You can use\n"
 "    qcommit to commit changes to this queue repository."
 msgstr ""
-"åˆå§‹åŒ–队列仓库\n"
-"\n"
 "    默认队列仓库ä¸å—版本控制。如果指定了 '-c',那么 qinit 会为补ä¸åˆ›å»ºä¸€ä¸ª\n"
 "    å•ç‹¬çš„嵌套版本库(也å¯ä»¥ç¨åŽè¿è¡Œ 'qinit -c' æ¥å°†ä¸å—版本控制的补ä¸ä»“库\n"
 "    转æ¢æˆå—版本控制)。你å¯ä»¥ä½¿ç”¨ 'qcommit' æ交改å˜åˆ°æ­¤é˜Ÿåˆ—版本库。"
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr ""
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
+
+msgid ""
 "    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
+"    default. Use -p <url> to change."
+msgstr ""
+
+msgid ""
 "    The patch directory must be a nested Mercurial repository, as\n"
 "    would be created by qinit -c.\n"
 "    "
@@ -2738,25 +3150,32 @@
 msgid "print the name of the previous patch"
 msgstr ""
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr ""
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). It will refuse to run if there are any outstanding changes\n"
 "    unless -f/--force is specified, in which case the patch will be\n"
 "    initialized with them. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
+
+msgid ""
 "    -u/--user and -d/--date can be used to set the (given) user and\n"
 "    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
+"    to current user and date to current date."
+msgstr ""
+
+msgid ""
 "    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
 "    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to keep the patch in the git extended diff\n"
 "    format. Read the diffs help topic for more information on why this\n"
 "    is important for preserving permission changes and copy/rename\n"
@@ -2765,29 +3184,32 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr "更新当å‰è¡¥ä¸"
+
+#, fuzzy
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+"    如果æ供了文件匹é…模å¼ï¼Œæ›´æ–°åŽçš„è¡¥ä¸åªåŒ…å«åŒ¹é…这些模å¼çš„修改,其它\n"
+"    的修改ä»æ—§åœ¨å·¥ä½œç›®å½•ä¸­ã€‚"
+
+#, fuzzy
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr "    如果指定了 '--short',åªæ›´æ–°å·²ç»åœ¨è¡¥ä¸ä¸­çš„文件,与文件匹é…模å¼ç±»ä¼¼ã€‚"
+
+#, fuzzy
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
 "    git diff format.\n"
 "    "
 msgstr ""
-"更新当å‰è¡¥ä¸\n"
-"\n"
-"    如果æ供了文件匹é…模å¼ï¼Œæ›´æ–°åŽçš„è¡¥ä¸åªåŒ…å«åŒ¹é…这些模å¼çš„修改,其它\n"
-"    的修改ä»æ—§åœ¨å·¥ä½œç›®å½•ä¸­ã€‚\n"
-"\n"
-"    如果指定了 '--short',åªæ›´æ–°å·²ç»åœ¨è¡¥ä¸ä¸­çš„文件,与文件匹é…模å¼ç±»ä¼¼ã€‚\n"
-"\n"
 "    'hg add/remove/copy/rename' 如常工作,你å¯èƒ½æƒ³ä½¿ç”¨ git æ ¼å¼è¡¥ä¸(使\n"
 "    用选项 '--git' 或在é…置文件的 [diff] 区中设置 git=1)以跟踪å¤åˆ¶å’Œæ”¹\n"
 "    å。请å‚è§å·®å¼‚帮助主题,以了解关于 git 差异格å¼çš„更多信æ¯ã€‚\n"
@@ -2797,39 +3219,44 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr "显å¼å½“å‰çš„è¡¥ä¸å’ŒåŽç»­çš„修改"
+
+#, fuzzy
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+"    显示当å‰çš„è¡¥ä¸å’Œæœ€è¿‘一次刷新之åŽçš„修改(因而在执行 'qrefresh' 之åŽå°±åª\n"
+"    显示当å‰çš„è¡¥ä¸)。"
+
+#, fuzzy
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
 "    qrefresh.\n"
 "    "
 msgstr ""
-"显å¼å½“å‰çš„è¡¥ä¸å’ŒåŽç»­çš„修改\n"
-"\n"
-"    显示当å‰çš„è¡¥ä¸å’Œæœ€è¿‘一次刷新之åŽçš„修改(因而在执行 'qrefresh' 之åŽå°±åª\n"
-"    显示当å‰çš„è¡¥ä¸)。\n"
-"\n"
 "    如果你åªæƒ³çœ‹åˆ°æœ€è¿‘一次刷新之åŽçš„修改请使用 'hg diff',如果你åªæƒ³çœ‹åˆ°å½“\n"
 "    å‰çš„è¡¥ä¸è¯·ä½¿ç”¨ 'hg export qtip'。\n"
 "    "
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr ""
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
+"    removed afterwards."
+msgstr ""
+
+msgid ""
 "    The header for each folded patch will be concatenated with the\n"
 "    current patch header, separated by a line of '* * *'."
 msgstr ""
@@ -2855,19 +3282,24 @@
 msgid "push or pop patches until named patch is at top of stack"
 msgstr ""
 
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgid "set or print guards for a patch"
+msgstr ""
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
+"    has activated it."
+msgstr ""
+
+msgid ""
 "    With no arguments, print the currently active guards.\n"
 "    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
+
+msgid ""
 "    To set guards on another patch:\n"
 "      hg qguard -- other.patch +2.6.17 -stable\n"
 "    "
@@ -2887,15 +3319,15 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr "将下个补ä¸åŽ‹å…¥å †æ ˆ"
+
+#, fuzzy
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
 msgstr ""
-"将下个补ä¸åŽ‹å…¥å †æ ˆ\n"
-"\n"
 "    当指定 '--force' 时,所有在补ä¸æ–‡ä»¶ä¸­çš„本地修改都会丢失。\n"
 "    "
 
@@ -2907,16 +3339,16 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr "将当å‰è¡¥ä¸å¼¹å‡ºå †æ ˆ"
+
+#, fuzzy
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
 "    "
 msgstr ""
-"将当å‰è¡¥ä¸å¼¹å‡ºå †æ ˆ\n"
-"\n"
 "    默认将补ä¸å †æ ˆçš„顶部弹出。如果指定了补ä¸å称,那么就会一直弹出,直到此\n"
 "    è¡¥ä¸ä½äºŽå †æ ˆé¡¶éƒ¨ã€‚\n"
 "    "
@@ -2925,9 +3357,10 @@
 msgid "using patch queue: %s\n"
 msgstr ""
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr ""
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
@@ -2959,49 +3392,62 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr "从版本库删除一个版本以åŠå®ƒçš„å­å­™"
+
+#, fuzzy
+msgid ""
 "    If one of the working directory's parent revisions is stripped, the\n"
 "    working directory will be updated to the parent of the stripped\n"
 "    revision.\n"
 "    "
 msgstr ""
-"从版本库删除一个版本以åŠå®ƒçš„å­å­™\n"
-"\n"
 "    如果有工作目录的父版本被删除,那么此目录会被更新到已删除版本的父版本。\n"
 "    "
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr ""
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example:\n"
-"\n"
+"    match the current guard. For example:"
+msgstr ""
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
+"    guarded patches."
+msgstr ""
+
+msgid ""
 "    Use -s/--series to print a list of all guards in the series file\n"
 "    (no other arguments needed). Use -v for more information."
 msgstr ""
@@ -3035,18 +3481,23 @@
 msgid "reapplying unguarded patches\n"
 msgstr ""
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr ""
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
@@ -3321,33 +3772,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr ""
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -3363,24 +3828,34 @@
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -3396,15 +3871,13 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"diffs (%d lines):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"diffs (%d lines):"
 msgstr ""
 
 #, python-format
@@ -3415,119 +3888,170 @@
 msgid "notify: changes have source \"%s\" - skipping\n"
 msgstr ""
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend::\n"
-"\n"
+"pager.attend::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = log\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"  attend = log"
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr ""
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr ""
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+msgid "command to send changesets as (a series of) patch emails"
+msgstr ""
+
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
+
+msgid ""
 "The -m/--mbox option is also very useful. Instead of previewing each\n"
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"files, e.g. with mutt::"
+msgstr ""
+
+msgid "  % mutt -R -f mbox"
+msgstr ""
+
+msgid ""
 "When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
+"package), to send each message out::"
+msgstr ""
+
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr ""
+
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr ""
+
+msgid ""
 "You can also either configure the method option in the email section\n"
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
@@ -3544,53 +4068,66 @@
 msgid "diffstat rejected"
 msgstr ""
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr ""
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
+
+msgid ""
 "    By default the patch is included as text in the email body for\n"
 "    easy reviewing. Using the -a/--attach option will instead create\n"
 "    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
+"    will be created."
+msgstr ""
+
+msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
 "    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
+
+msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    will be sent."
+msgstr ""
+
+msgid ""
 "      hg email -r 3000          # send patch 3000 only\n"
 "      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
 "      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
+
+msgid ""
 "      hg email -o               # send all patches not in default\n"
 "      hg email -o DEST          # send all patches not in DEST\n"
 "      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
 "    "
@@ -3610,14 +4147,11 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
+"Write the introductory message for the patch series."
+msgstr ""
+
+#, python-format
+msgid "This patch series consists of %d patches."
 msgstr ""
 
 msgid "Final summary:\n"
@@ -3705,27 +4239,38 @@
 msgid "command to delete untracked files from the working directory"
 msgstr ""
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+
+msgid "    This means that purge will delete:"
+msgstr ""
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+
+msgid "    But it will leave untouched:"
+msgstr ""
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -3765,12 +4310,15 @@
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr ""
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr ""
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
@@ -3778,13 +4326,16 @@
 msgid "first revision, do not change ancestor\n"
 msgstr ""
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr ""
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history onto another. This can be useful for linearizing local\n"
-"    changes relative to a master development tree.\n"
-"\n"
+"    changes relative to a master development tree."
+msgstr ""
+
+msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a.\n"
 "    "
@@ -3936,9 +4487,7 @@
 msgid "abort an interrupted rebase"
 msgstr ""
 
-msgid ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | "
-"[-c] | [-a]"
+msgid "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | [-c] | [-a]"
 msgstr ""
 
 msgid "commands to interactively select changes for commit/qrefresh"
@@ -4007,30 +4556,41 @@
 msgid "record change %d/%d to %r?"
 msgstr "ä¸éœ€è¦æ”¹å˜ %s\n"
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr ""
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
+"    possible::"
+msgstr ""
+
+msgid ""
 "      y - record this change\n"
-"      n - skip this change\n"
-"\n"
+"      n - skip this change"
+msgstr ""
+
+msgid ""
 "      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
+"      f - record remaining changes to this file"
+msgstr ""
+
+msgid ""
 "      d - done, skip remaining changes and files\n"
 "      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
+"      q - quit, recording no changes"
+msgstr ""
+
+msgid "      ? - display help"
 msgstr ""
 
 msgid "'mq' extension not loaded"
@@ -4065,12 +4625,15 @@
 msgid "share a common history between several working directories"
 msgstr ""
 
-msgid ""
-"create a new shared repository (experimental)\n"
-"\n"
+msgid "create a new shared repository (experimental)"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: actions that change history such as rollback or moving the\n"
 "    source may confuse sharers.\n"
 "    "
@@ -4082,11 +4645,13 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr ""
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr ""
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr ""
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
@@ -4141,38 +4706,52 @@
 msgid "apply changeset? [ynmpcq?]:"
 msgstr ""
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr ""
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr ""
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
+"    changesets you want."
+msgstr ""
+
+msgid ""
 "    hg transplant --branch REVISION --all will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
+"    directory."
+msgstr ""
+
+msgid ""
 "    You can optionally mark selected transplanted changesets as merge\n"
 "    changesets. You will not be prompted to transplant any ancestors\n"
 "    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
+"    normally instead of transplanting them."
+msgstr ""
+
+msgid ""
 "    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
+"    an interactive changeset browser."
+msgstr ""
+
+msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
 "    and then resume where you left off by calling hg transplant\n"
 "    --continue/-c.\n"
@@ -4224,38 +4803,49 @@
 msgid "filter changesets through FILTER"
 msgstr ""
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-msgstr ""
-
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgstr ""
+
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr ""
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
+"operation."
+msgstr ""
+
+msgid "This extension is useful for:"
+msgstr ""
+
+msgid ""
 "- Japanese Windows users using shift_jis encoding.\n"
 "- Chinese Windows users using big5 encoding.\n"
 "- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
+"  case-insensitive file system."
+msgstr ""
+
+msgid "This extension is not needed for:"
+msgstr ""
+
+msgid ""
 "- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr ""
+
+msgid ""
 "- You should use single encoding in one repository.\n"
 "- You should set same encoding for the repository by locale or\n"
-"  HGENCODING.\n"
-"\n"
+"  HGENCODING."
+msgstr ""
+
+msgid ""
 "Path encoding conversion are done between Unicode and\n"
 "encoding.encoding which is decided by Mercurial from current locale\n"
 "setting or HGENCODING.\n"
@@ -4272,31 +4862,41 @@
 msgid "[win32mbcs] activated with encoding: %s\n"
 msgstr ""
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr ""
+
+msgid "To perform automatic newline conversion, use::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+msgstr ""
+
+msgid ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+msgstr ""
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -4322,13 +4922,21 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+
+#, python-format
+msgid "and also consider adding:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -4337,21 +4945,29 @@
 "** = %sdecode:\n"
 msgstr ""
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr ""
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
@@ -4612,38 +5228,46 @@
 msgstr "空的æ交日志"
 
 #, fuzzy
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr "增加指定文件用于下次æ交"
+
+#, fuzzy
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    调度文件å—版本控制,增加到版本库。"
+
+#, fuzzy
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+"    这些文件将于下次æ交时增加到版本库。需è¦åœ¨æ交å‰æ’¤é”€å¢žåŠ ï¼Œ\n"
+"    å‚è§ 'hg revert'。"
+
+#, fuzzy
+msgid ""
 "    If no names are given, add all files to the repository.\n"
 "    "
 msgstr ""
-"增加指定文件用于下次æ交\n"
-"\n"
-"    调度文件å—版本控制,增加到版本库。\n"
-"\n"
-"    这些文件将于下次æ交时增加到版本库。需è¦åœ¨æ交å‰æ’¤é”€å¢žåŠ ï¼Œ\n"
-"    å‚è§ 'hg revert'。\n"
-"\n"
 "    如果没有给出文件å称,就增加所有文件到版本库。\n"
 "    "
 
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr ""
+
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -4660,27 +5284,29 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr "显示指定文件æ¯è¡Œçš„修改集信æ¯"
+
+#, fuzzy
+msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+msgstr "    列出文件中的修改,为æ¯è¡Œæ˜¾ç¤ºç‰ˆæœ¬æ ‡è¯†"
+
+#, fuzzy
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr "    此命令用于查找è°åšå‡ºçš„修改,或者什么时候å‘生的修改"
+
+#, fuzzy
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
 "    nor desirable.\n"
 "    "
 msgstr ""
-"显示指定文件æ¯è¡Œçš„修改集信æ¯\n"
-"\n"
-"    列出文件中的修改,为æ¯è¡Œæ˜¾ç¤ºç‰ˆæœ¬æ ‡è¯†\n"
-"\n"
-"    此命令用于查找è°åšå‡ºçš„修改,或者什么时候å‘生的修改\n"
-"\n"
 "    当没有选项 '-a' 时,annotate 会é¿å…处ç†æ£€æµ‹ä¸ºäºŒè¿›åˆ¶çš„文件\n"
 "    当使用选项 '-a' 时,annotate 会直接产生追溯,å¯èƒ½ä¼šæœ‰ä¸åˆéœ€è¦çš„结果\n"
 "    "
@@ -4695,25 +5321,34 @@
 msgid "%s: binary file\n"
 msgstr ""
 
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr ""
+
+msgid ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
+
+msgid ""
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are::\n"
-"\n"
+"    types are::"
+msgstr ""
+
+msgid ""
 "      \"files\" (default): a directory full of files\n"
 "      \"tar\": tar archive, uncompressed\n"
 "      \"tbz2\": tar archive, compressed using bzip2\n"
 "      \"tgz\": tar archive, compressed using gzip\n"
 "      \"uzip\": zip archive, uncompressed\n"
-"      \"zip\": zip archive, compressed using deflate\n"
-"\n"
+"      \"zip\": zip archive, compressed using deflate"
+msgstr ""
+
+msgid ""
 "    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
+
+msgid ""
 "    Each member added to an archive file has a directory prefix\n"
 "    prepended. Use -p/--prefix to specify a format string for the\n"
 "    prefix. The default is the basename of the archive, with suffixes\n"
@@ -4730,23 +5365,25 @@
 msgid "cannot archive plain files to stdout"
 msgstr ""
 
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgid "reverse effect of earlier changeset"
+msgstr ""
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    The result of this merge is not committed, as with a normal merge."
 msgstr ""
 
 msgid "please specify just one revision"
@@ -4785,9 +5422,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr ""
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr ""
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -4795,11 +5433,15 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
+
+msgid ""
 "    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
+
+msgid ""
 "    If you supply a command, it will be used for automatic bisection.\n"
 "    Its exit status will be used to mark revisions as good or bad:\n"
 "    status 0 means good, 125 means to skip the revision, 127\n"
@@ -4852,22 +5494,29 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr ""
 
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr ""
+
+msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
+"    branch."
+msgstr ""
+
+msgid ""
 "    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
+
+msgid ""
 "    Use -C/--clean to reset the working directory branch to that of\n"
 "    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
+"    change."
+msgstr ""
+
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch. Use\n"
 "    'hg commit --close-branch' to mark this branch as closed.\n"
 "    "
@@ -4884,40 +5533,54 @@
 msgid "marked working directory as branch %s\n"
 msgstr ""
 
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr ""
+
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
+"    is considered active if it contains repository heads."
+msgstr ""
+
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch.\n"
 "    "
 msgstr ""
 
-msgid ""
-"create a changegroup file\n"
-"\n"
+msgid "create a changegroup file"
+msgstr ""
+
+msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
+"    known to be in another repository."
+msgstr ""
+
+msgid ""
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
+"    -a/--all (or --base null)."
+msgstr ""
+
+msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
-"\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+
+msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
+
+msgid ""
 "    Applying bundles preserves all changeset contents including\n"
 "    permissions, copy/rename information, and revision history.\n"
 "    "
@@ -4929,62 +5592,85 @@
 msgid "unknown bundle type specified with --type"
 msgstr ""
 
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr ""
+
+msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions::\n"
-"\n"
+"    for the export command, with the following additions::"
+msgstr ""
+
+msgid ""
 "      %s   basename of file being printed\n"
 "      %d   dirname of file being printed, or '.' if in repository root\n"
 "      %p   root-relative path name of file being printed\n"
 "    "
 msgstr ""
 
-msgid ""
-"make a copy of an existing repository\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
+msgid "make a copy of an existing repository"
+msgstr ""
+
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
+"    basename of the source."
+msgstr ""
+
+msgid ""
 "    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+
+msgid ""
 "    If you use the -r/--rev option to clone up to a specific revision,\n"
 "    no subsequent revisions (including subsequent tags) will be\n"
 "    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
+"    on local repositories."
+msgstr ""
+
+msgid ""
 "    By default, clone will check out the head of the 'default' branch.\n"
 "    If the -U/--noupdate option is used, the new clone will contain\n"
 "    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
+"    parent is the null revision)."
+msgstr ""
+
+msgid "    See 'hg help urls' for valid source format details."
+msgstr ""
+
+msgid ""
 "    It is possible to specify an ssh:// URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs."
+msgstr ""
+
+msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
 "    to the repository data, not to the checked out files). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
+"    avoid hardlinking."
+msgstr ""
+
+msgid ""
 "    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with ::\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
+"    using full hardlinks with ::"
+msgstr ""
+
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr ""
+
+msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
@@ -4995,37 +5681,33 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr "æ交指定文件的修改或全部修改"
+
+#, fuzzy
+msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
+"    for a way to actively distribute your changes."
+msgstr "    将指定文件的修改æ交到版本库。"
+
+#, fuzzy
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
+"    will be committed."
+msgstr "    如果çœç•¥äº†æ–‡ä»¶åˆ—表,那么 \"hg status\" 报告的所有修改都被æ交。"
+
+#, fuzzy
+msgid ""
 "    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
+"    filenames or -I/-X filters."
+msgstr "    如果你è¦æ交åˆå¹¶ç»“果,请ä¸è¦æ供任何文件å称或过滤器 '-I/-X'。"
+
+#, fuzzy
+msgid ""
 "    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"æ交指定文件的修改或全部修改\n"
-"\n"
-"    将指定文件的修改æ交到版本库。\n"
-"\n"
-"    如果çœç•¥äº†æ–‡ä»¶åˆ—表,那么 \"hg status\" 报告的所有修改都被æ交。\n"
-"\n"
-"    如果你è¦æ交åˆå¹¶ç»“果,请ä¸è¦æ供任何文件å称或过滤器 '-I/-X'。\n"
-"\n"
-"    如果没有指定æ交日志,将会å¯åŠ¨é…置的编辑器,让你输入信æ¯ã€‚\n"
-"\n"
-"    å‚è§ 'hg help dates' 以获得 '-d/--date' 的有效格å¼åˆ—表。\n"
-"    "
+"    started to prompt you for a message."
+msgstr "    如果没有指定æ交日志,将会å¯åŠ¨é…置的编辑器,让你输入信æ¯ã€‚"
 
 msgid "nothing changed\n"
 msgstr "没有改å˜\n"
@@ -5037,17 +5719,22 @@
 msgid "committed changeset %d:%s\n"
 msgstr "æ交修改集 %d:%s\n"
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr ""
+
+msgid ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+msgstr ""
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
@@ -5090,17 +5777,23 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr ""
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr ""
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr ""
+
+msgid ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+msgstr ""
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
@@ -5109,9 +5802,10 @@
 msgid "only one config item permitted"
 msgstr ""
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr ""
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
@@ -5177,14 +5871,10 @@
 msgid " patch test failed!\n"
 msgstr ""
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. Please "
-"check your .hgrc file)\n"
-msgstr ""
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr ""
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
 msgstr ""
 
 msgid "Checking commit editor...\n"
@@ -5228,67 +5918,78 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr "在版本库中比较(指定的文件)"
+
+#, fuzzy
+msgid "    Show differences between revisions for the specified files."
+msgstr "    显示指定文件在版本间的差异。"
+
+#, fuzzy
+msgid "    Differences between files are shown using the unified diff format."
+msgstr "    文件间的差异使用åŒä¸€å·®å¼‚æ ¼å¼æ˜¾ç¤ºã€‚"
+
+#, fuzzy
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
+"    注æ„: 对åˆå¹¶çš„比较å¯èƒ½ä¼šäº§ç”Ÿä¸æœŸæœ›çš„结果,因为没有指定版本时,默认\n"
+"    与工作目录的直接父亲比较。"
+
+#, fuzzy
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+"    当没有选项 '-a' 时,将会é¿å…处ç†æ£€æµ‹ä¸ºäºŒè¿›åˆ¶çš„文件。当使用选项 '-a'\n"
+"    时,å¯èƒ½ä¼šæœ‰ä¸åˆéœ€è¦çš„结果。"
+
+#, fuzzy
+msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
 msgstr ""
-"在版本库中比较(指定的文件)\n"
-"\n"
-"    显示指定文件在版本间的差异。\n"
-"\n"
-"    文件间的差异使用åŒä¸€å·®å¼‚æ ¼å¼æ˜¾ç¤ºã€‚\n"
-"\n"
-"    注æ„: 对åˆå¹¶çš„比较å¯èƒ½ä¼šäº§ç”Ÿä¸æœŸæœ›çš„结果,因为没有指定版本时,默认\n"
-"    与工作目录的直接父亲比较。\n"
-"\n"
-"    当给出两个版本å‚数时,会显示在这些版本间的修改。如果åªç»™å‡ºä¸€ä¸ªç‰ˆæœ¬ï¼Œ\n"
-"    那么它将与工作目录比较。当没有指定版本时,将比较工作目录中的文件与\n"
-"    它的直接父亲。\n"
-"\n"
-"    当没有选项 '-a' 时,将会é¿å…处ç†æ£€æµ‹ä¸ºäºŒè¿›åˆ¶çš„文件。当使用选项 '-a'\n"
-"    时,å¯èƒ½ä¼šæœ‰ä¸åˆéœ€è¦çš„结果。\n"
-"\n"
 "    使用选项 '--git' 会使用 git 扩展差异格å¼ã€‚请阅读 'hg help diffs' 以\n"
 "    了解更多信æ¯ã€‚\n"
 "    "
 
 #, fuzzy
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr "为一个或多个修改集输出标题和差异"
+
+#, fuzzy
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr "    为一个或多个版本输出标题和差异。"
+
+#, fuzzy
+msgid ""
 "    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment.\n"
-"\n"
+"    changeset hash, parent(s) and commit comment."
+msgstr "    在修改集标题中显示的信æ¯æ˜¯: 作者,修改集哈希,父亲和æ交日志。"
+
+#, fuzzy
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+"    注æ„: 对于åˆå¹¶ä¿®æ”¹é›†ï¼Œå¯¼å‡ºå¯èƒ½äº§ç”Ÿä¸æœŸæœ›çš„差异输出,因为它åªä¼šå°†åˆå¹¶\n"
+"    修改集与其第一个父亲比较。"
+
+#, fuzzy
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows::\n"
-"\n"
+"    given using a format string. The formatting rules are as follows::"
+msgstr ""
+"    å¯ä»¥è¾“出到文件,这时会使用指定的格å¼åŒ–字符串构造文件å称。格å¼åŒ–规则\n"
+"    如下:"
+
+#, fuzzy
+msgid ""
 "      %%   literal \"%\" character\n"
 "      %H   changeset hash (40 bytes of hexadecimal)\n"
 "      %N   number of patches being generated\n"
@@ -5296,31 +5997,8 @@
 "      %b   basename of the exporting repository\n"
 "      %h   short-form changeset hash (12 bytes of hexadecimal)\n"
 "      %n   zero-padded sequence number, starting at 1\n"
-"      %r   zero-padded changeset revision number\n"
-"\n"
-"    Without the -a/--text option, export will avoid generating diffs\n"
-"    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
-"    With the --switch-parent option, the diff will be against the\n"
-"    second parent. It can be useful to review a merge.\n"
-"    "
-msgstr ""
-"为一个或多个修改集输出标题和差异\n"
-"\n"
-"    为一个或多个版本输出标题和差异。\n"
-"\n"
-"    在修改集标题中显示的信æ¯æ˜¯: 作者,修改集哈希,父亲和æ交日志。\n"
-"\n"
-"    注æ„: 对于åˆå¹¶ä¿®æ”¹é›†ï¼Œå¯¼å‡ºå¯èƒ½äº§ç”Ÿä¸æœŸæœ›çš„差异输出,因为它åªä¼šå°†åˆå¹¶\n"
-"    修改集与其第一个父亲比较。\n"
-"\n"
-"    å¯ä»¥è¾“出到文件,这时会使用指定的格å¼åŒ–字符串构造文件å称。格å¼åŒ–规则\n"
-"    如下:\n"
-"\n"
+"      %r   zero-padded changeset revision number"
+msgstr ""
 "    %%   字符 \"%\"\n"
 "    %H   修改集哈希 (40 ä½å六进制数字)\n"
 "    %N   产生的补ä¸å·\n"
@@ -5328,14 +6006,31 @@
 "    %b   待导出的版本库的基本å称\n"
 "    %h   短修改集哈希(12 ä½å六进制数字)\n"
 "    %n   从 1 开始补 0 çš„åºåˆ—å·\n"
-"    %r   è¡¥ 0 的修改集版本å·\n"
-"\n"
+"    %r   è¡¥ 0 的修改集版本å·"
+
+#, fuzzy
+msgid ""
+"    Without the -a/--text option, export will avoid generating diffs\n"
+"    of files it detects as binary. With -a, export will generate a\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
 "    当没有选项 '-a' 时,将会é¿å…处ç†æ£€æµ‹ä¸ºäºŒè¿›åˆ¶çš„文件。当使用选项 '-a'\n"
-"    时,å¯èƒ½ä¼šæœ‰ä¸åˆéœ€è¦çš„结果。\n"
-"\n"
+"    时,å¯èƒ½ä¼šæœ‰ä¸åˆéœ€è¦çš„结果。"
+
+#, fuzzy
+msgid ""
+"    Use the -g/--git option to generate diffs in the git extended diff\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
 "    使用选项 '--git' 会使用 git 扩展差异格å¼ã€‚请阅读差异帮助主题以了解\n"
-"    更多信æ¯ã€‚\n"
-"\n"
+"    更多信æ¯ã€‚"
+
+#, fuzzy
+msgid ""
+"    With the --switch-parent option, the diff will be against the\n"
+"    second parent. It can be useful to review a merge.\n"
+"    "
+msgstr ""
 "    使用选项 '--switch-parent',将会与第二个父亲比较。对于å¤å®¡åˆå¹¶å¾ˆæœ‰ç”¨ã€‚\n"
 "    "
 
@@ -5348,16 +6043,21 @@
 msgid "exporting patch:\n"
 msgstr ""
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
@@ -5369,16 +6069,20 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr ""
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr ""
+
+msgid "    Search revisions of files for a regular expression."
+msgstr ""
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -5391,28 +6095,38 @@
 msgid "grep: invalid match pattern: %s\n"
 msgstr ""
 
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
+msgid "show current repository heads or show branch heads"
+msgstr ""
+
+msgid "    With no arguments, show all repository head changesets."
+msgstr ""
+
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
-"    for update and merge operations.\n"
-"\n"
+"    for update and merge operations."
+msgstr ""
+
+msgid ""
 "    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with the specified changeset(s).\n"
-"\n"
+"    the named branch associated with the specified changeset(s)."
+msgstr ""
+
+msgid ""
 "    Branch heads are changesets on a named branch with no descendants on\n"
 "    the same branch. A branch head could be a \"true\" (repository) head,\n"
 "    or it could be the last changeset on that branch before it was\n"
 "    merged into another branch, or it could be the last changeset on the\n"
 "    branch before a new branch was created. If none of the branch heads\n"
-"    are true heads, the branch is considered inactive.\n"
-"\n"
+"    are true heads, the branch is considered inactive."
+msgstr ""
+
+msgid ""
 "    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
+"    (see hg commit --close-branch)."
+msgstr ""
+
+msgid ""
 "    If STARTREV is specified, only those heads that are descendants of\n"
 "    STARTREV will be displayed.\n"
 "    "
@@ -5433,11 +6147,13 @@
 msgid "no changes on branch %s are reachable from %s\n"
 msgstr ""
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr ""
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr ""
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
@@ -5459,12 +6175,8 @@
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "使用 \"hg -v help %s\" 显示全局选项"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"命令列表:\n"
-"\n"
+msgid "list of commands:"
+msgstr "命令列表:"
 
 #, python-format
 msgid ""
@@ -5494,39 +6206,36 @@
 msgstr "没有å¯ç”¨çš„帮助信æ¯"
 
 #, fuzzy, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
+msgid "%s extension - %s"
 msgstr "** 已加载的扩展: %s\n"
 
 msgid "Mercurial Distributed SCM\n"
 msgstr "分布å¼è½¯ä»¶é…置管ç†å·¥å…· - 水银\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"基本命令:\n"
-"\n"
-
-msgid ""
-"\n"
-"additional help topics:\n"
-"\n"
-msgstr ""
-"\n"
-"é¢å¤–的帮助主题:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+msgid "basic commands:"
+msgstr "基本命令:"
+
+msgid ""
+"\n"
+"additional help topics:"
+msgstr ""
+"\n"
+"é¢å¤–的帮助主题:"
+
+msgid "identify the working copy or specified revision"
+msgstr ""
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
@@ -5534,35 +6243,47 @@
 "    "
 msgstr ""
 
-msgid ""
-"import an ordered set of patches\n"
-"\n"
-"    Import a list of patches and commit them individually.\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr ""
+
+msgid "    Import a list of patches and commit them individually."
+msgstr ""
+
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
+"    message."
+msgstr ""
+
+msgid ""
 "    If the imported patch was generated by hg export, user and\n"
 "    description from patch override values from message headers and\n"
 "    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
+"    override these."
+msgstr ""
+
+msgid ""
 "    If --exact is specified, import will set the working directory to\n"
 "    the parent of each patch before applying it, and will abort if the\n"
 "    resulting changeset has a different ID than the one recorded in\n"
 "    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
+"    deficiencies in the text patch format."
+msgstr ""
+
+msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
+
+msgid ""
 "    To read a patch from standard input, use \"-\" as the patch name. If\n"
 "    a URL is specified, the patch will be downloaded from it.\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
@@ -5588,56 +6309,69 @@
 msgid "patch is damaged or loses information"
 msgstr ""
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr ""
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
+
+msgid ""
 "    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
+
+msgid ""
 "    See pull for valid source format details.\n"
 "    "
 msgstr ""
 
 #, fuzzy
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr "在指定目录创建新版本库"
+
+#, fuzzy
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr "    在指定目录åˆå§‹åŒ–新版本库。如果指定的目录ä¸å­˜åœ¨ï¼Œé‚£ä¹ˆä¼šè¢«åˆ›å»ºã€‚"
+
+#, fuzzy
+msgid "    If no directory is given, the current directory is used."
+msgstr "    如果没有指定目录,就使用当å‰ç›®å½•ã€‚"
+
+#, fuzzy
+msgid ""
 "    It is possible to specify an ssh:// URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"在指定目录创建新版本库\n"
-"\n"
-"    在指定目录åˆå§‹åŒ–新版本库。如果指定的目录ä¸å­˜åœ¨ï¼Œé‚£ä¹ˆä¼šè¢«åˆ›å»ºã€‚\n"
-"\n"
-"    如果没有指定目录,就使用当å‰ç›®å½•ã€‚\n"
-"\n"
 "    å¯ä»¥æŒ‡å®šä½ç½® 'ssh://' 作为目标。å‚è§å‘½ä»¤ 'hg help urls' 的帮助信æ¯ï¼Œ\n"
 "    以了解ä½ç½® 'ssh://' çš„é‡è¦è¯¦æƒ…。\n"
 "    "
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr ""
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
@@ -5646,29 +6380,156 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
+msgid "show revision history of entire repository or files"
+msgstr ""
+"显示全部版本库或指定文件的版本历å²\n"
+"\n"
+"    显示全部版本库或指定文件的版本历å²ã€‚\n"
+"\n"
+"    显示文件历å²çš„时候ä¸è·Ÿè¸ªæ”¹å或å¤åˆ¶ã€‚对文件å称使用 '-f/--follow'\n"
+"    会跟踪改å或å¤åˆ¶çš„历å²ã€‚当ä¸ç»™å‡ºæ–‡ä»¶å称时,使用 '--follow' åªæ˜¾\n"
+"    示开始版本的直系祖先。使用 '--follow-first' åªæ˜¾ç¤ºåˆå¹¶ç‰ˆæœ¬çš„第一\n"
+"    个父亲。\n"
+"\n"
+"    如果没有指定版本范围,默认是 'tip:0'。当使用 '--follow' 时,使用\n"
+"    工作目录的父亲作为开始版本。\n"
+"\n"
+"    å‚è§ 'hg help dates' 以获得 '-d/--date' 的有效格å¼åˆ—表。\n"
+"\n"
+"    此命令缺çœè¾“出: 修改集标识和哈希,标签,父亲,æ交者,日期和时间,\n"
+"    以åŠæ¯æ¬¡æ交的概è¦ä¿¡æ¯ã€‚当使用选项 '-v/--verbose' 时,会显示文件\n"
+"    å˜æ›´åˆ—表和完整的æ交信æ¯ã€‚\n"
+"\n"
+"    注æ„: 对于åˆå¹¶ä¿®æ”¹é›†ï¼Œ'log -p' å¯èƒ½äº§ç”Ÿä¸æœŸæœ›çš„差异输出,因为它åª\n"
+"    会将åˆå¹¶ä¿®æ”¹é›†ä¸Žå…¶ç¬¬ä¸€ä¸ªçˆ¶äº²æ¯”较。而且,åªæ˜¾ç¤ºå¯¹æ‰€æœ‰çˆ¶äº²éƒ½ä¸åŒçš„\n"
+"    文件列表。\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
+"    project."
+msgstr ""
+"显示全部版本库或指定文件的版本历å²\n"
+"\n"
+"    显示全部版本库或指定文件的版本历å²ã€‚\n"
+"\n"
+"    显示文件历å²çš„时候ä¸è·Ÿè¸ªæ”¹å或å¤åˆ¶ã€‚对文件å称使用 '-f/--follow'\n"
+"    会跟踪改å或å¤åˆ¶çš„历å²ã€‚当ä¸ç»™å‡ºæ–‡ä»¶å称时,使用 '--follow' åªæ˜¾\n"
+"    示开始版本的直系祖先。使用 '--follow-first' åªæ˜¾ç¤ºåˆå¹¶ç‰ˆæœ¬çš„第一\n"
+"    个父亲。\n"
+"\n"
+"    如果没有指定版本范围,默认是 'tip:0'。当使用 '--follow' 时,使用\n"
+"    工作目录的父亲作为开始版本。\n"
+"\n"
+"    å‚è§ 'hg help dates' 以获得 '-d/--date' 的有效格å¼åˆ—表。\n"
+"\n"
+"    此命令缺çœè¾“出: 修改集标识和哈希,标签,父亲,æ交者,日期和时间,\n"
+"    以åŠæ¯æ¬¡æ交的概è¦ä¿¡æ¯ã€‚当使用选项 '-v/--verbose' 时,会显示文件\n"
+"    å˜æ›´åˆ—表和完整的æ交信æ¯ã€‚\n"
+"\n"
+"    注æ„: 对于åˆå¹¶ä¿®æ”¹é›†ï¼Œ'log -p' å¯èƒ½äº§ç”Ÿä¸æœŸæœ›çš„差异输出,因为它åª\n"
+"    会将åˆå¹¶ä¿®æ”¹é›†ä¸Žå…¶ç¬¬ä¸€ä¸ªçˆ¶äº²æ¯”较。而且,åªæ˜¾ç¤ºå¯¹æ‰€æœ‰çˆ¶äº²éƒ½ä¸åŒçš„\n"
+"    文件列表。\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
+"显示全部版本库或指定文件的版本历å²\n"
+"\n"
+"    显示全部版本库或指定文件的版本历å²ã€‚\n"
+"\n"
+"    显示文件历å²çš„时候ä¸è·Ÿè¸ªæ”¹å或å¤åˆ¶ã€‚对文件å称使用 '-f/--follow'\n"
+"    会跟踪改å或å¤åˆ¶çš„历å²ã€‚当ä¸ç»™å‡ºæ–‡ä»¶å称时,使用 '--follow' åªæ˜¾\n"
+"    示开始版本的直系祖先。使用 '--follow-first' åªæ˜¾ç¤ºåˆå¹¶ç‰ˆæœ¬çš„第一\n"
+"    个父亲。\n"
+"\n"
+"    如果没有指定版本范围,默认是 'tip:0'。当使用 '--follow' 时,使用\n"
+"    工作目录的父亲作为开始版本。\n"
+"\n"
+"    å‚è§ 'hg help dates' 以获得 '-d/--date' 的有效格å¼åˆ—表。\n"
+"\n"
+"    此命令缺çœè¾“出: 修改集标识和哈希,标签,父亲,æ交者,日期和时间,\n"
+"    以åŠæ¯æ¬¡æ交的概è¦ä¿¡æ¯ã€‚当使用选项 '-v/--verbose' 时,会显示文件\n"
+"    å˜æ›´åˆ—表和完整的æ交信æ¯ã€‚\n"
+"\n"
+"    注æ„: 对于åˆå¹¶ä¿®æ”¹é›†ï¼Œ'log -p' å¯èƒ½äº§ç”Ÿä¸æœŸæœ›çš„差异输出,因为它åª\n"
+"    会将åˆå¹¶ä¿®æ”¹é›†ä¸Žå…¶ç¬¬ä¸€ä¸ªçˆ¶äº²æ¯”较。而且,åªæ˜¾ç¤ºå¯¹æ‰€æœ‰çˆ¶äº²éƒ½ä¸åŒçš„\n"
+"    文件列表。\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If no revision range is specified, the default is tip:0 unless\n"
 "    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    used as the starting revision."
+msgstr ""
+"显示全部版本库或指定文件的版本历å²\n"
+"\n"
+"    显示全部版本库或指定文件的版本历å²ã€‚\n"
+"\n"
+"    显示文件历å²çš„时候ä¸è·Ÿè¸ªæ”¹å或å¤åˆ¶ã€‚对文件å称使用 '-f/--follow'\n"
+"    会跟踪改å或å¤åˆ¶çš„历å²ã€‚当ä¸ç»™å‡ºæ–‡ä»¶å称时,使用 '--follow' åªæ˜¾\n"
+"    示开始版本的直系祖先。使用 '--follow-first' åªæ˜¾ç¤ºåˆå¹¶ç‰ˆæœ¬çš„第一\n"
+"    个父亲。\n"
+"\n"
+"    如果没有指定版本范围,默认是 'tip:0'。当使用 '--follow' 时,使用\n"
+"    工作目录的父亲作为开始版本。\n"
+"\n"
+"    å‚è§ 'hg help dates' 以获得 '-d/--date' 的有效格å¼åˆ—表。\n"
+"\n"
+"    此命令缺çœè¾“出: 修改集标识和哈希,标签,父亲,æ交者,日期和时间,\n"
+"    以åŠæ¯æ¬¡æ交的概è¦ä¿¡æ¯ã€‚当使用选项 '-v/--verbose' 时,会显示文件\n"
+"    å˜æ›´åˆ—表和完整的æ交信æ¯ã€‚\n"
+"\n"
+"    注æ„: 对于åˆå¹¶ä¿®æ”¹é›†ï¼Œ'log -p' å¯èƒ½äº§ç”Ÿä¸æœŸæœ›çš„差异输出,因为它åª\n"
+"    会将åˆå¹¶ä¿®æ”¹é›†ä¸Žå…¶ç¬¬ä¸€ä¸ªçˆ¶äº²æ¯”较。而且,åªæ˜¾ç¤ºå¯¹æ‰€æœ‰çˆ¶äº²éƒ½ä¸åŒçš„\n"
+"    文件列表。\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    By default this command prints revision number and changeset id,\n"
 "    tags, non-trivial parents, user, date and time, and a summary for\n"
 "    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
+"    changed files and full commit message are shown."
+msgstr ""
+"显示全部版本库或指定文件的版本历å²\n"
+"\n"
+"    显示全部版本库或指定文件的版本历å²ã€‚\n"
+"\n"
+"    显示文件历å²çš„时候ä¸è·Ÿè¸ªæ”¹å或å¤åˆ¶ã€‚对文件å称使用 '-f/--follow'\n"
+"    会跟踪改å或å¤åˆ¶çš„历å²ã€‚当ä¸ç»™å‡ºæ–‡ä»¶å称时,使用 '--follow' åªæ˜¾\n"
+"    示开始版本的直系祖先。使用 '--follow-first' åªæ˜¾ç¤ºåˆå¹¶ç‰ˆæœ¬çš„第一\n"
+"    个父亲。\n"
+"\n"
+"    如果没有指定版本范围,默认是 'tip:0'。当使用 '--follow' 时,使用\n"
+"    工作目录的父亲作为开始版本。\n"
+"\n"
+"    å‚è§ 'hg help dates' 以获得 '-d/--date' 的有效格å¼åˆ—表。\n"
+"\n"
+"    此命令缺çœè¾“出: 修改集标识和哈希,标签,父亲,æ交者,日期和时间,\n"
+"    以åŠæ¯æ¬¡æ交的概è¦ä¿¡æ¯ã€‚当使用选项 '-v/--verbose' 时,会显示文件\n"
+"    å˜æ›´åˆ—表和完整的æ交信æ¯ã€‚\n"
+"\n"
+"    注æ„: 对于åˆå¹¶ä¿®æ”¹é›†ï¼Œ'log -p' å¯èƒ½äº§ç”Ÿä¸æœŸæœ›çš„差异输出,因为它åª\n"
+"    会将åˆå¹¶ä¿®æ”¹é›†ä¸Žå…¶ç¬¬ä¸€ä¸ªçˆ¶äº²æ¯”较。而且,åªæ˜¾ç¤ºå¯¹æ‰€æœ‰çˆ¶äº²éƒ½ä¸åŒçš„\n"
+"    文件列表。\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    NOTE: 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"
@@ -5699,30 +6560,65 @@
 "\n"
 "    "
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr ""
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
 
 #, fuzzy
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr ""
+"将工作目录与其它版本åˆå¹¶\n"
+"\n"
+"    将当å‰å·¥ä½œç›®å½•ä¸­çš„内容与指定版本åˆå¹¶ã€‚对任一父亲而言改å˜çš„文件都会对\n"
+"    下次æ交标记为已修改,在æ交之å‰ä¸å…许å†æ‰§è¡Œæ›´æ–°ã€‚\n"
+"\n"
+"    如果没有指定版本,那么工作目录的父亲是一个åˆå¹¶é¡¶ç‚¹ï¼Œå¦ä¸€ä¸ªåœ¨å½“å‰åˆ†æ”¯\n"
+"    中,åˆå¹¶åŽçš„内容是新的顶点。å¦åˆ™ï¼Œå¿…须明确的指定è¦åˆå¹¶çš„版本。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+"将工作目录与其它版本åˆå¹¶\n"
+"\n"
+"    将当å‰å·¥ä½œç›®å½•ä¸­çš„内容与指定版本åˆå¹¶ã€‚对任一父亲而言改å˜çš„文件都会对\n"
+"    下次æ交标记为已修改,在æ交之å‰ä¸å…许å†æ‰§è¡Œæ›´æ–°ã€‚\n"
+"\n"
+"    如果没有指定版本,那么工作目录的父亲是一个åˆå¹¶é¡¶ç‚¹ï¼Œå¦ä¸€ä¸ªåœ¨å½“å‰åˆ†æ”¯\n"
+"    中,åˆå¹¶åŽçš„内容是新的顶点。å¦åˆ™ï¼Œå¿…须明确的指定è¦åˆå¹¶çš„版本。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+"将工作目录与其它版本åˆå¹¶\n"
+"\n"
+"    将当å‰å·¥ä½œç›®å½•ä¸­çš„内容与指定版本åˆå¹¶ã€‚对任一父亲而言改å˜çš„文件都会对\n"
+"    下次æ交标记为已修改,在æ交之å‰ä¸å…许å†æ‰§è¡Œæ›´æ–°ã€‚\n"
+"\n"
+"    如果没有指定版本,那么工作目录的父亲是一个åˆå¹¶é¡¶ç‚¹ï¼Œå¦ä¸€ä¸ªåœ¨å½“å‰åˆ†æ”¯\n"
+"    中,åˆå¹¶åŽçš„内容是新的顶点。å¦åˆ™ï¼Œå¿…须明确的指定è¦åˆå¹¶çš„版本。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
@@ -5753,26 +6649,29 @@
 msgid "%s - use \"hg update\" instead"
 msgstr ""
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
-msgstr ""
-
-msgid ""
-"show changesets not found in destination\n"
-"\n"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
+msgstr ""
+
+msgid "show changesets not found in destination"
+msgstr ""
+
+msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
+"    be pushed if a push was requested."
+msgstr ""
+
+msgid ""
 "    See pull for valid destination format details.\n"
 "    "
 msgstr ""
 
 #, fuzzy
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+msgid "show the parents of the working directory or revision"
+msgstr "显示工作目录或指定版本的父亲"
+
+#, fuzzy
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -5780,8 +6679,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"显示工作目录或指定版本的父亲\n"
-"\n"
 "    显示工作目录的父亲版本。如果使用 '--rev' 指定版本,就显示此版本的\n"
 "    父亲。如果指定了文件,那么使用此文件最åŽä¿®æ”¹çš„版本(工作目录的起æº\n"
 "    版本,或 '--rev' 指定的版本)。\n"
@@ -5794,15 +6691,20 @@
 msgid "'%s' not found in manifest!"
 msgstr ""
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr ""
+
+msgid ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+msgstr ""
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
+
+msgid ""
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
@@ -5820,21 +6722,71 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+msgid "pull changes from the specified source"
+msgstr ""
+"从指定版本库å–得修改集\n"
+"\n"
+"    从远程版本库å–得修改集到本地版本库。\n"
+"\n"
+"    查找ä½äºŽæŒ‡å®šè·¯å¾„或ä½ç½®çš„版本库的全部修改,增加到版本版本库。默认ä¸\n"
+"    更新工作目录。\n"
+"\n"
+"    如果没有指定ä½ç½®ï¼Œå°±ä½¿ç”¨è·¯å¾„ 'default'。å‚è§ 'hg help urls' 以了解\n"
+"    更多信æ¯ã€‚\n"
+"    "
+
+#, fuzzy
+msgid "    Pull changes from a remote repository to a local one."
+msgstr ""
+"从指定版本库å–得修改集\n"
+"\n"
+"    从远程版本库å–得修改集到本地版本库。\n"
+"\n"
+"    查找ä½äºŽæŒ‡å®šè·¯å¾„或ä½ç½®çš„版本库的全部修改,增加到版本版本库。默认ä¸\n"
+"    更新工作目录。\n"
+"\n"
+"    如果没有指定ä½ç½®ï¼Œå°±ä½¿ç”¨è·¯å¾„ 'default'。å‚è§ 'hg help urls' 以了解\n"
+"    更多信æ¯ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
+"从指定版本库å–得修改集\n"
+"\n"
+"    从远程版本库å–得修改集到本地版本库。\n"
+"\n"
+"    查找ä½äºŽæŒ‡å®šè·¯å¾„或ä½ç½®çš„版本库的全部修改,增加到版本版本库。默认ä¸\n"
+"    更新工作目录。\n"
+"\n"
+"    如果没有指定ä½ç½®ï¼Œå°±ä½¿ç”¨è·¯å¾„ 'default'。å‚è§ 'hg help urls' 以了解\n"
+"    更多信æ¯ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
+"从指定版本库å–得修改集\n"
+"\n"
+"    从远程版本库å–得修改集到本地版本库。\n"
+"\n"
+"    查找ä½äºŽæŒ‡å®šè·¯å¾„或ä½ç½®çš„版本库的全部修改,增加到版本版本库。默认ä¸\n"
+"    更新工作目录。\n"
+"\n"
+"    如果没有指定ä½ç½®ï¼Œå°±ä½¿ç”¨è·¯å¾„ 'default'。å‚è§ 'hg help urls' 以了解\n"
+"    更多信æ¯ã€‚\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If SOURCE is omitted, the 'default' path will be used.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
@@ -5851,41 +6803,47 @@
 "    "
 
 #, fuzzy
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the given destination.\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr "推é€æ”¹å˜åˆ°æŒ‡å®šä½ç½®"
+
+#, fuzzy
+msgid "    Push changes from the local repository to the given destination."
+msgstr "    从本地版本库推é€æ”¹å˜åˆ°æŒ‡å®šä½ç½®ã€‚"
+
+#, fuzzy
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
+"    current one."
+msgstr ""
+"    这是 'pull' 的对称æ“作。它从当å‰ç‰ˆæœ¬åº“推é€æ”¹å˜åˆ°å…¶å®ƒç‰ˆæœ¬åº“。如果目标\n"
+"    是本地版本库,那么此æ“作与在目标版本库从当å‰ç‰ˆæœ¬åº“执行 'pull' æ“作等\n"
+"    åŒã€‚"
+
+#, fuzzy
+msgid ""
 "    By default, push will refuse to run if it detects the result would\n"
 "    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
+"    推é€é»˜è®¤æ‹’ç»å¯¼è‡´å¢žåŠ è¿œç¨‹ç‰ˆæœ¬åº“顶点数目的æ“作。这通常表明客户端在推é€\n"
+"    之å‰å¿˜è®°å–得远程版本库的修改,并且åˆå¹¶ã€‚"
+
+#, fuzzy
+msgid ""
 "    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
+"    be pushed to the remote repository."
+msgstr ""
+"    如果使用了选项 '-r',此命å修改集以åŠå…¶ç¥–先都会被推é€åˆ°è¿œç¨‹ç‰ˆæœ¬åº“。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Please see 'hg help urls' for important details about ssh://\n"
 "    URLs. If DESTINATION is omitted, a default path will be used.\n"
 "    "
 msgstr ""
-"推é€æ”¹å˜åˆ°æŒ‡å®šä½ç½®\n"
-"\n"
-"    从本地版本库推é€æ”¹å˜åˆ°æŒ‡å®šä½ç½®ã€‚\n"
-"\n"
-"    这是 'pull' 的对称æ“作。它从当å‰ç‰ˆæœ¬åº“推é€æ”¹å˜åˆ°å…¶å®ƒç‰ˆæœ¬åº“。如果目标\n"
-"    是本地版本库,那么此æ“作与在目标版本库从当å‰ç‰ˆæœ¬åº“执行 'pull' æ“作等\n"
-"    åŒã€‚\n"
-"\n"
-"    推é€é»˜è®¤æ‹’ç»å¯¼è‡´å¢žåŠ è¿œç¨‹ç‰ˆæœ¬åº“顶点数目的æ“作。这通常表明客户端在推é€\n"
-"    之å‰å¿˜è®°å–得远程版本库的修改,并且åˆå¹¶ã€‚\n"
-"\n"
-"    如果使用了选项 '-r',此命å修改集以åŠå…¶ç¥–先都会被推é€åˆ°è¿œç¨‹ç‰ˆæœ¬åº“。\n"
-"    \n"
-"\n"
 "    å‚è§ä¸»é¢˜ 'urls' 的帮助信æ¯ï¼Œä»¥äº†è§£ä½ç½® 'ssh://' çš„é‡è¦è¯¦æƒ…。如果没有\n"
 "    给出目标ä½ç½®ï¼Œé‚£ä¹ˆä½¿ç”¨é»˜è®¤è·¯å¾„。å‚è§ 'hg help urls' 以了解更多信æ¯ã€‚\n"
 "    "
@@ -5894,11 +6852,13 @@
 msgid "pushing to %s\n"
 msgstr "正在推到 %s\n"
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr ""
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr ""
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
@@ -5906,51 +6866,57 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr "在下次æ交时删除指定文件"
+
+#, fuzzy
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr "    调度从版本库删除指定文件。"
+
+#, fuzzy
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+"    它åªä»Žå½“å‰åˆ†æ”¯åˆ é™¤æ–‡ä»¶ï¼Œä¸åˆ é™¤åŽ†å²ã€‚'-A' 用于åªç§»é™¤å·²ç»åˆ é™¤çš„æ–‡\n"
+"    件,'-f' 用于强制删除,'-Af' 用于从下个版本移除文件,但是ä¸åˆ é™¤\n"
+"    它们。"
+
+#, fuzzy
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
+"    下表给出了删除ä¸åŒçŠ¶æ€(列)文件的行为和å¯é€‰çš„组åˆ(è¡Œ)。文件状æ€\n"
+"    ('hg status' 报告的状æ€)是增加(A),干净(C),已修改(M),丢失(!)。\n"
+"    动作是警告(W),移除(R,从分支),以åŠåˆ é™¤(D,从ç£ç›˜)。"
+
+#, fuzzy
+msgid ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
-msgstr ""
-"在下次æ交时删除指定文件\n"
-"\n"
-"    调度从版本库删除指定文件。\n"
-"\n"
-"    它åªä»Žå½“å‰åˆ†æ”¯åˆ é™¤æ–‡ä»¶ï¼Œä¸åˆ é™¤åŽ†å²ã€‚'-A' 用于åªç§»é™¤å·²ç»åˆ é™¤çš„æ–‡\n"
-"    件,'-f' 用于强制删除,'-Af' 用于从下个版本移除文件,但是ä¸åˆ é™¤\n"
-"    它们。\n"
-"\n"
-"    下表给出了删除ä¸åŒçŠ¶æ€(列)文件的行为和å¯é€‰çš„组åˆ(è¡Œ)。文件状æ€\n"
-"    ('hg status' 报告的状æ€)是增加(A),干净(C),已修改(M),丢失(!)。\n"
-"    动作是警告(W),移除(R,从分支),以åŠåˆ é™¤(D,从ç£ç›˜)。\n"
-"\n"
+"      -Af    R  R  R  R"
+msgstr ""
 "           A  C  M  !\n"
 "    none   W  RD W  R\n"
 "    -f     R  RD RD R\n"
 "    -A     W  W  W  R\n"
-"    -Af    R  R  R  R\n"
-"\n"
+"    -Af    R  R  R  R"
+
+#, fuzzy
+msgid ""
+"    This command schedules the files to be removed at the next commit.\n"
+"    To undo a remove before that, see hg revert.\n"
+"    "
+msgstr ""
 "    此命令调度下次æ交时删除文件。\n"
 "    è¦åœ¨æ­¤ä¹‹å‰æ’¤é”€åˆ é™¤ï¼Œè¯·å‚è§ 'hg revert'。\n"
 "    "
@@ -5972,39 +6938,46 @@
 msgid "has been marked for add"
 msgstr ""
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr ""
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+
+msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
 
-msgid ""
-"retry file merges from a merge or update\n"
-"\n"
+msgid "retry file merges from a merge or update"
+msgstr ""
+
+msgid ""
 "    This command will cleanly retry unresolved file merges using file\n"
 "    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
+"    resolve all unresolved files, use the -a/--all switch."
+msgstr ""
+
+msgid ""
 "    If a conflict is resolved manually, please note that the changes\n"
 "    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
+"    -m/--mark switch should be used to mark the file as resolved."
+msgstr ""
+
+msgid ""
 "    This command also allows listing resolved files and manually\n"
 "    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    marked as resolved before a commit is permitted."
+msgstr ""
+
+msgid "    The codes used to show the status of files are::"
+msgstr ""
+
+msgid ""
 "      U = unresolved\n"
 "      R = resolved\n"
 "    "
@@ -6019,36 +6992,49 @@
 msgid "no files or directories specified; use --all to remerge all files"
 msgstr ""
 
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgid "restore individual files or directories to an earlier state"
+msgstr ""
+
+msgid ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+msgstr ""
+
+msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to.\n"
-"\n"
+"    revision to revert to."
+msgstr ""
+
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
+"    afterwards."
+msgstr ""
+
+msgid ""
 "    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
+"    of a file was changed, it is reset."
+msgstr ""
+
+msgid ""
 "    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
+
+msgid ""
 "    Modified files are saved with a .orig suffix before reverting.\n"
 "    To disable these backups, use --no-backup.\n"
 "    "
@@ -6084,26 +7070,33 @@
 msgid "no changes needed to %s\n"
 msgstr "ä¸éœ€è¦æ”¹å˜ %s\n"
 
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr ""
+
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back::\n"
-"\n"
+"    and their effects can be rolled back::"
+msgstr ""
+
+msgid ""
 "      commit\n"
 "      import\n"
 "      pull\n"
 "      push (with this repository as destination)\n"
-"      unbundle\n"
-"\n"
+"      unbundle"
+msgstr ""
+
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -6113,28 +7106,29 @@
 "    "
 msgstr ""
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr ""
+
+msgid ""
 "    Print the root directory of the current repository.\n"
 "    "
 msgstr ""
 
 #, fuzzy
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
+msgid "export the repository via HTTP"
+msgstr "通过 HTTP å‘布版本库"
+
+#, fuzzy
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr "    å¯åŠ¨æœ¬åœ° HTTP 版本库æµè§ˆå™¨å’Œå‘布æœåŠ¡å™¨ã€‚"
+
+#, fuzzy
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
 "    files.\n"
 "    "
 msgstr ""
-"通过 HTTP å‘布版本库\n"
-"\n"
-"    å¯åŠ¨æœ¬åœ° HTTP 版本库æµè§ˆå™¨å’Œå‘布æœåŠ¡å™¨ã€‚\n"
-"\n"
 "    默认æœåŠ¡å™¨è®¿é—®æ—¥å¿—输出到 stdout,错误日志输出到 stderr。\n"
 "    å¯ä»¥ä½¿ç”¨é€‰é¡¹ \"-A\" å’Œ \"-E\",将这些日志输出到文件。\n"
 "    "
@@ -6144,30 +7138,172 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"show changed files in the working directory\n"
-"\n"
+msgid "show changed files in the working directory"
+msgstr ""
+"显示工作目录中已改å˜çš„文件\n"
+"\n"
+"    显示版本库中的文件状æ€ã€‚如果指定文件å称,åªæ˜¾ç¤ºåŒ¹é…的文件。干净的\n"
+"    文件,被忽略的文件,å¤åˆ¶/移动的æºæ–‡ä»¶ï¼Œä¸ä¼šè¢«æ˜¾ç¤ºï¼Œé™¤éžä½¿ç”¨äº†é€‰é¡¹\n"
+"    '-c' (干净的),'-i' (被忽略的),'-C' (å¤åˆ¶æº) 或者 '-A' (全部)。除\n"
+"    éžä½¿ç”¨äº†é€‰é¡¹ \"åªæ˜¾ç¤º ...\",å¦åˆ™å°±ä½¿ç”¨é€‰é¡¹ '-mardu'。\n"
+"\n"
+"    选项 '-q/--quiet' éšè—未跟踪(未知或被忽略)的文件,除éžæ˜Žç¡®åœ°ä½¿ç”¨é€‰\n"
+"    项 '-u/--unknown' 或 ‘-i/-ignored’。\n"
+"\n"
+"    注æ„: 如果修改了æƒé™æˆ–者执行了åˆå¹¶ï¼Œ'status' 与 'diff' 的显示å¯èƒ½\n"
+"    ä¸ä¸€è‡´ã€‚标准差异格å¼ä¸æŠ¥å‘Šæƒé™çš„改å˜ï¼Œ'diff' åªæŠ¥å‘Šç›¸å¯¹äºŽä¸€ä¸ªåˆå¹¶\n"
+"    父亲的改å˜ã€‚\n"
+"\n"
+"    如果给出 1 个版本,就用于基础版本。如果给出 2 个版本,就显示其差异。\n"
+"\n"
+"    显示文件状æ€çš„代ç æ˜¯:\n"
+"    M = 已修改\n"
+"    A = 已增加\n"
+"    R = 已移除\n"
+"    C = 干净的\n"
+"    ! = 已删除,ä»æ—§è¢«è·Ÿè¸ª\n"
+"    ? = 未跟踪\n"
+"    I = 已忽略\n"
+"      = 早先增加的文件自此å¤åˆ¶\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
 "    the source of a copy/move operation, are not listed unless\n"
 "    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
 "    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
+"    options -mardu are used."
+msgstr ""
+"显示工作目录中已改å˜çš„文件\n"
+"\n"
+"    显示版本库中的文件状æ€ã€‚如果指定文件å称,åªæ˜¾ç¤ºåŒ¹é…的文件。干净的\n"
+"    文件,被忽略的文件,å¤åˆ¶/移动的æºæ–‡ä»¶ï¼Œä¸ä¼šè¢«æ˜¾ç¤ºï¼Œé™¤éžä½¿ç”¨äº†é€‰é¡¹\n"
+"    '-c' (干净的),'-i' (被忽略的),'-C' (å¤åˆ¶æº) 或者 '-A' (全部)。除\n"
+"    éžä½¿ç”¨äº†é€‰é¡¹ \"åªæ˜¾ç¤º ...\",å¦åˆ™å°±ä½¿ç”¨é€‰é¡¹ '-mardu'。\n"
+"\n"
+"    选项 '-q/--quiet' éšè—未跟踪(未知或被忽略)的文件,除éžæ˜Žç¡®åœ°ä½¿ç”¨é€‰\n"
+"    项 '-u/--unknown' 或 ‘-i/-ignored’。\n"
+"\n"
+"    注æ„: 如果修改了æƒé™æˆ–者执行了åˆå¹¶ï¼Œ'status' 与 'diff' 的显示å¯èƒ½\n"
+"    ä¸ä¸€è‡´ã€‚标准差异格å¼ä¸æŠ¥å‘Šæƒé™çš„改å˜ï¼Œ'diff' åªæŠ¥å‘Šç›¸å¯¹äºŽä¸€ä¸ªåˆå¹¶\n"
+"    父亲的改å˜ã€‚\n"
+"\n"
+"    如果给出 1 个版本,就用于基础版本。如果给出 2 个版本,就显示其差异。\n"
+"\n"
+"    显示文件状æ€çš„代ç æ˜¯:\n"
+"    M = 已修改\n"
+"    A = 已增加\n"
+"    R = 已移除\n"
+"    C = 干净的\n"
+"    ! = 已删除,ä»æ—§è¢«è·Ÿè¸ª\n"
+"    ? = 未跟踪\n"
+"    I = 已忽略\n"
+"      = 早先增加的文件自此å¤åˆ¶\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+"显示工作目录中已改å˜çš„文件\n"
+"\n"
+"    显示版本库中的文件状æ€ã€‚如果指定文件å称,åªæ˜¾ç¤ºåŒ¹é…的文件。干净的\n"
+"    文件,被忽略的文件,å¤åˆ¶/移动的æºæ–‡ä»¶ï¼Œä¸ä¼šè¢«æ˜¾ç¤ºï¼Œé™¤éžä½¿ç”¨äº†é€‰é¡¹\n"
+"    '-c' (干净的),'-i' (被忽略的),'-C' (å¤åˆ¶æº) 或者 '-A' (全部)。除\n"
+"    éžä½¿ç”¨äº†é€‰é¡¹ \"åªæ˜¾ç¤º ...\",å¦åˆ™å°±ä½¿ç”¨é€‰é¡¹ '-mardu'。\n"
+"\n"
+"    选项 '-q/--quiet' éšè—未跟踪(未知或被忽略)的文件,除éžæ˜Žç¡®åœ°ä½¿ç”¨é€‰\n"
+"    项 '-u/--unknown' 或 ‘-i/-ignored’。\n"
+"\n"
+"    注æ„: 如果修改了æƒé™æˆ–者执行了åˆå¹¶ï¼Œ'status' 与 'diff' 的显示å¯èƒ½\n"
+"    ä¸ä¸€è‡´ã€‚标准差异格å¼ä¸æŠ¥å‘Šæƒé™çš„改å˜ï¼Œ'diff' åªæŠ¥å‘Šç›¸å¯¹äºŽä¸€ä¸ªåˆå¹¶\n"
+"    父亲的改å˜ã€‚\n"
+"\n"
+"    如果给出 1 个版本,就用于基础版本。如果给出 2 个版本,就显示其差异。\n"
+"\n"
+"    显示文件状æ€çš„代ç æ˜¯:\n"
+"    M = 已修改\n"
+"    A = 已增加\n"
+"    R = 已移除\n"
+"    C = 干净的\n"
+"    ! = 已删除,ä»æ—§è¢«è·Ÿè¸ª\n"
+"    ? = 未跟踪\n"
+"    I = 已忽略\n"
+"      = 早先增加的文件自此å¤åˆ¶\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    NOTE: status may appear to disagree with diff if permissions have\n"
 "    changed or a merge has occurred. The standard diff format does not\n"
 "    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
+"    to one merge parent."
+msgstr ""
+"显示工作目录中已改å˜çš„文件\n"
+"\n"
+"    显示版本库中的文件状æ€ã€‚如果指定文件å称,åªæ˜¾ç¤ºåŒ¹é…的文件。干净的\n"
+"    文件,被忽略的文件,å¤åˆ¶/移动的æºæ–‡ä»¶ï¼Œä¸ä¼šè¢«æ˜¾ç¤ºï¼Œé™¤éžä½¿ç”¨äº†é€‰é¡¹\n"
+"    '-c' (干净的),'-i' (被忽略的),'-C' (å¤åˆ¶æº) 或者 '-A' (全部)。除\n"
+"    éžä½¿ç”¨äº†é€‰é¡¹ \"åªæ˜¾ç¤º ...\",å¦åˆ™å°±ä½¿ç”¨é€‰é¡¹ '-mardu'。\n"
+"\n"
+"    选项 '-q/--quiet' éšè—未跟踪(未知或被忽略)的文件,除éžæ˜Žç¡®åœ°ä½¿ç”¨é€‰\n"
+"    项 '-u/--unknown' 或 ‘-i/-ignored’。\n"
+"\n"
+"    注æ„: 如果修改了æƒé™æˆ–者执行了åˆå¹¶ï¼Œ'status' 与 'diff' 的显示å¯èƒ½\n"
+"    ä¸ä¸€è‡´ã€‚标准差异格å¼ä¸æŠ¥å‘Šæƒé™çš„改å˜ï¼Œ'diff' åªæŠ¥å‘Šç›¸å¯¹äºŽä¸€ä¸ªåˆå¹¶\n"
+"    父亲的改å˜ã€‚\n"
+"\n"
+"    如果给出 1 个版本,就用于基础版本。如果给出 2 个版本,就显示其差异。\n"
+"\n"
+"    显示文件状æ€çš„代ç æ˜¯:\n"
+"    M = 已修改\n"
+"    A = 已增加\n"
+"    R = 已移除\n"
+"    C = 干净的\n"
+"    ! = 已删除,ä»æ—§è¢«è·Ÿè¸ª\n"
+"    ? = 未跟踪\n"
+"    I = 已忽略\n"
+"      = 早先增加的文件自此å¤åˆ¶\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    shown."
+msgstr ""
+"显示工作目录中已改å˜çš„文件\n"
+"\n"
+"    显示版本库中的文件状æ€ã€‚如果指定文件å称,åªæ˜¾ç¤ºåŒ¹é…的文件。干净的\n"
+"    文件,被忽略的文件,å¤åˆ¶/移动的æºæ–‡ä»¶ï¼Œä¸ä¼šè¢«æ˜¾ç¤ºï¼Œé™¤éžä½¿ç”¨äº†é€‰é¡¹\n"
+"    '-c' (干净的),'-i' (被忽略的),'-C' (å¤åˆ¶æº) 或者 '-A' (全部)。除\n"
+"    éžä½¿ç”¨äº†é€‰é¡¹ \"åªæ˜¾ç¤º ...\",å¦åˆ™å°±ä½¿ç”¨é€‰é¡¹ '-mardu'。\n"
+"\n"
+"    选项 '-q/--quiet' éšè—未跟踪(未知或被忽略)的文件,除éžæ˜Žç¡®åœ°ä½¿ç”¨é€‰\n"
+"    项 '-u/--unknown' 或 ‘-i/-ignored’。\n"
+"\n"
+"    注æ„: 如果修改了æƒé™æˆ–者执行了åˆå¹¶ï¼Œ'status' 与 'diff' 的显示å¯èƒ½\n"
+"    ä¸ä¸€è‡´ã€‚标准差异格å¼ä¸æŠ¥å‘Šæƒé™çš„改å˜ï¼Œ'diff' åªæŠ¥å‘Šç›¸å¯¹äºŽä¸€ä¸ªåˆå¹¶\n"
+"    父亲的改å˜ã€‚\n"
+"\n"
+"    如果给出 1 个版本,就用于基础版本。如果给出 2 个版本,就显示其差异。\n"
+"\n"
+"    显示文件状æ€çš„代ç æ˜¯:\n"
+"    M = 已修改\n"
+"    A = 已增加\n"
+"    R = 已移除\n"
+"    C = 干净的\n"
+"    ! = 已删除,ä»æ—§è¢«è·Ÿè¸ª\n"
+"    ? = 未跟踪\n"
+"    I = 已忽略\n"
+"      = 早先增加的文件自此å¤åˆ¶\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -6205,26 +7341,29 @@
 "      = 早先增加的文件自此å¤åˆ¶\n"
 "    "
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr ""
+
+msgid "    Name a particular revision using <name>."
+msgstr ""
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    shared among repositories)."
 msgstr ""
 
 msgid "tag names must be unique"
@@ -6253,21 +7392,25 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr ""
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr ""
+
+msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show the tip revision\n"
-"\n"
+msgid "show the tip revision"
+msgstr ""
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
@@ -6275,66 +7418,68 @@
 "    "
 msgstr ""
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr ""
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
 
 #, fuzzy
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr "更新工作目录"
+
+#, fuzzy
+msgid ""
 "    Update the repository's working directory to the specified\n"
 "    revision, or the tip of the current branch if none is specified.\n"
 "    Use null as the revision to remove the working copy (like 'hg\n"
-"    clone -U').\n"
-"\n"
+"    clone -U')."
+msgstr ""
+"    更新工作目录到指定版本,或者到当å‰åˆ†æ”¯çš„顶点。使用 'null' 作为版本å¯ä»¥\n"
+"    删除工作副本(类似于 'hg clone -U')。"
+
+#, fuzzy
+msgid ""
 "    When the working directory contains no uncommitted changes, it\n"
 "    will be replaced by the state of the requested revision from the\n"
 "    repository. When the requested revision is on a different branch,\n"
 "    the working directory will additionally be switched to that\n"
-"    branch.\n"
-"\n"
+"    branch."
+msgstr ""
+"    当工作目录包å«æœªæ交的修改时,它会被版本库中指定版本的状æ€æ›¿æ¢ã€‚当请求\n"
+"    的版本ä½äºŽä¸åŒåˆ†æ”¯æ—¶ï¼Œå·¥ä½œç›®å½•ä¼šè¢«åˆ‡æ¢åˆ°æ­¤åˆ†æ”¯ã€‚"
+
+#, fuzzy
+msgid ""
 "    When there are uncommitted changes, use option -C/--clean to\n"
 "    discard them, forcibly replacing the state of the working\n"
 "    directory with the requested revision. Alternately, use -c/--check\n"
-"    to abort.\n"
-"\n"
+"    to abort."
+msgstr ""
+"    å¯ä»¥ä½¿ç”¨é€‰é¡¹ '-C' æ¥ä¸¢å¼ƒæœªæ交的修改,强制使用请求的版本替æ¢å·¥ä½œç›®å½•çš„\n"
+"    状æ€ã€‚"
+
+#, fuzzy
+msgid ""
 "    When there are uncommitted changes and option -C/--clean is not\n"
 "    used, and the parent revision and requested revision are on the\n"
 "    same branch, and one of them is an ancestor of the other, then the\n"
 "    new working directory will contain the requested revision merged\n"
 "    with the uncommitted changes. Otherwise, the update will fail with\n"
-"    a suggestion to use 'merge' or 'update -C' instead.\n"
-"\n"
-"    If you want to update just one file to an older revision, use\n"
-"    revert.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"更新工作目录\n"
-"\n"
-"    更新工作目录到指定版本,或者到当å‰åˆ†æ”¯çš„顶点。使用 'null' 作为版本å¯ä»¥\n"
-"    删除工作副本(类似于 'hg clone -U')。\n"
-"\n"
-"    当工作目录包å«æœªæ交的修改时,它会被版本库中指定版本的状æ€æ›¿æ¢ã€‚当请求\n"
-"    的版本ä½äºŽä¸åŒåˆ†æ”¯æ—¶ï¼Œå·¥ä½œç›®å½•ä¼šè¢«åˆ‡æ¢åˆ°æ­¤åˆ†æ”¯ã€‚\n"
-"\n"
-"    å¯ä»¥ä½¿ç”¨é€‰é¡¹ '-C' æ¥ä¸¢å¼ƒæœªæ交的修改,强制使用请求的版本替æ¢å·¥ä½œç›®å½•çš„\n"
-"    状æ€ã€‚\n"
-"\n"
+"    a suggestion to use 'merge' or 'update -C' instead."
+msgstr ""
 "    当有未æ交的修改,没有使用选项 '-C',父版本和请求版本ä½äºŽä¸åŒåˆ†æ”¯ï¼Œå¹¶ä¸”\n"
 "    其中一个是å¦ä¸€ä¸ªçš„祖先时,那么新的工作目录包å«è¯·æ±‚版本与未æ交的修改的\n"
-"    åˆå¹¶ç»“果。å¦åˆ™ï¼Œæ›´æ–°ä¼šå¤±è´¥ï¼Œå»ºè®®ä½¿ç”¨ 'merge' 或 'update -C'。\n"
-"\n"
-"    如果你åªæƒ³æ›´æ–°ä¸€ä¸ªæ–‡ä»¶åˆ°æ—§ç‰ˆæœ¬ï¼Œè¯·ä½¿ç”¨ 'revert'。\n"
-"\n"
-"    å‚è§ 'hg help dates' 以获得 '-d/--date' 的有效格å¼åˆ—表。\n"
-"    "
+"    åˆå¹¶ç»“果。å¦åˆ™ï¼Œæ›´æ–°ä¼šå¤±è´¥ï¼Œå»ºè®®ä½¿ç”¨ 'merge' 或 'update -C'。"
+
+#, fuzzy
+msgid ""
+"    If you want to update just one file to an older revision, use\n"
+"    revert."
+msgstr "    如果你åªæƒ³æ›´æ–°ä¸€ä¸ªæ–‡ä»¶åˆ°æ—§ç‰ˆæœ¬ï¼Œè¯·ä½¿ç”¨ 'revert'。"
 
 msgid "cannot specify both -c/--check and -C/--clean"
 msgstr ""
@@ -6343,11 +7488,13 @@
 msgid "uncommitted local changes"
 msgstr "æ交修改集 %d:%s\n"
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr ""
+
+msgid "    Verify the integrity of the current repository."
+msgstr ""
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
@@ -6749,9 +7896,7 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr ""
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
 msgstr ""
 
 msgid "base path"
@@ -7242,11 +8387,8 @@
 msgstr "选项 '--cwd' ä¸èƒ½ç®€çŸ­!"
 
 #, fuzzy
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
-msgstr ""
-"选项 -R 必须隔离使用(也就是ä¸èƒ½ -qR),并且 --repository åªèƒ½ç®€çŸ­ä¸º --repo!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
+msgstr "选项 -R 必须隔离使用(也就是ä¸èƒ½ -qR),并且 --repository åªèƒ½ç®€çŸ­ä¸º --repo!"
 
 #, python-format
 msgid "Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n"
@@ -7263,11 +8405,8 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr ""
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
-msgstr ""
-"lsprof ä¸å¯ç”¨ - 从 http://codespeak.net/svn/user/arigo/hack/misc/lsprof/ 安装"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
+msgstr "lsprof ä¸å¯ç”¨ - 从 http://codespeak.net/svn/user/arigo/hack/misc/lsprof/ 安装"
 
 #, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
@@ -7355,31 +8494,44 @@
 "    Mercurial has the ability to add new features through the use of\n"
 "    extensions. Extensions may add new commands, add options to\n"
 "    existing commands, change the default behavior of commands, or\n"
-"    implement hooks.\n"
-"\n"
+"    implement hooks."
+msgstr ""
+
+msgid ""
 "    Extensions are not loaded by default for a variety of reasons:\n"
 "    they can increase startup overhead; they may be meant for advanced\n"
 "    usage only; they may provide potentially dangerous abilities (such\n"
 "    as letting you destroy or modify history); they might not be ready\n"
 "    for prime time; or they may alter some usual behaviors of stock\n"
 "    Mercurial. It is thus up to the user to activate extensions as\n"
-"    needed.\n"
-"\n"
+"    needed."
+msgstr ""
+
+msgid ""
 "    To enable the \"foo\" extension, either shipped with Mercurial or in\n"
 "    the Python search path, create an entry for it in your hgrc, like\n"
-"    this::\n"
-"\n"
+"    this::"
+msgstr ""
+
+msgid ""
 "      [extensions]\n"
-"      foo =\n"
-"\n"
-"    You may also specify the full path to an extension::\n"
-"\n"
+"      foo ="
+msgstr ""
+
+msgid "    You may also specify the full path to an extension::"
+msgstr ""
+
+msgid ""
 "      [extensions]\n"
-"      myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"      myfeature = ~/.hgext/myfeature.py"
+msgstr ""
+
+msgid ""
 "    To explicitly disable an extension enabled in an hgrc of broader\n"
-"    scope, prepend its path with !::\n"
-"\n"
+"    scope, prepend its path with !::"
+msgstr ""
+
+msgid ""
 "      [extensions]\n"
 "      # disabling extension bar residing in /path/to/extension/bar.py\n"
 "      bar = !/path/to/extension/bar.py\n"
@@ -7400,13 +8552,18 @@
 
 msgid ""
 "\n"
-"    Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+"    Some commands allow the user to specify a date, e.g.:"
+msgstr ""
+
+msgid ""
 "    - backout, commit, import, tag: Specify the commit date.\n"
-"    - log, revert, update: Select revision(s) by date.\n"
-"\n"
-"    Many date formats are valid. Here are some examples::\n"
-"\n"
+"    - log, revert, update: Select revision(s) by date."
+msgstr ""
+
+msgid "    Many date formats are valid. Here are some examples::"
+msgstr ""
+
+msgid ""
 "      \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
 "      \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
 "      \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
@@ -7419,19 +8576,26 @@
 "      \"2006-12-6\"\n"
 "      \"12-6\"\n"
 "      \"12/6\"\n"
-"      \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"    Lastly, there is Mercurial's internal format::\n"
-"\n"
-"      \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
+"      \"12/6/6\" (Dec 6 2006)"
+msgstr ""
+
+msgid "    Lastly, there is Mercurial's internal format::"
+msgstr ""
+
+msgid "      \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr ""
+
+msgid ""
 "    This is the internal representation format for dates. unixtime is\n"
 "    the number of seconds since the epoch (1970-01-01 00:00 UTC).\n"
 "    offset is the offset of the local timezone, in seconds west of UTC\n"
-"    (negative if the timezone is east of UTC).\n"
-"\n"
-"    The log command also accepts date ranges::\n"
-"\n"
+"    (negative if the timezone is east of UTC)."
+msgstr ""
+
+msgid "    The log command also accepts date ranges::"
+msgstr ""
+
+msgid ""
 "      \"<{datetime}\" - at or before a given date/time\n"
 "      \">{datetime}\" - on or after a given date/time\n"
 "      \"{datetime} to {datetime}\" - a date range, inclusive\n"
@@ -7445,48 +8609,65 @@
 msgid ""
 "\n"
 "    Mercurial accepts several notations for identifying one or more\n"
-"    files at a time.\n"
-"\n"
+"    files at a time."
+msgstr ""
+
+msgid ""
 "    By default, Mercurial treats filenames as shell-style extended\n"
-"    glob patterns.\n"
-"\n"
-"    Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"    glob patterns."
+msgstr ""
+
+msgid "    Alternate pattern notations must be specified explicitly."
+msgstr ""
+
+msgid ""
 "    To use a plain path name without any pattern matching, start it\n"
 "    with \"path:\". These path names must completely match starting at\n"
-"    the current repository root.\n"
-"\n"
+"    the current repository root."
+msgstr ""
+
+msgid ""
 "    To use an extended glob, start a name with \"glob:\". Globs are\n"
 "    rooted at the current directory; a glob such as \"``*.c``\" will\n"
-"    only match files in the current directory ending with \".c\".\n"
-"\n"
+"    only match files in the current directory ending with \".c\"."
+msgstr ""
+
+msgid ""
 "    The supported glob syntax extensions are \"``**``\" to match any\n"
-"    string across path separators and \"{a,b}\" to mean \"a or b\".\n"
-"\n"
+"    string across path separators and \"{a,b}\" to mean \"a or b\"."
+msgstr ""
+
+msgid ""
 "    To use a Perl/Python regular expression, start a name with \"re:\".\n"
-"    Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"    Plain examples::\n"
-"\n"
+"    Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+
+msgid "    Plain examples::"
+msgstr ""
+
+msgid ""
 "      path:foo/bar   a name bar in a directory named foo in the root\n"
 "                     of the repository\n"
-"      path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"    Glob examples::\n"
-"\n"
+"      path:path:name a file or directory named \"path:name\""
+msgstr ""
+
+msgid "    Glob examples::"
+msgstr ""
+
+msgid ""
 "      glob:*.c       any name ending in \".c\" in the current directory\n"
 "      *.c            any name ending in \".c\" in the current directory\n"
 "      **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                     current directory including itself.\n"
 "      foo/*.c        any name ending in \".c\" in the directory foo\n"
 "      foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                     including itself.\n"
-"\n"
-"    Regexp examples::\n"
-"\n"
-"      re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-"\n"
-"    "
+"                     including itself."
+msgstr ""
+
+msgid "    Regexp examples::"
+msgstr ""
+
+msgid "      re:.*\\.c$      any name ending in \".c\", anywhere in the repository"
 msgstr ""
 
 msgid "Environment Variables"
@@ -7499,74 +8680,98 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use .hgrc)"
+msgstr ""
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
+
+msgid ""
 "HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    ancestor file."
+msgstr ""
+
+msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
+"    from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
 "    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
 "HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
+"    available values will be considered in this order:"
+msgstr ""
+
+msgid ""
 "    - HGUSER (deprecated)\n"
 "    - hgrc files from the HGRCPATH\n"
 "    - EMAIL\n"
 "    - interactive prompt\n"
-"    - LOGNAME (with '@hostname' appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    - LOGNAME (with '@hostname' appended)"
+msgstr ""
+
+msgid ""
 "EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
 "EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
 "    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
 "    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
+"    defaults to 'vi'."
+msgstr ""
+
+msgid ""
 "PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
@@ -7578,31 +8783,45 @@
 
 msgid ""
 "\n"
-"    Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"    Mercurial supports several ways to specify individual revisions."
+msgstr ""
+
+msgid ""
 "    A plain integer is treated as a revision number. Negative integers\n"
 "    are treated as sequential offsets from the tip, with -1 denoting\n"
-"    the tip, -2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"    the tip, -2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+
+msgid ""
 "    A 40-digit hexadecimal string is treated as a unique revision\n"
-"    identifier.\n"
-"\n"
+"    identifier."
+msgstr ""
+
+msgid ""
 "    A hexadecimal string less than 40 characters long is treated as a\n"
 "    unique revision identifier and is referred to as a short-form\n"
 "    identifier. A short-form identifier is only valid if it is the\n"
-"    prefix of exactly one full-length identifier.\n"
-"\n"
+"    prefix of exactly one full-length identifier."
+msgstr ""
+
+msgid ""
 "    Any other string is treated as a tag or branch name. A tag name is\n"
 "    a symbolic name associated with a revision identifier. A branch\n"
 "    name denotes the tipmost revision of that branch. Tag and branch\n"
-"    names must not contain the \":\" character.\n"
-"\n"
+"    names must not contain the \":\" character."
+msgstr ""
+
+msgid ""
 "    The reserved name \"tip\" is a special tag that always identifies\n"
-"    the most recent revision.\n"
-"\n"
+"    the most recent revision."
+msgstr ""
+
+msgid ""
 "    The reserved name \"null\" indicates the null revision. This is the\n"
-"    revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"    revision of an empty repository, and the parent of revision 0."
+msgstr ""
+
+msgid ""
 "    The reserved name \".\" indicates the working directory parent. If\n"
 "    no working directory is checked out, it is equivalent to null. If\n"
 "    an uncommitted merge is in progress, \".\" is the revision of the\n"
@@ -7618,32 +8837,36 @@
 "\n"
 "    When Mercurial accepts more than one revision, they may be\n"
 "    specified individually, or provided as a topologically continuous\n"
-"    range, separated by the \":\" character.\n"
-"\n"
+"    range, separated by the \":\" character."
+msgstr ""
+"\n"
+"    当水银接å—多个版本时,它们å¯ä»¥å•ç‹¬ç»™å‡ºï¼Œæˆ–者以字符 \":\" 分割的拓扑连续\n"
+"    范围格å¼æ供。"
+
+#, fuzzy
+msgid ""
 "    The syntax of range notation is [BEGIN]:[END], where BEGIN and END\n"
 "    are revision identifiers. Both BEGIN and END are optional. If\n"
 "    BEGIN is not specified, it defaults to revision number 0. If END\n"
 "    is not specified, it defaults to the tip. The range \":\" thus means\n"
-"    \"all revisions\".\n"
-"\n"
+"    \"all revisions\"."
+msgstr ""
+"    范围的语法是 '[BEGIN]:[END]',其中 'BEGIN' 和 'END' 是版本标识。'BEGIN'\n"
+"    å’Œ 'END' 都是å¯é€‰çš„。'BEGIN' 默认是 0,'END' 默认是 'tip'。因此范围 \":\"\n"
+"    æ„味ç€å…¨éƒ¨ç‰ˆæœ¬ã€‚"
+
+#, fuzzy
+msgid ""
 "    If BEGIN is greater than END, revisions are treated in reverse\n"
-"    order.\n"
-"\n"
+"    order."
+msgstr "    如果 'BEGIN' 大于 'END',版本视为ååºã€‚"
+
+#, fuzzy
+msgid ""
 "    A range acts as a closed interval. This means that a range of 3:5\n"
 "    gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
 "    "
 msgstr ""
-"\n"
-"    当水银接å—多个版本时,它们å¯ä»¥å•ç‹¬ç»™å‡ºï¼Œæˆ–者以字符 \":\" 分割的拓扑连续\n"
-"    范围格å¼æ供。\n"
-"\n"
-"    范围的语法是 '[BEGIN]:[END]',其中 'BEGIN' 和 'END' 是版本标识。'BEGIN'\n"
-"    å’Œ 'END' 都是å¯é€‰çš„。'BEGIN' 默认是 0,'END' 默认是 'tip'。因此范围 \":"
-"\"\n"
-"    æ„味ç€å…¨éƒ¨ç‰ˆæœ¬ã€‚\n"
-"\n"
-"    如果 'BEGIN' 大于 'END',版本视为ååºã€‚\n"
-"\n"
 "    范围是闭区间。å³èŒƒå›´ '3:5' 是 '3','4','5'。åŒæ ·ï¼ŒèŒƒå›´ '9:6' 是 '9',\n"
 "    '8','7' 和 '6'。\n"
 "    "
@@ -7657,29 +8880,57 @@
 "    Mercurial's default format for showing changes between two\n"
 "    versions of a file is compatible with the unified format of GNU\n"
 "    diff, which can be used by GNU patch and many other standard\n"
-"    tools.\n"
-"\n"
+"    tools."
+msgstr ""
+"\n"
+"    水银显示文件ä¸åŒç‰ˆæœ¬ä¹‹é—´å·®å¼‚çš„æ ¼å¼ä¸Ž GNU diff 标准格å¼å…¼å®¹ï¼Œå¯ç”¨äºŽ\n"
+"    GNU patch 和许多标准工具。"
+
+#, fuzzy
+msgid ""
 "    While this standard format is often enough, it does not encode the\n"
-"    following information:\n"
-"\n"
+"    following information:"
+msgstr "    虽然标准格å¼åœ¨å¤§å¤šæ•°æƒ…况下都能满足è¦æ±‚,但是它ä¸åŒ…å«ä¸‹è¿°ä¿¡æ¯:"
+
+#, fuzzy
+msgid ""
 "    - executable status and other permission bits\n"
 "    - copy or rename information\n"
 "    - changes in binary files\n"
-"    - creation or deletion of empty files\n"
-"\n"
+"    - creation or deletion of empty files"
+msgstr ""
+"     - å¯æ‰§è¡ŒçŠ¶æ€å’Œå…¶å®ƒæƒé™ä½\n"
+"     - å¤åˆ¶æˆ–改åä¿¡æ¯\n"
+"     - 二进制文件的修改\n"
+"     - 创建或删除空文件"
+
+#, fuzzy
+msgid ""
 "    Mercurial also supports the extended diff format from the git VCS\n"
 "    which addresses these limitations. The git diff format is not\n"
 "    produced by default because a few widespread tools still do not\n"
-"    understand this format.\n"
-"\n"
+"    understand this format."
+msgstr ""
+"    水银也支æŒè§£å†³è¿™äº›é™åˆ¶çš„ git 扩展差异格å¼ã€‚由于一些常用的工具还ä¸æ”¯æŒ\n"
+"    此格å¼ï¼Œæ‰€ä»¥å®ƒä¸æ˜¯é»˜è®¤æ ¼å¼ã€‚"
+
+#, fuzzy
+msgid ""
 "    This means that when generating diffs from a Mercurial repository\n"
 "    (e.g. with \"hg export\"), you should be careful about things like\n"
 "    file copies and renames or other things mentioned above, because\n"
 "    when applying a standard diff to a different repository, this\n"
 "    extra information is lost. Mercurial's internal operations (like\n"
 "    push and pull) are not affected by this, because they use an\n"
-"    internal binary format for communicating changes.\n"
-"\n"
+"    internal binary format for communicating changes."
+msgstr ""
+"    è¿™æ„味ç€å½“从水银版本库(例如 \"hg export\")产生差异时,在其它版本库应用标\n"
+"    准差异时,会丢失文件å¤åˆ¶æˆ–改åç­‰é¢å¤–ä¿¡æ¯ï¼Œæ‰€ä»¥ä½ è¦å°å¿ƒå¤„ç†ã€‚水银的内部\n"
+"    æ“作(例如 push å’Œ pull)在传达改å˜æ—¶ï¼Œä½¿ç”¨å†…部的二进制格å¼ï¼Œæ‰€ä»¥ä¸å—å½±\n"
+"    å“。"
+
+#, fuzzy
+msgid ""
 "    To make Mercurial produce the git extended diff format, use the\n"
 "    --git option available for many commands, or set 'git = True' in\n"
 "    the [diff] section of your hgrc. You do not need to set this\n"
@@ -7687,25 +8938,6 @@
 "    extension.\n"
 "    "
 msgstr ""
-"\n"
-"    水银显示文件ä¸åŒç‰ˆæœ¬ä¹‹é—´å·®å¼‚çš„æ ¼å¼ä¸Ž GNU diff 标准格å¼å…¼å®¹ï¼Œå¯ç”¨äºŽ\n"
-"    GNU patch 和许多标准工具。\n"
-"\n"
-"    虽然标准格å¼åœ¨å¤§å¤šæ•°æƒ…况下都能满足è¦æ±‚,但是它ä¸åŒ…å«ä¸‹è¿°ä¿¡æ¯:\n"
-"\n"
-"     - å¯æ‰§è¡ŒçŠ¶æ€å’Œå…¶å®ƒæƒé™ä½\n"
-"     - å¤åˆ¶æˆ–改åä¿¡æ¯\n"
-"     - 二进制文件的修改\n"
-"     - 创建或删除空文件\n"
-"\n"
-"    水银也支æŒè§£å†³è¿™äº›é™åˆ¶çš„ git 扩展差异格å¼ã€‚由于一些常用的工具还ä¸æ”¯æŒ\n"
-"    此格å¼ï¼Œæ‰€ä»¥å®ƒä¸æ˜¯é»˜è®¤æ ¼å¼ã€‚\n"
-"\n"
-"    è¿™æ„味ç€å½“从水银版本库(例如 \"hg export\")产生差异时,在其它版本库应用标\n"
-"    准差异时,会丢失文件å¤åˆ¶æˆ–改åç­‰é¢å¤–ä¿¡æ¯ï¼Œæ‰€ä»¥ä½ è¦å°å¿ƒå¤„ç†ã€‚水银的内部\n"
-"    æ“作(例如 push å’Œ pull)在传达改å˜æ—¶ï¼Œä½¿ç”¨å†…部的二进制格å¼ï¼Œæ‰€ä»¥ä¸å—å½±\n"
-"    å“。\n"
-"\n"
 "    è¦è®©æ°´é“¶äº§ç”Ÿ git 扩展差异格å¼ï¼Œå¯ä»¥å¯¹è®¸å¤šå‘½ä»¤ä½¿ç”¨é€‰é¡¹ '--git',或者在\n"
 "    ä½ çš„ hgrc 文件中的节 '[diff]' 中增加 'git = True'。当你从此格å¼å¯¼å…¥æ—¶ï¼Œ\n"
 "    或在 mq 扩展中使用时,ä¸éœ€è¦è®¾ç½®æ­¤é€‰é¡¹ã€‚\n"
@@ -7720,27 +8952,56 @@
 "    Mercurial allows you to customize output of commands through\n"
 "    templates. You can either pass in a template from the command\n"
 "    line, via the --template option, or select an existing\n"
-"    template-style (--style).\n"
-"\n"
+"    template-style (--style)."
+msgstr ""
+"\n"
+"    水银å…许你通过模版定制命令的输出。你å¯ä»¥é€šè¿‡å‘½ä»¤è¡Œé€‰é¡¹ '--template'\n"
+"    æ¥ä½¿ç”¨æ¨¡ç‰ˆï¼Œæˆ–者选择已有的模版样å¼(--style)。"
+
+#, fuzzy
+msgid ""
 "    You can customize output for any \"log-like\" command: log,\n"
-"    outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"    outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+"    ä½ å¯ä»¥å®šåˆ¶ä»»æ„输出与日志信æ¯ç±»ä¼¼çš„命令,å³: log,outgoing,incoming,\n"
+"    tip,parents,heads 和 glog。"
+
+#, fuzzy
+msgid ""
 "    Three styles are packaged with Mercurial: default (the style used\n"
 "    when no explicit preference is passed), compact and changelog.\n"
-"    Usage::\n"
-"\n"
-"        $ hg log -r1 --style changelog\n"
-"\n"
+"    Usage::"
+msgstr "    水银中内置了 3 ç§æ ·å¼: default (默认), compact å’Œ changelog。用法:"
+
+#, fuzzy
+msgid "        $ hg log -r1 --style changelog"
+msgstr "        $ hg log -r1 --style changelog"
+
+#, fuzzy
+msgid ""
 "    A template is a piece of text, with markup to invoke variable\n"
-"    expansion::\n"
-"\n"
+"    expansion::"
+msgstr "    模版是文本片断,其中的标记用于å˜é‡æ‰©å±•:"
+
+#, fuzzy
+msgid ""
 "        $ hg log -r1 --template \"{node}\\n\"\n"
-"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"        b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+"        $ hg log -r1 --template \"{node}\\n\"\n"
+"        b56ce7b07c52de7d5fd79fb89701ea538af65746"
+
+#, fuzzy
+msgid ""
 "    Strings in curly braces are called keywords. The availability of\n"
 "    keywords depends on the exact context of the templater. These\n"
-"    keywords are usually available for templating a log-like command:\n"
-"\n"
+"    keywords are usually available for templating a log-like command:"
+msgstr ""
+"    花括å·ä¸­çš„字符串称为关键字。å¯ç”¨çš„关键字ä¾èµ–于模版的上下文。下述关键字\n"
+"    å¯ç”¨äºŽè¾“出与日志信æ¯ç±»ä¼¼çš„命令:"
+
+#, fuzzy
+msgid ""
 "    :author:    String. The unmodified author of the changeset.\n"
 "    :branches:  String. The name of the branch on which the changeset\n"
 "                was committed. Will be empty if the branch name was\n"
@@ -7761,19 +9022,47 @@
 "    :rev:       Integer. The repository-local changeset revision\n"
 "                number.\n"
 "    :tags:      List of strings. Any tags associated with the\n"
-"                changeset.\n"
-"\n"
+"                changeset."
+msgstr ""
+"    - author: 字符串。修改集的作者。\n"
+"    - branches: 字符串。修改集的分支。如果分支å称为 'default' 则为空。\n"
+"    - date: 日期信æ¯ã€‚修改集的日期。\n"
+"    - desc: 字符串。修改集的æ述。\n"
+"    - files: 字符串列表。修改集中被修改ã€å¢žåŠ å’Œåˆ é™¤çš„全部文件。\n"
+"    - file_adds: 字符串列表。修改集中被增加的文件。\n"
+"    - file_mods: 字符串列表。修改集中被修改的文件\n"
+"    - file_dels: 字符串列表。修改集中被删除的文件\n"
+"    - node: 字符串。修改集的哈系标识,40 个字符的 16 进制字符串。\n"
+"    - parents: 字符串列表。修改集的父亲。\n"
+"    - rev: 整数。本地版本库的修改集的版本å·ã€‚\n"
+"    - tags: 字符串列表。修改集的标签。"
+
+#, fuzzy
+msgid ""
 "    The \"date\" keyword does not produce human-readable output. If you\n"
 "    want to use a date in your output, you can use a filter to process\n"
 "    it. Filters are functions which return a string based on the input\n"
 "    variable. You can also use a chain of filters to get the desired\n"
-"    output::\n"
-"\n"
+"    output::"
+msgstr ""
+"    关键字 \"date\" ä¸äº§ç”Ÿäººå·¥å¯è¯»çš„输出。如果你想在输出中使用日期,å¯ä»¥ä½¿ç”¨\n"
+"    过滤器æ¥å¤„ç†å®ƒã€‚过滤器是根æ®è¾“å…¥å˜é‡è¿”回字符串的函数。你还å¯ä»¥ä½¿ç”¨è¿‡æ»¤\n"
+"    链æ¥äº§ç”Ÿç†æƒ³çš„输出:"
+
+#, fuzzy
+msgid ""
 "       $ hg tip --template \"{date|isodate}\\n\"\n"
-"       2008-08-21 18:22 +0000\n"
-"\n"
-"    List of filters:\n"
-"\n"
+"       2008-08-21 18:22 +0000"
+msgstr ""
+"       $ hg tip --template \"{date|isodate}\\n\"\n"
+"       2008-08-21 18:22 +0000"
+
+#, fuzzy
+msgid "    List of filters:"
+msgstr "    过滤器列表:"
+
+#, fuzzy
+msgid ""
 "    :addbreaks:   Any text. Add an XHTML \"<br />\" tag before the end of\n"
 "                  every line except the last.\n"
 "    :age:         Date. Returns a human-readable date/time difference\n"
@@ -7829,53 +9118,11 @@
 "                  address.\n"
 "    "
 msgstr ""
-"\n"
-"    水银å…许你通过模版定制命令的输出。你å¯ä»¥é€šè¿‡å‘½ä»¤è¡Œé€‰é¡¹ '--template'\n"
-"    æ¥ä½¿ç”¨æ¨¡ç‰ˆï¼Œæˆ–者选择已有的模版样å¼(--style)。\n"
-"\n"
-"    ä½ å¯ä»¥å®šåˆ¶ä»»æ„输出与日志信æ¯ç±»ä¼¼çš„命令,å³: log,outgoing,incoming,\n"
-"    tip,parents,heads 和 glog。\n"
-"\n"
-"    水银中内置了 3 ç§æ ·å¼: default (默认), compact å’Œ changelog。用法:\n"
-"\n"
-"        $ hg log -r1 --style changelog\n"
-"\n"
-"    模版是文本片断,其中的标记用于å˜é‡æ‰©å±•:\n"
-"\n"
-"        $ hg log -r1 --template \"{node}\\n\"\n"
-"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
-"    花括å·ä¸­çš„字符串称为关键字。å¯ç”¨çš„关键字ä¾èµ–于模版的上下文。下述关键字\n"
-"    å¯ç”¨äºŽè¾“出与日志信æ¯ç±»ä¼¼çš„命令:\n"
-"\n"
-"    - author: 字符串。修改集的作者。\n"
-"    - branches: 字符串。修改集的分支。如果分支å称为 'default' 则为空。\n"
-"    - date: 日期信æ¯ã€‚修改集的日期。\n"
-"    - desc: 字符串。修改集的æ述。\n"
-"    - files: 字符串列表。修改集中被修改ã€å¢žåŠ å’Œåˆ é™¤çš„全部文件。\n"
-"    - file_adds: 字符串列表。修改集中被增加的文件。\n"
-"    - file_mods: 字符串列表。修改集中被修改的文件\n"
-"    - file_dels: 字符串列表。修改集中被删除的文件\n"
-"    - node: 字符串。修改集的哈系标识,40 个字符的 16 进制字符串。\n"
-"    - parents: 字符串列表。修改集的父亲。\n"
-"    - rev: 整数。本地版本库的修改集的版本å·ã€‚\n"
-"    - tags: 字符串列表。修改集的标签。\n"
-"\n"
-"    关键字 \"date\" ä¸äº§ç”Ÿäººå·¥å¯è¯»çš„输出。如果你想在输出中使用日期,å¯ä»¥ä½¿ç”¨\n"
-"    过滤器æ¥å¤„ç†å®ƒã€‚过滤器是根æ®è¾“å…¥å˜é‡è¿”回字符串的函数。你还å¯ä»¥ä½¿ç”¨è¿‡æ»¤\n"
-"    链æ¥äº§ç”Ÿç†æƒ³çš„输出:\n"
-"\n"
-"       $ hg tip --template \"{date|isodate}\\n\"\n"
-"       2008-08-21 18:22 +0000\n"
-"\n"
-"    过滤器列表:\n"
-"\n"
 "    - addbreaks: 输入任æ„文本。除了最åŽä¸€è¡Œï¼Œåœ¨æ¯è¡Œçš„结尾增加 XHTML 标签\n"
 "          \"<br />\"。\n"
 "    - age: 输入日期。返回指定日期与当å‰æ—¥æœŸå·®å¼‚的人工å¯è¯»çš„字符串。\n"
 "    - basename: 输入任æ„文本。将输入视为路径,返回被路径分隔符隔开的最åŽ\n"
-"          一个组件的å称(忽略结尾的分隔符)。例如 \"foo/bar/baz\" æˆä¸º \"baz"
-"\",\n"
+"          一个组件的å称(忽略结尾的分隔符)。例如 \"foo/bar/baz\" æˆä¸º \"baz\",\n"
 "          \"foo/bar//\" æˆä¸º \"bar\"。\n"
 "    - date: 输入日期。返回指定日期的 Unix 日期格å¼å­—符串,包å«æ—¶åŒºï¼Œä¾‹å¦‚: \n"
 "          \"Mon Sep 04 15:13:13 2006 0700\"。\n"
@@ -7911,69 +9158,915 @@
 #, fuzzy
 msgid ""
 "\n"
-"    Valid URLs are of the form::\n"
-"\n"
+"    Valid URLs are of the form::"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      local/filesystem/path[#revision]\n"
 "      file://local/filesystem/path[#revision]\n"
 "      http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "      https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"      ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
+"      ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Paths in the local filesystem can either point to Mercurial\n"
 "    repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"    incoming --bundle').\n"
-"\n"
+"    incoming --bundle')."
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    An optional identifier after # indicates a particular branch, tag,\n"
 "    or changeset to use from the remote repository. See also 'hg help\n"
-"    revisions'.\n"
-"\n"
+"    revisions'."
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Some features, such as pushing to http:// and https:// URLs are\n"
 "    only possible if the feature is explicitly enabled on the remote\n"
-"    Mercurial server.\n"
-"\n"
-"    Some notes about using SSH with Mercurial:\n"
-"\n"
+"    Mercurial server."
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid "    Some notes about using SSH with Mercurial:"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    - SSH requires an accessible shell account on the destination\n"
 "      machine and a copy of hg in the remote path or specified with as\n"
 "      remotecmd.\n"
 "    - path is relative to the remote user's home directory by default.\n"
 "      Use an extra slash at the start of a path to specify an absolute\n"
-"      path::\n"
-"\n"
+"      path::"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid "        ssh://example.com//tmp/repository"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
 "        ssh://example.com//tmp/repository\n"
-"\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    - Mercurial doesn't use its own compression via SSH; the right\n"
-"      thing to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
+"      thing to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
 "        Host *.mylocalnetwork.example.com\n"
 "          Compression no\n"
 "        Host *\n"
 "          Compression yes\n"
-"\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      Alternatively specify \"ssh -C\" as your ssh command in your hgrc\n"
-"      or with the --ssh command line option.\n"
-"\n"
+"      or with the --ssh command line option."
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    These URLs can all be stored in your hgrc with path aliases under\n"
-"    the [paths] section like so::\n"
-"\n"
+"    the [paths] section like so::"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      [paths]\n"
 "      alias1 = URL1\n"
 "      alias2 = URL2\n"
-"      ...\n"
-"\n"
+"      ..."
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    You can then use the alias for any command that uses a URL (for\n"
-"    example 'hg pull alias1' would pull from the 'alias1' path).\n"
-"\n"
+"    example 'hg pull alias1' would pull from the 'alias1' path)."
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Two path aliases are special because they are used as defaults\n"
-"    when you do not provide the URL to a command:\n"
-"\n"
+"    when you do not provide the URL to a command:"
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    default:\n"
 "      When you create a repository with hg clone, the clone command\n"
 "      saves the location of the source repository as the new\n"
 "      repository's 'default' path. This is then used when you omit\n"
 "      path from push- and pull-like commands (including incoming and\n"
-"      outgoing).\n"
-"\n"
+"      outgoing)."
+msgstr ""
+"\n"
+"    有效的ä½ç½®æ ¼å¼:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    ä½äºŽæœ¬åœ°æ–‡ä»¶ç³»ç»Ÿä¸­çš„路径å¯ä»¥æŒ‡å‘版本库,也å¯ä»¥æŒ‡å‘打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' åŽé¢å¯é€‰çš„标识符用于指定è¦å–得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银æœåŠ¡å™¨æ˜¾å¼å¯ç”¨æ—¶ï¼Œæ‰èƒ½æŽ¨åˆ° 'http://' å’Œ 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些æ示:\n"
+"    - 使用 SSH 时,需è¦åœ¨è¿œç¨‹ä¸»æœºä¸Šæœ‰å¯ç™»å½•å¸å·ï¼Œè¿œç¨‹è·¯å¾„中还需è¦æœ‰\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      å¯ä»¥åœ¨è·¯å¾„å‰å¢žåŠ ä¸€ä¸ªæ–œçº¿æŒ‡å®šç»å¯¹è·¯å¾„:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH æ—¶ä¸ä½¿ç”¨åŽ‹ç¼©ï¼Œæ‰€ä»¥ä½ å¯ä»¥åœ¨ ~/.ssh/config 中é…ç½®\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      å¦ä¸€ä¸ªæ–¹æ³•æ˜¯åœ¨ä½ çš„ hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行å‚æ•° '--ssh' 中。\n"
+"\n"
+"    这些路径å¯ä»¥åœ¨ä½ çš„ 'hgrc' 中的节 '[paths]' 中定义别å:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然åŽä½ å°±å¯ä»¥åœ¨ä»»æ„命令中使用这些别å作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径å–得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别å比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将æºç‰ˆæœ¬åº“çš„ä½ç½®ä¿å­˜\n"
+"      为新版本库的 'default' 路径,然åŽä½ å¯ä»¥å¯¹ç±»ä¼¼ 'push' å’Œ 'pull'\n"
+"      的命令çœç•¥è·¯å¾„(包å«è¿›å’Œå‡º)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别å是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    default-push:\n"
 "      The push command will look for a path named 'default-push', and\n"
 "      prefer it over 'default' if both are defined.\n"
@@ -8057,9 +10150,7 @@
 msgid "destination '%s' is not empty"
 msgstr "éžæœ¬åœ°ç‰ˆæœ¬åº“ '%s'"
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
 msgstr ""
 
 msgid "clone from remote to remote not supported"
@@ -8084,9 +10175,7 @@
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr ""
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to "
-"abandon\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon\n"
 msgstr ""
 
 msgid "(branch merge, don't forget to commit)\n"
@@ -8438,9 +10527,7 @@
 msgid "requesting all changes\n"
 msgstr "正在请求全部修改\n"
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
 msgstr ""
 
 #, python-format
@@ -8577,9 +10664,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr ""
 
 #, python-format
--- a/i18n/zh_TW.po	Tue Jun 08 13:19:22 2010 +0200
+++ b/i18n/zh_TW.po	Mon Jun 21 13:41:11 2010 -0500
@@ -2,7 +2,7 @@
 # Copyright (C) 2009 Matt Mackall <mpm@selenic.com> and others
 # This file is distributed under the same license as the Mercurial package.
 # Chia-Huan Wu <willie.tw@gmail.com>, 2009.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
@@ -26,27 +26,25 @@
 msgstr "命令"
 
 #, fuzzy
-msgid ""
-"    options:\n"
-"\n"
+msgid "    options:"
 msgstr "    é¸é …: \n"
 
 #, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    別å: %s\n"
-"\n"
-
-msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
+msgid "    aliases: %s"
+msgstr "    別å: %s"
+
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr ""
+
+msgid ""
 "- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples::\n"
-"\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+
+msgid "Many date formats are valid. Here are some examples::"
+msgstr ""
+
+msgid ""
 "  \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
 "  \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
 "  \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
@@ -59,19 +57,26 @@
 "  \"2006-12-6\"\n"
 "  \"12-6\"\n"
 "  \"12/6\"\n"
-"  \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format::\n"
-"\n"
-"  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
+"  \"12/6/6\" (Dec 6 2006)"
+msgstr ""
+
+msgid "Lastly, there is Mercurial's internal format::"
+msgstr ""
+
+msgid "  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr ""
+
+msgid ""
 "This is the internal representation format for dates. unixtime is the\n"
 "number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
 "the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges::\n"
-"\n"
+"the timezone is east of UTC)."
+msgstr ""
+
+msgid "The log command also accepts date ranges::"
+msgstr ""
+
+msgid ""
 "  \"<{datetime}\" - at or before a given date/time\n"
 "  \">{datetime}\" - on or after a given date/time\n"
 "  \"{datetime} to {datetime}\" - a date range, inclusive\n"
@@ -81,29 +86,39 @@
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
 "a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
+"used by GNU patch and many other standard tools."
+msgstr ""
+
+msgid ""
 "While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
+"following information:"
+msgstr ""
+
+msgid ""
 "- executable status and other permission bits\n"
 "- copy or rename information\n"
 "- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
+"- creation or deletion of empty files"
+msgstr ""
+
+msgid ""
 "Mercurial also supports the extended diff format from the git VCS\n"
 "which addresses these limitations. The git diff format is not produced\n"
 "by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
+"format."
+msgstr ""
+
+msgid ""
 "This means that when generating diffs from a Mercurial repository\n"
 "(e.g. with \"hg export\"), you should be careful about things like file\n"
 "copies and renames or other things mentioned above, because when\n"
 "applying a standard diff to a different repository, this extra\n"
 "information is lost. Mercurial's internal operations (like push and\n"
 "pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
+"format for communicating changes."
+msgstr ""
+
+msgid ""
 "To make Mercurial produce the git extended diff format, use the --git\n"
 "option available for many commands, or set 'git = True' in the [diff]\n"
 "section of your hgrc. You do not need to set this option when\n"
@@ -116,74 +131,98 @@
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
+"    Windows) is searched."
+msgstr ""
+
+msgid ""
 "HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use .hgrc)"
+msgstr ""
+
+msgid ""
 "HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
+"    be overridden with the --encoding command-line option."
+msgstr ""
+
+msgid ""
 "HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
+"    the --encodingmode command-line option."
+msgstr ""
+
+msgid ""
 "HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    ancestor file."
+msgstr ""
+
+msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
+"    from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
 "    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
 "HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
+"    available values will be considered in this order:"
+msgstr ""
+
+msgid ""
 "    - HGUSER (deprecated)\n"
 "    - hgrc files from the HGRCPATH\n"
 "    - EMAIL\n"
 "    - interactive prompt\n"
-"    - LOGNAME (with '@hostname' appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
+"    - LOGNAME (with '@hostname' appended)"
+msgstr ""
+
+msgid ""
 "EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
 "VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
 "EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
 "    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
 "    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
+"    defaults to 'vi'."
+msgstr ""
+
+msgid ""
 "PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
@@ -193,31 +232,44 @@
 "Mercurial has the ability to add new features through the use of\n"
 "extensions. Extensions may add new commands, add options to\n"
 "existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
+"implement hooks."
+msgstr ""
+
+msgid ""
 "Extensions are not loaded by default for a variety of reasons:\n"
 "they can increase startup overhead; they may be meant for advanced\n"
 "usage only; they may provide potentially dangerous abilities (such\n"
 "as letting you destroy or modify history); they might not be ready\n"
 "for prime time; or they may alter some usual behaviors of stock\n"
 "Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
+"needed."
+msgstr ""
+
+msgid ""
 "To enable the \"foo\" extension, either shipped with Mercurial or in\n"
 "the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
+"  foo ="
+msgstr ""
+
+msgid "You may also specify the full path to an extension::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
+
+msgid ""
 "To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
+"scope, prepend its path with !::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  # disabling extension bar residing in /path/to/extension/bar.py\n"
 "  bar = !/path/to/extension/bar.py\n"
@@ -228,89 +280,126 @@
 msgid ""
 "When Mercurial accepts more than one revision, they may be specified\n"
 "individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
+"separated by the \":\" character."
+msgstr ""
+
+msgid ""
 "The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
 "revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
 "specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
+"it defaults to the tip. The range \":\" thus means \"all revisions\"."
+msgstr ""
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
+
+msgid ""
 "A range acts as a closed interval. This means that a range of 3:5\n"
 "gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
 msgstr ""
 
 msgid ""
 "Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
+"at a time."
+msgstr ""
+
+msgid ""
 "By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
+"patterns."
+msgstr ""
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr ""
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
+"current repository root."
+msgstr ""
+
+msgid ""
 "To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
 "at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
+"in the current directory ending with ``.c``."
+msgstr ""
+
+msgid ""
 "The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+
+msgid ""
 "To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+
+msgid "Plain examples::"
+msgstr ""
+
+msgid ""
 "  path:foo/bar   a name bar in a directory named foo in the root\n"
 "                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
+"  path:path:name a file or directory named \"path:name\""
+msgstr ""
+
+msgid "Glob examples::"
+msgstr ""
+
+msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
+"                 including itself."
+msgstr ""
+
+msgid "Regexp examples::"
+msgstr ""
+
+msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr ""
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr ""
+
+msgid ""
 "A plain integer is treated as a revision number. Negative integers are\n"
 "treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
+"-2 denoting the revision prior to the tip, and so forth."
+msgstr ""
+
+msgid ""
 "A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
+"identifier."
+msgstr ""
+
+msgid ""
 "A hexadecimal string less than 40 characters long is treated as a\n"
 "unique revision identifier and is referred to as a short-form\n"
 "identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
+"of exactly one full-length identifier."
+msgstr ""
+
+msgid ""
 "Any other string is treated as a tag or branch name. A tag name is a\n"
 "symbolic name associated with a revision identifier. A branch name\n"
 "denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
+"not contain the \":\" character."
+msgstr ""
+
+msgid ""
 "The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
+"most recent revision."
+msgstr ""
+
+msgid ""
 "The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+
+msgid ""
 "The reserved name \".\" indicates the working directory parent. If no\n"
 "working directory is checked out, it is equivalent to null. If an\n"
 "uncommitted merge is in progress, \".\" is the revision of the first\n"
@@ -321,27 +410,40 @@
 "Mercurial allows you to customize output of commands through\n"
 "templates. You can either pass in a template from the command\n"
 "line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
+"template-style (--style)."
+msgstr ""
+
+msgid ""
 "You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+
+msgid ""
 "Three styles are packaged with Mercurial: default (the style used\n"
 "when no explicit preference is passed), compact and changelog.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
+"Usage::"
+msgstr ""
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+
+msgid ""
 "A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
+"expansion::"
+msgstr ""
+
+msgid ""
 "    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+
+msgid ""
 "Strings in curly braces are called keywords. The availability of\n"
 "keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
+"keywords are usually available for templating a log-like command:"
+msgstr ""
+
+msgid ""
 ":author:    String. The unmodified author of the changeset.\n"
 ":branches:  String. The name of the branch on which the changeset\n"
 "            was committed. Will be empty if the branch name was\n"
@@ -365,19 +467,26 @@
 "            changeset.\n"
 ":latesttag: String. Most recent global tag in the ancestors of this\n"
 "            changeset.\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
+":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+
+msgid ""
 "The \"date\" keyword does not produce human-readable output. If you\n"
 "want to use a date in your output, you can use a filter to process\n"
 "it. Filters are functions which return a string based on the input\n"
 "variable. You can also use a chain of filters to get the desired\n"
-"output::\n"
-"\n"
+"output::"
+msgstr ""
+
+msgid ""
 "   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
+
+msgid "List of filters:"
+msgstr ""
+
+msgid ""
 ":addbreaks:   Any text. Add an XHTML \"<br />\" tag before the end of\n"
 "              every line except the last.\n"
 ":age:         Date. Returns a human-readable date/time difference\n"
@@ -433,113 +542,160 @@
 "              address.\n"
 msgstr ""
 
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
+msgid "Valid URLs are of the form::"
+msgstr ""
+
+msgid ""
 "  local/filesystem/path[#revision]\n"
 "  file://local/filesystem/path[#revision]\n"
 "  http://[user[:pass]@]host[:port]/[path][#revision]\n"
 "  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
+"  ssh://[user[:pass]@]host[:port]/[path][#revision]"
+msgstr ""
+
+msgid ""
 "Paths in the local filesystem can either point to Mercurial\n"
 "repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
+"incoming --bundle')."
+msgstr ""
+
+msgid ""
 "An optional identifier after # indicates a particular branch, tag, or\n"
 "changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
+"revisions'."
+msgstr ""
+
+msgid ""
 "Some features, such as pushing to http:// and https:// URLs are only\n"
 "possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
+"server."
+msgstr ""
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr ""
+
+msgid ""
 "- SSH requires an accessible shell account on the destination machine\n"
 "  and a copy of hg in the remote path or specified with as remotecmd.\n"
 "- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
+"  an extra slash at the start of a path to specify an absolute path::"
+msgstr ""
+
+msgid "    ssh://example.com//tmp/repository"
+msgstr ""
+
+msgid ""
 "- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
+"  to do is to configure it in your ~/.ssh/config, e.g.::"
+msgstr ""
+
+msgid ""
 "    Host *.mylocalnetwork.example.com\n"
 "      Compression no\n"
 "    Host *\n"
-"      Compression yes\n"
-"\n"
+"      Compression yes"
+msgstr ""
+
+msgid ""
 "  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
+"  with the --ssh command line option."
+msgstr ""
+
+msgid ""
 "These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
+"[paths] section like so::"
+msgstr ""
+
+msgid ""
 "  [paths]\n"
 "  alias1 = URL1\n"
 "  alias2 = URL2\n"
-"  ...\n"
-"\n"
+"  ..."
+msgstr ""
+
+msgid ""
 "You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' would pull from the 'alias1' path).\n"
-"\n"
+"example 'hg pull alias1' would pull from the 'alias1' path)."
+msgstr ""
+
+msgid ""
 "Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
+"you do not provide the URL to a command:"
+msgstr ""
+
+msgid ""
 "default:\n"
 "  When you create a repository with hg clone, the clone command saves\n"
 "  the location of the source repository as the new repository's\n"
 "  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
+"  pull-like commands (including incoming and outgoing)."
+msgstr ""
+
+msgid ""
 "default-push:\n"
 "  The push command will look for a path named 'default-push', and\n"
 "  prefer it over 'default' if both are defined.\n"
 msgstr ""
 
-msgid ""
-"hooks for controlling repository access\n"
-"\n"
+msgid "hooks for controlling repository access"
+msgstr ""
+
+msgid ""
 "This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets.\n"
-"\n"
+"of a repository when receiving incoming changesets."
+msgstr ""
+
+msgid ""
 "The authorization is matched based on the local user name on the\n"
 "system where the hook runs, and not the committer of the original\n"
-"changeset (since the latter is merely informative).\n"
-"\n"
+"changeset (since the latter is merely informative)."
+msgstr ""
+
+msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
 "preventing authenticating users from doing anything other than\n"
 "pushing or pulling. The hook is not safe to use if users have\n"
 "interactive shell access, as they can then disable the hook.\n"
 "Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them.\n"
-"\n"
-"To use this hook, configure the acl extension in your hgrc like this::\n"
-"\n"
+"is no way to distinguish them."
+msgstr ""
+
+msgid "To use this hook, configure the acl extension in your hgrc like this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  acl =\n"
-"\n"
+"  acl ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
-"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
-"\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook"
+msgstr ""
+
+msgid ""
 "  [acl]\n"
 "  # Check whether the source of incoming changes is in this list\n"
 "  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
-"  sources = serve\n"
-"\n"
+"  sources = serve"
+msgstr ""
+
+msgid ""
 "The allow and deny sections take a subtree pattern as key (with a glob\n"
 "syntax by default), and a comma separated list of users as the\n"
 "corresponding value. The deny list is checked before the allow list\n"
-"is. ::\n"
-"\n"
+"is. ::"
+msgstr ""
+
+msgid ""
 "  [acl.allow]\n"
 "  # If acl.allow is not present, all users are allowed by default.\n"
 "  # An empty acl.allow section means no users allowed.\n"
 "  docs/** = doc_writer\n"
-"  .hgtags = release_engineer\n"
-"\n"
+"  .hgtags = release_engineer"
+msgstr ""
+
+msgid ""
 "  [acl.deny]\n"
 "  # If acl.deny is not present, no users are refused by default.\n"
 "  # An empty acl.deny section means all users allowed.\n"
@@ -555,38 +711,47 @@
 msgid "acl: access denied for changeset %s"
 msgstr ""
 
-msgid ""
-"track a line of development with movable markers\n"
-"\n"
+msgid "track a line of development with movable markers"
+msgstr ""
+
+msgid ""
 "Bookmarks are local movable markers to changesets. Every bookmark\n"
 "points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark shifts to the new changeset.\n"
-"\n"
+"bookmark shifts to the new changeset."
+msgstr ""
+
+msgid ""
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
+"merge, hg update)."
+msgstr ""
+
+msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::\n"
-"\n"
+"your .hgrc::"
+msgstr ""
+
+msgid ""
 "  [bookmarks]\n"
-"  track.current = True\n"
-"\n"
+"  track.current = True"
+msgstr ""
+
+msgid ""
 "This will cause Mercurial to track the bookmark that you are currently\n"
 "using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
 
 msgid ""
-"track a line of development with movable markers\n"
-"\n"
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark.\n"
-"\n"
+"    'hg update' to merge and update respectively to a given bookmark."
+msgstr ""
+
+msgid ""
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
@@ -627,117 +792,171 @@
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr ""
 
-msgid ""
-"hooks for integrating with the Bugzilla bug tracker\n"
-"\n"
+msgid "hooks for integrating with the Bugzilla bug tracker"
+msgstr ""
+
+msgid ""
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
-"bug status.\n"
-"\n"
+"bug status."
+msgstr ""
+
+msgid ""
 "The hook updates the Bugzilla database directly. Only Bugzilla\n"
-"installations using MySQL are supported.\n"
-"\n"
+"installations using MySQL are supported."
+msgstr ""
+
+msgid ""
 "The hook relies on a Bugzilla script to send bug change notification\n"
 "emails. That script changes between Bugzilla versions; the\n"
 "'processmail' script used prior to 2.18 is replaced in 2.18 and\n"
 "subsequent versions by 'config/sendbugmail.pl'. Note that these will\n"
 "be run by Mercurial as the user pushing the change; you will need to\n"
-"ensure the Bugzilla install file permissions are set appropriately.\n"
-"\n"
+"ensure the Bugzilla install file permissions are set appropriately."
+msgstr ""
+
+msgid ""
 "The extension is configured through three different configuration\n"
-"sections. These keys are recognized in the [bugzilla] section:\n"
-"\n"
+"sections. These keys are recognized in the [bugzilla] section:"
+msgstr ""
+
+msgid ""
 "host\n"
-"  Hostname of the MySQL server holding the Bugzilla database.\n"
-"\n"
+"  Hostname of the MySQL server holding the Bugzilla database."
+msgstr ""
+
+msgid ""
 "db\n"
-"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "user\n"
-"  Username to use to access MySQL server. Default 'bugs'.\n"
-"\n"
+"  Username to use to access MySQL server. Default 'bugs'."
+msgstr ""
+
+msgid ""
 "password\n"
-"  Password to use to access MySQL server.\n"
-"\n"
+"  Password to use to access MySQL server."
+msgstr ""
+
+msgid ""
 "timeout\n"
-"  Database connection timeout (seconds). Default 5.\n"
-"\n"
+"  Database connection timeout (seconds). Default 5."
+msgstr ""
+
+msgid ""
 "version\n"
 "  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
 "  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
-"  to 2.18.\n"
-"\n"
+"  to 2.18."
+msgstr ""
+
+msgid ""
 "bzuser\n"
 "  Fallback Bugzilla user name to record comments with, if changeset\n"
-"  committer cannot be found as a Bugzilla user.\n"
-"\n"
+"  committer cannot be found as a Bugzilla user."
+msgstr ""
+
+msgid ""
 "bzdir\n"
 "   Bugzilla install directory. Used by default notify. Default\n"
-"   '/var/www/html/bugzilla'.\n"
-"\n"
+"   '/var/www/html/bugzilla'."
+msgstr ""
+
+msgid ""
 "notify\n"
 "  The command to run to get Bugzilla to send bug change notification\n"
 "  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
 "  and 'user' (committer bugzilla email). Default depends on version;\n"
 "  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"  %(id)s %(user)s\".\n"
-"\n"
+"  %(id)s %(user)s\"."
+msgstr ""
+
+msgid ""
 "regexp\n"
 "  Regular expression to match bug IDs in changeset commit message.\n"
 "  Must contain one \"()\" group. The default expression matches 'Bug\n"
 "  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
-"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
-"\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive."
+msgstr ""
+
+msgid ""
 "style\n"
-"  The style file to use when formatting comments.\n"
-"\n"
+"  The style file to use when formatting comments."
+msgstr ""
+
+msgid ""
 "template\n"
 "  Template to use when formatting comments. Overrides style if\n"
 "  specified. In addition to the usual Mercurial keywords, the\n"
-"  extension specifies::\n"
-"\n"
+"  extension specifies::"
+msgstr ""
+
+msgid ""
 "    {bug}       The Bugzilla bug ID.\n"
 "    {root}      The full pathname of the Mercurial repository.\n"
 "    {webroot}   Stripped pathname of the Mercurial repository.\n"
-"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories."
+msgstr ""
+
+msgid ""
 "  Default 'changeset {node|short} in repo {root} refers '\n"
-"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'"
+msgstr ""
+
+msgid ""
 "strip\n"
 "  The number of slashes to strip from the front of {root} to produce\n"
-"  {webroot}. Default 0.\n"
-"\n"
+"  {webroot}. Default 0."
+msgstr ""
+
+msgid ""
 "usermap\n"
 "  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
 "  mappings. If specified, the file should contain one mapping per\n"
-"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
-"\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section."
+msgstr ""
+
+msgid ""
 "The [usermap] section is used to specify mappings of Mercurial\n"
 "committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"\"committer\"=\"Bugzilla user\"\n"
-"\n"
-"Finally, the [web] section supports one entry:\n"
-"\n"
+"\"committer\"=\"Bugzilla user\""
+msgstr ""
+
+msgid "Finally, the [web] section supports one entry:"
+msgstr ""
+
+msgid ""
 "baseurl\n"
 "  Base URL for browsing Mercurial repositories. Reference from\n"
-"  templates as {hgweb}.\n"
-"\n"
-"Activating the extension::\n"
-"\n"
+"  templates as {hgweb}."
+msgstr ""
+
+msgid "Activating the extension::"
+msgstr ""
+
+msgid ""
 "    [extensions]\n"
-"    bugzilla =\n"
-"\n"
+"    bugzilla ="
+msgstr ""
+
+msgid ""
 "    [hooks]\n"
 "    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook"
+msgstr ""
+
+msgid "Example configuration:"
+msgstr ""
+
+msgid ""
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2. ::\n"
-"\n"
+"installation in /opt/bugzilla-3.2. ::"
+msgstr ""
+
+msgid ""
 "    [bugzilla]\n"
 "    host=localhost\n"
 "    password=XYZZY\n"
@@ -747,20 +966,28 @@
 "    template=Changeset {node|short} in {root|basename}.\n"
 "             {hgweb}/{webroot}/rev/{node|short}\\n\n"
 "             {desc}\\n\n"
-"    strip=5\n"
-"\n"
+"    strip=5"
+msgstr ""
+
+msgid ""
 "    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
+"    baseurl=http://dev.domain.com/hg"
+msgstr ""
+
+msgid ""
 "    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form::\n"
-"\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com"
+msgstr ""
+
+msgid "Commits add a comment to the Bugzilla bug record of the form::"
+msgstr ""
+
+msgid ""
 "    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642"
+msgstr ""
+
+msgid "    Changeset commit comment. Bug 1234.\n"
 msgstr ""
 
 #, python-format
@@ -837,9 +1064,10 @@
 msgid "command to display child changesets"
 msgstr ""
 
-msgid ""
-"show the children of the given or working directory revision\n"
-"\n"
+msgid "show the children of the given or working directory revision"
+msgstr ""
+
+msgid ""
 "    Print the children of the working directory's revisions. If a\n"
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
@@ -865,38 +1093,55 @@
 msgid "generating stats: %d%%"
 msgstr ""
 
-msgid ""
-"histogram of changes to the repository\n"
-"\n"
+msgid "histogram of changes to the repository"
+msgstr ""
+
+msgid ""
 "    This command will display a histogram representing the number\n"
 "    of changed lines or revisions, grouped according to the given\n"
 "    template. The default template will group changes by author.\n"
 "    The --dateformat option may be used to group the results by\n"
-"    date instead.\n"
-"\n"
+"    date instead."
+msgstr ""
+
+msgid ""
 "    Statistics are based on the number of changed lines, or\n"
 "    alternatively the number of matching revisions if the\n"
-"    --changesets option is specified.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    --changesets option is specified."
+msgstr ""
+
+msgid "    Examples::"
+msgstr ""
+
+msgid ""
 "      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
+"      hg churn -t '{author|email}'"
+msgstr ""
+
+msgid ""
 "      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
+"      hg churn -f '%H' -s -c"
+msgstr ""
+
+msgid ""
 "      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
+"      hg churn -f '%Y-%m' -s -c"
+msgstr ""
+
+msgid ""
 "      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
+"      hg churn -f '%Y' -s"
+msgstr ""
+
+msgid ""
 "    It is possible to map alternate email addresses to a main address\n"
-"    by providing a file using the following format::\n"
-"\n"
-"      <alias email> <actual email>\n"
-"\n"
+"    by providing a file using the following format::"
+msgstr ""
+
+msgid "      <alias email> <actual email>"
+msgstr ""
+
+msgid ""
 "    Such a file may be specified with the --aliases option, otherwise\n"
 "    a .hgchurn file will be looked for in the working directory root.\n"
 "    "
@@ -929,38 +1174,50 @@
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
 msgstr ""
 
-msgid ""
-"colorize output from some commands\n"
-"\n"
+msgid "colorize output from some commands"
+msgstr ""
+
+msgid ""
 "This extension modifies the status command to add color to its output\n"
 "to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
-"whitespace.\n"
-"\n"
+"whitespace."
+msgstr ""
+
+msgid ""
 "Other effects in addition to color, like bold and underlined text, are\n"
 "also available. Effects are rendered with the ECMA-48 SGR control\n"
 "function (aka ANSI escape codes). This module also provides the\n"
-"render_text function, which can be used to add effects to any text.\n"
-"\n"
-"Default effects may be overridden from the .hgrc file::\n"
-"\n"
+"render_text function, which can be used to add effects to any text."
+msgstr ""
+
+msgid "Default effects may be overridden from the .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [color]\n"
 "  status.modified = blue bold underline red_background\n"
 "  status.added = green bold\n"
 "  status.removed = red bold blue_background\n"
 "  status.deleted = cyan bold underline\n"
 "  status.unknown = magenta bold underline\n"
-"  status.ignored = black bold\n"
-"\n"
+"  status.ignored = black bold"
+msgstr ""
+
+msgid ""
 "  # 'none' turns off all effects\n"
 "  status.clean = none\n"
-"  status.copied = none\n"
-"\n"
+"  status.copied = none"
+msgstr ""
+
+msgid ""
 "  qseries.applied = blue bold underline\n"
 "  qseries.unapplied = black bold\n"
-"  qseries.missing = red bold\n"
-"\n"
+"  qseries.missing = red bold"
+msgstr ""
+
+msgid ""
 "  diff.diffline = bold\n"
 "  diff.extended = cyan bold\n"
 "  diff.file_a = red bold\n"
@@ -985,11 +1242,13 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr ""
 
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"\n"
+msgid "convert a foreign SCM repository to a Mercurial one."
+msgstr ""
+
+msgid "    Accepted source formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -998,72 +1257,103 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"\n"
+"    - Perforce [p4]"
+msgstr ""
+
+msgid "    Accepted destination formats [identifiers]:"
+msgstr ""
+
+msgid ""
 "    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
+"    - Subversion [svn] (history on branches is not preserved)"
+msgstr ""
+
+msgid ""
 "    If no revision is given, all revisions will be converted.\n"
 "    Otherwise, convert will only import up to the named revision\n"
-"    (given in a format understood by the source).\n"
-"\n"
+"    (given in a format understood by the source)."
+msgstr ""
+
+msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source with '-hg' appended. If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
+"    repository doesn't exist, it will be created."
+msgstr ""
+
+msgid ""
 "    By default, all sources except Mercurial will use --branchsort.\n"
 "    Mercurial uses --sourcesort to preserve original revision numbers\n"
-"    order. Sort modes have the following effects:\n"
-"\n"
+"    order. Sort modes have the following effects:"
+msgstr ""
+
+msgid ""
 "    --branchsort  convert from parent to child revision when possible,\n"
 "                  which means branches are usually converted one after\n"
-"                  the other. It generates more compact repositories.\n"
-"\n"
+"                  the other. It generates more compact repositories."
+msgstr ""
+
+msgid ""
 "    --datesort    sort revisions by date. Converted repositories have\n"
 "                  good-looking changelogs but are often an order of\n"
 "                  magnitude larger than the same ones generated by\n"
-"                  --branchsort.\n"
-"\n"
+"                  --branchsort."
+msgstr ""
+
+msgid ""
 "    --sourcesort  try to preserve source revisions order, only\n"
-"                  supported by Mercurial sources.\n"
-"\n"
+"                  supported by Mercurial sources."
+msgstr ""
+
+msgid ""
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so::\n"
-"\n"
-"      <source ID> <destination ID>\n"
-"\n"
+"    revision, like so::"
+msgstr ""
+
+msgid "      <source ID> <destination ID>"
+msgstr ""
+
+msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
-"    and can be run repeatedly to copy new commits.\n"
-"\n"
+"    and can be run repeatedly to copy new commits."
+msgstr ""
+
+msgid ""
 "    The [username mapping] file is a simple text file that maps each\n"
 "    source commit author to a destination commit author. It is handy\n"
 "    for source SCMs that use unix logins to identify authors (eg:\n"
 "    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
+"    srcauthor=whatever string you want"
+msgstr ""
+
+msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
+"    contain one of the following directives::"
+msgstr ""
+
+msgid "      include path/to/file"
+msgstr ""
+
+msgid "      exclude path/to/file"
+msgstr ""
+
+msgid "      rename from/file to/file"
+msgstr ""
+
+msgid ""
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
 "    included. The 'exclude' directive causes files or directories to\n"
 "    be omitted. The 'rename' directive renames a file or directory. To\n"
 "    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to.\n"
-"\n"
+"    '.' as the path to rename to."
+msgstr ""
+
+msgid ""
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
@@ -1073,8 +1363,10 @@
 "    revision control system whose parents should be modified (same\n"
 "    format as a key in .hg/shamap). The values are the revision IDs\n"
 "    (in either the source or destination revision control system) that\n"
-"    should be used as the new parents for that node.\n"
-"\n"
+"    should be used as the new parents for that node."
+msgstr ""
+
+msgid ""
 "    The branchmap is a file that allows you to rename a branch when it is\n"
 "    being brought in from whatever external repository. When used in\n"
 "    conjunction with a splicemap, it allows for a powerful combination\n"
@@ -1084,11 +1376,15 @@
 "    \"original_branch_name\" is the name of the branch in the source\n"
 "    repository, and \"new_branch_name\" is the name of the branch is the\n"
 "    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch.\n"
-"\n"
+"    in one repository from \"default\" to a named branch."
+msgstr ""
+
+msgid ""
 "    Mercurial Source\n"
-"    ----------------\n"
-"\n"
+"    ----------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
@@ -1097,11 +1393,15 @@
 "        store original revision ID in changeset (forces target IDs to\n"
 "        change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
+"        convert start revision and its descendants"
+msgstr ""
+
+msgid ""
 "    CVS Source\n"
-"    ----------\n"
-"\n"
+"    ----------"
+msgstr ""
+
+msgid ""
 "    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
 "    to indicate the starting point of what will be converted. Direct\n"
 "    access to the repository files is not needed, unless of course the\n"
@@ -1110,10 +1410,13 @@
 "    commands to find files to convert. This means that unless a\n"
 "    filemap is given, all files under the starting directory will be\n"
 "    converted, and that any directory reorganization in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
+"    sandbox is ignored."
+msgstr ""
+
+msgid "    The options shown are the defaults."
+msgstr ""
+
+msgid ""
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -1131,16 +1434,22 @@
 "        Specify a regular expression to which commit log messages are\n"
 "        matched. If a match occurs, then the conversion process will\n"
 "        add the most recent revision on the branch indicated in the\n"
-"        regex as the second parent of the changeset.\n"
-"\n"
+"        regex as the second parent of the changeset."
+msgstr ""
+
+msgid ""
 "    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
 "    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
-"\n"
+"    the command help for more details."
+msgstr ""
+
+msgid ""
 "    Subversion Source\n"
-"    -----------------\n"
-"\n"
+"    -----------------"
+msgstr ""
+
+msgid ""
 "    Subversion source detects classical trunk/branches/tags layouts.\n"
 "    By default, the supplied \"svn://repo/path/\" source URL is\n"
 "    converted as a single branch. If \"svn://repo/path/trunk\" exists it\n"
@@ -1150,58 +1459,80 @@
 "    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
 "    can be overridden with following options. Set them to paths\n"
 "    relative to the source URL, or leave them blank to disable auto\n"
-"    detection.\n"
-"\n"
+"    detection."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.branches=branches    (directory name)\n"
 "        specify the directory containing branches\n"
 "    --config convert.svn.tags=tags            (directory name)\n"
 "        specify the directory containing tags\n"
 "    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
+"        specify the name of the trunk branch"
+msgstr ""
+
+msgid ""
 "    Source history can be retrieved starting at a specific revision,\n"
 "    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
+"    conversions are supported."
+msgstr ""
+
+msgid ""
 "    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
+"        specify start Subversion revision."
+msgstr ""
+
+msgid ""
 "    Perforce Source\n"
-"    ---------------\n"
-"\n"
+"    ---------------"
+msgstr ""
+
+msgid ""
 "    The Perforce (P4) importer can be given a p4 depot path or a\n"
 "    client specification as source. It will convert all files in the\n"
 "    source to a flat Mercurial repository, ignoring labels, branches\n"
 "    and integrations. Note that when a depot path is given you then\n"
 "    usually should specify a target directory, because otherwise the\n"
-"    target may be named ...-hg.\n"
-"\n"
+"    target may be named ...-hg."
+msgstr ""
+
+msgid ""
 "    It is possible to limit the amount of source history to be\n"
-"    converted by specifying an initial Perforce revision.\n"
-"\n"
+"    converted by specifying an initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
+"        specify initial Perforce revision."
+msgstr ""
+
+msgid ""
 "    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
+"    ---------------------"
+msgstr ""
+
+msgid ""
 "    --config convert.hg.clonebranches=False   (boolean)\n"
 "        dispatch source branches in separate clones.\n"
 "    --config convert.hg.tagsbranch=default    (branch name)\n"
 "        tag revisions branch name\n"
 "    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
+"        preserve branch names"
+msgstr ""
+
+msgid "    "
+msgstr ""
+
+msgid "create changeset information from CVS"
+msgstr ""
+
+msgid ""
 "    This command is intended as a debugging tool for the CVS to\n"
 "    Mercurial converter, and can be used as a direct replacement for\n"
-"    cvsps.\n"
-"\n"
+"    cvsps."
+msgstr ""
+
+msgid ""
 "    Hg debugcvsps reads the CVS rlog for current directory (or any\n"
 "    named directory) in the CVS repository, and converts the log to a\n"
 "    series of changesets based on matching commit log entries and\n"
@@ -1274,9 +1605,7 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr ""
 
-msgid ""
-"warning: lightweight checkouts may cause conversion failures, try with a "
-"regular branch instead.\n"
+msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
 msgstr ""
 
 msgid "bzr source type could not be determined\n"
@@ -1388,8 +1717,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
 msgstr ""
 
 #, python-format
@@ -1495,8 +1823,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
+msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr ""
 
 #, python-format
@@ -1628,37 +1955,50 @@
 msgid "XXX TAGS NOT IMPLEMENTED YET\n"
 msgstr ""
 
-msgid ""
-"command to allow external programs to compare revisions\n"
-"\n"
+msgid "command to allow external programs to compare revisions"
+msgstr ""
+
+msgid ""
 "The extdiff Mercurial extension allows you to use external programs\n"
 "to compare revisions, or revision with working directory. The external\n"
 "diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
+"files to compare."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
-"\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+msgstr ""
+
+msgid ""
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
 "  cdiff = gdiff -Nprc5\n"
 "  ## or the old way:\n"
 "  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
+"  #opts.cdiff = -Nprc5"
+msgstr ""
+
+msgid ""
 "  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
+"  vdiff = kdiff3"
+msgstr ""
+
+msgid ""
 "  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
+"  meld ="
+msgstr ""
+
+msgid ""
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+msgstr ""
+
+msgid ""
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
 "diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
@@ -1679,18 +2019,23 @@
 msgid "cleaning up temp directory\n"
 msgstr ""
 
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
+msgid "use external program to diff repository (or selected files)"
+msgstr ""
+
+msgid ""
 "    Show differences between revisions for the specified files, using\n"
 "    an external program. The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
+"    default options \"-Npru\"."
+msgstr ""
+
+msgid ""
 "    To select a different program, use the -p/--program option. The\n"
 "    program will be passed the names of two directories to compare. To\n"
 "    pass additional options to the program, use -o/--option. These\n"
-"    will be passed before the names of the directories to compare.\n"
-"\n"
+"    will be passed before the names of the directories to compare."
+msgstr ""
+
+msgid ""
 "    When two revision arguments are given, then changes are shown\n"
 "    between those revisions. If only one revision is specified then\n"
 "    that revision is compared to the working directory, and, when no\n"
@@ -1711,17 +2056,20 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"use %(path)s to diff repository (or selected files)\n"
-"\n"
+msgid "use %(path)s to diff repository (or selected files)"
+msgstr ""
+
+#, python-format
+msgid ""
 "    Show differences between revisions for the specified files, using the\n"
-"    %(path)s program.\n"
-"\n"
+"    %(path)s program."
+msgstr ""
+
+#, python-format
+msgid ""
 "    When two revision arguments are given, then changes are shown between\n"
-"    those revisions. If only one revision is specified then that revision "
-"is\n"
-"    compared to the working directory, and, when no revisions are "
-"specified,\n"
+"    those revisions. If only one revision is specified then that revision is\n"
+"    compared to the working directory, and, when no revisions are specified,\n"
 "    the working directory files are compared to its parent."
 msgstr ""
 
@@ -1732,28 +2080,34 @@
 msgid "pull, update and merge in one command"
 msgstr ""
 
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
+msgid "pull changes from a remote repository, merge new changes if needed."
+msgstr ""
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
+"    or URL and adds them to the local repository."
+msgstr ""
+
+msgid ""
 "    If the pulled changes add a new branch head, the head is\n"
 "    automatically merged, and the result of the merge is committed.\n"
 "    Otherwise, the working directory is updated to include the new\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    When a merge occurs, the newly pulled changes are assumed to be\n"
 "    \"authoritative\". The head of the new changes is used as the first\n"
 "    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
+"    order, use --switch-parent."
+msgstr ""
+
+msgid ""
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
 
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
 msgstr ""
 
 msgid "outstanding uncommitted merge"
@@ -1765,23 +2119,18 @@
 msgid "working directory is missing some files"
 msgstr ""
 
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
 msgstr ""
 
 #, python-format
 msgid "pulling from %s\n"
 msgstr ""
 
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-
-#, python-format
-msgid ""
-"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
-"\" to merge them)\n"
+msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
+msgstr ""
+
+#, python-format
+msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
 msgstr ""
 
 #, python-format
@@ -1843,14 +2192,12 @@
 msgid "No valid signature for %s\n"
 msgstr ""
 
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
+msgid "add a signature for the current or given revision"
+msgstr ""
+
+msgid ""
 "    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    or tip if no revision is checked out."
 msgstr ""
 
 msgid "uncommitted merge - please provide a specific revision"
@@ -1859,9 +2206,7 @@
 msgid "Error while signing"
 msgstr ""
 
-msgid ""
-"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
-"force)"
+msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
 msgstr ""
 
 msgid "unknown signature version"
@@ -1891,9 +2236,10 @@
 msgid "hg sigs"
 msgstr ""
 
-msgid ""
-"command to view revision graphs from a shell\n"
-"\n"
+msgid "command to view revision graphs from a shell"
+msgstr ""
+
+msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
 "revision graph is also shown.\n"
@@ -1903,12 +2249,15 @@
 msgid "--graph option is incompatible with --%s"
 msgstr ""
 
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
+msgid "show revision history alongside an ASCII revision graph"
+msgstr ""
+
+msgid ""
 "    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
+"    ASCII characters."
+msgstr ""
+
+msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
 "    directory.\n"
 "    "
@@ -1936,12 +2285,15 @@
 msgid "hg glog [OPTION]... [FILE]"
 msgstr ""
 
-msgid ""
-"hooks for integrating with the CIA.vc notification service\n"
-"\n"
+msgid "hooks for integrating with the CIA.vc notification service"
+msgstr ""
+
+msgid ""
 "This is meant to be run as a changegroup or incoming hook. To\n"
-"configure it, set the following options in your hgrc::\n"
-"\n"
+"configure it, set the following options in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [cia]\n"
 "  # your registered CIA user name\n"
 "  user = foo\n"
@@ -1961,13 +2313,17 @@
 "  # Make sure to set email.from if you do this.\n"
 "  #url = http://cia.vc/\n"
 "  # print message instead of sending it (optional)\n"
-"  #test = False\n"
-"\n"
+"  #test = False"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one of these:\n"
 "  changegroup.cia = python:hgcia.hook\n"
-"  #incoming.cia = python:hgcia.hook\n"
-"\n"
+"  #incoming.cia = python:hgcia.hook"
+msgstr ""
+
+msgid ""
 "  [web]\n"
 "  # If you want hyperlinks (optional)\n"
 "  baseurl = http://server/path/to/repo\n"
@@ -1980,32 +2336,45 @@
 msgid "email.from must be defined when sending by email"
 msgstr ""
 
-msgid ""
-"browse the repository in a graphical way\n"
-"\n"
+msgid "browse the repository in a graphical way"
+msgstr ""
+
+msgid ""
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
-"distributed with Mercurial.)\n"
-"\n"
+"distributed with Mercurial.)"
+msgstr ""
+
+msgid ""
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
 "querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
 "the contrib directory, and the extension is shipped in the hgext\n"
-"repository, and needs to be enabled.\n"
-"\n"
+"repository, and needs to be enabled."
+msgstr ""
+
+msgid ""
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::\n"
-"\n"
+"the path to hgk in your .hgrc file::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
+"  path=/location/of/hgk"
+msgstr ""
+
+msgid ""
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add::\n"
-"\n"
+"Assuming you had already configured extdiff vdiff command, just add::"
+msgstr ""
+
+msgid ""
 "  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
+"  vdiff=vdiff"
+msgstr ""
+
+msgid ""
 "Revisions context menu will now display additional entries to fire\n"
 "vdiff on hovered and selected revisions.\n"
 msgstr ""
@@ -2091,18 +2460,23 @@
 msgid "hg debug-rev-list [OPTION]... REV..."
 msgstr ""
 
-msgid ""
-"syntax highlighting for hgweb (requires Pygments)\n"
-"\n"
+msgid "syntax highlighting for hgweb (requires Pygments)"
+msgstr ""
+
+msgid ""
 "It depends on the Pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"There is a single configuration option::\n"
-"\n"
+"http://pygments.org/"
+msgstr ""
+
+msgid "There is a single configuration option::"
+msgstr ""
+
+msgid ""
 "  [web]\n"
-"  pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
+"  pygments_style = <style>"
+msgstr ""
+
+msgid "The default is 'colorful'.\n"
 msgstr ""
 
 msgid "accelerate status report using Linux's inotify service"
@@ -2111,9 +2485,10 @@
 msgid "start an inotify server for this repository"
 msgstr ""
 
-msgid ""
-"debugging information for inotify extension\n"
-"\n"
+msgid "debugging information for inotify extension"
+msgstr ""
+
+msgid ""
 "    Prints the list of directories being watched by the inotify server.\n"
 "    "
 msgstr ""
@@ -2269,20 +2644,24 @@
 msgid "finished setup\n"
 msgstr ""
 
-msgid ""
-"expand expressions into changelog and summaries\n"
-"\n"
+msgid "expand expressions into changelog and summaries"
+msgstr ""
+
+msgid ""
 "This extension allows the use of a special syntax in summaries, which\n"
 "will be automatically expanded into links or any other arbitrary\n"
-"expression, much like InterWiki does.\n"
-"\n"
+"expression, much like InterWiki does."
+msgstr ""
+
+msgid ""
 "A few example patterns (link to bug tracking, etc.) that may be used\n"
-"in your hgrc::\n"
-"\n"
+"in your hgrc::"
+msgstr ""
+
+msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
-"i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
@@ -2294,52 +2673,76 @@
 msgid "interhg: invalid regexp for %s: %s\n"
 msgstr ""
 
-msgid ""
-"expand keywords in tracked files\n"
-"\n"
+msgid "expand keywords in tracked files"
+msgstr ""
+
+msgid ""
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
-"tracked text files selected by your configuration.\n"
-"\n"
+"tracked text files selected by your configuration."
+msgstr ""
+
+msgid ""
 "Keywords are only expanded in local repositories and not stored in the\n"
 "change history. The mechanism can be regarded as a convenience for the\n"
-"current user or for archive distribution.\n"
-"\n"
+"current user or for archive distribution."
+msgstr ""
+
+msgid ""
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files.\n"
-"\n"
-"Example::\n"
-"\n"
+"hgrc files."
+msgstr ""
+
+msgid "Example::"
+msgstr ""
+
+msgid ""
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
-"    x*    = ignore\n"
-"\n"
+"    x*    = ignore"
+msgstr ""
+
+msgid ""
 "NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories.\n"
-"\n"
+"lose speed in huge repositories."
+msgstr ""
+
+msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
 "control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
-"available templates and filters.\n"
-"\n"
+"available templates and filters."
+msgstr ""
+
+msgid ""
 "An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\".\n"
-"\n"
+"returns a date like \"2006/09/18 15:13:13\"."
+msgstr ""
+
+msgid ""
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes.\n"
-"\n"
+"kwdemo\" to control the results of your config changes."
+msgstr ""
+
+msgid ""
 "Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
-"history.\n"
-"\n"
+"history."
+msgstr ""
+
+msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
+"\"hg kwexpand\"."
+msgstr ""
+
+msgid ""
 "Also, when committing with the record extension or using mq's qrecord,\n"
 "be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
 "the files in question to update keyword expansions after all changes\n"
-"have been checked in.\n"
-"\n"
+"have been checked in."
+msgstr ""
+
+msgid ""
 "Expansions spanning more than one line and incremental expansions,\n"
 "like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
 "{desc}\" expands to the first line of the changeset description.\n"
@@ -2359,17 +2762,23 @@
 msgid "no [keyword] patterns configured"
 msgstr ""
 
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
+msgid "print [keywordmaps] configuration and an expansion example"
+msgstr ""
+
+msgid ""
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansions.\n"
-"\n"
+"    expansions."
+msgstr ""
+
+msgid ""
 "    Extend the current configuration by specifying maps as arguments\n"
-"    and using -f/--rcfile to source an external hgrc file.\n"
-"\n"
-"    Use -d/--default to disable current configuration.\n"
-"\n"
+"    and using -f/--rcfile to source an external hgrc file."
+msgstr ""
+
+msgid "    Use -d/--default to disable current configuration."
+msgstr ""
+
+msgid ""
 "    See \"hg help templates\" for information on templates and filters.\n"
 "    "
 msgstr ""
@@ -2416,31 +2825,42 @@
 "\tkeywords expanded\n"
 msgstr ""
 
-msgid ""
-"expand keywords in the working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
+msgid "expand keywords in the working directory"
+msgstr ""
+
+msgid "    Run after (re)enabling keyword expansion."
+msgstr ""
+
+msgid ""
 "    kwexpand refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
 
-msgid ""
-"show files configured for keyword expansion\n"
-"\n"
+msgid "show files configured for keyword expansion"
+msgstr ""
+
+msgid ""
 "    List which files in the working directory are matched by the\n"
-"    [keyword] configuration patterns.\n"
-"\n"
+"    [keyword] configuration patterns."
+msgstr ""
+
+msgid ""
 "    Useful to prevent inadvertent keyword expansion and to speed up\n"
 "    execution by including only files that are actual candidates for\n"
-"    expansion.\n"
-"\n"
+"    expansion."
+msgstr ""
+
+msgid ""
 "    See \"hg help keyword\" on how to construct patterns both for\n"
-"    inclusion and exclusion of files.\n"
-"\n"
+"    inclusion and exclusion of files."
+msgstr ""
+
+msgid ""
 "    With -A/--all and -v/--verbose the codes used to show the status\n"
-"    of files are::\n"
-"\n"
+"    of files are::"
+msgstr ""
+
+msgid ""
 "      K = keyword expansion candidate\n"
 "      k = keyword expansion candidate (not tracked)\n"
 "      I = ignored\n"
@@ -2448,12 +2868,15 @@
 "    "
 msgstr ""
 
-msgid ""
-"revert expanded keywords in the working directory\n"
-"\n"
+msgid "revert expanded keywords in the working directory"
+msgstr ""
+
+msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\".\n"
-"\n"
+"    problems with \"hg import\" or \"hg merge\"."
+msgstr ""
+
+msgid ""
 "    kwshrink refuses to run if given files contain local changes.\n"
 "    "
 msgstr ""
@@ -2491,25 +2914,35 @@
 msgid "hg kwshrink [OPTION]... [FILE]..."
 msgstr ""
 
-msgid ""
-"manage a stack of patches\n"
-"\n"
+msgid "manage a stack of patches"
+msgstr ""
+
+msgid ""
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
+"applied patches (subset of known patches)."
+msgstr ""
+
+msgid ""
 "Known patches are represented as patch files in the .hg/patches\n"
-"directory. Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details)::\n"
-"\n"
+"directory. Applied patches are both patch files and changesets."
+msgstr ""
+
+msgid "Common tasks (use \"hg help command\" for more details)::"
+msgstr ""
+
+msgid ""
 "  prepare repository to work with patches   qinit\n"
 "  create new patch                          qnew\n"
-"  import existing patch                     qimport\n"
-"\n"
+"  import existing patch                     qimport"
+msgstr ""
+
+msgid ""
 "  print patch series                        qseries\n"
-"  print applied patches                     qapplied\n"
-"\n"
+"  print applied patches                     qapplied"
+msgstr ""
+
+msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
 "  refresh contents of top applied patch     qrefresh\n"
@@ -2751,9 +3184,7 @@
 msgid "cannot refresh a revision with children"
 msgstr ""
 
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
+msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
 msgstr ""
 
 msgid "patch queue directory already exists"
@@ -2847,13 +3278,15 @@
 msgid "adding %s to series file\n"
 msgstr ""
 
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, and at least one patch is required. "
-"With\n"
-"    -k/--keep, the patch files are preserved in the patch directory.\n"
-"\n"
+msgid "remove patches from queue"
+msgstr ""
+
+msgid ""
+"    The patches must not be applied, and at least one patch is required. With\n"
+"    -k/--keep, the patch files are preserved in the patch directory."
+msgstr ""
+
+msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
 "    use the qfinish command."
 msgstr ""
@@ -2870,38 +3303,50 @@
 msgid "all patches applied\n"
 msgstr ""
 
-msgid ""
-"import a patch\n"
-"\n"
+msgid "import a patch"
+msgstr ""
+
+msgid ""
 "    The patch is inserted into the series after the last applied\n"
 "    patch. If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
+"    to the series."
+msgstr ""
+
+msgid ""
 "    The patch will have the same name as its source file unless you\n"
-"    give it a new one with -n/--name.\n"
-"\n"
+"    give it a new one with -n/--name."
+msgstr ""
+
+msgid ""
 "    You can register an existing patch inside the patch directory with\n"
-"    the -e/--existing flag.\n"
-"\n"
+"    the -e/--existing flag."
+msgstr ""
+
+msgid ""
 "    With -f/--force, an existing patch of the same name will be\n"
-"    overwritten.\n"
-"\n"
+"    overwritten."
+msgstr ""
+
+msgid ""
 "    An existing changeset may be placed under mq control with -r/--rev\n"
 "    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
 "    With -g/--git, patches imported with --rev will use the git diff\n"
 "    format. See the diffs help topic for information on why this is\n"
 "    important for preserving rename/copy information and permission\n"
-"    changes.\n"
-"\n"
+"    changes."
+msgstr ""
+
+msgid ""
 "    To import a patch from standard input, pass - as the patch file.\n"
 "    When importing from standard input, a patch name must be specified\n"
 "    using the --name flag.\n"
 "    "
 msgstr ""
 
-msgid ""
-"init a new queue repository\n"
-"\n"
+msgid "init a new queue repository"
+msgstr ""
+
+msgid ""
 "    The queue repository is unversioned by default. If\n"
 "    -c/--create-repo is specified, qinit will create a separate nested\n"
 "    repository for patches (qinit -c may also be run later to convert\n"
@@ -2909,18 +3354,23 @@
 "    qcommit to commit changes to this queue repository."
 msgstr ""
 
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
+msgid "clone main and patch repository at same time"
+msgstr ""
+
+msgid ""
 "    If source is local, destination will have no patches applied. If\n"
 "    source is remote, this command can not check if patches are\n"
 "    applied in source, so cannot guarantee that patches are not\n"
 "    applied in destination. If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
+"    before that it has no patches applied."
+msgstr ""
+
+msgid ""
 "    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default. Use -p <url> to change.\n"
-"\n"
+"    default. Use -p <url> to change."
+msgstr ""
+
+msgid ""
 "    The patch directory must be a nested Mercurial repository, as\n"
 "    would be created by qinit -c.\n"
 "    "
@@ -2956,25 +3406,32 @@
 msgid "print the name of the previous patch"
 msgstr ""
 
-msgid ""
-"create a new patch\n"
-"\n"
+msgid "create a new patch"
+msgstr ""
+
+msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
 "    any). It will refuse to run if there are any outstanding changes\n"
 "    unless -f/--force is specified, in which case the patch will be\n"
 "    initialized with them. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
-"    as uncommitted modifications.\n"
-"\n"
+"    as uncommitted modifications."
+msgstr ""
+
+msgid ""
 "    -u/--user and -d/--date can be used to set the (given) user and\n"
 "    date, respectively. -U/--currentuser and -D/--currentdate set user\n"
-"    to current user and date to current date.\n"
-"\n"
+"    to current user and date to current date."
+msgstr ""
+
+msgid ""
 "    -e/--edit, -m/--message or -l/--logfile set the patch header as\n"
 "    well as the commit message. If none is specified, the header is\n"
-"    empty and the commit message is '[mq]: PATCH'.\n"
-"\n"
+"    empty and the commit message is '[mq]: PATCH'."
+msgstr ""
+
+msgid ""
 "    Use the -g/--git option to keep the patch in the git extended diff\n"
 "    format. Read the diffs help topic for more information on why this\n"
 "    is important for preserving permission changes and copy/rename\n"
@@ -2982,16 +3439,21 @@
 "    "
 msgstr ""
 
-msgid ""
-"update the current patch\n"
-"\n"
+msgid "update the current patch"
+msgstr ""
+
+msgid ""
 "    If any file patterns are provided, the refreshed patch will\n"
 "    contain only the modifications that match those patterns; the\n"
-"    remaining modifications will remain in the working directory.\n"
-"\n"
+"    remaining modifications will remain in the working directory."
+msgstr ""
+
+msgid ""
 "    If -s/--short is specified, files currently included in the patch\n"
-"    will be refreshed just like matched files and remain in the patch.\n"
-"\n"
+"    will be refreshed just like matched files and remain in the patch."
+msgstr ""
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
@@ -3002,14 +3464,17 @@
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
 msgstr ""
 
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
+msgid "diff of the current patch and subsequent modifications"
+msgstr ""
+
+msgid ""
 "    Shows a diff which includes the current patch as well as any\n"
 "    changes which have been made in the working directory since the\n"
 "    last refresh (thus showing what the current patch would become\n"
-"    after a qrefresh).\n"
-"\n"
+"    after a qrefresh)."
+msgstr ""
+
+msgid ""
 "    Use 'hg diff' if you only want to see the changes made since the\n"
 "    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
 "    by the current patch without including changes made since the\n"
@@ -3017,16 +3482,19 @@
 "    "
 msgstr ""
 
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
+msgid "fold the named patches into the current patch"
+msgstr ""
+
+msgid ""
 "    Patches must not yet be applied. Each patch will be successively\n"
 "    applied to the current patch in the order given. If all the\n"
 "    patches apply successfully, the current patch will be refreshed\n"
 "    with the new cumulative patch, and the folded patches will be\n"
 "    deleted. With -k/--keep, the folded patch files will not be\n"
-"    removed afterwards.\n"
-"\n"
+"    removed afterwards."
+msgstr ""
+
+msgid ""
 "    The header for each folded patch will be concatenated with the\n"
 "    current patch header, separated by a line of '* * *'."
 msgstr ""
@@ -3052,19 +3520,24 @@
 msgid "push or pop patches until named patch is at top of stack"
 msgstr ""
 
-msgid ""
-"set or print guards for a patch\n"
-"\n"
+msgid "set or print guards for a patch"
+msgstr ""
+
+msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
 "    pushed only if the qselect command has activated it. A patch with\n"
 "    a negative guard (\"-foo\") is never pushed if the qselect command\n"
-"    has activated it.\n"
-"\n"
+"    has activated it."
+msgstr ""
+
+msgid ""
 "    With no arguments, print the currently active guards.\n"
 "    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
+"    NOTE: Specifying negative guards now requires '--'."
+msgstr ""
+
+msgid ""
 "    To set guards on another patch:\n"
 "      hg qguard -- other.patch +2.6.17 -stable\n"
 "    "
@@ -3083,9 +3556,10 @@
 msgid "print the header of the topmost or specified patch"
 msgstr ""
 
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
+msgid "push the next patch onto the stack"
+msgstr ""
+
+msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
 "    will be lost.\n"
 "    "
@@ -3098,9 +3572,10 @@
 msgid "merging with queue at: %s\n"
 msgstr ""
 
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
+msgid "pop the current patch off the stack"
+msgstr ""
+
+msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
 "    top of the stack.\n"
@@ -3111,9 +3586,10 @@
 msgid "using patch queue: %s\n"
 msgstr ""
 
-msgid ""
-"rename a patch\n"
-"\n"
+msgid "rename a patch"
+msgstr ""
+
+msgid ""
 "    With one argument, renames the current patch to PATCH1.\n"
 "    With two arguments, renames PATCH1 to PATCH2."
 msgstr ""
@@ -3144,45 +3620,59 @@
 msgid "copy %s to %s\n"
 msgstr ""
 
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
+msgid "strip a revision and all its descendants from the repository"
+msgstr ""
+
+msgid ""
 "    If one of the working directory's parent revisions is stripped, the\n"
 "    working directory will be updated to the parent of the stripped\n"
 "    revision.\n"
 "    "
 msgstr ""
 
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
+msgid "set or print guarded patches to push"
+msgstr ""
+
+msgid ""
 "    Use the qguard command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example:\n"
-"\n"
+"    match the current guard. For example:"
+msgstr ""
+
+msgid ""
 "        qguard foo.patch -stable    (negative guard)\n"
 "        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
+"        qselect stable"
+msgstr ""
+
+msgid ""
 "    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
 "    it has a negative match) but push bar.patch (because it has a\n"
-"    positive match).\n"
-"\n"
+"    positive match)."
+msgstr ""
+
+msgid ""
 "    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
+"    With one argument, sets the active guard."
+msgstr ""
+
+msgid ""
 "    Use -n/--none to deactivate guards (no other arguments needed).\n"
 "    When no guards are active, patches with positive guards are\n"
-"    skipped and patches with negative guards are pushed.\n"
-"\n"
+"    skipped and patches with negative guards are pushed."
+msgstr ""
+
+msgid ""
 "    qselect can change the guards on applied patches. It does not pop\n"
 "    guarded patches by default. Use --pop to pop back to the last\n"
 "    applied patch that is not guarded. Use --reapply (which implies\n"
 "    --pop) to push back to the current patch afterwards, but skip\n"
-"    guarded patches.\n"
-"\n"
+"    guarded patches."
+msgstr ""
+
+msgid ""
 "    Use -s/--series to print a list of all guards in the series file\n"
 "    (no other arguments needed). Use -v for more information."
 msgstr ""
@@ -3216,18 +3706,23 @@
 msgid "reapplying unguarded patches\n"
 msgstr ""
 
-msgid ""
-"move applied patches into repository history\n"
-"\n"
+msgid "move applied patches into repository history"
+msgstr ""
+
+msgid ""
 "    Finishes the specified revisions (corresponding to applied\n"
 "    patches) by moving them out of mq control into regular repository\n"
-"    history.\n"
-"\n"
+"    history."
+msgstr ""
+
+msgid ""
 "    Accepts a revision range or the -a/--applied option. If --applied\n"
 "    is specified, all applied mq revisions are removed from mq\n"
 "    control. Otherwise, the given revisions must be at the base of the\n"
-"    stack of applied patches.\n"
-"\n"
+"    stack of applied patches."
+msgstr ""
+
+msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
 "    to upstream.\n"
@@ -3494,33 +3989,47 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr ""
 
-msgid ""
-"hooks for sending email notifications at commit/push time\n"
-"\n"
+msgid "hooks for sending email notifications at commit/push time"
+msgstr ""
+
+msgid ""
 "Subscriptions can be managed through a hgrc file. Default mode is to\n"
-"print messages to stdout, for testing and configuring.\n"
-"\n"
+"print messages to stdout, for testing and configuring."
+msgstr ""
+
+msgid ""
 "To use, configure the notify extension and enable it in hgrc like\n"
-"this::\n"
-"\n"
+"this::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
-"  notify =\n"
-"\n"
+"  notify ="
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  # one email for each incoming changeset\n"
 "  incoming.notify = python:hgext.notify.hook\n"
 "  # batch emails when many changesets incoming at one time\n"
-"  changegroup.notify = python:hgext.notify.hook\n"
-"\n"
+"  changegroup.notify = python:hgext.notify.hook"
+msgstr ""
+
+msgid ""
 "  [notify]\n"
-"  # config items go here\n"
-"\n"
-"Required configuration items::\n"
-"\n"
-"  config = /path/to/file # file containing subscriptions\n"
-"\n"
-"Optional configuration items::\n"
-"\n"
+"  # config items go here"
+msgstr ""
+
+msgid "Required configuration items::"
+msgstr ""
+
+msgid "  config = /path/to/file # file containing subscriptions"
+msgstr ""
+
+msgid "Optional configuration items::"
+msgstr ""
+
+msgid ""
 "  test = True            # print messages to stdout for testing\n"
 "  strip = 3              # number of slashes to strip for url paths\n"
 "  domain = example.com   # domain to use if committer missing domain\n"
@@ -3531,31 +4040,40 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
 "  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
-"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits"
+msgstr ""
+
+msgid ""
 "The notify config file has same format as a regular hgrc file. It has\n"
 "two sections so you can express subscriptions in whatever way is\n"
-"handier for you.\n"
-"\n"
-"::\n"
-"\n"
+"handier for you."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"  user@host = pattern\n"
-"\n"
+"  user@host = pattern"
+msgstr ""
+
+msgid ""
 "  [reposubs]\n"
 "  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"  pattern = user@host\n"
-"\n"
-"Glob patterns are matched against path to repository root.\n"
-"\n"
+"  pattern = user@host"
+msgstr ""
+
+msgid "Glob patterns are matched against path to repository root."
+msgstr ""
+
+msgid ""
 "If you like, you can put notify config file in repository that users\n"
 "can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
@@ -3571,134 +4089,183 @@
 #, python-format
 msgid ""
 "\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"diffs (%d lines):\n"
-"\n"
+"diffs (truncated from %d to %d lines):"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"diffs (%d lines):"
 msgstr ""
 
 #, python-format
 msgid "notify: suppressing notification for merge %d:%s\n"
 msgstr ""
 
-msgid ""
-"browse command output with an external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable::\n"
-"\n"
+msgid "browse command output with an external pager"
+msgstr ""
+
+msgid "To set the pager that should be used, set the application variable::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
+"  pager = LESS='FSRX' less"
+msgstr ""
+
+msgid ""
 "If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
-"\n"
+"$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used."
+msgstr ""
+
+msgid ""
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting::\n"
-"\n"
+"setting::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  quiet = True\n"
-"\n"
+"  quiet = True"
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list::\n"
-"\n"
+"pager.ignore list::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
+"  ignore = version, help, update"
+msgstr ""
+
+msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend::\n"
-"\n"
+"pager.attend::"
+msgstr ""
+
+msgid ""
 "  [pager]\n"
-"  attend = log\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
+"  attend = log"
+msgstr ""
+
+msgid "If pager.attend is present, pager.ignore will be ignored."
+msgstr ""
+
+msgid ""
 "To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
 "specify them in the global .hgrc\n"
 msgstr ""
 
-msgid ""
-"interpret suffixes to refer to ancestor revisions\n"
-"\n"
+msgid "interpret suffixes to refer to ancestor revisions"
+msgstr ""
+
+msgid ""
 "This extension allows you to use git-style suffixes to refer to the\n"
-"ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then::\n"
-"\n"
+"ancestors of a specific revision."
+msgstr ""
+
+msgid "For example, if you can refer to a revision as \"foo\", then::"
+msgstr ""
+
+msgid ""
 "  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
+"  foo^  = foo^1"
+msgstr ""
+
+msgid ""
 "  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
 
-msgid ""
-"command to send changesets as (a series of) patch emails\n"
-"\n"
+msgid "command to send changesets as (a series of) patch emails"
+msgstr ""
+
+msgid ""
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
-"describes the series as a whole.\n"
-"\n"
+"describes the series as a whole."
+msgstr ""
+
+msgid ""
 "Each patch email has a Subject line of \"[PATCH M of N] ...\", using the\n"
 "first line of the changeset description as the subject text. The\n"
-"message contains two or three body parts:\n"
-"\n"
+"message contains two or three body parts:"
+msgstr ""
+
+msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\".\n"
-"\n"
+"- The patch itself, as generated by \"hg export\"."
+msgstr ""
+
+msgid ""
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
-"mail and news readers, and in mail archives.\n"
-"\n"
+"mail and news readers, and in mail archives."
+msgstr ""
+
+msgid ""
 "With the -d/--diffstat option, you will be prompted for each changeset\n"
 "with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes.\n"
-"\n"
+"you are sending the right changes."
+msgstr ""
+
+msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
-"file::\n"
-"\n"
+"file::"
+msgstr ""
+
+msgid ""
 "  [email]\n"
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
+"  bcc = bcc1, bcc2, ..."
+msgstr ""
+
+msgid ""
 "Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
+"as a patchbomb."
+msgstr ""
+
+msgid ""
 "To avoid sending patches prematurely, it is a good idea to first run\n"
 "the \"email\" command with the \"-n\" option (test only). You will be\n"
 "prompted for an email recipient address, a subject and an introductory\n"
 "message describing the patches of your patchbomb. Then when all is\n"
 "done, patchbomb messages are displayed. If the PAGER environment\n"
 "variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright.\n"
-"\n"
+"message, so you can verify everything is alright."
+msgstr ""
+
+msgid ""
 "The -m/--mbox option is also very useful. Instead of previewing each\n"
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
+"files, e.g. with mutt::"
+msgstr ""
+
+msgid "  % mutt -R -f mbox"
+msgstr ""
+
+msgid ""
 "When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
+"package), to send each message out::"
+msgstr ""
+
+msgid "  % formail -s sendmail -bm -t < mbox"
+msgstr ""
+
+msgid "That should be all. Now your patchbomb is on its way out."
+msgstr ""
+
+msgid ""
 "You can also either configure the method option in the email section\n"
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
@@ -3719,53 +4286,66 @@
 msgid "diffstat rejected"
 msgstr ""
 
-msgid ""
-"send changesets by email\n"
-"\n"
+msgid "send changesets by email"
+msgstr ""
+
+msgid ""
 "    By default, diffs are sent in the format generated by hg export,\n"
 "    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole.\n"
-"\n"
+"    introduction, which describes the series as a whole."
+msgstr ""
+
+msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
 "    description. Next, (optionally) if the diffstat program is\n"
 "    installed and -d/--diffstat is used, the result of running\n"
 "    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\".\n"
-"\n"
+"    \"hg export\"."
+msgstr ""
+
+msgid ""
 "    By default the patch is included as text in the email body for\n"
 "    easy reviewing. Using the -a/--attach option will instead create\n"
 "    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created.\n"
-"\n"
+"    will be created."
+msgstr ""
+
+msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
 "    in the destination repository (or only those which are ancestors\n"
-"    of the specified revisions if any are provided)\n"
-"\n"
+"    of the specified revisions if any are provided)"
+msgstr ""
+
+msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent.\n"
-"\n"
-"    Examples::\n"
-"\n"
+"    will be sent."
+msgstr ""
+
+msgid ""
 "      hg email -r 3000          # send patch 3000 only\n"
 "      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
 "      hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"      hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
+"      hg email 3000             # send patch 3000 (deprecated)"
+msgstr ""
+
+msgid ""
 "      hg email -o               # send all patches not in default\n"
 "      hg email -o DEST          # send all patches not in DEST\n"
 "      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
-"default\n"
-"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
-"DEST\n"
-"\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
+msgstr ""
+
+msgid ""
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
 "    "
@@ -3785,14 +4365,11 @@
 
 msgid ""
 "\n"
-"Write the introductory message for the patch series.\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
+"Write the introductory message for the patch series."
+msgstr ""
+
+#, python-format
+msgid "This patch series consists of %d patches."
 msgstr ""
 
 msgid "Final summary:\n"
@@ -3879,27 +4456,38 @@
 msgid "command to delete untracked files from the working directory"
 msgstr ""
 
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
+msgid "removes files not tracked by Mercurial"
+msgstr ""
+
+msgid ""
 "    Delete files not known to Mercurial. This is useful to test local\n"
-"    and uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"\n"
+"    and uncommitted changes in an otherwise-clean source tree."
+msgstr ""
+
+msgid "    This means that purge will delete:"
+msgstr ""
+
+msgid ""
 "    - Unknown files: files marked with \"?\" by \"hg status\"\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
-"      they contain files under source control management\n"
-"\n"
-"    But it will leave untouched:\n"
-"\n"
+"      they contain files under source control management"
+msgstr ""
+
+msgid "    But it will leave untouched:"
+msgstr ""
+
+msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")\n"
-"\n"
+"    - New files added to the repository (with \"hg add\")"
+msgstr ""
+
+msgid ""
 "    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
+"    directories are considered."
+msgstr ""
+
+msgid ""
 "    Be careful with purge, as you could irreversibly delete some files\n"
 "    you forgot to add to the repository. If you only want to print the\n"
 "    list of files that this program would delete, use the --print\n"
@@ -3938,23 +4526,29 @@
 msgid "hg purge [OPTION]... [DIR]..."
 msgstr ""
 
-msgid ""
-"command to move sets of revisions to a different ancestor\n"
-"\n"
+msgid "command to move sets of revisions to a different ancestor"
+msgstr ""
+
+msgid ""
 "This extension lets you rebase changesets in an existing Mercurial\n"
-"repository.\n"
-"\n"
+"repository."
+msgstr ""
+
+msgid ""
 "For more information:\n"
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
 
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
+msgid "move changeset (and descendants) to a different branch"
+msgstr ""
+
+msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
 "    history onto another. This can be useful for linearizing local\n"
-"    changes relative to a master development tree.\n"
-"\n"
+"    changes relative to a master development tree."
+msgstr ""
+
+msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a.\n"
 "    "
@@ -4050,9 +4644,7 @@
 msgid "abort an interrupted rebase"
 msgstr ""
 
-msgid ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] "
-"| [-c] | [-a]"
+msgid "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | [-c] | [-a]"
 msgstr ""
 
 msgid "commands to interactively select changes for commit/qrefresh"
@@ -4119,30 +4711,41 @@
 msgid "record change %d/%d to %r?"
 msgstr ""
 
-msgid ""
-"interactively select changes to commit\n"
-"\n"
+msgid "interactively select changes to commit"
+msgstr ""
+
+msgid ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    will be candidates for recording."
+msgstr ""
+
+msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible::\n"
-"\n"
+"    possible::"
+msgstr ""
+
+msgid ""
 "      y - record this change\n"
-"      n - skip this change\n"
-"\n"
+"      n - skip this change"
+msgstr ""
+
+msgid ""
 "      s - skip remaining changes to this file\n"
-"      f - record remaining changes to this file\n"
-"\n"
+"      f - record remaining changes to this file"
+msgstr ""
+
+msgid ""
 "      d - done, skip remaining changes and files\n"
 "      a - record all changes to all remaining files\n"
-"      q - quit, recording no changes\n"
-"\n"
-"      ? - display help"
+"      q - quit, recording no changes"
+msgstr ""
+
+msgid "      ? - display help"
 msgstr ""
 
 msgid "'mq' extension not loaded"
@@ -4166,12 +4769,15 @@
 msgid "share a common history between several working directories"
 msgstr ""
 
-msgid ""
-"create a new shared repository (experimental)\n"
-"\n"
+msgid "create a new shared repository (experimental)"
+msgstr ""
+
+msgid ""
 "    Initialize a new repository and working directory that shares its\n"
-"    history with another repository.\n"
-"\n"
+"    history with another repository."
+msgstr ""
+
+msgid ""
 "    NOTE: actions that change history such as rollback or moving the\n"
 "    source may confuse sharers.\n"
 "    "
@@ -4183,11 +4789,13 @@
 msgid "[-U] SOURCE [DEST]"
 msgstr ""
 
-msgid ""
-"command to transplant changesets from another branch\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
+msgid "command to transplant changesets from another branch"
+msgstr ""
+
+msgid "This extension allows you to transplant patches from another branch."
+msgstr ""
+
+msgid ""
 "Transplanted patches are recorded in .hg/transplant/transplants, as a\n"
 "map from a changeset hash to its hash in the source repository.\n"
 msgstr ""
@@ -4242,38 +4850,52 @@
 msgid "apply changeset? [ynmpcq?]:"
 msgstr ""
 
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
+msgid "transplant changesets from another branch"
+msgstr ""
+
+msgid ""
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form::\n"
-"\n"
-"      (transplanted from CHANGESETHASH)\n"
-"\n"
+"    specified, log messages will have a comment appended of the form::"
+msgstr ""
+
+msgid "      (transplanted from CHANGESETHASH)"
+msgstr ""
+
+msgid ""
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
-"    $1 and the patch as $2.\n"
-"\n"
+"    $1 and the patch as $2."
+msgstr ""
+
+msgid ""
 "    If --source/-s is specified, selects changesets from the named\n"
 "    repository. If --branch/-b is specified, selects changesets from\n"
 "    the branch holding the named revision, up to that revision. If\n"
 "    --all/-a is specified, all changesets on the branch will be\n"
 "    transplanted, otherwise you will be prompted to select the\n"
-"    changesets you want.\n"
-"\n"
+"    changesets you want."
+msgstr ""
+
+msgid ""
 "    hg transplant --branch REVISION --all will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
-"    directory.\n"
-"\n"
+"    directory."
+msgstr ""
+
+msgid ""
 "    You can optionally mark selected transplanted changesets as merge\n"
 "    changesets. You will not be prompted to transplant any ancestors\n"
 "    of a merged transplant, and you can merge descendants of them\n"
-"    normally instead of transplanting them.\n"
-"\n"
+"    normally instead of transplanting them."
+msgstr ""
+
+msgid ""
 "    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
+"    an interactive changeset browser."
+msgstr ""
+
+msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
 "    and then resume where you left off by calling hg transplant\n"
 "    --continue/-c.\n"
@@ -4325,38 +4947,49 @@
 msgid "filter changesets through FILTER"
 msgstr ""
 
-msgid ""
-"hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
-msgstr ""
-
-msgid ""
-"allow the use of MBCS paths with problematic encodings\n"
-"\n"
+msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgstr ""
+
+msgid "allow the use of MBCS paths with problematic encodings"
+msgstr ""
+
+msgid ""
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
 "such a encoding (i.e. shift_jis and big5) as \"problematic encoding\".\n"
 "This extension can be used to fix the issue with those encodings by\n"
 "wrapping some functions to convert to Unicode string before path\n"
-"operation.\n"
-"\n"
-"This extension is useful for:\n"
-"\n"
+"operation."
+msgstr ""
+
+msgid "This extension is useful for:"
+msgstr ""
+
+msgid ""
 "- Japanese Windows users using shift_jis encoding.\n"
 "- Chinese Windows users using big5 encoding.\n"
 "- All users who use a repository with one of problematic encodings on\n"
-"  case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-"\n"
+"  case-insensitive file system."
+msgstr ""
+
+msgid "This extension is not needed for:"
+msgstr ""
+
+msgid ""
 "- Any user who use only ASCII chars in path.\n"
-"- Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-"\n"
+"- Any user who do not use any of problematic encodings."
+msgstr ""
+
+msgid "Note that there are some limitations on using this extension:"
+msgstr ""
+
+msgid ""
 "- You should use single encoding in one repository.\n"
 "- You should set same encoding for the repository by locale or\n"
-"  HGENCODING.\n"
-"\n"
+"  HGENCODING."
+msgstr ""
+
+msgid ""
 "Path encoding conversion are done between Unicode and\n"
 "encoding.encoding which is decided by Mercurial from current locale\n"
 "setting or HGENCODING.\n"
@@ -4369,31 +5002,41 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr ""
 
-msgid ""
-"perform automatic newline conversion\n"
-"\n"
-"To perform automatic newline conversion, use::\n"
-"\n"
+msgid "perform automatic newline conversion"
+msgstr ""
+
+msgid "To perform automatic newline conversion, use::"
+msgstr ""
+
+msgid ""
 "  [extensions]\n"
 "  win32text =\n"
 "  [encode]\n"
 "  ** = cleverencode:\n"
-"  # or ** = macencode:\n"
-"\n"
+"  # or ** = macencode:"
+msgstr ""
+
+msgid ""
 "  [decode]\n"
 "  ** = cleverdecode:\n"
-"  # or ** = macdecode:\n"
-"\n"
-"If not doing conversion, to make sure you do not commit CRLF/CR by "
-"accident::\n"
-"\n"
+"  # or ** = macdecode:"
+msgstr ""
+
+msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
-"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
-"\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr"
+msgstr ""
+
+msgid ""
 "To do the same check on a server to prevent CRLF/CR from being\n"
-"pushed or pulled::\n"
-"\n"
+"pushed or pulled::"
+msgstr ""
+
+msgid ""
 "  [hooks]\n"
 "  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
 "  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
@@ -4419,13 +5062,21 @@
 msgid ""
 "\n"
 "To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
+"add to Mercurial.ini or .hg/hgrc:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s"
+msgstr ""
+
+#, python-format
+msgid "and also consider adding:"
+msgstr ""
+
+#, python-format
+msgid ""
 "[extensions]\n"
 "win32text =\n"
 "[encode]\n"
@@ -4434,21 +5085,29 @@
 "** = %sdecode:\n"
 msgstr ""
 
-msgid ""
-"discover and advertise repositories on the local network\n"
-"\n"
+msgid "discover and advertise repositories on the local network"
+msgstr ""
+
+msgid ""
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
-"without knowing their actual IP address.\n"
-"\n"
+"without knowing their actual IP address."
+msgstr ""
+
+msgid ""
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::\n"
-"\n"
+"in your repository::"
+msgstr ""
+
+msgid ""
 "  $ cd test\n"
-"  $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
-"\n"
+"  $ hg serve"
+msgstr ""
+
+msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgstr ""
+
+msgid ""
 "  $ hg paths\n"
 "  zc-test = http://example.com:8000/test\n"
 msgstr ""
@@ -4708,39 +5367,54 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
+msgid "add the specified files on the next commit"
+msgstr "æ–°å¢žä¸‹æ¬¡è¦ commit 的檔案"
+
+#, fuzzy
+msgid ""
 "    Schedule files to be version controlled and added to the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr "    新增è¦ç´å…¥ç‰ˆæœ¬æŽ§åˆ¶ä¸¦åŠ åˆ° repository 的檔案。"
+
+#, fuzzy
+msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget.\n"
-"\n"
+"    undo an add before that, see hg forget."
+msgstr ""
+"    這些檔案將於下次 commit 時被加到 repository。\n"
+"    若想è¦å›žåˆ°æ–°å¢žæª”案å‰çš„狀態,請åƒé–± hg revert 命令。"
+
+#, fuzzy
+msgid ""
 "    If no names are given, add all files to the repository.\n"
 "    "
 msgstr ""
-"æ–°å¢žä¸‹æ¬¡è¦ commit 的檔案\n"
-"\n"
-"    新增è¦ç´å…¥ç‰ˆæœ¬æŽ§åˆ¶ä¸¦åŠ åˆ° repository 的檔案。\n"
-"\n"
-"    這些檔案將於下次 commit 時被加到 repository。\n"
-"    若想è¦å›žåˆ°æ–°å¢žæª”案å‰çš„狀態,請åƒé–± hg revert 命令。\n"
-"\n"
 "    如果沒有指定檔案,則會將所有的檔案都標示為加到 repository。\n"
 "    "
 
 #, fuzzy
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
+msgid "add all new files, delete all missing files"
+msgstr "新增所有未å—版本控制的檔案,並刪除所有消失的檔案。"
+
+#, fuzzy
+msgid ""
 "    Add all new files and remove all missing files from the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    新增所有未加到 repository 的檔案,並移除已加到 repository\n"
+"    å»æ¶ˆå¤±çš„檔案。"
+
+#, fuzzy
+msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
-"    commit.\n"
-"\n"
+"    commit."
+msgstr ""
+"    如果新的檔案中檔å有符åˆä»»ä¸€å­˜åœ¨æ–¼ .hgignore 的樣å¼ï¼Œ\n"
+"    å‰‡è©²æª”å°‡è¢«å¿½ç•¥ã€‚å¦‚åŒ add 命令,這些變更將於下次æ交時發生效用。"
+
+#, fuzzy
+msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
@@ -4749,14 +5423,6 @@
 "    can be expensive.\n"
 "    "
 msgstr ""
-"新增所有未å—版本控制的檔案,並刪除所有消失的檔案。\n"
-"\n"
-"    新增所有未加到 repository 的檔案,並移除已加到 repository\n"
-"    å»æ¶ˆå¤±çš„檔案。\n"
-"\n"
-"    如果新的檔案中檔å有符åˆä»»ä¸€å­˜åœ¨æ–¼ .hgignore 的樣å¼ï¼Œ\n"
-"    å‰‡è©²æª”å°‡è¢«å¿½ç•¥ã€‚å¦‚åŒ add 命令,這些變更將於下次æ交時發生效用。\n"
-"\n"
 "    å¯ä½¿ç”¨ -s/--similarity é¸é …去åµæ¸¬æ›´å的檔案。後é¢æŽ¥è‘—的是一個\n"
 "    大於 0 çš„åƒæ•¸ï¼Œå¯ç”¨ä¾†æ¯”å°æ¯å€‹è¢«æ–°å¢žæˆ–移除的檔案,並試圖找出其\n"
 "    æ›´åçš„å¯èƒ½æ€§ã€‚æ­¤é¸é …需è¦æŒ‡å®šä¸€å€‹ä»‹æ–¼ 0 (ä¸ä½¿ç”¨) 至\n"
@@ -4770,29 +5436,30 @@
 msgid "similarity must be between 0 and 100"
 msgstr "similarity åƒæ•¸å¿…須介於 0 至 100"
 
-msgid ""
-"show changeset information by line for each file\n"
-"\n"
+msgid "show changeset information by line for each file"
+msgstr "顯示æ¯å€‹æª”案中æ¯ä¸€è¡Œ changeset 的資訊"
+
+msgid ""
+"    List changes in files, showing the revision id responsible for\n"
+"    each line"
+msgstr ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
+"    each line"
+
+msgid ""
 "    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
+"    by whom."
+msgstr ""
+"    This command is useful for discovering when a change was made and\n"
+"    by whom."
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
 "    nor desirable.\n"
 "    "
 msgstr ""
-"顯示æ¯å€‹æª”案中æ¯ä¸€è¡Œ changeset 的資訊\n"
-"\n"
-"    List changes in files, showing the revision id responsible for\n"
-"    each line\n"
-"\n"
-"    This command is useful for discovering when a change was made and\n"
-"    by whom.\n"
-"\n"
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
@@ -4810,49 +5477,57 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"create an unversioned archive of a repository revision\n"
-"\n"
+msgid "create an unversioned archive of a repository revision"
+msgstr "建立一個沒有版本控制的版本å°å­˜"
+
+#, fuzzy
+msgid ""
+"    By default, the revision used is the parent of the working\n"
+"    directory; use -r/--rev to specify a different revision."
+msgstr ""
 "    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
+"    directory; use -r/--rev to specify a different revision."
+
+#, fuzzy
+msgid ""
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are::\n"
-"\n"
+"    types are::"
+msgstr ""
+"    To specify the type of archive to create, use -t/--type. Valid\n"
+"    types are:"
+
+#, fuzzy
+msgid ""
 "      \"files\" (default): a directory full of files\n"
 "      \"tar\": tar archive, uncompressed\n"
 "      \"tbz2\": tar archive, compressed using bzip2\n"
 "      \"tgz\": tar archive, compressed using gzip\n"
 "      \"uzip\": zip archive, uncompressed\n"
-"      \"zip\": zip archive, compressed using deflate\n"
-"\n"
-"    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
-"    Each member added to an archive file has a directory prefix\n"
-"    prepended. Use -p/--prefix to specify a format string for the\n"
-"    prefix. The default is the basename of the archive, with suffixes\n"
-"    removed.\n"
-"    "
-msgstr ""
-"建立一個沒有版本控制的版本å°å­˜\n"
-"\n"
-"    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision.\n"
-"\n"
-"    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are:\n"
-"\n"
+"      \"zip\": zip archive, compressed using deflate"
+msgstr ""
 "    \"files\" (default): a directory full of files\n"
 "    \"tar\": tar archive, uncompressed\n"
 "    \"tbz2\": tar archive, compressed using bzip2\n"
 "    \"tgz\": tar archive, compressed using gzip\n"
 "    \"uzip\": zip archive, uncompressed\n"
-"    \"zip\": zip archive, compressed using deflate\n"
-"\n"
+"    \"zip\": zip archive, compressed using deflate"
+
+#, fuzzy
+msgid ""
+"    The exact name of the destination archive or directory is given\n"
+"    using a format string; see 'hg help export' for details."
+msgstr ""
 "    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details.\n"
-"\n"
+"    using a format string; see 'hg help export' for details."
+
+#, fuzzy
+msgid ""
+"    Each member added to an archive file has a directory prefix\n"
+"    prepended. Use -p/--prefix to specify a format string for the\n"
+"    prefix. The default is the basename of the archive, with suffixes\n"
+"    removed.\n"
+"    "
+msgstr ""
 "    Each member added to an archive file has a directory prefix\n"
 "    prepended. Use -p/--prefix to specify a format string for the\n"
 "    prefix. The default is the basename of the archive, with suffixes\n"
@@ -4868,40 +5543,35 @@
 msgid "cannot archive plain files to stdout"
 msgstr ""
 
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
+msgid "reverse effect of earlier changeset"
+msgstr "å›žå¾©å…ˆå‰ changeset 所作的變更"
+
+msgid ""
 "    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
+"    changeset is a child of the backed out changeset."
+msgstr ""
+"    Commit the backed out changes as a new changeset. The new\n"
+"    changeset is a child of the backed out changeset."
+
+msgid ""
 "    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    backout changeset with another head."
+msgstr ""
+"    If you backout a changeset other than the tip, a new head is\n"
+"    created. This head will be the new tip and you should merge this\n"
+"    backout changeset with another head."
+
+msgid ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"å›žå¾©å…ˆå‰ changeset 所作的變更\n"
-"\n"
-"    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
-"    If you backout a changeset other than the tip, a new head is\n"
-"    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head.\n"
-"\n"
+"    The result of this merge is not committed, as with a normal merge."
+msgstr ""
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    The result of this merge is not committed, as with a normal merge."
 
 msgid "please specify just one revision"
 msgstr ""
@@ -4939,9 +5609,10 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr ""
 
-msgid ""
-"subdivision search of changesets\n"
-"\n"
+msgid "subdivision search of changesets"
+msgstr "å° changesets 作二分法æœå°‹"
+
+msgid ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -4949,20 +5620,8 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
-"    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
-"    If you supply a command, it will be used for automatic bisection.\n"
-"    Its exit status will be used to mark revisions as good or bad:\n"
-"    status 0 means good, 125 means to skip the revision, 127\n"
-"    (command not found) will abort the bisection, and any other\n"
-"    non-zero exit status means the revision is bad.\n"
-"    "
-msgstr ""
-"å° changesets 作二分法æœå°‹\n"
-"\n"
+"    or announce that it has found the bad revision."
+msgstr ""
 "    This command helps to find changesets which introduce problems. To\n"
 "    use, mark the earliest changeset you know exhibits the problem as\n"
 "    bad, then mark the latest changeset which is free from the problem\n"
@@ -4970,11 +5629,23 @@
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
 "    you have performed tests, mark the working directory as good or\n"
 "    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
+"    or announce that it has found the bad revision."
+
+msgid ""
+"    As a shortcut, you can also use the revision argument to mark a\n"
+"    revision as good or bad without checking it out first."
+msgstr ""
 "    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
+"    revision as good or bad without checking it out first."
+
+msgid ""
+"    If you supply a command, it will be used for automatic bisection.\n"
+"    Its exit status will be used to mark revisions as good or bad:\n"
+"    status 0 means good, 125 means to skip the revision, 127\n"
+"    (command not found) will abort the bisection, and any other\n"
+"    non-zero exit status means the revision is bad.\n"
+"    "
+msgstr ""
 "    If you supply a command, it will be used for automatic bisection.\n"
 "    Its exit status will be used to mark revisions as good or bad:\n"
 "    status 0 means good, 125 means to skip the revision, 127\n"
@@ -5023,41 +5694,47 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"set or show the current branch name\n"
-"\n"
+msgid "set or show the current branch name"
+msgstr "設定或顯示目å‰çš„ branch å稱"
+
+#, fuzzy
+msgid ""
+"    With no argument, show the current branch name. With one argument,\n"
+"    set the working directory branch name (the branch will not exist\n"
+"    in the repository until the next commit). Standard practice\n"
+"    recommends that primary development take place on the 'default'\n"
+"    branch."
+msgstr ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
 "    in the repository until the next commit). Standard practice\n"
 "    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
+"    branch."
+
+#, fuzzy
+msgid ""
 "    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
+"    branch name that already exists, even if it's inactive."
+msgstr ""
+"    Unless -f/--force is specified, branch will not let you set a\n"
+"    branch name that already exists, even if it's inactive."
+
+#, fuzzy
+msgid ""
 "    Use -C/--clean to reset the working directory branch to that of\n"
 "    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
+"    change."
+msgstr ""
+"    Use -C/--clean to reset the working directory branch to that of\n"
+"    the parent of the working directory, negating a previous branch\n"
+"    change."
+
+#, fuzzy
+msgid ""
 "    Use the command 'hg update' to switch to an existing branch. Use\n"
 "    'hg commit --close-branch' to mark this branch as closed.\n"
 "    "
 msgstr ""
-"設定或顯示目å‰çš„ branch å稱\n"
-"\n"
-"    With no argument, show the current branch name. With one argument,\n"
-"    set the working directory branch name (the branch will not exist\n"
-"    in the repository until the next commit). Standard practice\n"
-"    recommends that primary development take place on the 'default'\n"
-"    branch.\n"
-"\n"
-"    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive.\n"
-"\n"
-"    Use -C/--clean to reset the working directory branch to that of\n"
-"    the parent of the working directory, negating a previous branch\n"
-"    change.\n"
-"\n"
 "    Use the command 'hg update' to switch to an existing branch.\n"
 "    "
 
@@ -5073,32 +5750,62 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"list repository named branches\n"
-"\n"
+msgid "list repository named branches"
+msgstr "顯示 repository 的 named branches"
+
+#, fuzzy
+msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch).\n"
-"\n"
-"    If -a/--active is specified, only show active branches. A branch\n"
-"    is considered active if it contains repository heads.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-msgstr ""
-"顯示 repository 的 named branches\n"
-"\n"
+"    been marked closed (see hg commit --close-branch)."
+msgstr ""
 "    List the repository's named branches, indicating which ones are\n"
-"    inactive. If active is specified, only show active branches.\n"
-"\n"
-"    A branch is considered active if it contains repository heads.\n"
-"\n"
+"    inactive. If active is specified, only show active branches."
+
+#, fuzzy
+msgid ""
+"    If -a/--active is specified, only show active branches. A branch\n"
+"    is considered active if it contains repository heads."
+msgstr "    A branch is considered active if it contains repository heads."
+
+#, fuzzy
+msgid ""
+"    Use the command 'hg update' to switch to an existing branch.\n"
+"    "
+msgstr ""
 "    Use the command 'hg update' to switch to an existing branch.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"create a changegroup file\n"
+msgid "create a changegroup file"
+msgstr ""
+"建立一個 changegroup 檔案\n"
+"\n"
+"    Generate a compressed changegroup file collecting changesets not\n"
+"    known to be in another repository.\n"
+"\n"
+"    If no destination repository is specified the destination is\n"
+"    assumed to have all the nodes specified by one or more --base\n"
+"    parameters. To create a bundle containing all changesets, use\n"
+"    -a/--all (or --base null). To change the compression method\n"
+"    applied, use the -t/--type option (by default, bundles are\n"
+"    compressed using bz2).\n"
+"\n"
+"    The bundle file can then be transferred using conventional means\n"
+"    and applied to another repository with the unbundle or pull\n"
+"    command. This is useful when direct push and pull are not\n"
+"    available or when exporting an entire repository is undesirable.\n"
+"\n"
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Generate a compressed changegroup file collecting changesets not\n"
+"    known to be in another repository."
+msgstr ""
+"建立一個 changegroup 檔案\n"
 "\n"
 "    Generate a compressed changegroup file collecting changesets not\n"
 "    known to be in another repository.\n"
@@ -5106,11 +5813,37 @@
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null).\n"
-"\n"
-"    You can change compression method with the -t/--type option.\n"
-"    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2).\n"
+"    -a/--all (or --base null). To change the compression method\n"
+"    applied, use the -t/--type option (by default, bundles are\n"
+"    compressed using bz2).\n"
+"\n"
+"    The bundle file can then be transferred using conventional means\n"
+"    and applied to another repository with the unbundle or pull\n"
+"    command. This is useful when direct push and pull are not\n"
+"    available or when exporting an entire repository is undesirable.\n"
+"\n"
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If no destination repository is specified the destination is\n"
+"    assumed to have all the nodes specified by one or more --base\n"
+"    parameters. To create a bundle containing all changesets, use\n"
+"    -a/--all (or --base null)."
+msgstr ""
+"建立一個 changegroup 檔案\n"
+"\n"
+"    Generate a compressed changegroup file collecting changesets not\n"
+"    known to be in another repository.\n"
+"\n"
+"    If no destination repository is specified the destination is\n"
+"    assumed to have all the nodes specified by one or more --base\n"
+"    parameters. To create a bundle containing all changesets, use\n"
+"    -a/--all (or --base null). To change the compression method\n"
+"    applied, use the -t/--type option (by default, bundles are\n"
+"    compressed using bz2).\n"
 "\n"
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
@@ -5120,6 +5853,67 @@
 "    Applying bundles preserves all changeset contents including\n"
 "    permissions, copy/rename information, and revision history.\n"
 "    "
+
+#, fuzzy
+msgid ""
+"    You can change compression method with the -t/--type option.\n"
+"    The available compression methods are: none, bzip2, and\n"
+"    gzip (by default, bundles are compressed using bzip2)."
+msgstr ""
+"建立一個 changegroup 檔案\n"
+"\n"
+"    Generate a compressed changegroup file collecting changesets not\n"
+"    known to be in another repository.\n"
+"\n"
+"    If no destination repository is specified the destination is\n"
+"    assumed to have all the nodes specified by one or more --base\n"
+"    parameters. To create a bundle containing all changesets, use\n"
+"    -a/--all (or --base null). To change the compression method\n"
+"    applied, use the -t/--type option (by default, bundles are\n"
+"    compressed using bz2).\n"
+"\n"
+"    The bundle file can then be transferred using conventional means\n"
+"    and applied to another repository with the unbundle or pull\n"
+"    command. This is useful when direct push and pull are not\n"
+"    available or when exporting an entire repository is undesirable.\n"
+"\n"
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    The bundle file can then be transferred using conventional means\n"
+"    and applied to another repository with the unbundle or pull\n"
+"    command. This is useful when direct push and pull are not\n"
+"    available or when exporting an entire repository is undesirable."
+msgstr ""
+"建立一個 changegroup 檔案\n"
+"\n"
+"    Generate a compressed changegroup file collecting changesets not\n"
+"    known to be in another repository.\n"
+"\n"
+"    If no destination repository is specified the destination is\n"
+"    assumed to have all the nodes specified by one or more --base\n"
+"    parameters. To create a bundle containing all changesets, use\n"
+"    -a/--all (or --base null). To change the compression method\n"
+"    applied, use the -t/--type option (by default, bundles are\n"
+"    compressed using bz2).\n"
+"\n"
+"    The bundle file can then be transferred using conventional means\n"
+"    and applied to another repository with the unbundle or pull\n"
+"    command. This is useful when direct push and pull are not\n"
+"    available or when exporting an entire repository is undesirable.\n"
+"\n"
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
 msgstr ""
 "建立一個 changegroup 檔案\n"
 "\n"
@@ -5149,40 +5943,147 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"output the current or given revision of files\n"
-"\n"
+msgid "output the current or given revision of files"
+msgstr "輸出目å‰æˆ–是特定 revision 的檔案內容"
+
+#, fuzzy
+msgid ""
+"    Print the specified files as they were at the given revision. If\n"
+"    no revision is given, the parent of the working directory is used,\n"
+"    or tip if no revision is checked out."
+msgstr ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
+"    or tip if no revision is checked out."
+
+#, fuzzy
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions::\n"
-"\n"
+"    for the export command, with the following additions::"
+msgstr ""
+"    Output may be to a file, in which case the name of the file is\n"
+"    given using a format string. The formatting rules are the same as\n"
+"    for the export command, with the following additions:"
+
+#, fuzzy
+msgid ""
 "      %s   basename of file being printed\n"
 "      %d   dirname of file being printed, or '.' if in repository root\n"
 "      %p   root-relative path name of file being printed\n"
 "    "
 msgstr ""
-"輸出目å‰æˆ–是特定 revision 的檔案內容\n"
-"\n"
-"    Print the specified files as they were at the given revision. If\n"
-"    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions:\n"
-"\n"
 "    %s   basename of file being printed\n"
 "    %d   dirname of file being printed, or '.' if in repository root\n"
 "    %p   root-relative path name of file being printed\n"
 "    "
 
 #, fuzzy
-msgid ""
-"make a copy of an existing repository\n"
+msgid "make a copy of an existing repository"
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    Create a copy of an existing repository in a new directory."
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source."
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
 "\n"
 "    Create a copy of an existing repository in a new directory.\n"
 "\n"
@@ -5216,7 +6117,217 @@
 "    avoid hardlinking.\n"
 "\n"
 "    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with ::\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls."
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories."
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision)."
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "    See 'hg help urls' for valid source format details."
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
 "\n"
 "      $ cp -al REPO REPOCLONE\n"
 "\n"
@@ -5226,6 +6337,228 @@
 "    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
 "    this is not compatible with certain extensions that place their\n"
 "    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs."
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking."
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with ::"
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid "      $ cp -al REPO REPOCLONE"
+msgstr ""
+"å°å·²å­˜åœ¨çš„ repository 複製一份\n"
+"\n"
+"    Create a copy of an existing repository in a new directory.\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source.\n"
+"\n"
+"    The location of the source is added to the new repository's\n"
+"    .hg/hgrc file, as the default to be used for future pulls.\n"
+"\n"
+"    If you use the -r/--rev option to clone up to a specific revision,\n"
+"    no subsequent revisions (including subsequent tags) will be\n"
+"    present in the cloned repository. This option implies --pull, even\n"
+"    on local repositories.\n"
+"\n"
+"    By default, clone will check out the head of the 'default' branch.\n"
+"    If the -U/--noupdate option is used, the new clone will contain\n"
+"    only a repository (.hg) and no working copy (the working copy\n"
+"    parent is the null revision).\n"
+"\n"
+"    See 'hg help urls' for valid source format details.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination, but no\n"
+"    .hg/hgrc and working directory will be created on the remote side.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
+"\n"
+"    For efficiency, hardlinks are used for cloning whenever the source\n"
+"    and destination are on the same filesystem (note this applies only\n"
+"    to the repository data, not to the checked out files). Some\n"
+"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
+"    do not report errors. In these cases, use the --pull option to\n"
+"    avoid hardlinking.\n"
+"\n"
+"    In some cases, you can clone repositories and checked out files\n"
+"    using full hardlinks with\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
+"\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    This is the fastest way to clone, but it is not always safe. The\n"
+"    operation is not atomic (making sure REPO is not modified during\n"
+"    the operation is up to you) and you have to make sure your editor\n"
+"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
+"    this is not compatible with certain extensions that place their\n"
+"    metadata under the .hg directory, such as mq.\n"
 "    "
 msgstr ""
 "å°å·²å­˜åœ¨çš„ repository 複製一份\n"
@@ -5275,42 +6608,38 @@
 "\n"
 "    "
 
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
+msgid "commit the specified files or all outstanding changes"
+msgstr "將指定的檔案或是目å‰çš„變更 commit"
+
+msgid ""
+"    Commit changes to the given files into the repository. Unlike a\n"
+"    centralized RCS, this operation is a local operation. See hg push\n"
+"    for a way to actively distribute your changes."
+msgstr ""
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
+"    for a way to actively distribute your changes."
+
+msgid ""
+"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    will be committed."
+msgstr ""
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
+"    will be committed."
+
+msgid ""
 "    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
+"    filenames or -I/-X filters."
+msgstr ""
+"    If you are committing the result of a merge, do not provide any\n"
+"    filenames or -I/-X filters."
+
+msgid ""
 "    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"將指定的檔案或是目å‰çš„變更 commit\n"
-"\n"
-"    Commit changes to the given files into the repository. Unlike a\n"
-"    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes.\n"
-"\n"
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
-"    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters.\n"
-"\n"
+"    started to prompt you for a message."
+msgstr ""
 "    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    started to prompt you for a message."
 
 msgid "nothing changed\n"
 msgstr ""
@@ -5322,31 +6651,32 @@
 msgid "committed changeset %d:%s\n"
 msgstr ""
 
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
+msgid "mark files as copied for the next commit"
+msgstr "將檔案標示為 copied 並於下次 commit"
+
+msgid ""
+"    Mark dest as having copies of source files. If dest is a\n"
+"    directory, copies are put in that directory. If dest is a file,\n"
+"    the source must be a single file."
+msgstr ""
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
+"    the source must be a single file."
+
+msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    operation is recorded, but no copying is performed."
+msgstr ""
+"    By default, this command copies the contents of files as they\n"
+"    exist in the working directory. If invoked with -A/--after, the\n"
+"    operation is recorded, but no copying is performed."
+
+msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
-"將檔案標示為 copied 並於下次 commit\n"
-"\n"
-"    Mark dest as having copies of source files. If dest is a\n"
-"    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
 "    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
@@ -5388,31 +6718,31 @@
 msgid ".hg/dirstate inconsistent with current parent's manifest"
 msgstr ""
 
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
+msgid "show combined config settings from all hgrc files"
+msgstr "顯示åˆä½µè‡ªæ‰€æœ‰ hgrc 檔案內容的設定值"
+
+msgid "    With no arguments, print names and values of all config items."
+msgstr "    With no arguments, print names and values of all config items."
+
+msgid ""
+"    With one argument of the form section.name, print just the value\n"
+"    of that config item."
+msgstr ""
 "    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
+"    of that config item."
+
+msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
+"    items with matching section names."
+msgstr ""
+"    With multiple arguments, print names and values of all config\n"
+"    items with matching section names."
+
+msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
 msgstr ""
-"顯示åˆä½µè‡ªæ‰€æœ‰ hgrc 檔案內容的設定值\n"
-"\n"
-"    With no arguments, print names and values of all config items.\n"
-"\n"
-"    With one argument of the form section.name, print just the value\n"
-"    of that config item.\n"
-"\n"
-"    With multiple arguments, print names and values of all config\n"
-"    items with matching section names.\n"
-"\n"
 "    With --debug, the source (filename and line number) is printed\n"
 "    for each config item.\n"
 "    "
@@ -5420,9 +6750,10 @@
 msgid "only one config item permitted"
 msgstr ""
 
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
+msgid "manually set the parents of the current working directory"
+msgstr ""
+
+msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
 "    be used with care.\n"
 "    "
@@ -5488,14 +6819,10 @@
 msgid " patch test failed!\n"
 msgstr ""
 
-msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
-msgstr ""
-
-msgid ""
-" Internal patcher failure, please report this error to http://mercurial."
-"selenic.com/bts/\n"
+msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
+msgstr ""
+
+msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
 msgstr ""
 
 msgid "Checking commit editor...\n"
@@ -5538,71 +6865,78 @@
 msgid "show how files match on given patterns"
 msgstr ""
 
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+msgid "diff repository (or selected files)"
+msgstr "diff repository (或是所é¸æ“‡çš„檔案)"
+
+msgid "    Show differences between revisions for the specified files."
+msgstr "    Show differences between revisions for the specified files."
+
+msgid "    Differences between files are shown using the unified diff format."
+msgstr "    Differences between files are shown using the unified diff format."
+
+msgid ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
-"    Without the -a/--text option, diff will avoid generating diffs of\n"
-"    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. For more information, read 'hg help diffs'.\n"
-"    "
-msgstr ""
-"diff repository (或是所é¸æ“‡çš„檔案)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
+"    changeset if no revisions are specified."
+msgstr ""
 "    NOTE: diff may generate unexpected results for merges, as it will\n"
 "    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
+"    changeset if no revisions are specified."
+
+msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results.\n"
-"\n"
+"    anyway, probably with undesirable results."
+msgstr ""
+"    Without the -a/--text option, diff will avoid generating diffs of\n"
+"    files it detects as binary. With -a, diff will generate a diff\n"
+"    anyway, probably with undesirable results."
+
+msgid ""
+"    Use the -g/--git option to generate diffs in the git extended diff\n"
+"    format. For more information, read 'hg help diffs'.\n"
+"    "
+msgstr ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
 "    format. For more information, read 'hg help diffs'.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
+msgid "dump the header and diffs for one or more changesets"
+msgstr "將一或多個 changesets çš„ header ä»¥åŠ diffs dump 出來"
+
+#, fuzzy
+msgid "    Print the changeset header and diffs for one or more revisions."
+msgstr "    Print the changeset header and diffs for one or more revisions."
+
+#, fuzzy
+msgid ""
 "    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment.\n"
-"\n"
+"    changeset hash, parent(s) and commit comment."
+msgstr ""
+"    The information shown in the changeset header is: author,\n"
+"    changeset hash, parent(s) and commit comment."
+
+#, fuzzy
+msgid ""
 "    NOTE: export may generate unexpected diff output for merge\n"
 "    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
+"    first parent only."
+msgstr ""
+"    NOTE: export may generate unexpected diff output for merge\n"
+"    changesets, as it will compare the merge changeset against its\n"
+"    first parent only."
+
+#, fuzzy
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows::\n"
-"\n"
+"    given using a format string. The formatting rules are as follows::"
+msgstr ""
+"    Output may be to a file, in which case the name of the file is\n"
+"    given using a format string. The formatting rules are as follows:"
+
+#, fuzzy
+msgid ""
 "      %%   literal \"%\" character\n"
 "      %H   changeset hash (40 bytes of hexadecimal)\n"
 "      %N   number of patches being generated\n"
@@ -5610,33 +6944,8 @@
 "      %b   basename of the exporting repository\n"
 "      %h   short-form changeset hash (12 bytes of hexadecimal)\n"
 "      %n   zero-padded sequence number, starting at 1\n"
-"      %r   zero-padded changeset revision number\n"
-"\n"
-"    Without the -a/--text option, export will avoid generating diffs\n"
-"    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
-"    With the --switch-parent option, the diff will be against the\n"
-"    second parent. It can be useful to review a merge.\n"
-"    "
-msgstr ""
-"將一或多個 changesets çš„ header ä»¥åŠ diffs dump 出來\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
-"    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment.\n"
-"\n"
-"    NOTE: export may generate unexpected diff output for merge\n"
-"    changesets, as it will compare the merge changeset against its\n"
-"    first parent only.\n"
-"\n"
-"    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:\n"
-"\n"
+"      %r   zero-padded changeset revision number"
+msgstr ""
 "    %%   literal \"%\" character\n"
 "    %H   changeset hash (40 bytes of hexadecimal)\n"
 "    %N   number of patches being generated\n"
@@ -5644,15 +6953,32 @@
 "    %b   basename of the exporting repository\n"
 "    %h   short-form changeset hash (12 bytes of hexadecimal)\n"
 "    %n   zero-padded sequence number, starting at 1\n"
-"    %r   zero-padded changeset revision number\n"
-"\n"
+"    %r   zero-padded changeset revision number"
+
+#, fuzzy
+msgid ""
+"    Without the -a/--text option, export will avoid generating diffs\n"
+"    of files it detects as binary. With -a, export will generate a\n"
+"    diff anyway, probably with undesirable results."
+msgstr ""
 "    Without the -a/--text option, export will avoid generating diffs\n"
 "    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results.\n"
-"\n"
+"    diff anyway, probably with undesirable results."
+
+#, fuzzy
+msgid ""
+"    Use the -g/--git option to generate diffs in the git extended diff\n"
+"    format. See 'hg help diffs' for more information."
+msgstr ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information.\n"
-"\n"
+"    format. See 'hg help diffs' for more information."
+
+#, fuzzy
+msgid ""
+"    With the --switch-parent option, the diff will be against the\n"
+"    second parent. It can be useful to review a merge.\n"
+"    "
+msgstr ""
 "    With the --switch-parent option, the diff will be against the\n"
 "    second parent. It can be useful to review a merge.\n"
 "    "
@@ -5666,16 +6992,21 @@
 msgid "exporting patch:\n"
 msgstr ""
 
-msgid ""
-"forget the specified files on the next commit\n"
-"\n"
+msgid "forget the specified files on the next commit"
+msgstr ""
+
+msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
-"    after the next commit.\n"
-"\n"
+"    after the next commit."
+msgstr ""
+
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history, and it does not delete them from the\n"
-"    working directory.\n"
-"\n"
+"    working directory."
+msgstr ""
+
+msgid ""
 "    To undo a forget before the next commit, see hg add.\n"
 "    "
 msgstr ""
@@ -5687,16 +7018,24 @@
 msgid "not removing %s: file is already untracked\n"
 msgstr ""
 
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
+msgid "search for a pattern in specified files and revisions"
+msgstr "從指定的檔案或 revisions æœå°‹æ¨£å¼"
+
+msgid "    Search revisions of files for a regular expression."
+msgstr "    Search revisions of files for a regular expression."
+
+msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
 "    Python/Perl regexps. It searches repository history, not the\n"
 "    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
+"    match appears."
+msgstr ""
+"    This command behaves differently than Unix grep. It only accepts\n"
+"    Python/Perl regexps. It searches repository history, not the\n"
+"    working directory. It always prints the revision number in which a\n"
+"    match appears."
+
+msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -5704,15 +7043,6 @@
 "    use the --all flag.\n"
 "    "
 msgstr ""
-"從指定的檔案或 revisions æœå°‹æ¨£å¼\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
-"    This command behaves differently than Unix grep. It only accepts\n"
-"    Python/Perl regexps. It searches repository history, not the\n"
-"    working directory. It always prints the revision number in which a\n"
-"    match appears.\n"
-"\n"
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
@@ -5725,28 +7055,170 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"show current repository heads or show branch heads\n"
+msgid "show current repository heads or show branch heads"
+msgstr ""
+"顯示目å‰çš„ repository heads 或是 branch heads\n"
+"\n"
+"    With no arguments, show all repository head changesets.\n"
+"\n"
+"    Repository \"heads\" are changesets that don't have child\n"
+"    changesets. They are where development generally takes place and\n"
+"    are the usual targets for update and merge operations.\n"
+"\n"
+"    If one or more REV is given, the \"branch heads\" will be shown for\n"
+"    the named branch associated with that revision. The name of the\n"
+"    branch is called the revision's branch tag.\n"
+"\n"
+"    Branch heads are revisions on a given named branch that do not have\n"
+"    any children on the same branch. A branch head could be a true head\n"
+"    or it could be the last changeset on a branch before a new branch\n"
+"    was created. If none of the branch heads are true heads, the branch\n"
+"    is considered inactive.\n"
+"\n"
+"    If STARTREV is specified only those heads (or branch heads) that\n"
+"    are descendants of STARTREV will be displayed.\n"
+"    "
+
+#, fuzzy
+msgid "    With no arguments, show all repository head changesets."
+msgstr ""
+"顯示目å‰çš„ repository heads 或是 branch heads\n"
 "\n"
 "    With no arguments, show all repository head changesets.\n"
 "\n"
+"    Repository \"heads\" are changesets that don't have child\n"
+"    changesets. They are where development generally takes place and\n"
+"    are the usual targets for update and merge operations.\n"
+"\n"
+"    If one or more REV is given, the \"branch heads\" will be shown for\n"
+"    the named branch associated with that revision. The name of the\n"
+"    branch is called the revision's branch tag.\n"
+"\n"
+"    Branch heads are revisions on a given named branch that do not have\n"
+"    any children on the same branch. A branch head could be a true head\n"
+"    or it could be the last changeset on a branch before a new branch\n"
+"    was created. If none of the branch heads are true heads, the branch\n"
+"    is considered inactive.\n"
+"\n"
+"    If STARTREV is specified only those heads (or branch heads) that\n"
+"    are descendants of STARTREV will be displayed.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
-"    for update and merge operations.\n"
+"    for update and merge operations."
+msgstr ""
+"顯示目å‰çš„ repository heads 或是 branch heads\n"
+"\n"
+"    With no arguments, show all repository head changesets.\n"
+"\n"
+"    Repository \"heads\" are changesets that don't have child\n"
+"    changesets. They are where development generally takes place and\n"
+"    are the usual targets for update and merge operations.\n"
 "\n"
 "    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with the specified changeset(s).\n"
-"\n"
+"    the named branch associated with that revision. The name of the\n"
+"    branch is called the revision's branch tag.\n"
+"\n"
+"    Branch heads are revisions on a given named branch that do not have\n"
+"    any children on the same branch. A branch head could be a true head\n"
+"    or it could be the last changeset on a branch before a new branch\n"
+"    was created. If none of the branch heads are true heads, the branch\n"
+"    is considered inactive.\n"
+"\n"
+"    If STARTREV is specified only those heads (or branch heads) that\n"
+"    are descendants of STARTREV will be displayed.\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If one or more REV is given, the \"branch heads\" will be shown for\n"
+"    the named branch associated with the specified changeset(s)."
+msgstr ""
+"顯示目å‰çš„ repository heads 或是 branch heads\n"
+"\n"
+"    With no arguments, show all repository head changesets.\n"
+"\n"
+"    Repository \"heads\" are changesets that don't have child\n"
+"    changesets. They are where development generally takes place and\n"
+"    are the usual targets for update and merge operations.\n"
+"\n"
+"    If one or more REV is given, the \"branch heads\" will be shown for\n"
+"    the named branch associated with that revision. The name of the\n"
+"    branch is called the revision's branch tag.\n"
+"\n"
+"    Branch heads are revisions on a given named branch that do not have\n"
+"    any children on the same branch. A branch head could be a true head\n"
+"    or it could be the last changeset on a branch before a new branch\n"
+"    was created. If none of the branch heads are true heads, the branch\n"
+"    is considered inactive.\n"
+"\n"
+"    If STARTREV is specified only those heads (or branch heads) that\n"
+"    are descendants of STARTREV will be displayed.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    Branch heads are changesets on a named branch with no descendants on\n"
 "    the same branch. A branch head could be a \"true\" (repository) head,\n"
 "    or it could be the last changeset on that branch before it was\n"
 "    merged into another branch, or it could be the last changeset on the\n"
 "    branch before a new branch was created. If none of the branch heads\n"
-"    are true heads, the branch is considered inactive.\n"
-"\n"
+"    are true heads, the branch is considered inactive."
+msgstr ""
+"顯示目å‰çš„ repository heads 或是 branch heads\n"
+"\n"
+"    With no arguments, show all repository head changesets.\n"
+"\n"
+"    Repository \"heads\" are changesets that don't have child\n"
+"    changesets. They are where development generally takes place and\n"
+"    are the usual targets for update and merge operations.\n"
+"\n"
+"    If one or more REV is given, the \"branch heads\" will be shown for\n"
+"    the named branch associated with that revision. The name of the\n"
+"    branch is called the revision's branch tag.\n"
+"\n"
+"    Branch heads are revisions on a given named branch that do not have\n"
+"    any children on the same branch. A branch head could be a true head\n"
+"    or it could be the last changeset on a branch before a new branch\n"
+"    was created. If none of the branch heads are true heads, the branch\n"
+"    is considered inactive.\n"
+"\n"
+"    If STARTREV is specified only those heads (or branch heads) that\n"
+"    are descendants of STARTREV will be displayed.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch).\n"
-"\n"
+"    (see hg commit --close-branch)."
+msgstr ""
+"顯示目å‰çš„ repository heads 或是 branch heads\n"
+"\n"
+"    With no arguments, show all repository head changesets.\n"
+"\n"
+"    Repository \"heads\" are changesets that don't have child\n"
+"    changesets. They are where development generally takes place and\n"
+"    are the usual targets for update and merge operations.\n"
+"\n"
+"    If one or more REV is given, the \"branch heads\" will be shown for\n"
+"    the named branch associated with that revision. The name of the\n"
+"    branch is called the revision's branch tag.\n"
+"\n"
+"    Branch heads are revisions on a given named branch that do not have\n"
+"    any children on the same branch. A branch head could be a true head\n"
+"    or it could be the last changeset on a branch before a new branch\n"
+"    was created. If none of the branch heads are true heads, the branch\n"
+"    is considered inactive.\n"
+"\n"
+"    If STARTREV is specified only those heads (or branch heads) that\n"
+"    are descendants of STARTREV will be displayed.\n"
+"    "
+
+#, fuzzy
+msgid ""
 "    If STARTREV is specified, only those heads that are descendants of\n"
 "    STARTREV will be displayed.\n"
 "    "
@@ -5788,18 +7260,16 @@
 msgid "no changes on branch %s are reachable from %s\n"
 msgstr ""
 
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
+msgid "show help for a given topic or a help overview"
+msgstr "顯示特定主題的 help 說明或是 help overview"
+
+msgid "    With no arguments, print a list of commands with short help messages."
+msgstr "    With no arguments, print a list of commands with short help messages."
+
+msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
-"顯示特定主題的 help 說明或是 help overview\n"
-"\n"
-"    With no arguments, print a list of commands with short help messages.\n"
-"\n"
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 
@@ -5820,12 +7290,8 @@
 msgid "use \"hg -v help %s\" to show global options"
 msgstr "使用 \"hg -v help %s\" 以顯示全域é¸é …"
 
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"命令列表:\n"
-"\n"
+msgid "list of commands:"
+msgstr "命令列表:"
 
 #, python-format
 msgid ""
@@ -5855,53 +7321,46 @@
 msgstr "沒有å¯ç”¨çš„說明文字"
 
 #, fuzzy, python-format
-msgid ""
-"%s extension - %s\n"
-"\n"
+msgid "%s extension - %s"
 msgstr "%s 擴充套件 - %s\n"
 
 msgid "Mercurial Distributed SCM\n"
 msgstr "Mercurial 分散å¼ç‰ˆæœ¬æŽ§åˆ¶ç³»çµ±\n"
 
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"基本命令:\n"
-"\n"
-
-msgid ""
-"\n"
-"additional help topics:\n"
-"\n"
-msgstr ""
-"\n"
-"é¡å¤–的說明主題:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
+msgid "basic commands:"
+msgstr "基本命令:"
+
+msgid ""
+"\n"
+"additional help topics:"
+msgstr ""
+"\n"
+"é¡å¤–的說明主題:"
+
+msgid "identify the working copy or specified revision"
+msgstr "識別 working copy 或指定的 revision 完整性"
+
+msgid ""
 "    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
+"    repository."
+msgstr ""
+"    With no revision, print a summary of the current state of the\n"
+"    repository."
+
+msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
+"    cause lookup to operate on that repository/bundle."
+msgstr ""
+"    Specifying a path to a repository root or Mercurial bundle will\n"
+"    cause lookup to operate on that repository/bundle."
+
+msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
 "    this revision and a branch name for non-default branches.\n"
 "    "
 msgstr ""
-"識別 working copy 或指定的 revision 完整性\n"
-"\n"
-"    With no revision, print a summary of the current state of the\n"
-"    repository.\n"
-"\n"
-"    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle.\n"
-"\n"
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
@@ -5909,68 +7368,78 @@
 "    "
 
 #, fuzzy
-msgid ""
-"import an ordered set of patches\n"
-"\n"
-"    Import a list of patches and commit them individually.\n"
-"\n"
+msgid "import an ordered set of patches"
+msgstr "import 一組有順åºçš„ patches"
+
+#, fuzzy
+msgid "    Import a list of patches and commit them individually."
+msgstr "    Import a list of patches and commit them individually."
+
+#, fuzzy
+msgid ""
 "    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    will abort unless given the -f/--force flag."
+msgstr ""
+"    If there are outstanding changes in the working directory, import\n"
+"    will abort unless given the -f/--force flag."
+
+#, fuzzy
+msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
-"    If the imported patch was generated by hg export, user and\n"
-"    description from patch override values from message headers and\n"
-"    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
-"    If --exact is specified, import will set the working directory to\n"
-"    the parent of each patch before applying it, and will abort if the\n"
-"    resulting changeset has a different ID than the one recorded in\n"
-"    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
-"    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
-"    To read a patch from standard input, use \"-\" as the patch name. If\n"
-"    a URL is specified, the patch will be downloaded from it.\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"import 一組有順åºçš„ patches\n"
-"\n"
-"    Import a list of patches and commit them individually.\n"
-"\n"
-"    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag.\n"
-"\n"
+"    message."
+msgstr ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
-"    message.\n"
-"\n"
+"    message."
+
+#, fuzzy
+msgid ""
 "    If the imported patch was generated by hg export, user and\n"
 "    description from patch override values from message headers and\n"
 "    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these.\n"
-"\n"
+"    override these."
+msgstr ""
+"    If the imported patch was generated by hg export, user and\n"
+"    description from patch override values from message headers and\n"
+"    body. Values given on command line with -m/--message and -u/--user\n"
+"    override these."
+
+#, fuzzy
+msgid ""
 "    If --exact is specified, import will set the working directory to\n"
 "    the parent of each patch before applying it, and will abort if the\n"
 "    resulting changeset has a different ID than the one recorded in\n"
 "    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format.\n"
-"\n"
+"    deficiencies in the text patch format."
+msgstr ""
+"    If --exact is specified, import will set the working directory to\n"
+"    the parent of each patch before applying it, and will abort if the\n"
+"    resulting changeset has a different ID than the one recorded in\n"
+"    the patch. This may happen due to character set problems or other\n"
+"    deficiencies in the text patch format."
+
+#, fuzzy
+msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'.\n"
-"\n"
+"    copies in the patch in the same way as 'addremove'."
+msgstr ""
+"    With -s/--similarity, hg will attempt to discover renames and\n"
+"    copies in the patch in the same way as 'addremove'."
+
+#, fuzzy
+msgid ""
+"    To read a patch from standard input, use \"-\" as the patch name. If\n"
+"    a URL is specified, the patch will be downloaded from it.\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
 "    To read a patch from standard input, use \"-\" as the patch name.\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
@@ -5987,196 +7456,198 @@
 msgid "patch is damaged or loses information"
 msgstr ""
 
-msgid ""
-"show new changesets found in source\n"
-"\n"
+msgid "show new changesets found in source"
+msgstr "顯示來æºç«¯æ–°çš„ changesets"
+
+msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
-"    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
-"    See pull for valid source format details.\n"
-"    "
-msgstr ""
-"顯示來æºç«¯æ–°çš„ changesets\n"
-"\n"
+"    if a pull at the time you issued this command."
+msgstr ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command.\n"
-"\n"
+"    if a pull at the time you issued this command."
+
+msgid ""
+"    For remote repository, using --bundle avoids downloading the\n"
+"    changesets twice if the incoming is followed by a pull."
+msgstr ""
 "    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull.\n"
-"\n"
+"    changesets twice if the incoming is followed by a pull."
+
+msgid ""
+"    See pull for valid source format details.\n"
+"    "
+msgstr ""
 "    See pull for valid source format details.\n"
 "    "
 
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
+msgid "create a new repository in the given directory"
+msgstr "於指定的目錄建立新的 repository"
+
+msgid ""
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
+"    directory does not exist, it will be created."
+msgstr ""
+"    Initialize a new repository in the given directory. If the given\n"
+"    directory does not exist, it will be created."
+
+msgid "    If no directory is given, the current directory is used."
+msgstr "    If no directory is given, the current directory is used."
+
+msgid ""
 "    It is possible to specify an ssh:// URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"於指定的目錄建立新的 repository\n"
-"\n"
-"    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
 "    It is possible to specify an ssh:// URL as the destination.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
+msgid "locate files matching specific patterns"
+msgstr "找出符åˆæŒ‡å®šæ¨£å¼çš„檔案"
+
+msgid ""
 "    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
+"    names match the given patterns."
+msgstr ""
+"    Print files under Mercurial control in the working directory whose\n"
+"    names match the given patterns."
+
+msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
+"    subdirectories, use \"--include .\"."
+msgstr ""
+"    By default, this command searches all directories in the working\n"
+"    directory. To search just the current directory and its\n"
+"    subdirectories, use \"--include .\"."
+
+msgid ""
 "    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
+"    of all files under Mercurial control in the working directory."
+msgstr ""
+"    If no patterns are given to match, this command prints the names\n"
+"    of all files under Mercurial control in the working directory."
+
+msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
 "    contain whitespace as multiple filenames.\n"
 "    "
 msgstr ""
-"找出符åˆæŒ‡å®šæ¨£å¼çš„檔案\n"
-"\n"
-"    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns.\n"
-"\n"
-"    By default, this command searches all directories in the working\n"
-"    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\".\n"
-"\n"
-"    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory.\n"
-"\n"
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
 "    contain whitespace as multiple filenames.\n"
 "    "
 
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
+msgid "show revision history of entire repository or files"
+msgstr "顯示整個 repository 或特定檔案的 revision history"
+
+msgid ""
 "    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
+"    project."
+msgstr ""
+"    Print the revision history of the specified files or the entire\n"
+"    project."
+
+msgid ""
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
+"    only follows the first parent of merge revisions."
+msgstr ""
+"    File history is shown without following rename or copy history of\n"
+"    files. Use -f/--follow with a filename to follow history across\n"
+"    renames and copies. --follow without a filename will only show\n"
+"    ancestors or descendants of the starting revision. --follow-first\n"
+"    only follows the first parent of merge revisions."
+
+msgid ""
 "    If no revision range is specified, the default is tip:0 unless\n"
 "    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    used as the starting revision."
+msgstr ""
+"    If no revision range is specified, the default is tip:0 unless\n"
+"    --follow is set, in which case the working directory parent is\n"
+"    used as the starting revision."
+
+msgid ""
 "    By default this command prints revision number and changeset id,\n"
 "    tags, non-trivial parents, user, date and time, and a summary for\n"
 "    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
+"    changed files and full commit message are shown."
+msgstr ""
+"    By default this command prints revision number and changeset id,\n"
+"    tags, non-trivial parents, user, date and time, and a summary for\n"
+"    each commit. When the -v/--verbose switch is used, the list of\n"
+"    changed files and full commit message are shown."
+
+msgid ""
 "    NOTE: 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:.\n"
 "    "
 msgstr ""
-"顯示整個 repository 或特定檔案的 revision history\n"
-"\n"
-"    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
-"    File history is shown without following rename or copy history of\n"
-"    files. Use -f/--follow with a filename to follow history across\n"
-"    renames and copies. --follow without a filename will only show\n"
-"    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
-"    If no revision range is specified, the default is tip:0 unless\n"
-"    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
-"    By default this command prints revision number and changeset id,\n"
-"    tags, non-trivial parents, user, date and time, and a summary for\n"
-"    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown.\n"
-"\n"
 "    NOTE: 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:.\n"
 "    "
 
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
+msgid "output the current or given revision of the project manifest"
+msgstr "輸出 project manifest ç›®å‰æˆ–指定的 revision"
+
+msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
+"    is used, or the null revision if no revision is checked out."
+msgstr ""
+"    Print a list of version controlled files for the given revision.\n"
+"    If no revision is given, the first parent of the working directory\n"
+"    is used, or the null revision if no revision is checked out."
+
+msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
-"輸出 project manifest ç›®å‰æˆ–指定的 revision\n"
-"\n"
-"    Print a list of version controlled files for the given revision.\n"
-"    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out.\n"
-"\n"
 "    With -v, print file permissions, symlink and executable bits.\n"
 "    With --debug, print file revision hashes.\n"
 "    "
 
-msgid ""
-"merge working directory with another revision\n"
-"\n"
+msgid "merge working directory with another revision"
+msgstr "å°‡ working directory 與其他的 revision åˆä½µ"
+
+msgid ""
 "    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
+"    the requested revision since the last common predecessor revision."
+msgstr ""
+"    The current working directory is updated with all changes made in\n"
+"    the requested revision since the last common predecessor revision."
+
+msgid ""
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
 "    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
+"    two parents."
+msgstr ""
+"    Files that changed between either parent are marked as changed for\n"
+"    the next commit and a commit must be performed before any further\n"
+"    updates to the repository are allowed. The next commit will have\n"
+"    two parents."
+
+msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
 "    explicit revision with which to merge with must be provided.\n"
 "    "
 msgstr ""
-"å°‡ working directory 與其他的 revision åˆä½µ\n"
-"\n"
-"    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision.\n"
-"\n"
-"    Files that changed between either parent are marked as changed for\n"
-"    the next commit and a commit must be performed before any further\n"
-"    updates to the repository are allowed. The next commit will have\n"
-"    two parents.\n"
-"\n"
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
@@ -6198,33 +7669,32 @@
 msgid "%s - use \"hg update\" instead"
 msgstr ""
 
-msgid ""
-"working dir not at a head rev - use \"hg update\" or merge with an explicit "
-"rev"
-msgstr ""
-
-msgid ""
-"show changesets not found in destination\n"
-"\n"
+msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
+msgstr ""
+
+msgid "show changesets not found in destination"
+msgstr "顯示目的端沒有的 changesets"
+
+msgid ""
+"    Show changesets not found in the specified destination repository\n"
+"    or the default push location. These are the changesets that would\n"
+"    be pushed if a push was requested."
+msgstr ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
+"    be pushed if a push was requested."
+
+msgid ""
+"    See pull for valid destination format details.\n"
+"    "
+msgstr ""
 "    See pull for valid destination format details.\n"
 "    "
-msgstr ""
-"顯示目的端沒有的 changesets\n"
-"\n"
-"    Show changesets not found in the specified destination repository\n"
-"    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested.\n"
-"\n"
-"    See pull for valid destination format details.\n"
-"    "
-
-msgid ""
-"show the parents of the working directory or revision\n"
-"\n"
+
+msgid "show the parents of the working directory or revision"
+msgstr "顯示 working directory 或特定 revision 的 parents"
+
+msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -6232,8 +7702,6 @@
 "    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
-"顯示 working directory 或特定 revision 的 parents\n"
-"\n"
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
@@ -6248,26 +7716,27 @@
 msgid "'%s' not found in manifest!"
 msgstr ""
 
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
+msgid "show aliases for remote repositories"
+msgstr "顯示 remote repositories 的別å"
+
+msgid ""
+"    Show definition of symbolic path name NAME. If no name is given,\n"
+"    show definition of all available names."
+msgstr ""
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
+"    show definition of all available names."
+
+msgid ""
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+msgstr ""
+"    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
+"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
+
+msgid ""
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
-"顯示 remote repositories 的別å\n"
-"\n"
-"    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names.\n"
-"\n"
-"    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
-"\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 
@@ -6283,81 +7752,87 @@
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(執行 'hg update' 來å–å¾— working copy)\n"
 
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
+msgid "pull changes from the specified source"
+msgstr "pull 指定來æºç«¯çš„ changes"
+
+msgid "    Pull changes from a remote repository to a local one."
+msgstr "    Pull changes from a remote repository to a local one."
+
+msgid ""
 "    This finds all changes from the repository at the specified path\n"
 "    or URL and adds them to a local repository (the current one unless\n"
 "    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    project in the working directory."
+msgstr ""
+"    This finds all changes from the repository at the specified path\n"
+"    or URL and adds them to a local repository (the current one unless\n"
+"    -R is specified). By default, this does not update the copy of the\n"
+"    project in the working directory."
+
+msgid ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
-"    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"pull 指定來æºç«¯çš„ changes\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
-"    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to a local repository (the current one unless\n"
-"    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory.\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+msgstr ""
 "    Use hg incoming if you want to see what would have been added by a\n"
 "    pull at the time you issued this command. If you then decide to\n"
 "    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming.\n"
-"\n"
+"    where X is the last changeset listed by hg incoming."
+
+msgid ""
+"    If SOURCE is omitted, the 'default' path will be used.\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
 "    If SOURCE is omitted, the 'default' path will be used.\n"
 "    See 'hg help urls' for more information.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the given destination.\n"
-"\n"
+msgid "push changes to the specified destination"
+msgstr "將 changes push 至指定的目的端"
+
+#, fuzzy
+msgid "    Push changes from the local repository to the given destination."
+msgstr "    Push changes from the local repository to the given destination."
+
+#, fuzzy
+msgid ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
-"    By default, push will refuse to run if it detects the result would\n"
-"    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
-"    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
-"    Please see 'hg help urls' for important details about ssh://\n"
-"    URLs. If DESTINATION is omitted, a default path will be used.\n"
-"    "
-msgstr ""
-"將 changes push 至指定的目的端\n"
-"\n"
-"    Push changes from the local repository to the given destination.\n"
-"\n"
+"    current one."
+msgstr ""
 "    This is the symmetrical operation for pull. It moves changes from\n"
 "    the current repository to a different one. If the destination is\n"
 "    local this is identical to a pull in that directory from the\n"
-"    current one.\n"
-"\n"
+"    current one."
+
+#, fuzzy
+msgid ""
+"    By default, push will refuse to run if it detects the result would\n"
+"    increase the number of remote heads. This generally indicates the\n"
+"    user forgot to pull and merge before pushing."
+msgstr ""
 "    By default, push will refuse to run if it detects the result would\n"
 "    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing.\n"
-"\n"
+"    user forgot to pull and merge before pushing."
+
+#, fuzzy
+msgid ""
+"    If -r/--rev is used, the named revision and all its ancestors will\n"
+"    be pushed to the remote repository."
+msgstr ""
 "    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository.\n"
-"\n"
+"    be pushed to the remote repository."
+
+#, fuzzy
+msgid ""
+"    Please see 'hg help urls' for important details about ssh://\n"
+"    URLs. If DESTINATION is omitted, a default path will be used.\n"
+"    "
+msgstr ""
 "    Please see 'hg help urls' for important details about ssh://\n"
 "    URLs. If DESTINATION is omitted, a default path will be used.\n"
 "    See 'hg help urls' for more information.\n"
@@ -6367,75 +7842,79 @@
 msgid "pushing to %s\n"
 msgstr ""
 
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
+msgid "roll back an interrupted transaction"
+msgstr "roll back 一個被中斷的 transaction"
+
+msgid "    Recover from an interrupted commit or pull."
+msgstr "    Recover from an interrupted commit or pull."
+
+msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 msgstr ""
-"roll back 一個被中斷的 transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
 "    suggests it.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
+msgid "remove the specified files on the next commit"
+msgstr "ç§»é™¤ä¸‹æ¬¡è¦ commit 的檔案"
+
+#, fuzzy
+msgid "    Schedule the indicated files for removal from the repository."
+msgstr "    Schedule the indicated files for removal from the repository."
+
+#, fuzzy
+msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
+"    revision without deleting them from the working directory."
+msgstr ""
+"    This only removes files from the current branch, not from the\n"
+"    entire project history. -A/--after can be used to remove only\n"
+"    files that have already been deleted, -f/--force can be used to\n"
+"    force deletion, and -Af can be used to remove files from the next\n"
+"    revision without deleting them from the working directory."
+
+#, fuzzy
+msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
 "    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::\n"
-"\n"
+"    and Delete (from disk)::"
+msgstr ""
+"    The following table details the behavior of remove for different\n"
+"    file states (columns) and option combinations (rows). The file\n"
+"    states are Added [A], Clean [C], Modified [M] and Missing [!]\n"
+"    (as reported by hg status). The actions are Warn, Remove (from\n"
+"    branch) and Delete (from disk)."
+
+#, fuzzy
+msgid ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
 "      -f     R  RD RD R\n"
 "      -A     W  W  W  R\n"
-"      -Af    R  R  R  R\n"
-"\n"
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
-msgstr ""
-"ç§»é™¤ä¸‹æ¬¡è¦ commit 的檔案\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
-"    This only removes files from the current branch, not from the\n"
-"    entire project history. -A/--after can be used to remove only\n"
-"    files that have already been deleted, -f/--force can be used to\n"
-"    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory.\n"
-"\n"
-"    The following table details the behavior of remove for different\n"
-"    file states (columns) and option combinations (rows). The file\n"
-"    states are Added [A], Clean [C], Modified [M] and Missing [!]\n"
-"    (as reported by hg status). The actions are Warn, Remove (from\n"
-"    branch) and Delete (from disk).\n"
-"\n"
+"      -Af    R  R  R  R"
+msgstr ""
 "           A  C  M  !\n"
 "    none   W  RD W  R\n"
 "    -f     R  RD RD R\n"
 "    -A     W  W  W  R\n"
-"    -Af    R  R  R  R\n"
-"\n"
+"    -Af    R  R  R  R"
+
+#, fuzzy
+msgid ""
+"    This command schedules the files to be removed at the next commit.\n"
+"    To undo a remove before that, see hg revert.\n"
+"    "
+msgstr ""
 "    This command schedules the files to be removed at the next commit.\n"
 "    To undo a remove before that, see hg revert.\n"
 "    "
@@ -6457,38 +7936,56 @@
 msgid "has been marked for add"
 msgstr ""
 
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
+msgid "rename files; equivalent of copy + remove"
+msgstr "é‡æ–°å‘½å檔案;等åŒæ–¼ copy + remove"
+
+msgid ""
 "    Mark dest as copies of sources; mark sources for deletion. If dest\n"
 "    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
+"    file, there can only be one source."
+msgstr ""
+"    Mark dest as copies of sources; mark sources for deletion. If dest\n"
+"    is a directory, copies are put in that directory. If dest is a\n"
+"    file, there can only be one source."
+
+msgid ""
+"    This command takes effect at the next commit. To undo a rename\n"
+"    before that, see hg revert.\n"
+"    "
+msgstr ""
 "    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
-msgstr ""
-"é‡æ–°å‘½å檔案;等åŒæ–¼ copy + remove\n"
-"\n"
-"    Mark dest as copies of sources; mark sources for deletion. If dest\n"
-"    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
-"    This command takes effect at the next commit. To undo a rename\n"
-"    before that, see hg revert.\n"
-"    "
-
-#, fuzzy
-msgid ""
-"retry file merges from a merge or update\n"
+
+#, fuzzy
+msgid "retry file merges from a merge or update"
+msgstr ""
+"é‡è©¦ç¶“ç”± merge 或 update 命令所造æˆã€å»æœªå®Œæˆçš„åˆä½µ\n"
+"\n"
+"    This command will cleanly retry unresolved file merges using file\n"
+"    revisions preserved from the last update or merge. To attempt to\n"
+"    resolve all unresolved files, use the -a/--all switch.\n"
+"\n"
+"    If a conflict is resolved manually, please note that the changes\n"
+"    will be overwritten if the merge is retried with resolve. The\n"
+"    -m/--mark switch should be used to mark the file as resolved.\n"
+"\n"
+"    This command also allows listing resolved files and manually\n"
+"    indicating whether or not files are resolved. All files must be\n"
+"    marked as resolved before a commit is permitted.\n"
+"\n"
+"    The codes used to show the status of files are:\n"
+"    U = unresolved\n"
+"    R = resolved\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    This command will cleanly retry unresolved file merges using file\n"
+"    revisions preserved from the last update or merge. To attempt to\n"
+"    resolve all unresolved files, use the -a/--all switch."
+msgstr ""
+"é‡è©¦ç¶“ç”± merge 或 update 命令所造æˆã€å»æœªå®Œæˆçš„åˆä½µ\n"
 "\n"
 "    This command will cleanly retry unresolved file merges using file\n"
 "    revisions preserved from the last update or merge. To attempt to\n"
@@ -6502,8 +7999,85 @@
 "    indicating whether or not files are resolved. All files must be\n"
 "    marked as resolved before a commit is permitted.\n"
 "\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    The codes used to show the status of files are:\n"
+"    U = unresolved\n"
+"    R = resolved\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If a conflict is resolved manually, please note that the changes\n"
+"    will be overwritten if the merge is retried with resolve. The\n"
+"    -m/--mark switch should be used to mark the file as resolved."
+msgstr ""
+"é‡è©¦ç¶“ç”± merge 或 update 命令所造æˆã€å»æœªå®Œæˆçš„åˆä½µ\n"
+"\n"
+"    This command will cleanly retry unresolved file merges using file\n"
+"    revisions preserved from the last update or merge. To attempt to\n"
+"    resolve all unresolved files, use the -a/--all switch.\n"
+"\n"
+"    If a conflict is resolved manually, please note that the changes\n"
+"    will be overwritten if the merge is retried with resolve. The\n"
+"    -m/--mark switch should be used to mark the file as resolved.\n"
+"\n"
+"    This command also allows listing resolved files and manually\n"
+"    indicating whether or not files are resolved. All files must be\n"
+"    marked as resolved before a commit is permitted.\n"
+"\n"
+"    The codes used to show the status of files are:\n"
+"    U = unresolved\n"
+"    R = resolved\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    This command also allows listing resolved files and manually\n"
+"    indicating whether or not files are resolved. All files must be\n"
+"    marked as resolved before a commit is permitted."
+msgstr ""
+"é‡è©¦ç¶“ç”± merge 或 update 命令所造æˆã€å»æœªå®Œæˆçš„åˆä½µ\n"
+"\n"
+"    This command will cleanly retry unresolved file merges using file\n"
+"    revisions preserved from the last update or merge. To attempt to\n"
+"    resolve all unresolved files, use the -a/--all switch.\n"
+"\n"
+"    If a conflict is resolved manually, please note that the changes\n"
+"    will be overwritten if the merge is retried with resolve. The\n"
+"    -m/--mark switch should be used to mark the file as resolved.\n"
+"\n"
+"    This command also allows listing resolved files and manually\n"
+"    indicating whether or not files are resolved. All files must be\n"
+"    marked as resolved before a commit is permitted.\n"
+"\n"
+"    The codes used to show the status of files are:\n"
+"    U = unresolved\n"
+"    R = resolved\n"
+"    "
+
+#, fuzzy
+msgid "    The codes used to show the status of files are::"
+msgstr ""
+"é‡è©¦ç¶“ç”± merge 或 update 命令所造æˆã€å»æœªå®Œæˆçš„åˆä½µ\n"
+"\n"
+"    This command will cleanly retry unresolved file merges using file\n"
+"    revisions preserved from the last update or merge. To attempt to\n"
+"    resolve all unresolved files, use the -a/--all switch.\n"
+"\n"
+"    If a conflict is resolved manually, please note that the changes\n"
+"    will be overwritten if the merge is retried with resolve. The\n"
+"    -m/--mark switch should be used to mark the file as resolved.\n"
+"\n"
+"    This command also allows listing resolved files and manually\n"
+"    indicating whether or not files are resolved. All files must be\n"
+"    marked as resolved before a commit is permitted.\n"
+"\n"
+"    The codes used to show the status of files are:\n"
+"    U = unresolved\n"
+"    R = resolved\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      U = unresolved\n"
 "      R = resolved\n"
 "    "
@@ -6536,69 +8110,74 @@
 msgid "no files or directories specified; use --all to remerge all files"
 msgstr ""
 
-msgid ""
-"restore individual files or directories to an earlier state\n"
-"\n"
+msgid "restore individual files or directories to an earlier state"
+msgstr "將特定的檔案或目錄回復æˆè¼ƒæ—©çš„狀態"
+
+msgid ""
+"    (Use update -r to check out earlier revisions, revert does not\n"
+"    change the working directory parents.)"
+msgstr ""
 "    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
+"    change the working directory parents.)"
+
+msgid ""
+"    With no revision specified, revert the named files or directories\n"
+"    to the contents they had in the parent of the working directory.\n"
+"    This restores the contents of the affected files to an unmodified\n"
+"    state and unschedules adds, removes, copies, and renames. If the\n"
+"    working directory has two parents, you must explicitly specify the\n"
+"    revision to revert to."
+msgstr ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
 "    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to.\n"
-"\n"
+"    revision to revert to."
+
+msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
 "    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    dates' for a list of formats valid for -d/--date."
+msgstr ""
+"    Using the -r/--rev option, revert the given files or directories\n"
+"    to their contents as of a specific revision. This can be helpful\n"
+"    to \"roll back\" some or all of an earlier change. See 'hg help\n"
+"    dates' for a list of formats valid for -d/--date."
+
+msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
-"    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
-"    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
-"    Modified files are saved with a .orig suffix before reverting.\n"
-"    To disable these backups, use --no-backup.\n"
-"    "
-msgstr ""
-"將特定的檔案或目錄回復æˆè¼ƒæ—©çš„狀態\n"
-"\n"
-"    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)\n"
-"\n"
-"    With no revision specified, revert the named files or directories\n"
-"    to the contents they had in the parent of the working directory.\n"
-"    This restores the contents of the affected files to an unmodified\n"
-"    state and unschedules adds, removes, copies, and renames. If the\n"
-"    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to.\n"
-"\n"
-"    Using the -r/--rev option, revert the given files or directories\n"
-"    to their contents as of a specific revision. This can be helpful\n"
-"    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date.\n"
-"\n"
+"    afterwards."
+msgstr ""
 "    Revert modifies the working directory. It does not commit any\n"
 "    changes, or change the parent of the working directory. If you\n"
 "    revert to a revision other than the parent of the working\n"
 "    directory, the reverted files will thus appear modified\n"
-"    afterwards.\n"
-"\n"
+"    afterwards."
+
+msgid ""
+"    If a file has been deleted, it is restored. If the executable mode\n"
+"    of a file was changed, it is reset."
+msgstr ""
 "    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset.\n"
-"\n"
+"    of a file was changed, it is reset."
+
+msgid ""
+"    If names are given, all files matching the names are reverted.\n"
+"    If no arguments are given, no files are reverted."
+msgstr ""
 "    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
+"    If no arguments are given, no files are reverted."
+
+msgid ""
+"    Modified files are saved with a .orig suffix before reverting.\n"
+"    To disable these backups, use --no-backup.\n"
+"    "
+msgstr ""
 "    Modified files are saved with a .orig suffix before reverting.\n"
 "    To disable these backups, use --no-backup.\n"
 "    "
@@ -6634,26 +8213,50 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"roll back the last transaction\n"
-"\n"
+msgid "roll back the last transaction"
+msgstr "roll back 最後一次的 transaction"
+
+#, fuzzy
+msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
 "    any dirstate changes since that time. This command does not alter\n"
-"    the working directory.\n"
-"\n"
+"    the working directory."
+msgstr ""
+"    This command should be used with care. There is only one level of\n"
+"    rollback, and there is no way to undo a rollback. It will also\n"
+"    restore the dirstate at the time of the last transaction, losing\n"
+"    any dirstate changes since that time."
+
+#, fuzzy
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back::\n"
-"\n"
+"    and their effects can be rolled back::"
+msgstr ""
+"    Transactions are used to encapsulate the effects of all commands\n"
+"    that create new changesets or propagate existing changesets into a\n"
+"    repository. For example, the following commands are transactional,\n"
+"    and their effects can be rolled back:"
+
+#, fuzzy
+msgid ""
 "      commit\n"
 "      import\n"
 "      pull\n"
 "      push (with this repository as destination)\n"
-"      unbundle\n"
-"\n"
+"      unbundle"
+msgstr ""
+"      commit\n"
+"      import\n"
+"      pull\n"
+"      push (with this repository as destination)\n"
+"      unbundle"
+
+#, fuzzy
+msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -6662,24 +8265,6 @@
 "    may fail if a rollback is performed.\n"
 "    "
 msgstr ""
-"roll back 最後一次的 transaction\n"
-"\n"
-"    This command should be used with care. There is only one level of\n"
-"    rollback, and there is no way to undo a rollback. It will also\n"
-"    restore the dirstate at the time of the last transaction, losing\n"
-"    any dirstate changes since that time.\n"
-"\n"
-"    Transactions are used to encapsulate the effects of all commands\n"
-"    that create new changesets or propagate existing changesets into a\n"
-"    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back:\n"
-"\n"
-"      commit\n"
-"      import\n"
-"      pull\n"
-"      push (with this repository as destination)\n"
-"      unbundle\n"
-"\n"
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
@@ -6688,31 +8273,28 @@
 "    may fail if a rollback is performed.\n"
 "    "
 
-msgid ""
-"print the root (top) of the current working directory\n"
-"\n"
+msgid "print the root (top) of the current working directory"
+msgstr "é¡¯ç¤ºç›®å‰ working directory çš„ root 目錄"
+
+msgid ""
+"    Print the root directory of the current repository.\n"
+"    "
+msgstr ""
 "    Print the root directory of the current repository.\n"
 "    "
-msgstr ""
-"é¡¯ç¤ºç›®å‰ working directory çš„ root 目錄\n"
-"\n"
-"    Print the root directory of the current repository.\n"
-"    "
-
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
+
+msgid "export the repository via HTTP"
+msgstr "將 repository 經由 HTTP 發佈"
+
+msgid "    Start a local HTTP repository browser and pull server."
+msgstr "    Start a local HTTP repository browser and pull server."
+
+msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
 "    files.\n"
 "    "
 msgstr ""
-"將 repository 經由 HTTP 發佈\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
 "    files.\n"
@@ -6723,8 +8305,9 @@
 msgstr ""
 
 #, fuzzy
-msgid ""
-"show changed files in the working directory\n"
+msgid "show changed files in the working directory"
+msgstr ""
+"顯示 working directory 中已變更的檔案\n"
 "\n"
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
@@ -6745,8 +8328,174 @@
 "    If two revisions are given, the differences between them are\n"
 "    shown.\n"
 "\n"
-"    The codes used to show the status of files are::\n"
-"\n"
+"    The codes used to show the status of files are:\n"
+"    M = modified\n"
+"    A = added\n"
+"    R = removed\n"
+"    C = clean\n"
+"    ! = missing (deleted by non-hg command, but still tracked)\n"
+"    ? = not tracked\n"
+"    I = ignored\n"
+"      = origin of the previous file listed as A (added)\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Show status of files in the repository. If names are given, only\n"
+"    files that match are shown. Files that are clean or ignored or\n"
+"    the source of a copy/move operation, are not listed unless\n"
+"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
+"    Unless options described with \"show only ...\" are given, the\n"
+"    options -mardu are used."
+msgstr ""
+"顯示 working directory 中已變更的檔案\n"
+"\n"
+"    Show status of files in the repository. If names are given, only\n"
+"    files that match are shown. Files that are clean or ignored or\n"
+"    the source of a copy/move operation, are not listed unless\n"
+"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
+"    Unless options described with \"show only ...\" are given, the\n"
+"    options -mardu are used.\n"
+"\n"
+"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
+"\n"
+"    NOTE: status may appear to disagree with diff if permissions have\n"
+"    changed or a merge has occurred. The standard diff format does not\n"
+"    report permission changes and diff only reports changes relative\n"
+"    to one merge parent.\n"
+"\n"
+"    If one revision is given, it is used as the base revision.\n"
+"    If two revisions are given, the differences between them are\n"
+"    shown.\n"
+"\n"
+"    The codes used to show the status of files are:\n"
+"    M = modified\n"
+"    A = added\n"
+"    R = removed\n"
+"    C = clean\n"
+"    ! = missing (deleted by non-hg command, but still tracked)\n"
+"    ? = not tracked\n"
+"    I = ignored\n"
+"      = origin of the previous file listed as A (added)\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored."
+msgstr ""
+"顯示 working directory 中已變更的檔案\n"
+"\n"
+"    Show status of files in the repository. If names are given, only\n"
+"    files that match are shown. Files that are clean or ignored or\n"
+"    the source of a copy/move operation, are not listed unless\n"
+"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
+"    Unless options described with \"show only ...\" are given, the\n"
+"    options -mardu are used.\n"
+"\n"
+"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
+"\n"
+"    NOTE: status may appear to disagree with diff if permissions have\n"
+"    changed or a merge has occurred. The standard diff format does not\n"
+"    report permission changes and diff only reports changes relative\n"
+"    to one merge parent.\n"
+"\n"
+"    If one revision is given, it is used as the base revision.\n"
+"    If two revisions are given, the differences between them are\n"
+"    shown.\n"
+"\n"
+"    The codes used to show the status of files are:\n"
+"    M = modified\n"
+"    A = added\n"
+"    R = removed\n"
+"    C = clean\n"
+"    ! = missing (deleted by non-hg command, but still tracked)\n"
+"    ? = not tracked\n"
+"    I = ignored\n"
+"      = origin of the previous file listed as A (added)\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    NOTE: status may appear to disagree with diff if permissions have\n"
+"    changed or a merge has occurred. The standard diff format does not\n"
+"    report permission changes and diff only reports changes relative\n"
+"    to one merge parent."
+msgstr ""
+"顯示 working directory 中已變更的檔案\n"
+"\n"
+"    Show status of files in the repository. If names are given, only\n"
+"    files that match are shown. Files that are clean or ignored or\n"
+"    the source of a copy/move operation, are not listed unless\n"
+"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
+"    Unless options described with \"show only ...\" are given, the\n"
+"    options -mardu are used.\n"
+"\n"
+"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
+"\n"
+"    NOTE: status may appear to disagree with diff if permissions have\n"
+"    changed or a merge has occurred. The standard diff format does not\n"
+"    report permission changes and diff only reports changes relative\n"
+"    to one merge parent.\n"
+"\n"
+"    If one revision is given, it is used as the base revision.\n"
+"    If two revisions are given, the differences between them are\n"
+"    shown.\n"
+"\n"
+"    The codes used to show the status of files are:\n"
+"    M = modified\n"
+"    A = added\n"
+"    R = removed\n"
+"    C = clean\n"
+"    ! = missing (deleted by non-hg command, but still tracked)\n"
+"    ? = not tracked\n"
+"    I = ignored\n"
+"      = origin of the previous file listed as A (added)\n"
+"    "
+
+#, fuzzy
+msgid ""
+"    If one revision is given, it is used as the base revision.\n"
+"    If two revisions are given, the differences between them are\n"
+"    shown."
+msgstr ""
+"顯示 working directory 中已變更的檔案\n"
+"\n"
+"    Show status of files in the repository. If names are given, only\n"
+"    files that match are shown. Files that are clean or ignored or\n"
+"    the source of a copy/move operation, are not listed unless\n"
+"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
+"    Unless options described with \"show only ...\" are given, the\n"
+"    options -mardu are used.\n"
+"\n"
+"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
+"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
+"\n"
+"    NOTE: status may appear to disagree with diff if permissions have\n"
+"    changed or a merge has occurred. The standard diff format does not\n"
+"    report permission changes and diff only reports changes relative\n"
+"    to one merge parent.\n"
+"\n"
+"    If one revision is given, it is used as the base revision.\n"
+"    If two revisions are given, the differences between them are\n"
+"    shown.\n"
+"\n"
+"    The codes used to show the status of files are:\n"
+"    M = modified\n"
+"    A = added\n"
+"    R = removed\n"
+"    C = clean\n"
+"    ! = missing (deleted by non-hg command, but still tracked)\n"
+"    ? = not tracked\n"
+"    I = ignored\n"
+"      = origin of the previous file listed as A (added)\n"
+"    "
+
+#, fuzzy
+msgid ""
 "      M = modified\n"
 "      A = added\n"
 "      R = removed\n"
@@ -6789,12 +8538,15 @@
 "      = origin of the previous file listed as A (added)\n"
 "    "
 
-msgid ""
-"summarize working directory state\n"
-"\n"
+msgid "summarize working directory state"
+msgstr ""
+
+msgid ""
 "    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
+"    including parents, branch, commit status, and available updates."
+msgstr ""
+
+msgid ""
 "    With the --remote option, this will check the default paths for\n"
 "    incoming and outgoing changes. This can be time-consuming.\n"
 "    "
@@ -6885,46 +8637,40 @@
 msgid "remote: (synced)\n"
 msgstr "é ç«¯: "
 
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
+msgid "add one or more tags for the current or given revision"
+msgstr "å°ç›®å‰æˆ–是指定的 revision 新增一或多個 tags"
+
+msgid "    Name a particular revision using <name>."
+msgstr "    Name a particular revision using <name>."
+
+msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
+"    earlier versions or to mark branch points as releases, etc."
+msgstr ""
+"    Tags are used to name particular revisions of the repository and are\n"
+"    very useful to compare different revisions, to go back to significant\n"
+"    earlier versions or to mark branch points as releases, etc."
+
+msgid ""
 "    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    used, or tip if no revision is checked out."
+msgstr ""
+"    If no revision is given, the parent of the working directory is\n"
+"    used, or tip if no revision is checked out."
+
+msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"å°ç›®å‰æˆ–是指定的 revision 新增一或多個 tags\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
-"    Tags are used to name particular revisions of the repository and are\n"
-"    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc.\n"
-"\n"
-"    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out.\n"
-"\n"
+"    shared among repositories)."
+msgstr ""
 "    To facilitate version control, distribution, and merging of tags,\n"
 "    they are stored as a file named \".hgtags\" which is managed\n"
 "    similarly to other project files and can be hand-edited if\n"
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    shared among repositories)."
 
 msgid "tag names must be unique"
 msgstr ""
@@ -6952,119 +8698,119 @@
 msgid "tag '%s' already exists (use -f to force)"
 msgstr ""
 
-msgid ""
-"list repository tags\n"
-"\n"
+msgid "list repository tags"
+msgstr "列出 repository tags"
+
+msgid ""
+"    This lists both regular and local tags. When the -v/--verbose\n"
+"    switch is used, a third column \"local\" is printed for local tags.\n"
+"    "
+msgstr ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
 "    switch is used, a third column \"local\" is printed for local tags.\n"
 "    "
-msgstr ""
-"列出 repository tags\n"
-"\n"
-"    This lists both regular and local tags. When the -v/--verbose\n"
-"    switch is used, a third column \"local\" is printed for local tags.\n"
-"    "
-
-msgid ""
-"show the tip revision\n"
-"\n"
+
+msgid "show the tip revision"
+msgstr "顯示 tip revision"
+
+msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
+"    recently changed head)."
+msgstr ""
+"    The tip revision (usually just called the tip) is the changeset\n"
+"    most recently added to the repository (and therefore the most\n"
+"    recently changed head)."
+
+msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
 "    and cannot be renamed or assigned to a different changeset.\n"
 "    "
 msgstr ""
-"顯示 tip revision\n"
-"\n"
-"    The tip revision (usually just called the tip) is the changeset\n"
-"    most recently added to the repository (and therefore the most\n"
-"    recently changed head).\n"
-"\n"
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
 "    and cannot be renamed or assigned to a different changeset.\n"
 "    "
 
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
+msgid "apply one or more changegroup files"
+msgstr "套用一或多個 changegroup 檔案"
+
+msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 msgstr ""
-"套用一或多個 changegroup 檔案\n"
-"\n"
 "    Apply one or more compressed changegroup files generated by the\n"
 "    bundle command.\n"
 "    "
 
 #, fuzzy
-msgid ""
-"update working directory\n"
-"\n"
+msgid "update working directory"
+msgstr "æ›´æ–° working directory"
+
+#, fuzzy
+msgid ""
 "    Update the repository's working directory to the specified\n"
 "    revision, or the tip of the current branch if none is specified.\n"
 "    Use null as the revision to remove the working copy (like 'hg\n"
-"    clone -U').\n"
-"\n"
+"    clone -U')."
+msgstr ""
+"    Update the repository's working directory to the specified\n"
+"    revision, or the tip of the current branch if none is specified.\n"
+"    Use null as the revision to remove the working copy (like 'hg\n"
+"    clone -U')."
+
+#, fuzzy
+msgid ""
 "    When the working directory contains no uncommitted changes, it\n"
 "    will be replaced by the state of the requested revision from the\n"
 "    repository. When the requested revision is on a different branch,\n"
 "    the working directory will additionally be switched to that\n"
-"    branch.\n"
-"\n"
+"    branch."
+msgstr ""
+"    When the working directory contains no uncommitted changes, it\n"
+"    will be replaced by the state of the requested revision from the\n"
+"    repository. When the requested revision is on a different branch,\n"
+"    the working directory will additionally be switched to that\n"
+"    branch."
+
+#, fuzzy
+msgid ""
 "    When there are uncommitted changes, use option -C/--clean to\n"
 "    discard them, forcibly replacing the state of the working\n"
 "    directory with the requested revision. Alternately, use -c/--check\n"
-"    to abort.\n"
-"\n"
+"    to abort."
+msgstr ""
+"    When there are uncommitted changes, use option -C/--clean to\n"
+"    discard them, forcibly replacing the state of the working\n"
+"    directory with the requested revision."
+
+#, fuzzy
+msgid ""
 "    When there are uncommitted changes and option -C/--clean is not\n"
 "    used, and the parent revision and requested revision are on the\n"
 "    same branch, and one of them is an ancestor of the other, then the\n"
 "    new working directory will contain the requested revision merged\n"
 "    with the uncommitted changes. Otherwise, the update will fail with\n"
-"    a suggestion to use 'merge' or 'update -C' instead.\n"
-"\n"
-"    If you want to update just one file to an older revision, use\n"
-"    revert.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"æ›´æ–° working directory\n"
-"\n"
-"    Update the repository's working directory to the specified\n"
-"    revision, or the tip of the current branch if none is specified.\n"
-"    Use null as the revision to remove the working copy (like 'hg\n"
-"    clone -U').\n"
-"\n"
-"    When the working directory contains no uncommitted changes, it\n"
-"    will be replaced by the state of the requested revision from the\n"
-"    repository. When the requested revision is on a different branch,\n"
-"    the working directory will additionally be switched to that\n"
-"    branch.\n"
-"\n"
-"    When there are uncommitted changes, use option -C/--clean to\n"
-"    discard them, forcibly replacing the state of the working\n"
-"    directory with the requested revision.\n"
-"\n"
+"    a suggestion to use 'merge' or 'update -C' instead."
+msgstr ""
 "    When there are uncommitted changes and option -C/--clean is not\n"
 "    used, and the parent revision and requested revision are on the\n"
 "    same branch, and one of them is an ancestor of the other, then the\n"
 "    new working directory will contain the requested revision merged\n"
 "    with the uncommitted changes. Otherwise, the update will fail with\n"
-"    a suggestion to use 'merge' or 'update -C' instead.\n"
-"\n"
+"    a suggestion to use 'merge' or 'update -C' instead."
+
+#, fuzzy
+msgid ""
 "    If you want to update just one file to an older revision, use\n"
-"    revert.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
+"    revert."
+msgstr ""
+"    If you want to update just one file to an older revision, use\n"
+"    revert."
 
 msgid "cannot specify both -c/--check and -C/--clean"
 msgstr ""
@@ -7073,21 +8819,19 @@
 msgid "uncommitted local changes"
 msgstr "未åŒæ­¥çš„變更"
 
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
+msgid "verify the integrity of the repository"
+msgstr "驗證 repository 的完整性"
+
+msgid "    Verify the integrity of the current repository."
+msgstr "    Verify the integrity of the current repository."
+
+msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
 "    integrity of their crosslinks and indices.\n"
 "    "
 msgstr ""
-"驗證 repository 的完整性\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
@@ -7477,9 +9221,7 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr ""
 
-msgid ""
-"directory strip option for patch. This has the same meaning as the "
-"corresponding patch option"
+msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
 msgstr ""
 
 msgid "base path"
@@ -7926,9 +9668,7 @@
 msgid "Option --cwd may not be abbreviated!"
 msgstr ""
 
-msgid ""
-"Option -R has to be separated from other options (e.g. not -qR) and --"
-"repository may only be abbreviated as --repo!"
+msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
 msgstr ""
 
 #, python-format
@@ -7946,9 +9686,7 @@
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr ""
 
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
+msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
 msgstr ""
 
 #, python-format
@@ -8076,9 +9814,7 @@
 msgid "destination '%s' is not empty"
 msgstr "目的端 '%s' ä¸æ˜¯ç©ºçš„"
 
-msgid ""
-"src repository does not support revision lookup and so doesn't support clone "
-"by revision"
+msgid "src repository does not support revision lookup and so doesn't support clone by revision"
 msgstr ""
 
 msgid "clone from remote to remote not supported"
@@ -8089,16 +9825,13 @@
 msgstr "正在新增 branch\n"
 
 #, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
 msgstr ""
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr ""
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
-"abandon\n"
+msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n"
 msgstr ""
 
 msgid "(branch merge, don't forget to commit)\n"
@@ -8366,9 +10099,7 @@
 msgid "requesting all changes\n"
 msgstr ""
 
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
+msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
 msgstr ""
 
 #, python-format
@@ -8487,9 +10218,7 @@
 msgstr ""
 
 #, python-format
-msgid ""
-"untracked file in working directory differs from file in requested revision: "
-"'%s'"
+msgid "untracked file in working directory differs from file in requested revision: '%s'"
 msgstr ""
 
 #, python-format
--- a/mercurial/ancestor.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/ancestor.py	Mon Jun 21 13:41:11 2010 -0500
@@ -19,6 +19,8 @@
     if a == b:
         return a
 
+    a, b = sorted([a, b])
+
     # find depth from root of all ancestors
     parentcache = {}
     visit = [a, b]
--- a/mercurial/base85.c	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/base85.c	Mon Jun 21 13:41:11 2010 -0500
@@ -11,6 +11,8 @@
 
 #include <Python.h>
 
+#include "util.h"
+
 static const char b85chars[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 	"abcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~";
 static char b85dec[256];
@@ -46,10 +48,10 @@
 			olen++;
 		olen += len / 4 * 5;
 	}
-	if (!(out = PyString_FromStringAndSize(NULL, olen + 3)))
+	if (!(out = PyBytes_FromStringAndSize(NULL, olen + 3)))
 		return NULL;
 
-	dst = PyString_AS_STRING(out);
+	dst = PyBytes_AsString(out);
 
 	while (len) {
 		acc = 0;
@@ -68,7 +70,7 @@
 	}
 
 	if (!pad)
-		_PyString_Resize(&out, olen);
+		_PyBytes_Resize(&out, olen);
 
 	return out;
 }
@@ -89,10 +91,10 @@
 	i = len % 5;
 	if (i)
 		olen += i - 1;
-	if (!(out = PyString_FromStringAndSize(NULL, olen)))
+	if (!(out = PyBytes_FromStringAndSize(NULL, olen)))
 		return NULL;
 
-	dst = PyString_AS_STRING(out);
+	dst = PyBytes_AsString(out);
 
 	i = 0;
 	while (i < len)
@@ -153,9 +155,26 @@
 	{NULL, NULL}
 };
 
+#ifdef IS_PY3K
+static struct PyModuleDef base85_module = {
+	PyModuleDef_HEAD_INIT,
+	"base85",
+	base85_doc,
+	-1,
+	methods
+};
+
+PyMODINIT_FUNC PyInit_base85(void)
+{
+	b85prep();
+
+	return PyModule_Create(&base85_module);
+}
+#else
 PyMODINIT_FUNC initbase85(void)
 {
 	Py_InitModule3("base85", methods, base85_doc);
 
 	b85prep();
 }
+#endif
--- a/mercurial/bdiff.c	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/bdiff.c	Mon Jun 21 13:41:11 2010 -0500
@@ -46,6 +46,8 @@
 #include <inttypes.h>
 #endif
 
+#include "util.h"
+
 struct line {
 	int h, len, n, e;
 	const char *l;
@@ -309,8 +311,9 @@
 	if (!PyArg_ParseTuple(args, "SS:bdiff", &sa, &sb))
 		return NULL;
 
-	an = splitlines(PyString_AsString(sa), PyString_Size(sa), &a);
-	bn = splitlines(PyString_AsString(sb), PyString_Size(sb), &b);
+	an = splitlines(PyBytes_AsString(sa), PyBytes_Size(sa), &a);
+	bn = splitlines(PyBytes_AsString(sb), PyBytes_Size(sb), &b);
+
 	if (!a || !b)
 		goto nomem;
 
@@ -363,12 +366,13 @@
 		lb = h->b2;
 	}
 
-	result = PyString_FromStringAndSize(NULL, len);
+	result = PyBytes_FromStringAndSize(NULL, len);
+
 	if (!result)
 		goto nomem;
 
 	/* build binary patch */
-	rb = PyString_AsString(result);
+	rb = PyBytes_AsString(result);
 	la = lb = 0;
 
 	for (h = l.base; h != l.head; h++) {
@@ -400,8 +404,23 @@
 	{NULL, NULL}
 };
 
+#ifdef IS_PY3K
+static struct PyModuleDef bdiff_module = {
+	PyModuleDef_HEAD_INIT,
+	"bdiff",
+	mdiff_doc,
+	-1,
+	methods
+};
+
+PyMODINIT_FUNC PyInit_bdiff(void)
+{
+	return PyModule_Create(&bdiff_module);
+}
+#else
 PyMODINIT_FUNC initbdiff(void)
 {
 	Py_InitModule3("bdiff", methods, mdiff_doc);
 }
+#endif
 
--- a/mercurial/byterange.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/byterange.py	Mon Jun 21 13:41:11 2010 -0500
@@ -25,11 +25,6 @@
 import urllib2
 import email.Utils
 
-try:
-    from cStringIO import StringIO
-except ImportError, msg:
-    from StringIO import StringIO
-
 class RangeError(IOError):
     """Error raised when an unsatisfiable range is requested."""
     pass
--- a/mercurial/cmdutil.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/cmdutil.py	Mon Jun 21 13:41:11 2010 -0500
@@ -8,8 +8,9 @@
 from node import hex, nullid, nullrev, short
 from i18n import _
 import os, sys, errno, re, glob, tempfile
-import mdiff, bdiff, util, templater, patch, error, encoding, templatekw
+import util, templater, patch, error, encoding, templatekw
 import match as _match
+import similar, revset
 
 revrangesep = ':'
 
@@ -110,32 +111,6 @@
         limit = None
     return limit
 
-def remoteui(src, opts):
-    'build a remote ui from ui or repo and opts'
-    if hasattr(src, 'baseui'): # looks like a repository
-        dst = src.baseui.copy() # drop repo-specific config
-        src = src.ui # copy target options from repo
-    else: # assume it's a global ui object
-        dst = src.copy() # keep all global options
-
-    # copy ssh-specific options
-    for o in 'ssh', 'remotecmd':
-        v = opts.get(o) or src.config('ui', o)
-        if v:
-            dst.setconfig("ui", o, v)
-
-    # copy bundle-specific options
-    r = src.config('bundle', 'mainreporoot')
-    if r:
-        dst.setconfig('bundle', 'mainreporoot', r)
-
-    # copy auth and http_proxy section settings
-    for sect in ('auth', 'http_proxy'):
-        for key, val in src.configitems(sect):
-            dst.setconfig(sect, key, val)
-
-    return dst
-
 def revpair(repo, revs):
     '''return pair of nodes, given list of revisions. second item can
     be None, meaning use working dir.'''
@@ -174,22 +149,36 @@
 
     seen, l = set(), []
     for spec in revs:
-        if revrangesep in spec:
-            start, end = spec.split(revrangesep, 1)
-            start = revfix(repo, start, 0)
-            end = revfix(repo, end, len(repo) - 1)
-            step = start > end and -1 or 1
-            for rev in xrange(start, end + step, step):
+        # attempt to parse old-style ranges first to deal with
+        # things like old-tag which contain query metacharacters
+        try:
+            if revrangesep in spec:
+                start, end = spec.split(revrangesep, 1)
+                start = revfix(repo, start, 0)
+                end = revfix(repo, end, len(repo) - 1)
+                step = start > end and -1 or 1
+                for rev in xrange(start, end + step, step):
+                    if rev in seen:
+                        continue
+                    seen.add(rev)
+                    l.append(rev)
+                continue
+            elif spec and spec in repo: # single unquoted rev
+                rev = revfix(repo, spec, None)
                 if rev in seen:
                     continue
                 seen.add(rev)
                 l.append(rev)
-        else:
-            rev = revfix(repo, spec, None)
-            if rev in seen:
                 continue
-            seen.add(rev)
-            l.append(rev)
+        except error.RepoLookupError:
+            pass
+
+        # fall through to new-style queries if old-style fails
+        m = revset.match(spec)
+        for r in m(repo, range(len(repo))):
+            if r not in seen:
+                l.append(r)
+        seen.update(l)
 
     return l
 
@@ -286,45 +275,6 @@
 def matchfiles(repo, files):
     return _match.exact(repo.root, repo.getcwd(), files)
 
-def findrenames(repo, added, removed, threshold):
-    '''find renamed files -- yields (before, after, score) tuples'''
-    copies = {}
-    ctx = repo['.']
-    for r in removed:
-        if r not in ctx:
-            continue
-        fctx = ctx.filectx(r)
-
-        def score(text):
-            if not len(text):
-                return 0.0
-            if not fctx.cmp(text):
-                return 1.0
-            if threshold == 1.0:
-                return 0.0
-            orig = fctx.data()
-            # bdiff.blocks() returns blocks of matching lines
-            # count the number of bytes in each
-            equal = 0
-            alines = mdiff.splitnewlines(text)
-            matches = bdiff.blocks(text, orig)
-            for x1, x2, y1, y2 in matches:
-                for line in alines[x1:x2]:
-                    equal += len(line)
-
-            lengths = len(text) + len(orig)
-            return equal * 2.0 / lengths
-
-        for a in added:
-            bestscore = copies.get(a, (None, threshold))[1]
-            myscore = score(repo.wread(a))
-            if myscore >= bestscore:
-                copies[a] = (r, myscore)
-
-    for dest, v in copies.iteritems():
-        source, score = v
-        yield source, dest, score
-
 def addremove(repo, pats=[], opts={}, dry_run=None, similarity=None):
     if dry_run is None:
         dry_run = opts.get('dry_run')
@@ -357,18 +307,26 @@
             removed.append(abs)
         elif repo.dirstate[abs] == 'a':
             added.append(abs)
-    if not dry_run:
-        repo.remove(deleted)
-        repo.add(unknown)
+    copies = {}
     if similarity > 0:
-        for old, new, score in findrenames(repo, added + unknown,
-                                           removed + deleted, similarity):
+        for old, new, score in similar.findrenames(repo,
+                added + unknown, removed + deleted, similarity):
             if repo.ui.verbose or not m.exact(old) or not m.exact(new):
                 repo.ui.status(_('recording removal of %s as rename to %s '
                                  '(%d%% similar)\n') %
                                (m.rel(old), m.rel(new), score * 100))
-            if not dry_run:
-                repo.copy(old, new)
+            copies[new] = old
+
+    if not dry_run:
+        wctx = repo[None]
+        wlock = repo.wlock()
+        try:
+            wctx.remove(deleted)
+            wctx.add(unknown)
+            for new, old in copies.iteritems():
+                wctx.copy(old, new)
+        finally:
+            wlock.release()
 
 def copy(ui, repo, pats, opts, rename=False):
     # called with the repo lock held
@@ -379,15 +337,17 @@
     targets = {}
     after = opts.get("after")
     dryrun = opts.get("dry_run")
+    wctx = repo[None]
 
     def walkpat(pat):
         srcs = []
+        badstates = after and '?' or '?r'
         m = match(repo, [pat], opts, globbed=True)
         for abs in repo.walk(m):
             state = repo.dirstate[abs]
             rel = m.rel(abs)
             exact = m.exact(abs)
-            if state in '?r':
+            if state in badstates:
                 if exact and state == '?':
                     ui.warn(_('%s: not copying - file is not managed\n') % rel)
                 if exact and state == 'r':
@@ -427,6 +387,12 @@
 
         if after:
             if not exists:
+                if rename:
+                    ui.warn(_('%s: not recording move - %s does not exist\n') %
+                            (relsrc, reltarget))
+                else:
+                    ui.warn(_('%s: not recording copy - %s does not exist\n') %
+                            (relsrc, reltarget))
                 return
         elif not dryrun:
             try:
@@ -464,12 +430,12 @@
                               "data will be stored for %s.\n")
                             % (repo.pathto(origsrc, cwd), reltarget))
                 if repo.dirstate[abstarget] in '?r' and not dryrun:
-                    repo.add([abstarget])
+                    wctx.add([abstarget])
             elif not dryrun:
-                repo.copy(origsrc, abstarget)
+                wctx.copy(origsrc, abstarget)
 
         if rename and not dryrun:
-            repo.remove([abssrc], not after)
+            wctx.remove([abssrc], not after)
 
     # pat: ossep
     # dest ossep
@@ -573,7 +539,7 @@
     if errors:
         ui.warn(_('(consider using --after)\n'))
 
-    return errors
+    return errors != 0
 
 def service(opts, parentfn=None, initfn=None, runfn=None, logfile=None,
     runargs=None, appendpid=False):
@@ -647,6 +613,70 @@
     if runfn:
         return runfn()
 
+def export(repo, revs, template='hg-%h.patch', fp=None, switch_parent=False,
+           opts=None):
+    '''export changesets as hg patches.'''
+
+    total = len(revs)
+    revwidth = max([len(str(rev)) for rev in revs])
+
+    def single(rev, seqno, fp):
+        ctx = repo[rev]
+        node = ctx.node()
+        parents = [p.node() for p in ctx.parents() if p]
+        branch = ctx.branch()
+        if switch_parent:
+            parents.reverse()
+        prev = (parents and parents[0]) or nullid
+
+        if not fp:
+            fp = make_file(repo, template, node, total=total, seqno=seqno,
+                           revwidth=revwidth, mode='ab')
+        if fp != sys.stdout and hasattr(fp, 'name'):
+            repo.ui.note("%s\n" % fp.name)
+
+        fp.write("# HG changeset patch\n")
+        fp.write("# User %s\n" % ctx.user())
+        fp.write("# Date %d %d\n" % ctx.date())
+        if branch and (branch != 'default'):
+            fp.write("# Branch %s\n" % branch)
+        fp.write("# Node ID %s\n" % hex(node))
+        fp.write("# Parent  %s\n" % hex(prev))
+        if len(parents) > 1:
+            fp.write("# Parent  %s\n" % hex(parents[1]))
+        fp.write(ctx.description().rstrip())
+        fp.write("\n\n")
+
+        for chunk in patch.diff(repo, prev, node, opts=opts):
+            fp.write(chunk)
+
+    for seqno, rev in enumerate(revs):
+        single(rev, seqno + 1, fp)
+
+def diffordiffstat(ui, repo, diffopts, node1, node2, match,
+                   changes=None, stat=False, fp=None):
+    '''show diff or diffstat.'''
+    if fp is None:
+        write = ui.write
+    else:
+        def write(s, **kw):
+            fp.write(s)
+
+    if stat:
+        diffopts.context = 0
+        width = 80
+        if not ui.plain():
+            width = util.termwidth()
+        chunks = patch.diff(repo, node1, node2, match, changes, diffopts)
+        for chunk, label in patch.diffstatui(util.iterlines(chunks),
+                                             width=width,
+                                             git=diffopts.git):
+            write(chunk, label=label)
+    else:
+        for chunk, label in patch.diffui(repo, node1, node2, match,
+                                         changes, diffopts):
+            write(chunk, label=label)
+
 class changeset_printer(object):
     '''show changeset information when templating not requested.'''
 
@@ -682,7 +712,7 @@
         if self.buffered:
             self.ui.pushbuffer()
             self._show(ctx, copies, props)
-            self.hunk[ctx.rev()] = self.ui.popbuffer()
+            self.hunk[ctx.rev()] = self.ui.popbuffer(labeled=True)
         else:
             self._show(ctx, copies, props)
 
@@ -692,7 +722,8 @@
         rev = ctx.rev()
 
         if self.ui.quiet:
-            self.ui.write("%d:%s\n" % (rev, short(changenode)))
+            self.ui.write("%d:%s\n" % (rev, short(changenode)),
+                          label='log.node')
             return
 
         log = self.repo.changelog
@@ -703,63 +734,77 @@
         parents = [(p, hexfunc(log.node(p)))
                    for p in self._meaningful_parentrevs(log, rev)]
 
-        self.ui.write(_("changeset:   %d:%s\n") % (rev, hexfunc(changenode)))
+        self.ui.write(_("changeset:   %d:%s\n") % (rev, hexfunc(changenode)),
+                      label='log.changeset')
 
         branch = ctx.branch()
         # don't show the default branch name
         if branch != 'default':
             branch = encoding.tolocal(branch)
-            self.ui.write(_("branch:      %s\n") % branch)
+            self.ui.write(_("branch:      %s\n") % branch,
+                          label='log.branch')
         for tag in self.repo.nodetags(changenode):
-            self.ui.write(_("tag:         %s\n") % tag)
+            self.ui.write(_("tag:         %s\n") % tag,
+                          label='log.tag')
         for parent in parents:
-            self.ui.write(_("parent:      %d:%s\n") % parent)
+            self.ui.write(_("parent:      %d:%s\n") % parent,
+                          label='log.parent')
 
         if self.ui.debugflag:
             mnode = ctx.manifestnode()
             self.ui.write(_("manifest:    %d:%s\n") %
-                          (self.repo.manifest.rev(mnode), hex(mnode)))
-        self.ui.write(_("user:        %s\n") % ctx.user())
-        self.ui.write(_("date:        %s\n") % date)
+                          (self.repo.manifest.rev(mnode), hex(mnode)),
+                          label='ui.debug log.manifest')
+        self.ui.write(_("user:        %s\n") % ctx.user(),
+                      label='log.user')
+        self.ui.write(_("date:        %s\n") % date,
+                      label='log.date')
 
         if self.ui.debugflag:
             files = self.repo.status(log.parents(changenode)[0], changenode)[:3]
             for key, value in zip([_("files:"), _("files+:"), _("files-:")],
                                   files):
                 if value:
-                    self.ui.write("%-12s %s\n" % (key, " ".join(value)))
+                    self.ui.write("%-12s %s\n" % (key, " ".join(value)),
+                                  label='ui.debug log.files')
         elif ctx.files() and self.ui.verbose:
-            self.ui.write(_("files:       %s\n") % " ".join(ctx.files()))
+            self.ui.write(_("files:       %s\n") % " ".join(ctx.files()),
+                          label='ui.note log.files')
         if copies and self.ui.verbose:
             copies = ['%s (%s)' % c for c in copies]
-            self.ui.write(_("copies:      %s\n") % ' '.join(copies))
+            self.ui.write(_("copies:      %s\n") % ' '.join(copies),
+                          label='ui.note log.copies')
 
         extra = ctx.extra()
         if extra and self.ui.debugflag:
             for key, value in sorted(extra.items()):
                 self.ui.write(_("extra:       %s=%s\n")
-                              % (key, value.encode('string_escape')))
+                              % (key, value.encode('string_escape')),
+                              label='ui.debug log.extra')
 
         description = ctx.description().strip()
         if description:
             if self.ui.verbose:
-                self.ui.write(_("description:\n"))
-                self.ui.write(description)
+                self.ui.write(_("description:\n"),
+                              label='ui.note log.description')
+                self.ui.write(description,
+                              label='ui.note log.description')
                 self.ui.write("\n\n")
             else:
                 self.ui.write(_("summary:     %s\n") %
-                              description.splitlines()[0])
+                              description.splitlines()[0],
+                              label='log.summary')
         self.ui.write("\n")
 
         self.showpatch(changenode)
 
     def showpatch(self, node):
         if self.patch:
+            stat = self.diffopts.get('stat')
+            diffopts = patch.diffopts(self.ui, self.diffopts)
             prev = self.repo.changelog.parents(node)[0]
-            chunks = patch.diff(self.repo, prev, node, match=self.patch,
-                                opts=patch.diffopts(self.ui, self.diffopts))
-            for chunk in chunks:
-                self.ui.write(chunk)
+            diffordiffstat(self.ui, self.repo, diffopts, prev, node,
+                           match=self.patch, stat=stat)
             self.ui.write("\n")
 
     def _meaningful_parentrevs(self, log, rev):
@@ -876,7 +921,7 @@
             msg = _("%s: no key named '%s'")
             raise util.Abort(msg % (self.t.mapfile, inst.args[0]))
         except SyntaxError, inst:
-            raise util.Abort(_('%s: %s') % (self.t.mapfile, inst.args[0]))
+            raise util.Abort('%s: %s' % (self.t.mapfile, inst.args[0]))
 
 def show_changeset(ui, repo, opts, buffered=False, matchfn=False):
     """show one changeset using template or regular display.
@@ -891,7 +936,7 @@
     """
     # options
     patch = False
-    if opts.get('patch'):
+    if opts.get('patch') or opts.get('stat'):
         patch = matchfn or matchall(repo)
 
     tmpl = opts.get('template')
@@ -989,6 +1034,8 @@
     else:
         defrange = '-1:0'
     revs = revrange(repo, opts['rev'] or [defrange])
+    if not revs:
+        return []
     wanted = set()
     slowpath = match.anypats() or (match.files() and opts.get('removed'))
     fncache = {}
@@ -1044,7 +1091,7 @@
                     fncache.setdefault(rev, [])
                     fncache[rev].append(file_)
                     wanted.add(rev)
-                    if follow and copied:
+                    if copied:
                         copies.append(copied)
     if slowpath:
         if follow:
--- a/mercurial/commands.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/commands.py	Mon Jun 21 13:41:11 2010 -0500
@@ -10,11 +10,11 @@
 from i18n import _, gettext
 import os, re, sys, difflib, time, tempfile
 import hg, util, revlog, bundlerepo, extensions, copies, error
-import patch, help, mdiff, url, encoding, templatekw
-import archival, changegroup, cmdutil, sshserver, hbisect
-from hgweb import server
-import merge as merge_
-import minirst
+import patch, help, mdiff, url, encoding, templatekw, discovery
+import archival, changegroup, cmdutil, sshserver, hbisect, hgweb, hgweb.server
+import merge as mergemod
+import minirst, revset
+import dagparser
 
 # Commands start here, listed alphabetically
 
@@ -25,14 +25,14 @@
     repository.
 
     The files will be added to the repository at the next commit. To
-    undo an add before that, see hg forget.
+    undo an add before that, see :hg:`forget`.
 
     If no names are given, add all files to the repository.
 
     .. container:: verbose
 
        An example showing how new (unknown) files are added
-       automatically by ``hg add``::
+       automatically by :hg:`add`::
 
          $ ls
          foo.c
@@ -57,7 +57,7 @@
             if ui.verbose or not exact:
                 ui.status(_('adding %s\n') % m.rel(f))
     if not opts.get('dry_run'):
-        bad += [f for f in repo.add(names) if f in m.files()]
+        bad += [f for f in repo[None].add(names) if f in m.files()]
     return bad and 1 or 0
 
 def addremove(ui, repo, *pats, **opts):
@@ -76,6 +76,8 @@
     option takes a percentage between 0 (disabled) and 100 (files must
     be identical) as its parameter. Detecting renamed files this way
     can be expensive.
+
+    Returns 0 if all files are successfully added.
     """
     try:
         sim = float(opts.get('similarity') or 0)
@@ -98,6 +100,8 @@
     it detects as binary. With -a, annotate will annotate the file
     anyway, although the results will probably be neither useful
     nor desirable.
+
+    Returns 0 on success.
     """
     if opts.get('follow'):
         # --follow is deprecated and now just an alias for -f/--file
@@ -158,8 +162,10 @@
     By default, the revision used is the parent of the working
     directory; use -r/--rev to specify a different revision.
 
-    To specify the type of archive to create, use -t/--type. Valid
-    types are:
+    The archive type is automatically detected based on file
+    extension (or override using -t/--type).
+
+    Valid types are:
 
     :``files``: a directory full of files (default)
     :``tar``:   tar archive, uncompressed
@@ -169,12 +175,14 @@
     :``zip``:   zip archive, compressed using deflate
 
     The exact name of the destination archive or directory is given
-    using a format string; see 'hg help export' for details.
+    using a format string; see :hg:`help export` for details.
 
     Each member added to an archive file has a directory prefix
     prepended. Use -p/--prefix to specify a format string for the
     prefix. The default is the basename of the archive, with suffixes
     removed.
+
+    Returns 0 on success.
     '''
 
     ctx = repo[opts.get('rev')]
@@ -184,16 +192,32 @@
     dest = cmdutil.make_filename(repo, dest, node)
     if os.path.realpath(dest) == repo.root:
         raise util.Abort(_('repository root cannot be destination'))
-    matchfn = cmdutil.match(repo, [], opts)
-    kind = opts.get('type') or 'files'
+
+    def guess_type():
+        exttypes = {
+            'tar': ['.tar'],
+            'tbz2': ['.tbz2', '.tar.bz2'],
+            'tgz': ['.tgz', '.tar.gz'],
+            'zip': ['.zip'],
+        }
+
+        for type, extensions in exttypes.items():
+            if util.any(dest.endswith(ext) for ext in extensions):
+                return type
+        return None
+
+    kind = opts.get('type') or guess_type() or 'files'
     prefix = opts.get('prefix')
+
     if dest == '-':
         if kind == 'files':
             raise util.Abort(_('cannot archive plain files to stdout'))
         dest = sys.stdout
         if not prefix:
             prefix = os.path.basename(repo.root) + '-%h'
+
     prefix = cmdutil.make_filename(repo, prefix, node)
+    matchfn = cmdutil.match(repo, [], opts)
     archival.archive(repo, dest, node, kind, not opts.get('no_decode'),
                      matchfn, prefix)
 
@@ -212,7 +236,9 @@
     changeset afterwards. This saves you from doing the merge by hand.
     The result of this merge is not committed, as with a normal merge.
 
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    See :hg:`help dates` for a list of formats valid for -d/--date.
+
+    Returns 0 on success.
     '''
     if rev and node:
         raise util.Abort(_("please specify just one revision"))
@@ -306,6 +332,8 @@
     status 0 means good, 125 means to skip the revision, 127
     (command not found) will abort the bisection, and any other
     non-zero exit status means the revision is bad.
+
+    Returns 0 on success.
     """
     def print_result(nodes, good):
         displayer = cmdutil.show_changeset(ui, repo, {})
@@ -387,7 +415,8 @@
                 hg.clean(repo, nodes[0], show_stats=False)
         finally:
             hbisect.save_state(repo, state)
-        return print_result(nodes, good)
+        print_result(nodes, good)
+        return
 
     # update state
     node = repo.lookup(rev or '.')
@@ -438,8 +467,10 @@
     the parent of the working directory, negating a previous branch
     change.
 
-    Use the command 'hg update' to switch to an existing branch. Use
-    'hg commit --close-branch' to mark this branch as closed.
+    Use the command :hg:`update` to switch to an existing branch. Use
+    :hg:`commit --close-branch` to mark this branch as closed.
+
+    Returns 0 on success.
     """
 
     if opts.get('clean'):
@@ -462,12 +493,14 @@
 
     List the repository's named branches, indicating which ones are
     inactive. If -c/--closed is specified, also list branches which have
-    been marked closed (see hg commit --close-branch).
+    been marked closed (see :hg:`commit --close-branch`).
 
     If -a/--active is specified, only show active branches. A branch
     is considered active if it contains repository heads.
 
-    Use the command 'hg update' to switch to an existing branch.
+    Use the command :hg:`update` to switch to an existing branch.
+
+    Returns 0.
     """
 
     hexfunc = ui.debugflag and hex or short
@@ -521,6 +554,8 @@
 
     Applying bundles preserves all changeset contents including
     permissions, copy/rename information, and revision history.
+
+    Returns 0 on success, 1 if no changes found.
     """
     revs = opts.get('rev') or None
     if revs:
@@ -560,13 +595,13 @@
     else:
         dest = ui.expandpath(dest or 'default-push', dest or 'default')
         dest, branches = hg.parseurl(dest, opts.get('branch'))
-        other = hg.repository(cmdutil.remoteui(repo, opts), dest)
+        other = hg.repository(hg.remoteui(repo, opts), dest)
         revs, checkout = hg.addbranchrevs(repo, other, branches, revs)
-        o = repo.findoutgoing(other, force=opts.get('force'))
+        o = discovery.findoutgoing(repo, other, force=opts.get('force'))
 
     if not o:
         ui.status(_("no changes found\n"))
-        return
+        return 1
 
     if revs:
         cg = repo.changegroupsubset(o, revs, 'bundle')
@@ -595,6 +630,8 @@
     :``%s``: basename of file being printed
     :``%d``: dirname of file being printed, or '.' if in repository root
     :``%p``: root-relative path name of file being printed
+
+    Returns 0 on success.
     """
     ctx = repo[opts.get('rev')]
     err = 1
@@ -619,11 +656,11 @@
     The location of the source is added to the new repository's
     .hg/hgrc file, as the default to be used for future pulls.
 
-    See 'hg help urls' for valid source format details.
+    See :hg:`help urls` for valid source format details.
 
     It is possible to specify an ``ssh://`` URL as the destination, but no
     .hg/hgrc and working directory will be created on the remote side.
-    Please see 'hg help urls' for important details about ``ssh://`` URLs.
+    Please see :hg:`help urls` for important details about ``ssh://`` URLs.
 
     A set of changesets (tags, or branch names) to pull may be specified
     by listing each changeset (tag, or branch name) with -r/--rev.
@@ -669,25 +706,29 @@
     f) the tipmost head specified with the url#branch source syntax
     g) the tipmost head of the default branch
     h) tip
+
+    Returns 0 on success.
     """
     if opts.get('noupdate') and opts.get('updaterev'):
         raise util.Abort(_("cannot specify both --noupdate and --updaterev"))
 
-    hg.clone(cmdutil.remoteui(ui, opts), source, dest,
-             pull=opts.get('pull'),
-             stream=opts.get('uncompressed'),
-             rev=opts.get('rev'),
-             update=opts.get('updaterev') or not opts.get('noupdate'),
-             branch=opts.get('branch'))
+    r = hg.clone(hg.remoteui(ui, opts), source, dest,
+                 pull=opts.get('pull'),
+                 stream=opts.get('uncompressed'),
+                 rev=opts.get('rev'),
+                 update=opts.get('updaterev') or not opts.get('noupdate'),
+                 branch=opts.get('branch'))
+
+    return r is None
 
 def commit(ui, repo, *pats, **opts):
     """commit the specified files or all outstanding changes
 
     Commit changes to the given files into the repository. Unlike a
-    centralized RCS, this operation is a local operation. See hg push
-    for a way to actively distribute your changes.
-
-    If a list of files is omitted, all changes reported by "hg status"
+    centralized RCS, this operation is a local operation. See
+    :hg:`push` for a way to actively distribute your changes.
+
+    If a list of files is omitted, all changes reported by :hg:`status`
     will be committed.
 
     If you are committing the result of a merge, do not provide any
@@ -696,10 +737,16 @@
     If no commit message is specified, the configured editor is
     started to prompt you for a message.
 
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    See :hg:`help dates` for a list of formats valid for -d/--date.
+
+    Returns 0 on success, 1 if nothing changed.
     """
     extra = {}
     if opts.get('close_branch'):
+        if repo['.'].node() not in repo.branchheads():
+            # The topo heads set is included in the branch heads set of the
+            # current branch, so it's sufficient to test branchheads
+            raise util.Abort(_('can only close branch heads'))
         extra['close'] = 1
     e = cmdutil.commiteditor
     if opts.get('force_editor'):
@@ -709,25 +756,58 @@
         return repo.commit(message, opts.get('user'), opts.get('date'), match,
                            editor=e, extra=extra)
 
+    branch = repo[None].branch()
+    bheads = repo.branchheads(branch)
+
     node = cmdutil.commit(ui, repo, commitfunc, pats, opts)
     if not node:
         ui.status(_("nothing changed\n"))
-        return
-    cl = repo.changelog
-    rev = cl.rev(node)
-    parents = cl.parentrevs(rev)
-    if rev - 1 in parents:
-        # one of the parents was the old tip
-        pass
-    elif (parents == (nullrev, nullrev) or
-          len(cl.heads(cl.node(parents[0]))) > 1 and
-          (parents[1] == nullrev or len(cl.heads(cl.node(parents[1]))) > 1)):
+        return 1
+
+    ctx = repo[node]
+    parents = ctx.parents()
+
+    if bheads and not [x for x in parents
+                       if x.node() in bheads and x.branch() == branch]:
         ui.status(_('created new head\n'))
+        # The message is not printed for initial roots. For the other
+        # changesets, it is printed in the following situations:
+        #
+        # Par column: for the 2 parents with ...
+        #   N: null or no parent
+        #   B: parent is on another named branch
+        #   C: parent is a regular non head changeset
+        #   H: parent was a branch head of the current branch
+        # Msg column: whether we print "created new head" message
+        # In the following, it is assumed that there already exists some
+        # initial branch heads of the current branch, otherwise nothing is
+        # printed anyway.
+        #
+        # Par Msg Comment
+        # NN   y  additional topo root
+        #
+        # BN   y  additional branch root
+        # CN   y  additional topo head
+        # HN   n  usual case
+        #
+        # BB   y  weird additional branch root
+        # CB   y  branch merge
+        # HB   n  merge with named branch
+        #
+        # CC   y  additional head from merge
+        # CH   n  merge with a head
+        #
+        # HH   n  head merge: head count decreases
+
+    if not opts.get('close_branch'):
+        for r in parents:
+            if r.extra().get('close'):
+                ui.status(_('reopening closed branch head %d\n') % r)
 
     if ui.debugflag:
-        ui.write(_('committed changeset %d:%s\n') % (rev, hex(node)))
+        ui.write(_('committed changeset %d:%s\n') % (int(ctx), ctx.hex()))
     elif ui.verbose:
-        ui.write(_('committed changeset %d:%s\n') % (rev, short(node)))
+        ui.write(_('committed changeset %d:%s\n') % (int(ctx), ctx))
 
 def copy(ui, repo, *pats, **opts):
     """mark files as copied for the next commit
@@ -741,7 +821,9 @@
     operation is recorded, but no copying is performed.
 
     This command takes effect with the next commit. To undo a copy
-    before that, see hg revert.
+    before that, see :hg:`revert`.
+
+    Returns 0 on success, 1 if errors are encountered.
     """
     wlock = repo.wlock(False)
     try:
@@ -767,7 +849,125 @@
     a = r.ancestor(lookup(rev1), lookup(rev2))
     ui.write("%d:%s\n" % (r.rev(a), hex(a)))
 
+def debugbuilddag(ui, repo, text,
+                  mergeable_file=False,
+                  appended_file=False,
+                  overwritten_file=False,
+                  new_file=False):
+    """builds a repo with a given dag from scratch in the current empty repo
+
+    Elements:
+
+     - "+n" is a linear run of n nodes based on the current default parent
+     - "." is a single node based on the current default parent
+     - "$" resets the default parent to null (implied at the start);
+           otherwise the default parent is always the last node created
+     - "<p" sets the default parent to the backref p
+     - "*p" is a fork at parent p, which is a backref
+     - "*p1/p2" is a merge of parents p1 and p2, which are backrefs
+     - "/p2" is a merge of the preceding node and p2
+     - ":tag" defines a local tag for the preceding node
+     - "@branch" sets the named branch for subsequent nodes
+     - "!command" runs the command using your shell
+     - "!!my command\\n" is like "!", but to the end of the line
+     - "#...\\n" is a comment up to the end of the line
+
+    Whitespace between the above elements is ignored.
+
+    A backref is either
+
+     - a number n, which references the node curr-n, where curr is the current
+       node, or
+     - the name of a local tag you placed earlier using ":tag", or
+     - empty to denote the default parent.
+
+    All string valued-elements are either strictly alphanumeric, or must
+    be enclosed in double quotes ("..."), with "\" as escape character.
+
+    Note that the --overwritten-file and --appended-file options imply the
+    use of "HGMERGE=internal:local" during DAG buildup.
+    """
+
+    if not (mergeable_file or appended_file or overwritten_file or new_file):
+        raise util.Abort(_('need at least one of -m, -a, -o, -n'))
+
+    if len(repo.changelog) > 0:
+        raise util.Abort(_('repository is not empty'))
+
+    if overwritten_file or appended_file:
+        # we don't want to fail in merges during buildup
+        os.environ['HGMERGE'] = 'internal:local'
+
+    def writefile(fname, text, fmode="w"):
+        f = open(fname, fmode)
+        try:
+            f.write(text)
+        finally:
+            f.close()
+
+    if mergeable_file:
+        linesperrev = 2
+        # determine number of revs in DAG
+        n = 0
+        for type, data in dagparser.parsedag(text):
+            if type == 'n':
+                n += 1
+        # make a file with k lines per rev
+        writefile("mf", "\n".join(str(i) for i in xrange(0, n * linesperrev))
+                  + "\n")
+
+    at = -1
+    atbranch = 'default'
+    for type, data in dagparser.parsedag(text):
+        if type == 'n':
+            ui.status('node %s\n' % str(data))
+            id, ps = data
+            p1 = ps[0]
+            if p1 != at:
+                update(ui, repo, node=p1, clean=True)
+                at = p1
+            if repo.dirstate.branch() != atbranch:
+                branch(ui, repo, atbranch, force=True)
+            if len(ps) > 1:
+                p2 = ps[1]
+                merge(ui, repo, node=p2)
+
+            if mergeable_file:
+                f = open("mf", "r+")
+                try:
+                    lines = f.read().split("\n")
+                    lines[id * linesperrev] += " r%i" % id
+                    f.seek(0)
+                    f.write("\n".join(lines))
+                finally:
+                    f.close()
+
+            if appended_file:
+                writefile("af", "r%i\n" % id, "a")
+
+            if overwritten_file:
+                writefile("of", "r%i\n" % id)
+
+            if new_file:
+                writefile("nf%i" % id, "r%i\n" % id)
+
+            commit(ui, repo, addremove=True, message="r%i" % id, date=(id, 0))
+            at = id
+        elif type == 'l':
+            id, name = data
+            ui.status('tag %s\n' % name)
+            tag(ui, repo, name, local=True)
+        elif type == 'a':
+            ui.status('branch %s\n' % data)
+            atbranch = data
+        elif type in 'cC':
+            r = util.system(data, cwd=repo.root)
+            if r:
+                desc, r = util.explain_exit(r)
+                raise util.Abort(_('%s command %s') % (data, desc))
+
 def debugcommands(ui, cmd='', *args):
+    """list all available commands and options"""
     for cmd, vals in sorted(table.iteritems()):
         cmd = cmd.split('|')[0].strip('^')
         opts = ', '.join([i[1] for i in vals[1]])
@@ -784,6 +984,8 @@
             otables.append(entry[1])
         for t in otables:
             for o in t:
+                if "(DEPRECATED)" in o[3]:
+                    continue
                 if o[0]:
                     options.append('-%s' % o[0])
                 options.append('--%s' % o[1])
@@ -796,6 +998,7 @@
     ui.write("%s\n" % "\n".join(sorted(cmdlist)))
 
 def debugfsinfo(ui, path = "."):
+    """show information detected about current filesystem"""
     open('.debugfsinfo', 'w').write('')
     ui.write('exec: %s\n' % (util.checkexec(path) and 'yes' or 'no'))
     ui.write('symlink: %s\n' % (util.checklink(path) and 'yes' or 'no'))
@@ -852,8 +1055,12 @@
 
     With --debug, the source (filename and line number) is printed
     for each config item.
+
+    Returns 0 on success.
     """
 
+    for f in util.rcpath():
+        ui.debug(_('read config from: %s\n') % f)
     untrusted = bool(opts.get('untrusted'))
     if values:
         if len([v for v in values if '.' in v]) > 1:
@@ -875,11 +1082,42 @@
                      ui.configsource(section, name, untrusted))
             ui.write('%s=%s\n' % (sectname, value))
 
+def debugpushkey(ui, repopath, namespace, *keyinfo):
+    '''access the pushkey key/value protocol
+
+    With two args, list the keys in the given namespace.
+
+    With five args, set a key to new if it currently is set to old.
+    Reports success or failure.
+    '''
+
+    target = hg.repository(ui, repopath)
+    if keyinfo:
+        key, old, new = keyinfo
+        r = target.pushkey(namespace, key, old, new)
+        ui.status(str(r) + '\n')
+        return not(r)
+    else:
+        for k, v in target.listkeys(namespace).iteritems():
+            ui.write("%s\t%s\n" % (k.encode('string-escape'),
+                                   v.encode('string-escape')))
+
+def debugrevspec(ui, repo, expr):
+    '''parse and apply a revision specification'''
+    if ui.verbose:
+        tree = revset.parse(expr)
+        ui.note(tree, "\n")
+    func = revset.match(expr)
+    for c in func(repo, range(len(repo))):
+        ui.write("%s\n" % c)
+
 def debugsetparents(ui, repo, rev1, rev2=None):
     """manually set the parents of the current working directory
 
     This is useful for writing repository conversion tools, but should
     be used with care.
+
+    Returns 0 on success.
     """
 
     if not rev2:
@@ -923,6 +1161,59 @@
         ui.write(' source   %s\n' % v[0])
         ui.write(' revision %s\n' % v[1])
 
+def debugdag(ui, repo, file_=None, *revs, **opts):
+    """format the changelog or an index DAG as a concise textual description
+
+    If you pass a revlog index, the revlog's DAG is emitted. If you list
+    revision numbers, they get labelled in the output as rN.
+
+    Otherwise, the changelog DAG of the current repo is emitted.
+    """
+    spaces = opts.get('spaces')
+    dots = opts.get('dots')
+    if file_:
+        rlog = revlog.revlog(util.opener(os.getcwd(), audit=False), file_)
+        revs = set((int(r) for r in revs))
+        def events():
+            for r in rlog:
+                yield 'n', (r, list(set(p for p in rlog.parentrevs(r) if p != -1)))
+                if r in revs:
+                    yield 'l', (r, "r%i" % r)
+    elif repo:
+        cl = repo.changelog
+        tags = opts.get('tags')
+        branches = opts.get('branches')
+        if tags:
+            labels = {}
+            for l, n in repo.tags().items():
+                labels.setdefault(cl.rev(n), []).append(l)
+        def events():
+            b = "default"
+            for r in cl:
+                if branches:
+                    newb = cl.read(cl.node(r))[5]['branch']
+                    if newb != b:
+                        yield 'a', newb
+                        b = newb
+                yield 'n', (r, list(set(p for p in cl.parentrevs(r) if p != -1)))
+                if tags:
+                    ls = labels.get(r)
+                    if ls:
+                        for l in ls:
+                            yield 'l', (r, l)
+    else:
+        raise util.Abort(_('need repo for changelog dag'))
+
+    for line in dagparser.dagtextlines(events(),
+                                       addspaces=spaces,
+                                       wraplabels=True,
+                                       wrapannotations=True,
+                                       wrapnonlinear=dots,
+                                       usedots=dots,
+                                       maxlinewidth=70):
+        ui.write(line)
+        ui.write("\n")
+
 def debugdata(ui, file_, rev):
     """dump the contents of a data file revision"""
     r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_[:-2] + ".i")
@@ -971,7 +1262,10 @@
     ui.write("}\n")
 
 def debuginstall(ui):
-    '''test Mercurial installation'''
+    '''test Mercurial installation
+
+    Returns 0 on success.
+    '''
 
     def writetemp(contents):
         (fd, name) = tempfile.mkstemp(prefix="hg-debuginstall-")
@@ -1131,7 +1425,9 @@
     anyway, probably with undesirable results.
 
     Use the -g/--git option to generate diffs in the git extended diff
-    format. For more information, read 'hg help diffs'.
+    format. For more information, read :hg:`help diffs`.
+
+    Returns 0 on success.
     """
 
     revs = opts.get('rev')
@@ -1151,21 +1447,9 @@
     if reverse:
         node1, node2 = node2, node1
 
-    if stat:
-        opts['unified'] = '0'
     diffopts = patch.diffopts(ui, opts)
-
     m = cmdutil.match(repo, pats, opts)
-    it = patch.diff(repo, node1, node2, match=m, opts=diffopts)
-    if stat:
-        width = 80
-        if not ui.plain():
-            width = util.termwidth()
-        ui.write(patch.diffstat(util.iterlines(it), width=width,
-                                git=diffopts.git))
-    else:
-        for chunk in it:
-            ui.write(chunk)
+    cmdutil.diffordiffstat(ui, repo, diffopts, node1, node2, m, stat=stat)
 
 def export(ui, repo, *changesets, **opts):
     """dump the header and diffs for one or more changesets
@@ -1197,10 +1481,12 @@
     diff anyway, probably with undesirable results.
 
     Use the -g/--git option to generate diffs in the git extended diff
-    format. See 'hg help diffs' for more information.
+    format. See :hg:`help diffs` for more information.
 
     With the --switch-parent option, the diff will be against the
     second parent. It can be useful to review a merge.
+
+    Returns 0 on success.
     """
     changesets += tuple(opts.get('rev', []))
     if not changesets:
@@ -1210,7 +1496,7 @@
         ui.note(_('exporting patches:\n'))
     else:
         ui.note(_('exporting patch:\n'))
-    patch.export(repo, revs, template=opts.get('output'),
+    cmdutil.export(repo, revs, template=opts.get('output'),
                  switch_parent=opts.get('switch_parent'),
                  opts=patch.diffopts(ui, opts))
 
@@ -1224,7 +1510,9 @@
     entire project history, and it does not delete them from the
     working directory.
 
-    To undo a forget before the next commit, see hg add.
+    To undo a forget before the next commit, see :hg:`add`.
+
+    Returns 0 on success.
     """
 
     if not pats:
@@ -1233,17 +1521,20 @@
     m = cmdutil.match(repo, pats, opts)
     s = repo.status(match=m, clean=True)
     forget = sorted(s[0] + s[1] + s[3] + s[6])
+    errs = 0
 
     for f in m.files():
         if f not in repo.dirstate and not os.path.isdir(m.rel(f)):
             ui.warn(_('not removing %s: file is already untracked\n')
                     % m.rel(f))
+            errs = 1
 
     for f in forget:
         if ui.verbose or not m.exact(f):
             ui.status(_('removing %s\n') % m.rel(f))
 
-    repo.remove(forget, unlink=False)
+    repo[None].remove(forget, unlink=False)
+    return errs
 
 def grep(ui, repo, pattern, *pats, **opts):
     """search for a pattern in specified files and revisions
@@ -1260,6 +1551,8 @@
     that contains a change in match status ("-" for a match that
     becomes a non-match, or "+" for a non-match that becomes a match),
     use the --all flag.
+
+    Returns 0 if a match is found, 1 otherwise.
     """
     reflags = 0
     if opts.get('ignore_case'):
@@ -1268,7 +1561,7 @@
         regexp = re.compile(pattern, reflags)
     except Exception, inst:
         ui.warn(_("grep: invalid match pattern: %s\n") % inst)
-        return None
+        return 1
     sep, eol = ':', '\n'
     if opts.get('print0'):
         sep = eol = '\0'
@@ -1337,6 +1630,7 @@
             iter = [('', l) for l in states]
         for change, l in iter:
             cols = [fn, str(rev)]
+            before, match, after = None, None, None
             if opts.get('line_number'):
                 cols.append(str(l.linenum))
             if opts.get('all'):
@@ -1351,8 +1645,15 @@
                     continue
                 filerevmatches[c] = 1
             else:
-                cols.append(l.line)
-            ui.write(sep.join(cols), eol)
+                before = l.line[:l.colstart]
+                match = l.line[l.colstart:l.colend]
+                after = l.line[l.colend:]
+            ui.write(sep.join(cols))
+            if before is not None:
+                ui.write(sep + before)
+                ui.write(match, label='grep.match')
+                ui.write(after)
+            ui.write(eol)
             found = True
         return found
 
@@ -1418,6 +1719,8 @@
         del matches[rev]
         del revfiles[rev]
 
+    return not found
+
 def heads(ui, repo, *branchrevs, **opts):
     """show current repository heads or show branch heads
 
@@ -1432,13 +1735,15 @@
     associated with the specified changesets are shown.
 
     If -c/--closed is specified, also show branch heads marked closed
-    (see hg commit --close-branch).
+    (see :hg:`commit --close-branch`).
 
     If STARTREV is specified, only those heads that are descendants of
     STARTREV will be displayed.
 
     If -t/--topo is specified, named branch mechanics will be ignored and only
     changesets without children will be shown.
+
+    Returns 0 if matching heads are found, 1 if not.
     """
 
     if opts.get('rev'):
@@ -1496,7 +1801,10 @@
     With no arguments, print a list of commands with short help messages.
 
     Given a topic, extension, or command name, print help for that
-    topic."""
+    topic.
+
+    Returns 0 if successful.
+    """
     option_lists = []
     textwidth = util.termwidth() - 2
 
@@ -1608,7 +1916,9 @@
                 commands = cmds[f].replace("|",", ")
                 ui.write(" %s:\n      %s\n"%(commands, h[f]))
             else:
-                ui.write(' %-*s   %s\n' % (m, f, util.wrap(h[f], m + 4)))
+                ui.write('%s\n' % (util.wrap(h[f],
+                                             initindent=' %-*s   ' % (m, f),
+                                             hangindent=' ' * (m + 4))))
 
         if not ui.quiet:
             addglobalopts(True)
@@ -1710,17 +2020,39 @@
 
     # list all option lists
     opt_output = []
+    multioccur = False
     for title, options in option_lists:
         opt_output.append(("\n%s" % title, None))
-        for shortopt, longopt, default, desc in options:
+        for option in options:
+            if len(option) == 5:
+                shortopt, longopt, default, desc, optlabel = option
+            else:
+                shortopt, longopt, default, desc = option
+                optlabel = _("VALUE") # default label
+
             if _("DEPRECATED") in desc and not ui.verbose:
                 continue
-            opt_output.append(("%2s%s" % (shortopt and "-%s" % shortopt,
-                                          longopt and " --%s" % longopt),
+            if isinstance(default, list):
+                numqualifier = " %s [+]" % optlabel
+                multioccur = True
+            elif (default is not None) and not isinstance(default, bool):
+                numqualifier = " %s" % optlabel
+            else:
+                numqualifier = ""
+            opt_output.append(("%2s%s" %
+                               (shortopt and "-%s" % shortopt,
+                                longopt and " --%s%s" %
+                                (longopt, numqualifier)),
                                "%s%s" % (desc,
                                          default
                                          and _(" (default: %s)") % default
                                          or "")))
+    if multioccur:
+        msg = _("\n[+] marked option can be specified multiple times")
+        if ui.verbose and name != 'shortlist':
+            opt_output.append((msg, ()))
+        else:
+            opt_output.insert(-1, (msg, ()))
 
     if not name:
         ui.write(_("\nadditional help topics:\n\n"))
@@ -1735,8 +2067,11 @@
         opts_len = max([len(line[0]) for line in opt_output if line[1]] or [0])
         for first, second in opt_output:
             if second:
-                second = util.wrap(second, opts_len + 3)
-                ui.write(" %-*s  %s\n" % (opts_len, first, second))
+                initindent = ' %-*s  ' % (opts_len, first)
+                hangindent = ' ' * (opts_len + 3)
+                ui.write('%s\n' % (util.wrap(second,
+                                             initindent=initindent,
+                                             hangindent=hangindent)))
             else:
                 ui.write("%s\n" % first)
 
@@ -1754,6 +2089,8 @@
     parent hash identifiers, followed by a "+" if there are
     uncommitted changes in the working directory, a list of tags for
     this revision and a branch name for non-default branches.
+
+    Returns 0 if successful.
     """
 
     if not repo and not source:
@@ -1832,7 +2169,7 @@
     text/plain body parts before first diff are added to commit
     message.
 
-    If the imported patch was generated by hg export, user and
+    If the imported patch was generated by :hg:`export`, user and
     description from patch override values from message headers and
     body. Values given on command line with -m/--message and -u/--user
     override these.
@@ -1848,7 +2185,9 @@
 
     To read a patch from standard input, use "-" as the patch name. If
     a URL is specified, the patch will be downloaded from it.
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    See :hg:`help dates` for a list of formats valid for -d/--date.
+
+    Returns 0 on success.
     """
     patches = (patch1,) + patches
 
@@ -1982,16 +2321,20 @@
     changesets twice if the incoming is followed by a pull.
 
     See pull for valid source format details.
+
+    Returns 0 if there are incoming changes, 1 otherwise.
     """
     limit = cmdutil.loglimit(opts)
     source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch'))
-    other = hg.repository(cmdutil.remoteui(repo, opts), source)
+    other = hg.repository(hg.remoteui(repo, opts), source)
     ui.status(_('comparing with %s\n') % url.hidepassword(source))
     revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev'))
     if revs:
         revs = [other.lookup(rev) for rev in revs]
-    common, incoming, rheads = repo.findcommonincoming(other, heads=revs,
-                                                       force=opts["force"])
+
+    tmp = discovery.findcommonincoming(repo, other, heads=revs,
+                                       force=opts.get('force'))
+    common, incoming, rheads = tmp
     if not incoming:
         try:
             os.unlink(opts["bundle"])
@@ -2051,9 +2394,11 @@
     If no directory is given, the current directory is used.
 
     It is possible to specify an ``ssh://`` URL as the destination.
-    See 'hg help urls' for more information.
+    See :hg:`help urls` for more information.
+
+    Returns 0 on success.
     """
-    hg.repository(cmdutil.remoteui(ui, opts), dest, create=1)
+    hg.repository(hg.remoteui(ui, opts), dest, create=1)
 
 def locate(ui, repo, *pats, **opts):
     """locate files matching specific patterns
@@ -2072,6 +2417,8 @@
     command, use the -0 option to both this command and "xargs". This
     will avoid the problem of "xargs" treating single filenames that
     contain whitespace as multiple filenames.
+
+    Returns 0 if a match is found, 1 otherwise.
     """
     end = opts.get('print0') and '\0' or '\n'
     rev = opts.get('rev') or None
@@ -2104,9 +2451,10 @@
 
     If no revision range is specified, the default is tip:0 unless
     --follow is set, in which case the working directory parent is
-    used as the starting revision.
-
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    used as the starting revision. You can specify a revision set for
+    log, see :hg:`help revsets` for more information.
+
+    See :hg:`help dates` for a list of formats valid for -d/--date.
 
     By default this command prints revision number and changeset id,
     tags, non-trivial parents, user, date and time, and a summary for
@@ -2117,6 +2465,8 @@
     changesets, as it will only compare the merge changeset against
     its first parent. Also, only files different from BOTH parents
     will appear in files:.
+
+    Returns 0 on success.
     """
 
     matchfn = cmdutil.match(repo, pats, opts)
@@ -2131,6 +2481,9 @@
     if opts["date"]:
         df = util.matchdate(opts["date"])
 
+    branches = opts.get('branch', []) + opts.get('only_branch', [])
+    opts['branch'] = [repo.lookupbranch(b) for b in branches]
+
     displayer = cmdutil.show_changeset(ui, repo, opts, True, matchfn)
     def prep(ctx, fns):
         rev = ctx.rev()
@@ -2140,7 +2493,7 @@
             return
         if opts.get('only_merges') and len(parents) != 2:
             return
-        if opts.get('only_branch') and ctx.branch() not in opts['only_branch']:
+        if opts.get('branch') and ctx.branch() not in opts['branch']:
             return
         if df and not df(ctx.date()[0]):
             return
@@ -2182,6 +2535,8 @@
 
     With -v, print file permissions, symlink and executable bits.
     With --debug, print file revision hashes.
+
+    Returns 0 on success.
     """
 
     if rev and node:
@@ -2214,6 +2569,8 @@
     head revision, and the current branch contains exactly one other
     head, the other head is merged with by default. Otherwise, an
     explicit revision with which to merge with must be provided.
+
+    Returns 0 on success, 1 if there are unresolved files.
     """
 
     if opts.get('rev') and node:
@@ -2225,19 +2582,20 @@
         branch = repo.changectx(None).branch()
         bheads = repo.branchheads(branch)
         if len(bheads) > 2:
-            ui.warn(_("abort: branch '%s' has %d heads - "
-                      "please merge with an explicit rev\n")
-                    % (branch, len(bheads)))
-            ui.status(_("(run 'hg heads .' to see heads)\n"))
-            return False
+            raise util.Abort(_(
+                'branch \'%s\' has %d heads - '
+                'please merge with an explicit rev\n'
+                '(run \'hg heads .\' to see heads)')
+                % (branch, len(bheads)))
 
         parent = repo.dirstate.parents()[0]
         if len(bheads) == 1:
             if len(repo.heads()) > 1:
-                ui.warn(_("abort: branch '%s' has one head - "
-                          "please merge with an explicit rev\n" % branch))
-                ui.status(_("(run 'hg heads' to see all heads)\n"))
-                return False
+                raise util.Abort(_(
+                    'branch \'%s\' has one head - '
+                    'please merge with an explicit rev\n'
+                    '(run \'hg heads\' to see all heads)')
+                    % branch)
             msg = _('there is nothing to merge')
             if parent != repo.lookup(repo[None].branch()):
                 msg = _('%s - use "hg update" instead') % msg
@@ -2270,6 +2628,8 @@
     be pushed if a push was requested.
 
     See pull for details of valid destination formats.
+
+    Returns 0 if there are outgoing changes, 1 otherwise.
     """
     limit = cmdutil.loglimit(opts)
     dest = ui.expandpath(dest or 'default-push', dest or 'default')
@@ -2278,9 +2638,9 @@
     if revs:
         revs = [repo.lookup(rev) for rev in revs]
 
-    other = hg.repository(cmdutil.remoteui(repo, opts), dest)
+    other = hg.repository(hg.remoteui(repo, opts), dest)
     ui.status(_('comparing with %s\n') % url.hidepassword(dest))
-    o = repo.findoutgoing(other, force=opts.get('force'))
+    o = discovery.findoutgoing(repo, other, force=opts.get('force'))
     if not o:
         ui.status(_("no changes found\n"))
         return 1
@@ -2307,6 +2667,8 @@
     If a file argument is given, the revision in which the file was
     last changed (before the working directory revision or the
     argument to --rev if given) is printed.
+
+    Returns 0 on success.
     """
     rev = opts.get('rev')
     if rev:
@@ -2346,8 +2708,9 @@
     Show definition of symbolic path name NAME. If no name is given,
     show definition of all available names.
 
-    Path names are defined in the [paths] section of /etc/mercurial/hgrc
-    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.
+    Path names are defined in the [paths] section of
+    ``/etc/mercurial/hgrc`` and ``$HOME/.hgrc``. If run inside a
+    repository, ``.hg/hgrc`` is used, too.
 
     The path names ``default`` and ``default-push`` have a special
     meaning.  When performing a push or pull operation, they are used
@@ -2356,11 +2719,11 @@
     ``default`` will be used for pull; otherwise ``default`` is used
     as the fallback for both.  When cloning a repository, the clone
     source is written as ``default`` in ``.hg/hgrc``.  Note that
-    ``default`` and ``default-push`` apply to all inbound (e.g. ``hg
-    incoming``) and outbound (e.g. ``hg outgoing``, ``hg email`` and
-    ``hg bundle``) operations.
-
-    See 'hg help urls' for more information.
+    ``default`` and ``default-push`` apply to all inbound (e.g.
+    :hg:`incoming`) and outbound (e.g. :hg:`outgoing`, :hg:`email` and
+    :hg:`bundle`) operations.
+
+    See :hg:`help urls` for more information.
     """
     if search:
         for name, path in ui.configitems("paths"):
@@ -2396,16 +2759,18 @@
     -R is specified). By default, this does not update the copy of the
     project in the working directory.
 
-    Use hg incoming if you want to see what would have been added by a
-    pull at the time you issued this command. If you then decide to
-    added those changes to the repository, you should use pull -r X
-    where X is the last changeset listed by hg incoming.
+    Use :hg:`incoming` if you want to see what would have been added
+    by a pull at the time you issued this command. If you then decide
+    to add those changes to the repository, you should use :hg:`pull
+    -r X` where ``X`` is the last changeset listed by :hg:`incoming`.
 
     If SOURCE is omitted, the 'default' path will be used.
-    See 'hg help urls' for more information.
+    See :hg:`help urls` for more information.
+
+    Returns 0 on success, 1 if an update had unresolved files.
     """
     source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch'))
-    other = hg.repository(cmdutil.remoteui(repo, opts), source)
+    other = hg.repository(hg.remoteui(repo, opts), source)
     ui.status(_('pulling from %s\n') % url.hidepassword(source))
     revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev'))
     if revs:
@@ -2435,19 +2800,25 @@
     to use. In this situation, it is recommended to pull and merge
     before pushing.
 
+    Use --new-branch if you want to allow push to create a new named
+    branch that is not present at the destination. This allows you to
+    only create a new branch without forcing other changes.
+
     Use -f/--force to override the default behavior and push all
     changesets on all branches.
 
     If -r/--rev is used, the specified revision and all its ancestors
     will be pushed to the remote repository.
 
-    Please see 'hg help urls' for important details about ``ssh://``
+    Please see :hg:`help urls` for important details about ``ssh://``
     URLs. If DESTINATION is omitted, a default path will be used.
+
+    Returns 0 if push was successful, 1 if nothing to push.
     """
     dest = ui.expandpath(dest or 'default-push', dest or 'default')
     dest, branches = hg.parseurl(dest, opts.get('branch'))
     revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev'))
-    other = hg.repository(cmdutil.remoteui(repo, opts), dest)
+    other = hg.repository(hg.remoteui(repo, opts), dest)
     ui.status(_('pushing to %s\n') % url.hidepassword(dest))
     if revs:
         revs = [repo.lookup(rev) for rev in revs]
@@ -2459,7 +2830,8 @@
         if not c.sub(s).push(opts.get('force')):
             return False
 
-    r = repo.push(other, opts.get('force'), revs=revs)
+    r = repo.push(other, opts.get('force'), revs=revs,
+                  newbranch=opts.get('new_branch'))
     return r == 0
 
 def recover(ui, repo):
@@ -2470,6 +2842,8 @@
     This command tries to fix the repository status after an
     interrupted operation. It should only be necessary when Mercurial
     suggests it.
+
+    Returns 0 if successful, 1 if nothing to recover or verify fails.
     """
     if repo.recover():
         return hg.verify(repo)
@@ -2489,8 +2863,8 @@
     The following table details the behavior of remove for different
     file states (columns) and option combinations (rows). The file
     states are Added [A], Clean [C], Modified [M] and Missing [!] (as
-    reported by hg status). The actions are Warn, Remove (from branch)
-    and Delete (from disk)::
+    reported by :hg:`status`). The actions are Warn, Remove (from
+    branch) and Delete (from disk)::
 
              A  C  M  !
       none   W  RD W  R
@@ -2499,9 +2873,12 @@
       -Af    R  R  R  R
 
     This command schedules the files to be removed at the next commit.
-    To undo a remove before that, see hg revert.
+    To undo a remove before that, see :hg:`revert`.
+
+    Returns 0 on success, 1 if any warnings encountered.
     """
 
+    ret = 0
     after, force = opts.get('after'), opts.get('force')
     if not pats and not after:
         raise util.Abort(_('no files specified'))
@@ -2513,11 +2890,13 @@
     for f in m.files():
         if f not in repo.dirstate and not os.path.isdir(m.rel(f)):
             ui.warn(_('not removing %s: file is untracked\n') % m.rel(f))
+            ret = 1
 
     def warn(files, reason):
         for f in files:
             ui.warn(_('not removing %s: file %s (use -f to force removal)\n')
                     % (m.rel(f), reason))
+            ret = 1
 
     if force:
         remove, forget = modified + deleted + clean, added
@@ -2533,8 +2912,9 @@
         if ui.verbose or not m.exact(f):
             ui.status(_('removing %s\n') % m.rel(f))
 
-    repo.forget(forget)
-    repo.remove(remove, unlink=not after)
+    repo[None].forget(forget)
+    repo[None].remove(remove, unlink=not after)
+    return ret
 
 def rename(ui, repo, *pats, **opts):
     """rename files; equivalent of copy + remove
@@ -2548,7 +2928,9 @@
     operation is recorded, but no copying is performed.
 
     This command takes effect at the next commit. To undo a rename
-    before that, see hg revert.
+    before that, see :hg:`revert`.
+
+    Returns 0 on success, 1 if errors are encountered.
     """
     wlock = repo.wlock(False)
     try:
@@ -2582,6 +2964,8 @@
     Note that Mercurial will not let you commit files with unresolved merge
     conflicts.  You must use ``hg resolve -m ...`` before you can commit
     after a conflicting merge.
+
+    Returns 0 on success, 1 if any files fail a resolve attempt.
     """
 
     all, mark, unmark, show, nostatus = \
@@ -2595,8 +2979,9 @@
         raise util.Abort(_('no files or directories specified; '
                            'use --all to remerge all files'))
 
-    ms = merge_.mergestate(repo)
+    ms = mergemod.mergestate(repo)
     m = cmdutil.match(repo, pats, opts)
+    ret = 0
 
     for f in ms:
         if m(f):
@@ -2604,7 +2989,9 @@
                 if nostatus:
                     ui.write("%s\n" % f)
                 else:
-                    ui.write("%s %s\n" % (ms[f].upper(), f))
+                    ui.write("%s %s\n" % (ms[f].upper(), f),
+                             label='resolve.' +
+                             {'u': 'unresolved', 'r': 'resolved'}[ms[f]])
             elif mark:
                 ms.mark(f, "r")
             elif unmark:
@@ -2618,10 +3005,12 @@
                 util.copyfile(a, a + ".resolve")
 
                 # resolve file
-                ms.resolve(f, wctx, mctx)
+                if ms.resolve(f, wctx, mctx):
+                    ret = 1
 
                 # replace filemerge's .orig file with our resolve file
                 util.rename(a + ".resolve", a + ".orig")
+    return ret
 
 def revert(ui, repo, *pats, **opts):
     """restore individual files or directories to an earlier state
@@ -2638,8 +3027,8 @@
 
     Using the -r/--rev option, revert the given files or directories
     to their contents as of a specific revision. This can be helpful
-    to "roll back" some or all of an earlier change. See 'hg help
-    dates' for a list of formats valid for -d/--date.
+    to "roll back" some or all of an earlier change. See :hg:`help
+    dates` for a list of formats valid for -d/--date.
 
     Revert modifies the working directory. It does not commit any
     changes, or change the parent of the working directory. If you
@@ -2655,6 +3044,8 @@
 
     Modified files are saved with a .orig suffix before reverting.
     To disable these backups, use --no-backup.
+
+    Returns 0 on success.
     """
 
     if opts["date"]:
@@ -2841,8 +3232,8 @@
     finally:
         wlock.release()
 
-def rollback(ui, repo):
-    """roll back the last transaction
+def rollback(ui, repo, **opts):
+    """roll back the last transaction (dangerous)
 
     This command should be used with care. There is only one level of
     rollback, and there is no way to undo a rollback. It will also
@@ -2867,18 +3258,22 @@
     the changes). Furthermore, a race is possible with readers of the
     repository; for example an in-progress pull from the repository
     may fail if a rollback is performed.
+
+    Returns 0 on success, 1 if no rollback data is available.
     """
-    repo.rollback()
+    return repo.rollback(opts.get('dry_run'))
 
 def root(ui, repo):
     """print the root (top) of the current working directory
 
     Print the root directory of the current repository.
+
+    Returns 0 on success.
     """
     ui.write(repo.root + "\n")
 
 def serve(ui, repo, **opts):
-    """export the repository via HTTP
+    """start stand-alone webserver
 
     Start a local HTTP repository browser and pull server. You can use
     this for ad-hoc sharing and browing of repositories. It is
@@ -2894,6 +3289,12 @@
     By default, the server logs accesses to stdout and errors to
     stderr. Use the -A/--accesslog and -E/--errorlog options to log to
     files.
+
+    To have the server choose a free port number to listen on, specify
+    a port number of 0; in this case, the server will print the port
+    number it uses.
+
+    Returns 0 on success.
     """
 
     if opts["stdio"]:
@@ -2903,25 +3304,36 @@
         s = sshserver.sshserver(ui, repo)
         s.serve_forever()
 
+    # this way we can check if something was given in the command-line
+    if opts.get('port'):
+        opts['port'] = int(opts.get('port'))
+
     baseui = repo and repo.baseui or ui
     optlist = ("name templates style address port prefix ipv6"
-               " accesslog errorlog webdir_conf certificate encoding")
+               " accesslog errorlog certificate encoding")
     for o in optlist.split():
-        if opts.get(o, None):
-            baseui.setconfig("web", o, str(opts[o]))
-            if (repo is not None) and (repo.ui != baseui):
-                repo.ui.setconfig("web", o, str(opts[o]))
-
-    if repo is None and not ui.config("web", "webdir_conf"):
-        raise error.RepoError(_("There is no Mercurial repository here"
-                                " (.hg not found)"))
+        val = opts.get(o, '')
+        if val in (None, ''): # should check against default options instead
+            continue
+        baseui.setconfig("web", o, val)
+        if repo and repo.ui != baseui:
+            repo.ui.setconfig("web", o, val)
+
+    o = opts.get('web_conf') or opts.get('webdir_conf')
+    if not o:
+        if not repo:
+            raise error.RepoError(_("There is no Mercurial repository"
+                                    " here (.hg not found)"))
+        o = repo.root
+
+    app = hgweb.hgweb(o, baseui=ui)
 
     class service(object):
         def init(self):
             util.set_signal_handler()
-            self.httpd = server.create_server(baseui, repo)
-
-            if not ui.verbose:
+            self.httpd = hgweb.server.create_server(ui, app)
+
+            if opts['port'] and not ui.verbose:
                 return
 
             if self.httpd.prefix:
@@ -2942,8 +3354,12 @@
             fqaddr = self.httpd.fqaddr
             if ':' in fqaddr:
                 fqaddr = '[%s]' % fqaddr
-            ui.status(_('listening at http://%s%s/%s (bound to %s:%d)\n') %
-                      (fqaddr, port, prefix, bindaddr, self.httpd.port))
+            if opts['port']:
+                write = ui.status
+            else:
+                write = ui.write
+            write(_('listening at http://%s%s/%s (bound to %s:%d)\n') %
+                  (fqaddr, port, prefix, bindaddr, self.httpd.port))
 
         def run(self):
             self.httpd.serve_forever()
@@ -2985,6 +3401,8 @@
       ? = not tracked
       I = ignored
         = origin of the previous file listed as A (added)
+
+    Returns 0 on success.
     """
 
     revs = opts.get('rev')
@@ -3034,9 +3452,11 @@
                 format = "%%s%s" % end
 
             for f in files:
-                ui.write(format % repo.pathto(f, cwd))
+                ui.write(format % repo.pathto(f, cwd),
+                         label='status.' + state)
                 if f in copy:
-                    ui.write('  %s%s' % (repo.pathto(copy[f], cwd), end))
+                    ui.write('  %s%s' % (repo.pathto(copy[f], cwd), end),
+                             label='status.copied')
 
 def summary(ui, repo, **opts):
     """summarize working directory state
@@ -3046,38 +3466,69 @@
 
     With the --remote option, this will check the default paths for
     incoming and outgoing changes. This can be time-consuming.
+
+    Returns 0 on success.
     """
 
     ctx = repo[None]
     parents = ctx.parents()
     pnode = parents[0].node()
-    tags = repo.tags()
 
     for p in parents:
-        t = ' '.join([t for t in tags if tags[t] == p.node()])
+        # label with log.changeset (instead of log.parent) since this
+        # shows a working directory parent *changeset*:
+        ui.write(_('parent: %d:%s ') % (p.rev(), str(p)),
+                 label='log.changeset')
+        ui.write(' '.join(p.tags()), label='log.tag')
         if p.rev() == -1:
             if not len(repo):
-                t += _(' (empty repository)')
+                ui.write(_(' (empty repository)'))
             else:
-                t += _(' (no revision checked out)')
-        ui.write(_('parent: %d:%s %s\n') % (p.rev(), str(p), t))
+                ui.write(_(' (no revision checked out)'))
+        ui.write('\n')
         if p.description():
-            ui.status(' ' + p.description().splitlines()[0].strip() + '\n')
+            ui.status(' ' + p.description().splitlines()[0].strip() + '\n',
+                      label='log.summary')
 
     branch = ctx.branch()
     bheads = repo.branchheads(branch)
     m = _('branch: %s\n') % branch
     if branch != 'default':
-        ui.write(m)
+        ui.write(m, label='log.branch')
     else:
-        ui.status(m)
+        ui.status(m, label='log.branch')
 
     st = list(repo.status(unknown=True))[:6]
-    ms = merge_.mergestate(repo)
+
+    c = repo.dirstate.copies()
+    copied, renamed = [], []
+    for d, s in c.iteritems():
+        if s in st[2]:
+            st[2].remove(s)
+            renamed.append(d)
+        else:
+            copied.append(d)
+        if d in st[1]:
+            st[1].remove(d)
+    st.insert(3, renamed)
+    st.insert(4, copied)
+
+    ms = mergemod.mergestate(repo)
     st.append([f for f in ms if ms[f] == 'u'])
-    labels = [_('%d modified'), _('%d added'), _('%d removed'),
-              _('%d deleted'), _('%d unknown'), _('%d ignored'),
-              _('%d unresolved')]
+
+    subs = [s for s in ctx.substate if ctx.sub(s).dirty()]
+    st.append(subs)
+
+    labels = [ui.label(_('%d modified'), 'status.modified'),
+              ui.label(_('%d added'), 'status.added'),
+              ui.label(_('%d removed'), 'status.removed'),
+              ui.label(_('%d renamed'), 'status.copied'),
+              ui.label(_('%d copied'), 'status.copied'),
+              ui.label(_('%d deleted'), 'status.deleted'),
+              ui.label(_('%d unknown'), 'status.unknown'),
+              ui.label(_('%d ignored'), 'status.ignored'),
+              ui.label(_('%d unresolved'), 'resolve.unresolved'),
+              ui.label(_('%d subrepos'), 'status.modified')]
     t = []
     for s, l in zip(st, labels):
         if s:
@@ -3090,7 +3541,10 @@
         t += _(' (merge)')
     elif branch != parents[0].branch():
         t += _(' (new branch)')
-    elif (not st[0] and not st[1] and not st[2]):
+    elif (parents[0].extra().get('close') and
+          pnode in repo.branchheads(branch, closed=True)):
+        t += _(' (head closed)')
+    elif not (st[0] or st[1] or st[2] or st[3] or st[4] or st[9]):
         t += _(' (clean)')
         cleanworkdir = True
     elif pnode not in bheads:
@@ -3126,21 +3580,21 @@
     if opts.get('remote'):
         t = []
         source, branches = hg.parseurl(ui.expandpath('default'))
-        other = hg.repository(cmdutil.remoteui(repo, {}), source)
+        other = hg.repository(hg.remoteui(repo, {}), source)
         revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev'))
         ui.debug('comparing with %s\n' % url.hidepassword(source))
         repo.ui.pushbuffer()
-        common, incoming, rheads = repo.findcommonincoming(other)
+        common, incoming, rheads = discovery.findcommonincoming(repo, other)
         repo.ui.popbuffer()
         if incoming:
             t.append(_('1 or more incoming'))
 
         dest, branches = hg.parseurl(ui.expandpath('default-push', 'default'))
         revs, checkout = hg.addbranchrevs(repo, repo, branches, None)
-        other = hg.repository(cmdutil.remoteui(repo, {}), dest)
+        other = hg.repository(hg.remoteui(repo, {}), dest)
         ui.debug('comparing with %s\n' % url.hidepassword(dest))
         repo.ui.pushbuffer()
-        o = repo.findoutgoing(other)
+        o = discovery.findoutgoing(repo, other)
         repo.ui.popbuffer()
         o = repo.changelog.nodesbetween(o, None)[0]
         if o:
@@ -3169,11 +3623,16 @@
     necessary. The file '.hg/localtags' is used for local tags (not
     shared among repositories).
 
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    See :hg:`help dates` for a list of formats valid for -d/--date.
+
+    Since tag names have priority over branch names during revision
+    lookup, using an existing branch name as a tag name is discouraged.
+
+    Returns 0 on success.
     """
 
     rev_ = "."
-    names = (name1,) + names
+    names = [t.strip() for t in (name1,) + names]
     if len(names) != len(set(names)):
         raise util.Abort(_('tag names must be unique'))
     for n in names:
@@ -3217,6 +3676,9 @@
     if date:
         date = util.parsedate(date)
 
+    if opts.get('edit'):
+        message = ui.edit(message, ui.username())
+
     repo.tag(names, r, message, opts.get('local'), opts.get('user'), date)
 
 def tags(ui, repo):
@@ -3224,6 +3686,8 @@
 
     This lists both regular and local tags. When the -v/--verbose
     switch is used, a third column "local" is printed for local tags.
+
+    Returns 0 on success.
     """
 
     hexfunc = ui.debugflag and hex or short
@@ -3259,6 +3723,8 @@
     you have just pulled changes from another repository, the tip of
     that repository becomes the current tip. The "tip" tag is special
     and cannot be renamed or assigned to a different changeset.
+
+    Returns 0 on success.
     """
     displayer = cmdutil.show_changeset(ui, repo, opts)
     displayer.show(repo[len(repo) - 1])
@@ -3269,6 +3735,8 @@
 
     Apply one or more compressed changegroup files generated by the
     bundle command.
+
+    Returns 0 on success, 1 if an update has unresolved files.
     """
     fnames = (fname1,) + fnames
 
@@ -3284,7 +3752,7 @@
     return postincoming(ui, repo, modheads, opts.get('update'), None)
 
 def update(ui, repo, node=None, rev=None, clean=False, date=None, check=False):
-    """update working directory
+    """update working directory (or switch revisions)
 
     Update the repository's working directory to the specified
     changeset.
@@ -3311,12 +3779,14 @@
     3. With the -C/--clean option, uncommitted changes are discarded and
        the working directory is updated to the requested changeset.
 
-    Use null as the changeset to remove the working directory (like 'hg
-    clone -U').
-
-    If you want to update just one file to an older changeset, use 'hg revert'.
-
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    Use null as the changeset to remove the working directory (like
+    :hg:`clone -U`).
+
+    If you want to update just one file to an older changeset, use :hg:`revert`.
+
+    See :hg:`help dates` for a list of formats valid for -d/--date.
+
+    Returns 0 on success, 1 if there are unresolved files.
     """
     if rev and node:
         raise util.Abort(_("please specify just one revision"))
@@ -3352,6 +3822,8 @@
     integrity, validating the hashes and checksums of each entry in
     the changelog, manifest, and tracked files, as well as the
     integrity of their crosslinks and indices.
+
+    Returns 0 on success, 1 if errors are encountered.
     """
     return hg.verify(repo)
 
@@ -3370,19 +3842,23 @@
 
 globalopts = [
     ('R', 'repository', '',
-     _('repository root directory or name of overlay bundle file')),
-    ('', 'cwd', '', _('change working directory')),
+     _('repository root directory or name of overlay bundle file'),
+     _('REPO')),
+    ('', 'cwd', '',
+     _('change working directory'), _('DIR')),
     ('y', 'noninteractive', None,
      _('do not prompt, assume \'yes\' for any required answers')),
     ('q', 'quiet', None, _('suppress output')),
     ('v', 'verbose', None, _('enable additional output')),
     ('', 'config', [],
-     _('set/override config option (use \'section.name=value\')')),
+     _('set/override config option (use \'section.name=value\')'),
+     _('CONFIG')),
     ('', 'debug', None, _('enable debugging output')),
     ('', 'debugger', None, _('start debugger')),
-    ('', 'encoding', encoding.encoding, _('set the charset encoding')),
+    ('', 'encoding', encoding.encoding, _('set the charset encoding'),
+     _('ENCODE')),
     ('', 'encodingmode', encoding.encodingmode,
-     _('set the charset encoding mode')),
+     _('set the charset encoding mode'), _('MODE')),
     ('', 'traceback', None, _('always print a traceback on exception')),
     ('', 'time', None, _('time how long the command takes')),
     ('', 'profile', None, _('print command execution profile')),
@@ -3394,35 +3870,47 @@
                _('do not perform actions, just print output'))]
 
 remoteopts = [
-    ('e', 'ssh', '', _('specify ssh command to use')),
-    ('', 'remotecmd', '', _('specify hg command to run on the remote side')),
+    ('e', 'ssh', '',
+     _('specify ssh command to use'), _('CMD')),
+    ('', 'remotecmd', '',
+     _('specify hg command to run on the remote side'), _('CMD')),
 ]
 
 walkopts = [
-    ('I', 'include', [], _('include names matching the given patterns')),
-    ('X', 'exclude', [], _('exclude names matching the given patterns')),
+    ('I', 'include', [],
+     _('include names matching the given patterns'), _('PATTERN')),
+    ('X', 'exclude', [],
+     _('exclude names matching the given patterns'), _('PATTERN')),
 ]
 
 commitopts = [
-    ('m', 'message', '', _('use <text> as commit message')),
-    ('l', 'logfile', '', _('read commit message from <file>')),
+    ('m', 'message', '',
+     _('use text as commit message'), _('TEXT')),
+    ('l', 'logfile', '',
+     _('read commit message from file'), _('FILE')),
 ]
 
 commitopts2 = [
-    ('d', 'date', '', _('record datecode as commit date')),
-    ('u', 'user', '', _('record the specified user as committer')),
+    ('d', 'date', '',
+     _('record datecode as commit date'), _('DATE')),
+    ('u', 'user', '',
+     _('record the specified user as committer'), _('USER')),
 ]
 
 templateopts = [
-    ('', 'style', '', _('display using template map file')),
-    ('', 'template', '', _('display with template')),
+    ('', 'style', '',
+     _('display using template map file'), _('STYLE')),
+    ('', 'template', '',
+     _('display with template'), _('TEMPLATE')),
 ]
 
 logopts = [
     ('p', 'patch', None, _('show patch')),
     ('g', 'git', None, _('use git extended diff format')),
-    ('l', 'limit', '', _('limit number of changes displayed')),
+    ('l', 'limit', '',
+     _('limit number of changes displayed'), _('NUM')),
     ('M', 'no-merges', None, _('do not show merges')),
+    ('', 'stat', None, _('output diffstat-style summary of changes')),
 ] + templateopts
 
 diffopts = [
@@ -3440,13 +3928,14 @@
      _('ignore changes in the amount of white space')),
     ('B', 'ignore-blank-lines', None,
      _('ignore changes whose lines are all blank')),
-    ('U', 'unified', '', _('number of lines of context to show')),
+    ('U', 'unified', '',
+     _('number of lines of context to show'), _('NUM')),
     ('', 'stat', None, _('output diffstat-style summary of changes')),
 ]
 
 similarityopts = [
     ('s', 'similarity', '',
-           _('guess renamed files by similarity (0<=s<=100)'))
+     _('guess renamed files by similarity (0<=s<=100)'), _('SIMILARITY'))
 ]
 
 table = {
@@ -3456,7 +3945,8 @@
          _('[OPTION]... [FILE]...')),
     "^annotate|blame":
         (annotate,
-         [('r', 'rev', '', _('annotate the specified revision')),
+         [('r', 'rev', '',
+           _('annotate the specified revision'), _('REV')),
           ('', 'follow', None,
            _('follow copies/renames and list the filename (DEPRECATED)')),
           ('', 'no-follow', None, _("don't follow copies and renames")),
@@ -3473,17 +3963,22 @@
     "archive":
         (archive,
          [('', 'no-decode', None, _('do not pass files through decoders')),
-          ('p', 'prefix', '', _('directory prefix for files in archive')),
-          ('r', 'rev', '', _('revision to distribute')),
-          ('t', 'type', '', _('type of distribution to create')),
+          ('p', 'prefix', '',
+           _('directory prefix for files in archive'), _('PREFIX')),
+          ('r', 'rev', '',
+           _('revision to distribute'), _('REV')),
+          ('t', 'type', '',
+           _('type of distribution to create'), _('TYPE')),
          ] + walkopts,
          _('[OPTION]... DEST')),
     "backout":
         (backout,
          [('', 'merge', None,
            _('merge with old dirstate parent after backout')),
-          ('', 'parent', '', _('parent to choose when backing out merge')),
-          ('r', 'rev', '', _('revision to backout')),
+          ('', 'parent', '',
+           _('parent to choose when backing out merge'), _('REV')),
+          ('r', 'rev', '',
+           _('revision to backout'), _('REV')),
          ] + walkopts + commitopts + commitopts2,
          _('[OPTION]... [-r] REV')),
     "bisect":
@@ -3492,7 +3987,8 @@
           ('g', 'good', False, _('mark changeset good')),
           ('b', 'bad', False, _('mark changeset bad')),
           ('s', 'skip', False, _('skip testing changeset')),
-          ('c', 'command', '', _('use command to check changeset state')),
+          ('c', 'command', '',
+           _('use command to check changeset state'), _('CMD')),
           ('U', 'noupdate', False, _('do not update to target'))],
          _("[-gbsr] [-U] [-c CMD] [REV]")),
     "branch":
@@ -3513,19 +4009,25 @@
          [('f', 'force', None,
            _('run even when the destination is unrelated')),
           ('r', 'rev', [],
-           _('a changeset intended to be added to the destination')),
+           _('a changeset intended to be added to the destination'),
+           _('REV')),
           ('b', 'branch', [],
-           _('a specific branch you would like to bundle')),
+           _('a specific branch you would like to bundle'),
+           _('BRANCH')),
           ('', 'base', [],
-           _('a base changeset assumed to be available at the destination')),
+           _('a base changeset assumed to be available at the destination'),
+           _('REV')),
           ('a', 'all', None, _('bundle all changesets in the repository')),
-          ('t', 'type', 'bzip2', _('bundle compression type to use')),
+          ('t', 'type', 'bzip2',
+           _('bundle compression type to use'), _('TYPE')),
          ] + remoteopts,
          _('[-f] [-t TYPE] [-a] [-r REV]... [--base REV]... FILE [DEST]')),
     "cat":
         (cat,
-         [('o', 'output', '', _('print output to file with formatted name')),
-          ('r', 'rev', '', _('print the given revision')),
+         [('o', 'output', '',
+          _('print output to file with formatted name'), _('FORMAT')),
+          ('r', 'rev', '',
+           _('print the given revision'), _('REV')),
           ('', 'decode', None, _('apply any matching decode filter')),
          ] + walkopts,
          _('[OPTION]... FILE...')),
@@ -3534,11 +4036,11 @@
          [('U', 'noupdate', None,
           _('the clone will include an empty working copy (only a repository)')),
           ('u', 'updaterev', '',
-           _('revision, tag or branch to check out')),
+           _('revision, tag or branch to check out'), _('REV')),
           ('r', 'rev', [],
-           _('include the specified changeset')),
+           _('include the specified changeset'), _('REV')),
           ('b', 'branch', [],
-           _('clone only the specified branch')),
+           _('clone only the specified branch'), _('BRANCH')),
           ('', 'pull', None, _('use pull protocol to copy metadata')),
           ('', 'uncompressed', None,
            _('use uncompressed transfer (fast over LAN)')),
@@ -3560,12 +4062,28 @@
          ] + walkopts + dryrunopts,
          _('[OPTION]... [SOURCE]... DEST')),
     "debugancestor": (debugancestor, [], _('[INDEX] REV1 REV2')),
+    "debugbuilddag":
+        (debugbuilddag,
+         [('m', 'mergeable-file', None, _('add single file mergeable changes')),
+          ('a', 'appended-file', None, _('add single file all revs append to')),
+          ('o', 'overwritten-file', None, _('add single file all revs overwrite')),
+          ('n', 'new-file', None, _('add new file at each rev')),
+         ],
+         _('[OPTION]... TEXT')),
     "debugcheckstate": (debugcheckstate, [], ''),
     "debugcommands": (debugcommands, [], _('[COMMAND]')),
     "debugcomplete":
         (debugcomplete,
          [('o', 'options', None, _('show the command options'))],
          _('[-o] CMD')),
+    "debugdag":
+        (debugdag,
+         [('t', 'tags', None, _('use tags as labels')),
+          ('b', 'branches', None, _('annotate with branch names')),
+          ('', 'dots', None, _('use dots for runs')),
+          ('s', 'spaces', None, _('separate elements by spaces')),
+         ],
+         _('[OPTION]... [FILE [REV]...]')),
     "debugdate":
         (debugdate,
          [('e', 'extended', None, _('try extended date formats'))],
@@ -3575,14 +4093,19 @@
     "debugindex": (debugindex, [], _('FILE')),
     "debugindexdot": (debugindexdot, [], _('FILE')),
     "debuginstall": (debuginstall, [], ''),
+    "debugpushkey": (debugpushkey, [], _('REPO NAMESPACE [KEY OLD NEW]')),
     "debugrebuildstate":
         (debugrebuildstate,
-         [('r', 'rev', '', _('revision to rebuild to'))],
+         [('r', 'rev', '',
+           _('revision to rebuild to'), _('REV'))],
          _('[-r REV] [REV]')),
     "debugrename":
         (debugrename,
-         [('r', 'rev', '', _('revision to debug'))],
+         [('r', 'rev', '',
+           _('revision to debug'), _('REV'))],
          _('[-r REV] FILE')),
+    "debugrevspec":
+        (debugrevspec, [], ('REVSPEC')),
     "debugsetparents":
         (debugsetparents, [], _('REV1 [REV2]')),
     "debugstate":
@@ -3591,20 +4114,25 @@
          _('[OPTION]...')),
     "debugsub":
         (debugsub,
-         [('r', 'rev', '', _('revision to check'))],
+         [('r', 'rev', '',
+           _('revision to check'), _('REV'))],
          _('[-r REV] [REV]')),
     "debugwalk": (debugwalk, walkopts, _('[OPTION]... [FILE]...')),
     "^diff":
         (diff,
-         [('r', 'rev', [], _('revision')),
-          ('c', 'change', '', _('change made by revision'))
+         [('r', 'rev', [],
+           _('revision'), _('REV')),
+          ('c', 'change', '',
+           _('change made by revision'), _('REV'))
          ] + diffopts + diffopts2 + walkopts,
          _('[OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...')),
     "^export":
         (export,
-         [('o', 'output', '', _('print output to file with formatted name')),
+         [('o', 'output', '',
+           _('print output to file with formatted name'), _('FORMAT')),
           ('', 'switch-parent', None, _('diff against the second parent')),
-          ('r', 'rev', [], _('revisions to export')),
+          ('r', 'rev', [],
+           _('revisions to export'), _('REV')),
           ] + diffopts,
          _('[OPTION]... [-o OUTFILESPEC] REV...')),
     "^forget":
@@ -3622,25 +4150,28 @@
           ('l', 'files-with-matches', None,
            _('print only filenames and revisions that match')),
           ('n', 'line-number', None, _('print matching line numbers')),
-          ('r', 'rev', [], _('only search files changed within revision range')),
+          ('r', 'rev', [],
+           _('only search files changed within revision range'), _('REV')),
           ('u', 'user', None, _('list the author (long with -v)')),
           ('d', 'date', None, _('list the date (short with -q)')),
          ] + walkopts,
          _('[OPTION]... PATTERN [FILE]...')),
     "heads":
         (heads,
-         [('r', 'rev', '', _('show only heads which are descendants of REV')),
+         [('r', 'rev', '',
+           _('show only heads which are descendants of REV'), _('REV')),
           ('t', 'topo', False, _('show topological heads only')),
           ('a', 'active', False,
            _('show active branchheads only [DEPRECATED]')),
           ('c', 'closed', False,
            _('show normal and closed branch heads')),
          ] + templateopts,
-         _('[-ac] [-r STARTREV] [REV]...')),
+         _('[-ac] [-r REV] [REV]...')),
     "help": (help_, [], _('[TOPIC]')),
     "identify|id":
         (identify,
-         [('r', 'rev', '', _('identify the specified revision')),
+         [('r', 'rev', '',
+           _('identify the specified revision'), _('REV')),
           ('n', 'num', None, _('show local revision number')),
           ('i', 'id', None, _('show global revision id')),
           ('b', 'branch', None, _('show branch')),
@@ -3650,8 +4181,10 @@
         (import_,
          [('p', 'strip', 1,
            _('directory strip option for patch. This has the same '
-             'meaning as the corresponding patch option')),
-          ('b', 'base', '', _('base path')),
+             'meaning as the corresponding patch option'),
+           _('NUM')),
+          ('b', 'base', '',
+           _('base path'), _('PATH')),
           ('f', 'force', None,
            _('skip check for outstanding uncommitted changes')),
           ('', 'no-commit', None,
@@ -3667,11 +4200,12 @@
          [('f', 'force', None,
            _('run even if remote repository is unrelated')),
           ('n', 'newest-first', None, _('show newest record first')),
-          ('', 'bundle', '', _('file to store the bundles into')),
+          ('', 'bundle', '',
+           _('file to store the bundles into'), _('FILE')),
           ('r', 'rev', [],
-           _('a remote changeset intended to be added')),
+           _('a remote changeset intended to be added'), _('REV')),
           ('b', 'branch', [],
-           _('a specific branch you would like to pull')),
+           _('a specific branch you would like to pull'), _('BRANCH')),
          ] + logopts + remoteopts,
          _('[-p] [-n] [-M] [-f] [-r REV]...'
            ' [--bundle FILENAME] [SOURCE]')),
@@ -3681,7 +4215,8 @@
          _('[-e CMD] [--remotecmd CMD] [DEST]')),
     "locate":
         (locate,
-         [('r', 'rev', '', _('search the repository as it is in REV')),
+         [('r', 'rev', '',
+           _('search the repository as it is in REV'), _('REV')),
           ('0', 'print0', None,
            _('end filenames with NUL, for use with xargs')),
           ('f', 'fullpath', None,
@@ -3695,27 +4230,36 @@
              ' or file history across copies and renames')),
           ('', 'follow-first', None,
            _('only follow the first parent of merge changesets')),
-          ('d', 'date', '', _('show revisions matching date spec')),
+          ('d', 'date', '',
+           _('show revisions matching date spec'), _('DATE')),
           ('C', 'copies', None, _('show copied files')),
-          ('k', 'keyword', [], _('do case-insensitive search for a keyword')),
-          ('r', 'rev', [], _('show the specified revision or range')),
+          ('k', 'keyword', [],
+           _('do case-insensitive search for a given text'), _('TEXT')),
+          ('r', 'rev', [],
+           _('show the specified revision or range'), _('REV')),
           ('', 'removed', None, _('include revisions where files were removed')),
           ('m', 'only-merges', None, _('show only merges')),
-          ('u', 'user', [], _('revisions committed by user')),
-          ('b', 'only-branch', [],
-            _('show only changesets within the given named branch')),
+          ('u', 'user', [],
+           _('revisions committed by user'), _('USER')),
+          ('', 'only-branch', [],
+           _('show only changesets within the given named branch (DEPRECATED)'),
+           _('BRANCH')),
+          ('b', 'branch', [],
+           _('show changesets within the given named branch'), _('BRANCH')),
           ('P', 'prune', [],
-           _('do not display revision or any of its ancestors')),
+           _('do not display revision or any of its ancestors'), _('REV')),
          ] + logopts + walkopts,
          _('[OPTION]... [FILE]')),
     "manifest":
         (manifest,
-         [('r', 'rev', '', _('revision to display'))],
+         [('r', 'rev', '',
+           _('revision to display'), _('REV'))],
          _('[-r REV]')),
     "^merge":
         (merge,
          [('f', 'force', None, _('force a merge with outstanding changes')),
-          ('r', 'rev', '', _('revision to merge')),
+          ('r', 'rev', '',
+           _('revision to merge'), _('REV')),
           ('P', 'preview', None,
            _('review revisions to merge (no merge is performed)'))],
          _('[-P] [-f] [[-r] REV]')),
@@ -3724,15 +4268,17 @@
          [('f', 'force', None,
            _('run even when the destination is unrelated')),
           ('r', 'rev', [],
-           _('a changeset intended to be included in the destination')),
+           _('a changeset intended to be included in the destination'),
+           _('REV')),
           ('n', 'newest-first', None, _('show newest record first')),
           ('b', 'branch', [],
-           _('a specific branch you would like to push')),
+           _('a specific branch you would like to push'), _('BRANCH')),
          ] + logopts + remoteopts,
          _('[-M] [-p] [-n] [-f] [-r REV]... [DEST]')),
     "parents":
         (parents,
-         [('r', 'rev', '', _('show parents of the specified revision')),
+         [('r', 'rev', '',
+           _('show parents of the specified revision'), _('REV')),
          ] + templateopts,
          _('[-r REV] [FILE]')),
     "paths": (paths, [], _('[NAME]')),
@@ -3743,18 +4289,20 @@
           ('f', 'force', None,
            _('run even when remote repository is unrelated')),
           ('r', 'rev', [],
-           _('a remote changeset intended to be added')),
+           _('a remote changeset intended to be added'), _('REV')),
           ('b', 'branch', [],
-           _('a specific branch you would like to pull')),
+           _('a specific branch you would like to pull'), _('BRANCH')),
          ] + remoteopts,
          _('[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]')),
     "^push":
         (push,
          [('f', 'force', None, _('force push')),
           ('r', 'rev', [],
-           _('a changeset intended to be included in the destination')),
+           _('a changeset intended to be included in the destination'),
+           _('REV')),
           ('b', 'branch', [],
-           _('a specific branch you would like to push')),
+           _('a specific branch you would like to push'), _('BRANCH')),
+          ('', 'new-branch', False, _('allow pushing a new branch')),
          ] + remoteopts,
          _('[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]')),
     "recover": (recover, []),
@@ -3784,34 +4332,49 @@
     "revert":
         (revert,
          [('a', 'all', None, _('revert all changes when no arguments given')),
-          ('d', 'date', '', _('tipmost revision matching date')),
-          ('r', 'rev', '', _('revert to the specified revision')),
+          ('d', 'date', '',
+           _('tipmost revision matching date'), _('DATE')),
+          ('r', 'rev', '',
+           _('revert to the specified revision'), _('REV')),
           ('', 'no-backup', None, _('do not save backup copies of files')),
          ] + walkopts + dryrunopts,
          _('[OPTION]... [-r REV] [NAME]...')),
-    "rollback": (rollback, []),
+    "rollback": (rollback, dryrunopts),
     "root": (root, []),
     "^serve":
         (serve,
-         [('A', 'accesslog', '', _('name of access log file to write to')),
+         [('A', 'accesslog', '',
+           _('name of access log file to write to'), _('FILE')),
           ('d', 'daemon', None, _('run server in background')),
-          ('', 'daemon-pipefds', '', _('used internally by daemon mode')),
-          ('E', 'errorlog', '', _('name of error log file to write to')),
-          ('p', 'port', 0, _('port to listen on (default: 8000)')),
+          ('', 'daemon-pipefds', '',
+           _('used internally by daemon mode'), _('NUM')),
+          ('E', 'errorlog', '',
+           _('name of error log file to write to'), _('FILE')),
+          # use string type, then we can check if something was passed
+          ('p', 'port', '',
+           _('port to listen on (default: 8000)'), _('PORT')),
           ('a', 'address', '',
-           _('address to listen on (default: all interfaces)')),
+           _('address to listen on (default: all interfaces)'), _('ADDR')),
           ('', 'prefix', '',
-           _('prefix path to serve from (default: server root)')),
+           _('prefix path to serve from (default: server root)'), _('PREFIX')),
           ('n', 'name', '',
-           _('name to show in web pages (default: working directory)')),
-          ('', 'webdir-conf', '', _('name of the webdir config file'
-                                    ' (serve more than one repository)')),
-          ('', 'pid-file', '', _('name of file to write process ID to')),
+           _('name to show in web pages (default: working directory)'),
+           _('NAME')),
+          ('', 'web-conf', '',
+           _('name of the hgweb config file (serve more than one repository)'),
+           _('FILE')),
+          ('', 'webdir-conf', '',
+           _('name of the hgweb config file (DEPRECATED)'), _('FILE')),
+          ('', 'pid-file', '',
+           _('name of file to write process ID to'), _('FILE')),
           ('', 'stdio', None, _('for remote clients')),
-          ('t', 'templates', '', _('web templates to use')),
-          ('', 'style', '', _('template style to use')),
+          ('t', 'templates', '',
+           _('web templates to use'), _('TEMPLATE')),
+          ('', 'style', '',
+           _('template style to use'), _('STYLE')),
           ('6', 'ipv6', None, _('use IPv6 in addition to IPv4')),
-          ('', 'certificate', '', _('SSL certificate file'))],
+          ('', 'certificate', '',
+           _('SSL certificate file'), _('FILE'))],
          _('[OPTION]...')),
     "showconfig|debugconfig":
         (showconfig,
@@ -3834,18 +4397,23 @@
           ('C', 'copies', None, _('show source of copied files')),
           ('0', 'print0', None,
            _('end filenames with NUL, for use with xargs')),
-          ('', 'rev', [], _('show difference from revision')),
-          ('', 'change', '', _('list the changed files of a revision')),
+          ('', 'rev', [],
+           _('show difference from revision'), _('REV')),
+          ('', 'change', '',
+           _('list the changed files of a revision'), _('REV')),
          ] + walkopts,
          _('[OPTION]... [FILE]...')),
     "tag":
         (tag,
          [('f', 'force', None, _('replace existing tag')),
           ('l', 'local', None, _('make the tag local')),
-          ('r', 'rev', '', _('revision to tag')),
+          ('r', 'rev', '',
+           _('revision to tag'), _('REV')),
           ('', 'remove', None, _('remove a tag')),
           # -l/--local is already there, commitopts cannot be used
-          ('m', 'message', '', _('use <text> as commit message')),
+          ('e', 'edit', None, _('edit commit message')),
+          ('m', 'message', '',
+           _('use <text> as commit message'), _('TEXT')),
          ] + commitopts2,
          _('[-f] [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME...')),
     "tags": (tags, [], ''),
@@ -3864,13 +4432,16 @@
         (update,
          [('C', 'clean', None, _('discard uncommitted changes (no backup)')),
           ('c', 'check', None, _('check for uncommitted changes')),
-          ('d', 'date', '', _('tipmost revision matching date')),
-          ('r', 'rev', '', _('revision'))],
+          ('d', 'date', '',
+           _('tipmost revision matching date'), _('DATE')),
+          ('r', 'rev', '',
+           _('revision'), _('REV'))],
          _('[-c] [-C] [-d DATE] [[-r] REV]')),
     "verify": (verify, []),
     "version": (version_, []),
 }
 
 norepo = ("clone init version help debugcommands debugcomplete debugdata"
-          " debugindex debugindexdot debugdate debuginstall debugfsinfo")
-optionalrepo = ("identify paths serve showconfig debugancestor")
+          " debugindex debugindexdot debugdate debuginstall debugfsinfo"
+          " debugpushkey")
+optionalrepo = ("identify paths serve showconfig debugancestor debugdag")
--- a/mercurial/config.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/config.py	Mon Jun 21 13:41:11 2010 -0500
@@ -6,7 +6,7 @@
 # GNU General Public License version 2 or any later version.
 
 from i18n import _
-import error
+import error, util
 import re, os
 
 class sortdict(dict):
@@ -96,17 +96,16 @@
                 cont = False
             m = includere.match(l)
             if m:
-                inc = m.group(1)
+                inc = util.expandpath(m.group(1))
                 base = os.path.dirname(src)
                 inc = os.path.normpath(os.path.join(base, inc))
                 if include:
                     try:
                         include(inc, remap=remap, sections=sections)
                     except IOError, inst:
-                        msg = _("config error at %s:%d: "
-                                "cannot include %s (%s)") \
-                            % (src, line, inc, inst.strerror)
-                        raise error.ConfigError(msg)
+                        raise error.ParseError(_("cannot include %s (%s)")
+                                               % (inc, inst.strerror),
+                                               "%s:%s" % (src, line))
                 continue
             if emptyre.match(l):
                 continue
@@ -135,8 +134,7 @@
                     del self._data[section][name]
                 continue
 
-            raise error.ConfigError(_("config error at %s:%d: '%s'")
-                                    % (src, line, l.rstrip()))
+            raise error.ParseError(l.rstrip(), ("%s:%s" % (src, line)))
 
     def read(self, path, fp=None, sections=None, remap=None):
         if not fp:
--- a/mercurial/context.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/context.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,8 +7,8 @@
 
 from node import nullid, nullrev, short, hex
 from i18n import _
-import ancestor, bdiff, error, util, subrepo
-import os, errno
+import ancestor, bdiff, error, util, subrepo, patch
+import os, errno, stat
 
 propertycache = util.propertycache
 
@@ -204,6 +204,16 @@
     def sub(self, path):
         return subrepo.subrepo(self, path)
 
+    def diff(self, ctx2=None, match=None, **opts):
+        """Returns a diff generator for the given contexts and matcher"""
+        if ctx2 is None:
+            ctx2 = self.p1()
+        if ctx2 is not None and not isinstance(ctx2, changectx):
+            ctx2 = self._repo[ctx2]
+        diffopts = patch.diffopts(self._repo.ui, opts)
+        return patch.diff(self._repo, ctx2.node(), self.node(),
+                          match=match, opts=diffopts)
+
 class filectx(object):
     """A filecontext object makes access to data related to a particular
        filerevision convenient."""
@@ -539,15 +549,14 @@
 class workingctx(changectx):
     """A workingctx object makes access to data related to
     the current working directory convenient.
-    parents - a pair of parent nodeids, or None to use the dirstate.
     date - any valid date string or (unixtime, offset), or None.
     user - username string, or None.
     extra - a dictionary of extra values, or None.
     changes - a list of file lists as returned by localrepo.status()
                or None to use the repository status.
     """
-    def __init__(self, repo, parents=None, text="", user=None, date=None,
-                 extra=None, changes=None):
+    def __init__(self, repo, text="", user=None, date=None, extra=None,
+                 changes=None):
         self._repo = repo
         self._rev = None
         self._node = None
@@ -556,10 +565,15 @@
             self._date = util.parsedate(date)
         if user:
             self._user = user
-        if parents:
-            self._parents = [changectx(self._repo, p) for p in parents]
         if changes:
-            self._status = list(changes)
+            self._status = list(changes[:4])
+            self._unknown = changes[4]
+            self._ignored = changes[5]
+            self._clean = changes[6]
+        else:
+            self._unknown = None
+            self._ignored = None
+            self._clean = None
 
         self._extra = {}
         if extra:
@@ -587,6 +601,9 @@
     def _manifest(self):
         """generate a manifest corresponding to the working directory"""
 
+        if self._unknown is None:
+            self.status(unknown=True)
+
         man = self._parents[0].manifest().copy()
         copied = self._repo.dirstate.copies()
         if len(self._parents) > 1:
@@ -601,7 +618,8 @@
             f = copied.get(f, f)
             return getman(f).flags(f)
         ff = self._repo.dirstate.flagfunc(cf)
-        modified, added, removed, deleted, unknown = self._status[:5]
+        modified, added, removed, deleted = self._status
+        unknown = self._unknown
         for i, l in (("a", added), ("m", modified), ("u", unknown)):
             for f in l:
                 orig = copied.get(f, f)
@@ -619,7 +637,7 @@
 
     @propertycache
     def _status(self):
-        return self._repo.status(unknown=True)
+        return self._repo.status()[:4]
 
     @propertycache
     def _user(self):
@@ -637,6 +655,22 @@
         self._parents = [changectx(self._repo, x) for x in p]
         return self._parents
 
+    def status(self, ignored=False, clean=False, unknown=False):
+        """Explicit status query
+        Unless this method is used to query the working copy status, the
+        _status property will implicitly read the status using its default
+        arguments."""
+        stat = self._repo.status(ignored=ignored, clean=clean, unknown=unknown)
+        self._unknown = self._ignored = self._clean = None
+        if unknown:
+            self._unknown = stat[4]
+        if ignored:
+            self._ignored = stat[5]
+        if clean:
+            self._clean = stat[6]
+        self._status = stat[:4]
+        return stat
+
     def manifest(self):
         return self._manifest
     def user(self):
@@ -657,9 +691,14 @@
     def deleted(self):
         return self._status[3]
     def unknown(self):
-        return self._status[4]
+        assert self._unknown is not None  # must call status first
+        return self._unknown
+    def ignored(self):
+        assert self._ignored is not None  # must call status first
+        return self._ignored
     def clean(self):
-        return self._status[5]
+        assert self._clean is not None  # must call status first
+        return self._clean
     def branch(self):
         return self._extra['branch']
     def extra(self):
@@ -713,11 +752,112 @@
 
     def dirty(self, missing=False):
         "check whether a working directory is modified"
-
+        # check subrepos first
+        for s in self.substate:
+            if self.sub(s).dirty():
+                return True
+        # check current working dir
         return (self.p2() or self.branch() != self.p1().branch() or
                 self.modified() or self.added() or self.removed() or
                 (missing and self.deleted()))
 
+    def add(self, list):
+        wlock = self._repo.wlock()
+        ui, ds = self._repo.ui, self._repo.dirstate
+        try:
+            rejected = []
+            for f in list:
+                p = self._repo.wjoin(f)
+                try:
+                    st = os.lstat(p)
+                except:
+                    ui.warn(_("%s does not exist!\n") % f)
+                    rejected.append(f)
+                    continue
+                if st.st_size > 10000000:
+                    ui.warn(_("%s: up to %d MB of RAM may be required "
+                              "to manage this file\n"
+                              "(use 'hg revert %s' to cancel the "
+                              "pending addition)\n")
+                              % (f, 3 * st.st_size // 1000000, f))
+                if not (stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode)):
+                    ui.warn(_("%s not added: only files and symlinks "
+                              "supported currently\n") % f)
+                    rejected.append(p)
+                elif ds[f] in 'amn':
+                    ui.warn(_("%s already tracked!\n") % f)
+                elif ds[f] == 'r':
+                    ds.normallookup(f)
+                else:
+                    ds.add(f)
+            return rejected
+        finally:
+            wlock.release()
+
+    def forget(self, list):
+        wlock = self._repo.wlock()
+        try:
+            for f in list:
+                if self._repo.dirstate[f] != 'a':
+                    self._repo.ui.warn(_("%s not added!\n") % f)
+                else:
+                    self._repo.dirstate.forget(f)
+        finally:
+            wlock.release()
+
+    def remove(self, list, unlink=False):
+        if unlink:
+            for f in list:
+                try:
+                    util.unlink(self._repo.wjoin(f))
+                except OSError, inst:
+                    if inst.errno != errno.ENOENT:
+                        raise
+        wlock = self._repo.wlock()
+        try:
+            for f in list:
+                if unlink and os.path.exists(self._repo.wjoin(f)):
+                    self._repo.ui.warn(_("%s still exists!\n") % f)
+                elif self._repo.dirstate[f] == 'a':
+                    self._repo.dirstate.forget(f)
+                elif f not in self._repo.dirstate:
+                    self._repo.ui.warn(_("%s not tracked!\n") % f)
+                else:
+                    self._repo.dirstate.remove(f)
+        finally:
+            wlock.release()
+
+    def undelete(self, list):
+        pctxs = self.parents()
+        wlock = self._repo.wlock()
+        try:
+            for f in list:
+                if self._repo.dirstate[f] != 'r':
+                    self._repo.ui.warn(_("%s not removed!\n") % f)
+                else:
+                    fctx = f in pctxs[0] and pctxs[0] or pctxs[1]
+                    t = fctx.data()
+                    self._repo.wwrite(f, t, fctx.flags())
+                    self._repo.dirstate.normal(f)
+        finally:
+            wlock.release()
+
+    def copy(self, source, dest):
+        p = self._repo.wjoin(dest)
+        if not (os.path.exists(p) or os.path.islink(p)):
+            self._repo.ui.warn(_("%s does not exist!\n") % dest)
+        elif not (os.path.isfile(p) or os.path.islink(p)):
+            self._repo.ui.warn(_("copy failed: %s is not a file or a "
+                                 "symbolic link\n") % dest)
+        else:
+            wlock = self._repo.wlock()
+            try:
+                if self._repo.dirstate[dest] in '?r':
+                    self._repo.dirstate.add(dest)
+                self._repo.dirstate.copy(source, dest)
+            finally:
+                wlock.release()
+
 class workingfilectx(filectx):
     """A workingfilectx object makes access to data related to a particular
        file in the working directory convenient."""
@@ -873,8 +1013,10 @@
         return self._status[3]
     def unknown(self):
         return self._status[4]
+    def ignored(self):
+        return self._status[5]
     def clean(self):
-        return self._status[5]
+        return self._status[6]
     def branch(self):
         return self._extra['branch']
     def extra(self):
@@ -890,12 +1032,16 @@
         """get a file context from the working directory"""
         return self._filectxfn(self._repo, self, path)
 
+    def commit(self):
+        """commit context to the repo"""
+        return self._repo.commitctx(self)
+
 class memfilectx(object):
     """memfilectx represents an in-memory file to commit.
 
     See memctx for more details.
     """
-    def __init__(self, path, data, islink, isexec, copied):
+    def __init__(self, path, data, islink=False, isexec=False, copied=None):
         """
         path is the normalized file path relative to repository root.
         data is the file content as a string.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/dagparser.py	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,473 @@
+# dagparser.py - parser and generator for concise description of DAGs
+#
+# Copyright 2010 Peter Arrenbrecht <peter@arrenbrecht.ch>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+import re, string
+import util
+
+def parsedag(desc):
+    '''parses a DAG from a concise textual description; generates events
+
+    "+n" is a linear run of n nodes based on the current default parent
+    "." is a single node based on the current default parent
+    "$" resets the default parent to -1 (implied at the start);
+        otherwise the default parent is always the last node created
+    "<p" sets the default parent to the backref p
+    "*p" is a fork at parent p, where p is a backref
+    "*p1/p2/.../pn" is a merge of parents p1..pn, where the pi are backrefs
+    "/p2/.../pn" is a merge of the preceding node and p2..pn
+    ":name" defines a label for the preceding node; labels can be redefined
+    "@text" emits an annotation event for text
+    "!command" emits an action event for the current node
+    "!!my command\n" is like "!", but to the end of the line
+    "#...\n" is a comment up to the end of the line
+
+    Whitespace between the above elements is ignored.
+
+    A backref is either
+     * a number n, which references the node curr-n, where curr is the current
+       node, or
+     * the name of a label you placed earlier using ":name", or
+     * empty to denote the default parent.
+
+    All string valued-elements are either strictly alphanumeric, or must
+    be enclosed in double quotes ("..."), with "\" as escape character.
+
+    Generates sequence of
+
+      ('n', (id, [parentids])) for node creation
+      ('l', (id, labelname)) for labels on nodes
+      ('a', text) for annotations
+      ('c', command) for actions (!)
+      ('C', command) for line actions (!!)
+
+    Examples
+    --------
+
+    Example of a complex graph (output not shown for brevity):
+
+        >>> len(list(parsedag("""
+        ...
+        ... +3         # 3 nodes in linear run
+        ... :forkhere  # a label for the last of the 3 nodes from above
+        ... +5         # 5 more nodes on one branch
+        ... :mergethis # label again
+        ... <forkhere  # set default parent to labelled fork node
+        ... +10        # 10 more nodes on a parallel branch
+        ... @stable    # following nodes will be annotated as "stable"
+        ... +5         # 5 nodes in stable
+        ... !addfile   # custom command; could trigger new file in next node
+        ... +2         # two more nodes
+        ... /mergethis # merge last node with labelled node
+        ... +4         # 4 more nodes descending from merge node
+        ...
+        ... """)))
+        34
+
+    Empty list:
+
+        >>> list(parsedag(""))
+        []
+
+    A simple linear run:
+
+        >>> list(parsedag("+3"))
+        [('n', (0, [-1])), ('n', (1, [0])), ('n', (2, [1]))]
+
+    Some non-standard ways to define such runs:
+
+        >>> list(parsedag("+1+2"))
+        [('n', (0, [-1])), ('n', (1, [0])), ('n', (2, [1]))]
+
+        >>> list(parsedag("+1*1*"))
+        [('n', (0, [-1])), ('n', (1, [0])), ('n', (2, [1]))]
+
+        >>> list(parsedag("*"))
+        [('n', (0, [-1]))]
+
+        >>> list(parsedag("..."))
+        [('n', (0, [-1])), ('n', (1, [0])), ('n', (2, [1]))]
+
+    A fork and a join, using numeric back references:
+
+        >>> list(parsedag("+2*2*/2"))
+        [('n', (0, [-1])), ('n', (1, [0])), ('n', (2, [0])), ('n', (3, [2, 1]))]
+
+        >>> list(parsedag("+2<2+1/2"))
+        [('n', (0, [-1])), ('n', (1, [0])), ('n', (2, [0])), ('n', (3, [2, 1]))]
+
+    Placing a label:
+
+        >>> list(parsedag("+1 :mylabel +1"))
+        [('n', (0, [-1])), ('l', (0, 'mylabel')), ('n', (1, [0]))]
+
+    An empty label (silly, really):
+
+        >>> list(parsedag("+1:+1"))
+        [('n', (0, [-1])), ('l', (0, '')), ('n', (1, [0]))]
+
+    Fork and join, but with labels instead of numeric back references:
+
+        >>> list(parsedag("+1:f +1:p2 *f */p2"))
+        [('n', (0, [-1])), ('l', (0, 'f')), ('n', (1, [0])), ('l', (1, 'p2')),
+         ('n', (2, [0])), ('n', (3, [2, 1]))]
+
+        >>> list(parsedag("+1:f +1:p2 <f +1 /p2"))
+        [('n', (0, [-1])), ('l', (0, 'f')), ('n', (1, [0])), ('l', (1, 'p2')),
+         ('n', (2, [0])), ('n', (3, [2, 1]))]
+
+    Restarting from the root:
+
+        >>> list(parsedag("+1 $ +1"))
+        [('n', (0, [-1])), ('n', (1, [-1]))]
+
+    Annotations, which are meant to introduce sticky state for subsequent nodes:
+
+        >>> list(parsedag("+1 @ann +1"))
+        [('n', (0, [-1])), ('a', 'ann'), ('n', (1, [0]))]
+
+        >>> list(parsedag('+1 @"my annotation" +1'))
+        [('n', (0, [-1])), ('a', 'my annotation'), ('n', (1, [0]))]
+
+    Commands, which are meant to operate on the most recently created node:
+
+        >>> list(parsedag("+1 !cmd +1"))
+        [('n', (0, [-1])), ('c', 'cmd'), ('n', (1, [0]))]
+
+        >>> list(parsedag('+1 !"my command" +1'))
+        [('n', (0, [-1])), ('c', 'my command'), ('n', (1, [0]))]
+
+        >>> list(parsedag('+1 !!my command line\\n +1'))
+        [('n', (0, [-1])), ('C', 'my command line'), ('n', (1, [0]))]
+
+    Comments, which extend to the end of the line:
+
+        >>> list(parsedag('+1 # comment\\n+1'))
+        [('n', (0, [-1])), ('n', (1, [0]))]
+
+    Error:
+
+        >>> try: list(parsedag('+1 bad'))
+        ... except Exception, e: print e
+        invalid character in dag description: bad...
+
+    '''
+    if not desc:
+        return
+
+    wordchars = string.ascii_letters + string.digits
+
+    labels = {}
+    p1 = -1
+    r = 0
+
+    def resolve(ref):
+        if not ref:
+            return p1
+        elif ref[0] in string.digits:
+            return r - int(ref)
+        else:
+            return labels[ref]
+
+    chiter = (c for c in desc)
+
+    def nextch():
+        try:
+            return chiter.next()
+        except StopIteration:
+            return '\0'
+
+    def nextrun(c, allow):
+        s = ''
+        while c in allow:
+            s += c
+            c = nextch()
+        return c, s
+
+    def nextdelimited(c, limit, escape):
+        s = ''
+        while c != limit:
+            if c == escape:
+                c = nextch()
+            s += c
+            c = nextch()
+        return nextch(), s
+
+    def nextstring(c):
+        if c == '"':
+            return nextdelimited(nextch(), '"', '\\')
+        else:
+            return nextrun(c, wordchars)
+
+    c = nextch()
+    while c != '\0':
+        while c in string.whitespace:
+            c = nextch()
+        if c == '.':
+            yield 'n', (r, [p1])
+            p1 = r
+            r += 1
+            c = nextch()
+        elif c == '+':
+            c, digs = nextrun(nextch(), string.digits)
+            n = int(digs)
+            for i in xrange(0, n):
+                yield 'n', (r, [p1])
+                p1 = r
+                r += 1
+        elif c == '*' or c == '/':
+            if c == '*':
+                c = nextch()
+            c, pref = nextstring(c)
+            prefs = [pref]
+            while c == '/':
+                c, pref = nextstring(nextch())
+                prefs.append(pref)
+            ps = [resolve(ref) for ref in prefs]
+            yield 'n', (r, ps)
+            p1 = r
+            r += 1
+        elif c == '<':
+            c, ref = nextstring(nextch())
+            p1 = resolve(ref)
+        elif c == ':':
+            c, name = nextstring(nextch())
+            labels[name] = p1
+            yield 'l', (p1, name)
+        elif c == '@':
+            c, text = nextstring(nextch())
+            yield 'a', text
+        elif c == '!':
+            c = nextch()
+            if c == '!':
+                cmd = ''
+                c = nextch()
+                while c not in '\n\r\0':
+                    cmd += c
+                    c = nextch()
+                yield 'C', cmd
+            else:
+                c, cmd = nextstring(c)
+                yield 'c', cmd
+        elif c == '#':
+            while c not in '\n\r\0':
+                c = nextch()
+        elif c == '$':
+            p1 = -1
+            c = nextch()
+        elif c == '\0':
+            return # in case it was preceded by whitespace
+        else:
+            s = ''
+            i = 0
+            while c != '\0' and i < 10:
+                s += c
+                i += 1
+                c = nextch()
+            raise util.Abort("invalid character in dag description: %s..." % s)
+
+def dagtextlines(events,
+                 addspaces=True,
+                 wraplabels=False,
+                 wrapannotations=False,
+                 wrapcommands=False,
+                 wrapnonlinear=False,
+                 usedots=False,
+                 maxlinewidth=70):
+    '''generates single lines for dagtext()'''
+
+    def wrapstring(text):
+        if re.match("^[0-9a-z]*$", text):
+            return text
+        return '"' + text.replace('\\', '\\\\').replace('"', '\"') + '"'
+
+    def gen():
+        labels = {}
+        run = 0
+        wantr = 0
+        needroot = False
+        for kind, data in events:
+            if kind == 'n':
+                r, ps = data
+
+                # sanity check
+                if r != wantr:
+                    raise util.Abort("Expected id %i, got %i" % (wantr, r))
+                if not ps:
+                    ps = [-1]
+                else:
+                    for p in ps:
+                        if p >= r:
+                            raise util.Abort("Parent id %i is larger than "
+                                             "current id %i" % (p, r))
+                wantr += 1
+
+                # new root?
+                p1 = r - 1
+                if len(ps) == 1 and ps[0] == -1:
+                    if needroot:
+                        if run:
+                            yield '+' + str(run)
+                            run = 0
+                        if wrapnonlinear:
+                            yield '\n'
+                        yield '$'
+                        p1 = -1
+                    else:
+                        needroot = True
+                if len(ps) == 1 and ps[0] == p1:
+                    if usedots:
+                        yield "."
+                    else:
+                        run += 1
+                else:
+                    if run:
+                        yield '+' + str(run)
+                        run = 0
+                    if wrapnonlinear:
+                        yield '\n'
+                    prefs = []
+                    for p in ps:
+                        if p == p1:
+                            prefs.append('')
+                        elif p in labels:
+                            prefs.append(labels[p])
+                        else:
+                            prefs.append(str(r - p))
+                    yield '*' + '/'.join(prefs)
+            else:
+                if run:
+                    yield '+' + str(run)
+                    run = 0
+                if kind == 'l':
+                    rid, name = data
+                    labels[rid] = name
+                    yield ':' + name
+                    if wraplabels:
+                        yield '\n'
+                elif kind == 'c':
+                    yield '!' + wrapstring(data)
+                    if wrapcommands:
+                        yield '\n'
+                elif kind == 'C':
+                    yield '!!' + data
+                    yield '\n'
+                elif kind == 'a':
+                    if wrapannotations:
+                        yield '\n'
+                    yield '@' + wrapstring(data)
+                elif kind == '#':
+                    yield '#' + data
+                    yield '\n'
+                else:
+                    raise util.Abort(_("invalid event type in dag: %s")
+                                     % str((type, data)))
+        if run:
+            yield '+' + str(run)
+
+    line = ''
+    for part in gen():
+        if part == '\n':
+            if line:
+                yield line
+                line = ''
+        else:
+            if len(line) + len(part) >= maxlinewidth:
+                yield line
+                line = ''
+            elif addspaces and line and part != '.':
+                line += ' '
+            line += part
+    if line:
+        yield line
+
+def dagtext(dag,
+            addspaces=True,
+            wraplabels=False,
+            wrapannotations=False,
+            wrapcommands=False,
+            wrapnonlinear=False,
+            usedots=False,
+            maxlinewidth=70):
+    '''generates lines of a textual representation for a dag event stream
+
+    events should generate what parsedag() does, so:
+
+      ('n', (id, [parentids])) for node creation
+      ('l', (id, labelname)) for labels on nodes
+      ('a', text) for annotations
+      ('c', text) for commands
+      ('C', text) for line commands ('!!')
+      ('#', text) for comment lines
+
+    Parent nodes must come before child nodes.
+
+    Examples
+    --------
+
+    Linear run:
+
+        >>> dagtext([('n', (0, [-1])), ('n', (1, [0]))])
+        '+2'
+
+    Two roots:
+
+        >>> dagtext([('n', (0, [-1])), ('n', (1, [-1]))])
+        '+1 $ +1'
+
+    Fork and join:
+
+        >>> dagtext([('n', (0, [-1])), ('n', (1, [0])), ('n', (2, [0])),
+        ...          ('n', (3, [2, 1]))])
+        '+2 *2 */2'
+
+    Fork and join with labels:
+
+        >>> dagtext([('n', (0, [-1])), ('l', (0, 'f')), ('n', (1, [0])),
+        ...          ('l', (1, 'p2')), ('n', (2, [0])), ('n', (3, [2, 1]))])
+        '+1 :f +1 :p2 *f */p2'
+
+    Annotations:
+
+        >>> dagtext([('n', (0, [-1])), ('a', 'ann'), ('n', (1, [0]))])
+        '+1 @ann +1'
+
+        >>> dagtext([('n', (0, [-1])), ('a', 'my annotation'), ('n', (1, [0]))])
+        '+1 @"my annotation" +1'
+
+    Commands:
+
+        >>> dagtext([('n', (0, [-1])), ('c', 'cmd'), ('n', (1, [0]))])
+        '+1 !cmd +1'
+
+        >>> dagtext([('n', (0, [-1])), ('c', 'my command'), ('n', (1, [0]))])
+        '+1 !"my command" +1'
+
+        >>> dagtext([('n', (0, [-1])), ('C', 'my command line'), ('n', (1, [0]))])
+        '+1 !!my command line\\n+1'
+
+    Comments:
+
+        >>> dagtext([('n', (0, [-1])), ('#', ' comment'), ('n', (1, [0]))])
+        '+1 # comment\\n+1'
+
+        >>> dagtext([])
+        ''
+
+    Combining parsedag and dagtext:
+
+        >>> dagtext(parsedag('+1 :f +1 :p2 *f */p2'))
+        '+1 :f +1 :p2 *f */p2'
+
+    '''
+    return "\n".join(dagtextlines(dag,
+                                  addspaces,
+                                  wraplabels,
+                                  wrapannotations,
+                                  wrapcommands,
+                                  wrapnonlinear,
+                                  usedots,
+                                  maxlinewidth))
--- a/mercurial/diffhelpers.c	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/diffhelpers.c	Mon Jun 21 13:41:11 2010 -0500
@@ -11,6 +11,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "util.h"
+
 static char diffhelpers_doc[] = "Efficient diff parsing";
 static PyObject *diffhelpers_Error;
 
@@ -20,20 +22,21 @@
 {
 	int hunksz = PyList_Size(hunk);
 	PyObject *s = PyList_GET_ITEM(hunk, hunksz-1);
-	char *l = PyString_AS_STRING(s);
+	char *l = PyBytes_AsString(s);
 	int alen = PyList_Size(a);
 	int blen = PyList_Size(b);
 	char c = l[0];
 	PyObject *hline;
-	int sz = PyString_GET_SIZE(s);
+	int sz = PyBytes_GET_SIZE(s);
 
 	if (sz > 1 && l[sz-2] == '\r')
 		/* tolerate CRLF in last line */
 		sz -= 1;
-	hline = PyString_FromStringAndSize(l, sz-1);
+
+	hline = PyBytes_FromStringAndSize(l, sz-1);
 
 	if (c == ' ' || c == '+') {
-		PyObject *rline = PyString_FromStringAndSize(l + 1, sz - 2);
+		PyObject *rline = PyBytes_FromStringAndSize(l + 1, sz - 2);
 		PyList_SetItem(b, blen-1, rline);
 	}
 	if (c == ' ' || c == '-') {
@@ -82,7 +85,7 @@
 		    break;
 		for (i = 0; i < num; i++) {
 			x = PyFile_GetLine(fp, 0);
-			s = PyString_AS_STRING(x);
+			s = PyBytes_AsString(x);
 			c = *s;
 			if (strcmp(s, "\\ No newline at end of file\n") == 0) {
 				_fix_newline(hunk, a, b);
@@ -92,17 +95,17 @@
 				/* Some patches may be missing the control char
 				 * on empty lines. Supply a leading space. */
 				Py_DECREF(x);
-				x = PyString_FromString(" \n");
+				x = PyBytes_FromString(" \n");
 			}
 			PyList_Append(hunk, x);
 			if (c == '+') {
-				l = PyString_FromString(s + 1);
+				l = PyBytes_FromString(s + 1);
 				PyList_Append(b, l);
 				Py_DECREF(l);
 			} else if (c == '-') {
 				PyList_Append(a, x);
 			} else {
-				l = PyString_FromString(s + 1);
+				l = PyBytes_FromString(s + 1);
 				PyList_Append(b, l);
 				Py_DECREF(l);
 				PyList_Append(a, x);
@@ -136,8 +139,8 @@
 		return Py_BuildValue("l", -1);
 	}
 	for (i = 0; i < alen; i++) {
-		sa = PyString_AS_STRING(PyList_GET_ITEM(a, i));
-		sb = PyString_AS_STRING(PyList_GET_ITEM(b, i + bstart));
+		sa = PyBytes_AsString(PyList_GET_ITEM(a, i));
+		sb = PyBytes_AsString(PyList_GET_ITEM(b, i + bstart));
 		if (strcmp(sa + 1, sb) != 0)
 			return Py_BuildValue("l", -1);
 	}
@@ -151,6 +154,31 @@
 	{NULL, NULL}
 };
 
+#ifdef IS_PY3K
+static struct PyModuleDef diffhelpers_module = {
+	PyModuleDef_HEAD_INIT,
+	"diffhelpers",
+	diffhelpers_doc,
+	-1,
+	methods
+};
+
+PyMODINIT_FUNC PyInit_diffhelpers(void)
+{
+	PyObject *m;
+
+	m = PyModule_Create(&diffhelpers_module);
+	if (m == NULL)
+		return NULL;
+
+	diffhelpers_Error = PyErr_NewException("diffhelpers.diffhelpersError",
+											NULL, NULL);
+	Py_INCREF(diffhelpers_Error);
+	PyModule_AddObject(m, "diffhelpersError", diffhelpers_Error);
+
+	return m;
+}
+#else
 PyMODINIT_FUNC
 initdiffhelpers(void)
 {
@@ -158,4 +186,5 @@
 	diffhelpers_Error = PyErr_NewException("diffhelpers.diffhelpersError",
 	                                        NULL, NULL);
 }
+#endif
 
--- a/mercurial/dirstate.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/dirstate.py	Mon Jun 21 13:41:11 2010 -0500
@@ -11,7 +11,6 @@
 import struct, os, stat, errno
 import cStringIO
 
-_unknown = ('?', 0, 0, 0)
 _format = ">cllll"
 propertycache = util.propertycache
 
@@ -286,14 +285,15 @@
         '''Mark a file normal, but possibly dirty.'''
         if self._pl[1] != nullid and f in self._map:
             # if there is a merge going on and the file was either
-            # in state 'm' or dirty before being removed, restore that state.
+            # in state 'm' (-1) or coming from other parent (-2) before
+            # being removed, restore that state.
             entry = self._map[f]
             if entry[0] == 'r' and entry[2] in (-1, -2):
                 source = self._copymap.get(f)
                 if entry[2] == -1:
                     self.merge(f)
                 elif entry[2] == -2:
-                    self.normaldirty(f)
+                    self.otherparent(f)
                 if source:
                     self.copy(source, f)
                 return
@@ -305,8 +305,11 @@
         if f in self._copymap:
             del self._copymap[f]
 
-    def normaldirty(self, f):
-        '''Mark a file normal, but dirty.'''
+    def otherparent(self, f):
+        '''Mark as coming from the other parent, always dirty.'''
+        if self._pl[1] == nullid:
+            raise util.Abort(_("setting %r to other parent "
+                               "only allowed in merges") % f)
         self._dirty = True
         self._addpath(f)
         self._map[f] = ('n', 0, -2, -1)
@@ -327,10 +330,11 @@
         self._droppath(f)
         size = 0
         if self._pl[1] != nullid and f in self._map:
+            # backup the previous state
             entry = self._map[f]
-            if entry[0] == 'm':
+            if entry[0] == 'm': # merge
                 size = -1
-            elif entry[0] == 'n' and entry[2] == -2:
+            elif entry[0] == 'n' and entry[2] == -2: # other parent
                 size = -2
         self._map[f] = ('r', 0, size, 0)
         if size == 0 and f in self._copymap:
@@ -639,7 +643,7 @@
                 if (size >= 0 and
                     (size != st.st_size
                      or ((mode ^ st.st_mode) & 0100 and self._checkexec))
-                    or size == -2
+                    or size == -2 # other parent
                     or fn in self._copymap):
                     madd(fn)
                 elif time != int(st.st_mtime):
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/discovery.py	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,350 @@
+# discovery.py - protocol changeset discovery functions
+#
+# Copyright 2010 Matt Mackall <mpm@selenic.com>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+from node import nullid, short
+from i18n import _
+import util, error
+
+def findincoming(repo, remote, base=None, heads=None, force=False):
+    """Return list of roots of the subsets of missing nodes from remote
+
+    If base dict is specified, assume that these nodes and their parents
+    exist on the remote side and that no child of a node of base exists
+    in both remote and repo.
+    Furthermore base will be updated to include the nodes that exists
+    in repo and remote but no children exists in repo and remote.
+    If a list of heads is specified, return only nodes which are heads
+    or ancestors of these heads.
+
+    All the ancestors of base are in repo and in remote.
+    All the descendants of the list returned are missing in repo.
+    (and so we know that the rest of the nodes are missing in remote, see
+    outgoing)
+    """
+    return findcommonincoming(repo, remote, base, heads, force)[1]
+
+def findcommonincoming(repo, remote, base=None, heads=None, force=False):
+    """Return a tuple (common, missing roots, heads) used to identify
+    missing nodes from remote.
+
+    If base dict is specified, assume that these nodes and their parents
+    exist on the remote side and that no child of a node of base exists
+    in both remote and repo.
+    Furthermore base will be updated to include the nodes that exists
+    in repo and remote but no children exists in repo and remote.
+    If a list of heads is specified, return only nodes which are heads
+    or ancestors of these heads.
+
+    All the ancestors of base are in repo and in remote.
+    """
+    m = repo.changelog.nodemap
+    search = []
+    fetch = set()
+    seen = set()
+    seenbranch = set()
+    if base is None:
+        base = {}
+
+    if not heads:
+        heads = remote.heads()
+
+    if repo.changelog.tip() == nullid:
+        base[nullid] = 1
+        if heads != [nullid]:
+            return [nullid], [nullid], list(heads)
+        return [nullid], [], []
+
+    # assume we're closer to the tip than the root
+    # and start by examining the heads
+    repo.ui.status(_("searching for changes\n"))
+
+    unknown = []
+    for h in heads:
+        if h not in m:
+            unknown.append(h)
+        else:
+            base[h] = 1
+
+    heads = unknown
+    if not unknown:
+        return base.keys(), [], []
+
+    req = set(unknown)
+    reqcnt = 0
+
+    # search through remote branches
+    # a 'branch' here is a linear segment of history, with four parts:
+    # head, root, first parent, second parent
+    # (a branch always has two parents (or none) by definition)
+    unknown = remote.branches(unknown)
+    while unknown:
+        r = []
+        while unknown:
+            n = unknown.pop(0)
+            if n[0] in seen:
+                continue
+
+            repo.ui.debug("examining %s:%s\n"
+                          % (short(n[0]), short(n[1])))
+            if n[0] == nullid: # found the end of the branch
+                pass
+            elif n in seenbranch:
+                repo.ui.debug("branch already found\n")
+                continue
+            elif n[1] and n[1] in m: # do we know the base?
+                repo.ui.debug("found incomplete branch %s:%s\n"
+                              % (short(n[0]), short(n[1])))
+                search.append(n[0:2]) # schedule branch range for scanning
+                seenbranch.add(n)
+            else:
+                if n[1] not in seen and n[1] not in fetch:
+                    if n[2] in m and n[3] in m:
+                        repo.ui.debug("found new changeset %s\n" %
+                                      short(n[1]))
+                        fetch.add(n[1]) # earliest unknown
+                    for p in n[2:4]:
+                        if p in m:
+                            base[p] = 1 # latest known
+
+                for p in n[2:4]:
+                    if p not in req and p not in m:
+                        r.append(p)
+                        req.add(p)
+            seen.add(n[0])
+
+        if r:
+            reqcnt += 1
+            repo.ui.progress(_('searching'), reqcnt, unit=_('queries'))
+            repo.ui.debug("request %d: %s\n" %
+                        (reqcnt, " ".join(map(short, r))))
+            for p in xrange(0, len(r), 10):
+                for b in remote.branches(r[p:p + 10]):
+                    repo.ui.debug("received %s:%s\n" %
+                                  (short(b[0]), short(b[1])))
+                    unknown.append(b)
+
+    # do binary search on the branches we found
+    while search:
+        newsearch = []
+        reqcnt += 1
+        repo.ui.progress(_('searching'), reqcnt, unit=_('queries'))
+        for n, l in zip(search, remote.between(search)):
+            l.append(n[1])
+            p = n[0]
+            f = 1
+            for i in l:
+                repo.ui.debug("narrowing %d:%d %s\n" % (f, len(l), short(i)))
+                if i in m:
+                    if f <= 2:
+                        repo.ui.debug("found new branch changeset %s\n" %
+                                          short(p))
+                        fetch.add(p)
+                        base[i] = 1
+                    else:
+                        repo.ui.debug("narrowed branch search to %s:%s\n"
+                                      % (short(p), short(i)))
+                        newsearch.append((p, i))
+                    break
+                p, f = i, f * 2
+            search = newsearch
+
+    # sanity check our fetch list
+    for f in fetch:
+        if f in m:
+            raise error.RepoError(_("already have changeset ")
+                                  + short(f[:4]))
+
+    if base.keys() == [nullid]:
+        if force:
+            repo.ui.warn(_("warning: repository is unrelated\n"))
+        else:
+            raise util.Abort(_("repository is unrelated"))
+
+    repo.ui.debug("found new changesets starting at " +
+                 " ".join([short(f) for f in fetch]) + "\n")
+
+    repo.ui.progress(_('searching'), None)
+    repo.ui.debug("%d total queries\n" % reqcnt)
+
+    return base.keys(), list(fetch), heads
+
+def findoutgoing(repo, remote, base=None, heads=None, force=False):
+    """Return list of nodes that are roots of subsets not in remote
+
+    If base dict is specified, assume that these nodes and their parents
+    exist on the remote side.
+    If a list of heads is specified, return only nodes which are heads
+    or ancestors of these heads, and return a second element which
+    contains all remote heads which get new children.
+    """
+    if base is None:
+        base = {}
+        findincoming(repo, remote, base, heads, force=force)
+
+    repo.ui.debug("common changesets up to "
+                  + " ".join(map(short, base.keys())) + "\n")
+
+    remain = set(repo.changelog.nodemap)
+
+    # prune everything remote has from the tree
+    remain.remove(nullid)
+    remove = base.keys()
+    while remove:
+        n = remove.pop(0)
+        if n in remain:
+            remain.remove(n)
+            for p in repo.changelog.parents(n):
+                remove.append(p)
+
+    # find every node whose parents have been pruned
+    subset = []
+    # find every remote head that will get new children
+    updated_heads = set()
+    for n in remain:
+        p1, p2 = repo.changelog.parents(n)
+        if p1 not in remain and p2 not in remain:
+            subset.append(n)
+        if heads:
+            if p1 in heads:
+                updated_heads.add(p1)
+            if p2 in heads:
+                updated_heads.add(p2)
+
+    # this is the set of all roots we have to push
+    if heads:
+        return subset, list(updated_heads)
+    else:
+        return subset
+
+def prepush(repo, remote, force, revs, newbranch):
+    '''Analyze the local and remote repositories and determine which
+    changesets need to be pushed to the remote. Return value depends
+    on circumstances:
+
+    If we are not going to push anything, return a tuple (None,
+    outgoing) where outgoing is 0 if there are no outgoing
+    changesets and 1 if there are, but we refuse to push them
+    (e.g. would create new remote heads).
+
+    Otherwise, return a tuple (changegroup, remoteheads), where
+    changegroup is a readable file-like object whose read() returns
+    successive changegroup chunks ready to be sent over the wire and
+    remoteheads is the list of remote heads.'''
+    common = {}
+    remote_heads = remote.heads()
+    inc = findincoming(repo, remote, common, remote_heads, force=force)
+
+    cl = repo.changelog
+    update, updated_heads = findoutgoing(repo, remote, common, remote_heads)
+    outg, bases, heads = cl.nodesbetween(update, revs)
+
+    if not bases:
+        repo.ui.status(_("no changes found\n"))
+        return None, 1
+
+    if not force and remote_heads != [nullid]:
+
+        def fail_multiple_heads(unsynced, branch=None):
+            if branch:
+                msg = _("abort: push creates new remote heads"
+                        " on branch '%s'!\n") % branch
+            else:
+                msg = _("abort: push creates new remote heads!\n")
+            repo.ui.warn(msg)
+            if unsynced:
+                repo.ui.status(_("(you should pull and merge or"
+                                 " use push -f to force)\n"))
+            else:
+                repo.ui.status(_("(did you forget to merge?"
+                                 " use push -f to force)\n"))
+            return None, 0
+
+        if remote.capable('branchmap'):
+            # Check for each named branch if we're creating new remote heads.
+            # To be a remote head after push, node must be either:
+            # - unknown locally
+            # - a local outgoing head descended from update
+            # - a remote head that's known locally and not
+            #   ancestral to an outgoing head
+            #
+            # New named branches cannot be created without --force.
+
+            # 1. Create set of branches involved in the push.
+            branches = set(repo[n].branch() for n in outg)
+
+            # 2. Check for new branches on the remote.
+            remotemap = remote.branchmap()
+            newbranches = branches - set(remotemap)
+            if newbranches and not newbranch: # new branch requires --new-branch
+                branchnames = ', '.join("%s" % b for b in newbranches)
+                repo.ui.warn(_("abort: push creates "
+                               "new remote branches: %s!\n")
+                             % branchnames)
+                repo.ui.status(_("(use 'hg push --new-branch' to create new "
+                                 "remote branches)\n"))
+                return None, 0
+            branches.difference_update(newbranches)
+
+            # 3. Construct the initial oldmap and newmap dicts.
+            # They contain information about the remote heads before and
+            # after the push, respectively.
+            # Heads not found locally are not included in either dict,
+            # since they won't be affected by the push.
+            # unsynced contains all branches with incoming changesets.
+            oldmap = {}
+            newmap = {}
+            unsynced = set()
+            for branch in branches:
+                remoteheads = remotemap[branch]
+                prunedheads = [h for h in remoteheads if h in cl.nodemap]
+                oldmap[branch] = prunedheads
+                newmap[branch] = list(prunedheads)
+                if len(remoteheads) > len(prunedheads):
+                    unsynced.add(branch)
+
+            # 4. Update newmap with outgoing changes.
+            # This will possibly add new heads and remove existing ones.
+            ctxgen = (repo[n] for n in outg)
+            repo._updatebranchcache(newmap, ctxgen)
+
+            # 5. Check for new heads.
+            # If there are more heads after the push than before, a suitable
+            # warning, depending on unsynced status, is displayed.
+            for branch in branches:
+                if len(newmap[branch]) > len(oldmap[branch]):
+                    return fail_multiple_heads(branch in unsynced, branch)
+
+            # 6. Check for unsynced changes on involved branches.
+            if unsynced:
+                repo.ui.warn(_("note: unsynced remote changes!\n"))
+
+        else:
+            # Old servers: Check for new topological heads.
+            # Code based on _updatebranchcache.
+            newheads = set(h for h in remote_heads if h in cl.nodemap)
+            oldheadcnt = len(newheads)
+            newheads.update(outg)
+            if len(newheads) > 1:
+                for latest in reversed(outg):
+                    if latest not in newheads:
+                        continue
+                    minhrev = min(cl.rev(h) for h in newheads)
+                    reachable = cl.reachable(latest, cl.node(minhrev))
+                    reachable.remove(latest)
+                    newheads.difference_update(reachable)
+            if len(newheads) > oldheadcnt:
+                return fail_multiple_heads(inc)
+            if inc:
+                repo.ui.warn(_("note: unsynced remote changes!\n"))
+
+    if revs is None:
+        # use the fast path, no race possible on push
+        nodes = repo.changelog.findmissing(common.keys())
+        cg = repo._changegroup(nodes, 'push')
+    else:
+        cg = repo.changegroupsubset(update, revs, 'push')
+    return cg, remote_heads
--- a/mercurial/dispatch.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/dispatch.py	Mon Jun 21 13:41:11 2010 -0500
@@ -9,7 +9,7 @@
 import os, sys, atexit, signal, pdb, socket, errno, shlex, time
 import util, commands, hg, fancyopts, extensions, hook, error
 import cmdutil, encoding
-import ui as _ui
+import ui as uimod
 
 def run():
     "run the command in sys.argv"
@@ -18,14 +18,18 @@
 def dispatch(args):
     "run the command specified in args"
     try:
-        u = _ui.ui()
+        u = uimod.ui()
         if '--traceback' in args:
             u.setconfig('ui', 'traceback', 'on')
     except util.Abort, inst:
         sys.stderr.write(_("abort: %s\n") % inst)
         return -1
-    except error.ConfigError, inst:
-        sys.stderr.write(_("hg: %s\n") % inst)
+    except error.ParseError, inst:
+        if len(inst.args) > 1:
+            sys.stderr.write(_("hg: parse error at %s: %s\n") %
+                             (inst.args[1], inst.args[0]))
+        else:
+            sys.stderr.write(_("hg: parse error: %s\n") % inst.args[0])
         return -1
     return _runcatch(u, args)
 
@@ -62,8 +66,13 @@
     except error.AmbiguousCommand, inst:
         ui.warn(_("hg: command '%s' is ambiguous:\n    %s\n") %
                 (inst.args[0], " ".join(inst.args[1])))
-    except error.ConfigError, inst:
-        ui.warn(_("hg: %s\n") % inst.args[0])
+    except error.ParseError, inst:
+        if len(inst.args) > 1:
+            ui.warn(_("hg: parse error at %s: %s\n") %
+                             (inst.args[1], inst.args[0]))
+        else:
+            ui.warn(_("hg: parse error: %s\n") % inst.args[0])
+        return -1
     except error.LockHeld, inst:
         if inst.errno == errno.ETIMEDOUT:
             reason = _('timed out waiting for lock held by %s') % inst.locker
@@ -73,7 +82,7 @@
     except error.LockUnavailable, inst:
         ui.warn(_("abort: could not lock %s: %s\n") %
                (inst.desc or inst.filename, inst.strerror))
-    except error.ParseError, inst:
+    except error.CommandError, inst:
         if inst.args[0]:
             ui.warn(_("hg %s: %s\n") % (inst.args[0], inst.args[1]))
             commands.help_(ui, inst.args[0])
@@ -258,7 +267,7 @@
     try:
         args = fancyopts.fancyopts(args, commands.globalopts, options)
     except fancyopts.getopt.GetoptError, inst:
-        raise error.ParseError(None, inst)
+        raise error.CommandError(None, inst)
 
     if args:
         cmd, args = args[0], args[1:]
@@ -281,7 +290,7 @@
     try:
         args = fancyopts.fancyopts(args, c, cmdoptions, True)
     except fancyopts.getopt.GetoptError, inst:
-        raise error.ParseError(cmd, inst)
+        raise error.CommandError(cmd, inst)
 
     # separate global options back out
     for o in commands.globalopts:
@@ -333,15 +342,16 @@
             pos += 1
     return values
 
-def runcommand(lui, repo, cmd, fullargs, ui, options, d):
+def runcommand(lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions):
     # run pre-hook, and abort if it fails
-    ret = hook.hook(lui, repo, "pre-%s" % cmd, False, args=" ".join(fullargs))
+    ret = hook.hook(lui, repo, "pre-%s" % cmd, False, args=" ".join(fullargs),
+                    pats=cmdpats, opts=cmdoptions)
     if ret:
         return ret
     ret = _runcommand(ui, options, cmd, d)
     # run post-hook, passing command result
     hook.hook(lui, repo, "post-%s" % cmd, False, args=" ".join(fullargs),
-              result = ret)
+              result=ret, pats=cmdpats, opts=cmdoptions)
     return ret
 
 _loaded = set()
@@ -445,6 +455,7 @@
         return commands.help_(ui, 'shortlist')
 
     repo = None
+    cmdpats = args[:]
     if cmd not in commands.norepo.split():
         try:
             repo = hg.repository(ui, path=path)
@@ -468,14 +479,15 @@
         ui.warn("warning: --repository ignored\n")
 
     d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
-    return runcommand(lui, repo, cmd, fullargs, ui, options, d)
+    return runcommand(lui, repo, cmd, fullargs, ui, options, d,
+                      cmdpats, cmdoptions)
 
 def _runcommand(ui, options, cmd, cmdfunc):
     def checkargs():
         try:
             return cmdfunc()
         except error.SignatureError:
-            raise error.ParseError(cmd, _("invalid arguments"))
+            raise error.CommandError(cmd, _("invalid arguments"))
 
     if options['profile']:
         format = ui.config('profiling', 'format', default='text')
--- a/mercurial/encoding.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/encoding.py	Mon Jun 21 13:41:11 2010 -0500
@@ -72,6 +72,6 @@
     d = s.decode(encoding, 'replace')
     if hasattr(unicodedata, 'east_asian_width'):
         w = unicodedata.east_asian_width
-        return sum([w(c) in 'WF' and 2 or 1 for c in d])
+        return sum([w(c) in 'WFA' and 2 or 1 for c in d])
     return len(d)
 
--- a/mercurial/error.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/error.py	Mon Jun 21 13:41:11 2010 -0500
@@ -27,12 +27,18 @@
     def __str__(self):
         return RevlogError.__str__(self)
 
-class ParseError(Exception):
+class CommandError(Exception):
     """Exception raised on errors in parsing the command line."""
 
-class ConfigError(Exception):
+class Abort(Exception):
+    """Raised if a command needs to print an error and exit."""
+
+class ConfigError(Abort):
     'Exception raised when parsing config files'
 
+class ParseError(Exception):
+    'Exception raised when parsing config files (msg[, pos])'
+
 class RepoError(Exception):
     pass
 
@@ -70,6 +76,3 @@
 
 class SignatureError(Exception):
     pass
-
-class Abort(Exception):
-    """Raised if a command needs to print an error and exit."""
--- a/mercurial/extensions.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/extensions.py	Mon Jun 21 13:41:11 2010 -0500
@@ -124,6 +124,38 @@
     return entry
 
 def wrapfunction(container, funcname, wrapper):
+    '''Wrap the function named funcname in container
+
+    It is replacing with your wrapper. The container is typically a
+    module, class, or instance.
+
+    The wrapper will be called like
+
+      wrapper(orig, *args, **kwargs)
+
+    where orig is the original (wrapped) function, and *args, **kwargs
+    are the arguments passed to it.
+
+    Wrapping methods of the repository object is not recommended since
+    it conflicts with extensions that extend the repository by
+    subclassing. All extensions that need to extend methods of
+    localrepository should use this subclassing trick: namely,
+    reposetup() should look like
+
+      def reposetup(ui, repo):
+          class myrepo(repo.__class__):
+              def whatever(self, *args, **kwargs):
+                  [...extension stuff...]
+                  super(myrepo, self).whatever(*args, **kwargs)
+                  [...extension stuff...]
+
+          repo.__class__ = myrepo
+
+    In general, combining wrapfunction() with subclassing does not
+    work. Since you cannot control what other extensions are loaded by
+    your end users, you should play nicely with others by using the
+    subclass trick.
+    '''
     def wrap(*args, **kwargs):
         return wrapper(origfn, *args, **kwargs)
 
--- a/mercurial/fancyopts.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/fancyopts.py	Mon Jun 21 13:41:11 2010 -0500
@@ -43,6 +43,7 @@
       long option
       default value
       description
+      option value label(optional)
 
     option types include:
 
@@ -59,7 +60,11 @@
     argmap = {}
     defmap = {}
 
-    for short, name, default, comment in options:
+    for option in options:
+        if len(option) == 5:
+            short, name, default, comment, dummy = option
+        else:
+            short, name, default, comment = option
         # convert opts to getopt format
         oname = name
         name = name.replace('-', '_')
--- a/mercurial/filelog.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/filelog.py	Mon Jun 21 13:41:11 2010 -0500
@@ -33,9 +33,7 @@
 
     def add(self, text, meta, transaction, link, p1=None, p2=None):
         if meta or text.startswith('\1\n'):
-            mt = ""
-            if meta:
-                mt = ["%s: %s\n" % (k, v) for k, v in sorted(meta.iteritems())]
+            mt = ["%s: %s\n" % (k, v) for k, v in sorted(meta.iteritems())]
             text = "\1\n%s\1\n%s" % ("".join(mt), text)
         return self.addrevision(text, transaction, link, p1, p2)
 
--- a/mercurial/filemerge.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/filemerge.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,7 +7,7 @@
 
 from node import short
 from i18n import _
-import util, simplemerge, match
+import util, simplemerge, match, error
 import os, tempfile, re, filecmp
 
 def _toolstr(ui, tool, part, default=""):
@@ -16,6 +16,9 @@
 def _toolbool(ui, tool, part, default=False):
     return ui.configbool("merge-tools", tool + "." + part, default)
 
+def _toollist(ui, tool, part, default=[]):
+    return ui.configlist("merge-tools", tool + "." + part, default)
+
 _internal = ['internal:' + s
              for s in 'fail local other merge prompt dump'.split()]
 
@@ -176,7 +179,18 @@
     ui.debug("my %s other %s ancestor %s\n" % (fcd, fco, fca))
 
     # do we attempt to simplemerge first?
-    if _toolbool(ui, tool, "premerge", not (binary or symlink)):
+    try:
+        premerge = _toolbool(ui, tool, "premerge", not (binary or symlink))
+    except error.ConfigError:
+        premerge = _toolstr(ui, tool, "premerge").lower()
+        valid = 'keep'.split()
+        if premerge not in valid:
+            _valid = ', '.join(["'" + v + "'" for v in valid])
+            raise error.ConfigError(_("%s.premerge not valid "
+                                      "('%s' is neither boolean nor %s)") %
+                                    (tool, premerge, _valid))
+
+    if premerge:
         r = simplemerge.simplemerge(ui, a, b, c, quiet=True)
         if not r:
             ui.debug(" premerge successful\n")
@@ -184,7 +198,8 @@
             os.unlink(b)
             os.unlink(c)
             return 0
-        util.copyfile(back, a) # restore from backup and try again
+        if premerge != 'keep':
+            util.copyfile(back, a) # restore from backup and try again
 
     env = dict(HG_FILE=fd,
                HG_MY_NODE=short(mynode),
@@ -211,11 +226,20 @@
             lambda x: '"%s"' % util.localpath(replace[x.group()[1:]]), args)
         r = util.system(toolpath + ' ' + args, cwd=repo.root, environ=env)
 
-    if not r and _toolbool(ui, tool, "checkconflicts"):
+    if not r and (_toolbool(ui, tool, "checkconflicts") or
+                  'conflicts' in _toollist(ui, tool, "check")):
         if re.match("^(<<<<<<< .*|=======|>>>>>>> .*)$", fcd.data()):
             r = 1
 
-    if not r and _toolbool(ui, tool, "checkchanged"):
+    checked = False
+    if 'prompt' in _toollist(ui, tool, "check"):
+        checked = True
+        if ui.promptchoice(_("was merge of '%s' successful (yn)?") % fd,
+                           (_("&Yes"), _("&No")), 1):
+            r = 1
+
+    if not r and not checked and (_toolbool(ui, tool, "checkchanged") or
+                                  'changed' in _toollist(ui, tool, "check")):
         if filecmp.cmp(repo.wjoin(fd), back):
             if ui.promptchoice(_(" output file %s appears unchanged\n"
                                  "was merge successful (yn)?") % fd,
--- a/mercurial/graphmod.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/graphmod.py	Mon Jun 21 13:41:11 2010 -0500
@@ -115,7 +115,7 @@
                 edges.append((ecol, next.index(eid), colors[eid]))
             elif eid == cur:
                 for p in parents:
-                    edges.append((ecol, next.index(p), colors[p]))
+                    edges.append((ecol, next.index(p), color))
 
         # Yield and move on
         yield (cur, type, data, (col, color), edges)
--- a/mercurial/help.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/help.py	Mon Jun 21 13:41:11 2010 -0500
@@ -25,7 +25,7 @@
             break
 
     start = line[:3]
-    if start == '\"\"\"' or start == "\'\'\'":
+    if start == '"""' or start == "'''":
         line = line[3:]
         while line:
             if line.rstrip().endswith(start):
@@ -92,9 +92,12 @@
      loaddoc('revisions')),
     (['mrevs', 'multirevs'], _('Specifying Multiple Revisions'),
      loaddoc('multirevs')),
+    (['revsets'], _("Specifying Revision Sets"), loaddoc('revsets')),
     (['diffs'], _('Diff Formats'), loaddoc('diffs')),
     (['templating', 'templates'], _('Template Usage'),
      loaddoc('templates')),
     (['urls'], _('URL Paths'), loaddoc('urls')),
     (["extensions"], _("Using additional features"), extshelp),
+    (["hgweb"], _("Configuring hgweb"), loaddoc('hgweb')),
+    (["glossary"], _("Glossary"), loaddoc('glossary')),
 )
--- a/mercurial/help/config.txt	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/help/config.txt	Mon Jun 21 13:41:11 2010 -0500
@@ -5,12 +5,13 @@
 
 - ``<repo>\.hg\hgrc``
 - ``%USERPROFILE%\.hgrc``
-- ``%USERPROFILE%\Mercurial.ini``
+- ``%USERPROFILE%\mercurial.ini``
 - ``%HOME%\.hgrc``
-- ``%HOME%\Mercurial.ini``
-- ``C:\Mercurial\Mercurial.ini``
-- ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial``
-- ``<install-dir>\Mercurial.ini``
+- ``%HOME%\mercurial.ini``
+- ``C:\mercurial\mercurial.ini`` (unless regkey or hgrc.d\ or mercurial.ini found)
+- ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial`` (unless hgrc.d\ or mercurial.ini found)
+- ``<hg.exe-dir>\hgrc.d\*.rc`` (unless mercurial.ini found)
+- ``<hg.exe-dir>\mercurial.ini``
 
 On Unix, these files are read:
 
@@ -21,6 +22,19 @@
 - ``<install-root>/etc/mercurial/hgrc``
 - ``<install-root>/etc/mercurial/hgrc.d/*.rc``
 
+If there is a per-repository configuration file which is not owned by
+the active user, Mercurial will warn you that the file is skipped::
+
+  not trusting file <repo>/.hg/hgrc from untrusted user USER, group GROUP
+
+If this bothers you, the warning can be silenced (the file would still
+be ignored) or trust can be established. Use one of the following
+settings, the syntax is explained below:
+
+- ``ui.report_untrusted = False``
+- ``trusted.users = USER``
+- ``trusted.groups = GROUP``
+
 The configuration files for Mercurial use a simple ini-file format. A
 configuration file consists of sections, led by a ``[section]`` header
 and followed by ``name = value`` entries::
@@ -29,7 +43,7 @@
   username = Firstname Lastname <firstname.lastname@example.net>
   verbose = True
 
-This above entries will be referred to as ``ui.username`` and
+The above entries will be referred to as ``ui.username`` and
 ``ui.verbose``, respectively. Please see the hgrc man page for a full
 description of the possible configuration values:
 
--- a/mercurial/help/diffs.txt	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/help/diffs.txt	Mon Jun 21 13:41:11 2010 -0500
@@ -16,7 +16,7 @@
 format.
 
 This means that when generating diffs from a Mercurial repository
-(e.g. with "hg export"), you should be careful about things like file
+(e.g. with :hg:`export`), you should be careful about things like file
 copies and renames or other things mentioned above, because when
 applying a standard diff to a different repository, this extra
 information is lost. Mercurial's internal operations (like push and
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/help/glossary.txt	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,357 @@
+Ancestor
+    Any changeset that can be reached by an unbroken chain of parent
+    changesets from a given changeset. More precisely, the ancestors
+    of a changeset can be defined by two properties: a parent of a
+    changeset is an ancestor, and a parent of an ancestor is an
+    ancestor. See also: 'Descendant'.
+
+Branch
+    (Noun) A child changeset that has been created from a parent that
+    is not a head. These are known as topological branches, see
+    'Branch, topological'.If a topological branch is named, it becomes
+    a named branch. If a topological branch is not named, it becomes
+    an anonymous branch. See 'Branch, anonymous' and 'Branch, named'.
+
+    Branches may be created when changes are pulled from or pushed to
+    a remote repository, since new heads may be created by these
+    operations. Note that the term branch can also be used informally
+    to describe a development process in which certain development is
+    done independently of other development.This is sometimes done
+    explicitly with a named branch, but it can also be done locally,
+    using bookmarks or clones and anonymous branches.
+
+    Example: "The experimental branch".
+
+    (Verb) The action of creating a child changeset which results in
+    its parent having more than one child.
+
+    Example: "I'm going to branch at X".
+
+Branch, anonymous
+    Every time a new child changeset is created from a parent that is not
+    a head and the name of the branch is not changed, a new anonymous
+    branch is created.
+
+Branch, closed
+    A named branch whose branch heads have all been closed.
+
+Branch, default
+    The branch assigned to a changeset when no name has previously been
+    assigned.
+
+Branch head
+    See 'Head, branch'.
+
+Branch, named
+    A collection of changesets which have the same branch name. By
+    default, children of a changeset in a named branch belong to the
+    same named branch. A child can be explicitly assigned to a
+    different branch. See :hg:`help branch`, :hg:`help branches` and
+    :hg:`commit --close-branch` for more information on managing
+    branches.
+
+    Named branches can be thought of as a kind of namespace, dividing
+    the collection of changesets that comprise the repository into a
+    collection of disjoint subsets. A named branch is not necessarily
+    a topological branch. If a new named branch is created from the
+    head of another named branch, or the default branch, but no
+    further changesets are added to that previous branch, then the new
+    named branch will be a branch in name only.
+
+Branch tip
+    See 'Tip, branch'.
+
+Branch, topological
+    Every time a new child changeset is created from a parent that is
+    not a head, a new topological branch is created. If a topological
+    branch is named, it becomes a named branch. If a topological
+    branch is not named, it becomes an anonymous branch of the
+    current, possibly default, branch.
+
+Changelog
+    A record of the changesets in the order in which they were added
+    to the repository. This includes details such as changeset id,
+    author, commit message, date, and list of changed files.
+
+Changeset
+    A snapshot of the state of the repository used to record a change.
+
+Changeset, child
+    The converse of parent changeset: if P is a parent of C, then C is
+    a child of P. There is no limit to the number of children that a
+    changeset may have.
+
+Changeset id
+    A SHA-1 hash that uniquely identifies a changeset. It may be
+    represented as either a "long" 40-byte hexadecimal string, or a
+    "short" 12-byte hexadecimal string.
+
+Changeset, merge
+    A changeset with two parents. This occurs when a merge is
+    committed.
+
+Changeset, parent
+    A revision upon which a child changeset is based. Specifically, a
+    parent changeset of a changeset C is a changeset whose node
+    immediately precedes C in the DAG. Changesets have at most two
+    parents.
+
+Checkout
+    (Noun) The working directory being updated to a specific
+    revision. This use should probably be avoided where possible, as
+    changeset is much more appropriate than checkout in this context.
+
+    Example: "I'm using checkout X."
+
+    (Verb) Updating the working directory to a specific changeset. See
+    :hg:`help update`.
+
+    Example: "I'm going to check out changeset X."
+
+Child changeset
+    See 'Changeset, child'.
+
+Close changeset
+    See 'Changeset, close'.
+
+Closed branch
+    See 'Branch, closed'.
+
+Clone
+    (Noun) An entire or partial copy of a repository. The partial
+    clone must be in the form of a revision and its ancestors.
+
+    Example: "Is your clone up to date?".
+
+    (Verb) The process of creating a clone, using :hg:`clone`.
+
+    Example: "I'm going to clone the repository".
+
+Closed branch head
+    See 'Head, closed branch'.
+
+Commit
+    (Noun) A synonym for changeset.
+
+    Example: "Is the bug fixed in your recent commit?"
+
+    (Verb) The act of recording changes to a repository. When files
+    are committed in a working directory, Mercurial finds the
+    differences between the committed files and their parent
+    changeset, creating a new changeset in the repository.
+
+    Example: "You should commit those changes now."
+
+Cset
+    A common abbreviation of the term changeset.
+
+DAG
+    The repository of changesets of a distributed version control
+    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.
+
+Default branch
+    See 'Branch, default'.
+
+Descendant
+    Any changeset that can be reached by a chain of child changesets
+    from a given changeset. More precisely, the descendants of a
+    changeset can be defined by two properties: the child of a
+    changeset is a descendant, and the child of a descendant is a
+    descendant. See also: 'Ancestor'.
+
+Diff
+    (Noun) The difference between the contents and attributes of files
+    in two changesets or a changeset and the current working
+    directory. The difference is usually represented in a standard
+    form called a "diff" or "patch". The "git diff" format is used
+    when the changes include copies, renames, or changes to file
+    attributes, none of which can be represented/handled by classic
+    "diff" and "patch".
+
+    Example: "Did you see my correction in the diff?"
+
+    (Verb) Diffing two changesets is the action of creating a diff or
+    patch.
+
+    Example: "If you diff with changeset X, you will see what I mean."
+
+Directory, working
+    The working directory represents the state of the files tracked by
+    Mercurial, that will be recorded in the next commit. The working
+    directory initially corresponds to the snapshot at an existing
+    changeset, known as the parent of the working directory. See
+    'Parents, working directory'. The state may be modified by changes
+    to the files introduced manually or by a merge. The repository
+    metadata exists in the .hg directory inside the working directory.
+
+Graph
+    See DAG and :hg:`help graphlog`.
+
+Head
+    The term 'head' may be used to refer to both a branch head or a
+    repository head, depending on the context. See 'Head, branch' and
+    'Head, repository' for specific definitions.
+
+    Heads are where development generally takes place and are the
+    usual targets for update and merge operations.
+
+Head, branch
+    A changeset with no descendants on the same named branch.
+
+Head, closed branch
+    A changeset that marks a head as no longer interesting. The closed
+    head is no longer listed by :hg:`heads`. A branch is considered
+    closed when all its heads are closed and consequently is not
+    listed by :hg:`branches`.
+
+Head, repository
+    A topological head which has not been closed.
+
+Head, topological
+    A changeset with no children in the repository.
+
+History, immutable
+    Once committed, changesets cannot be altered.  Extensions which
+    appear to change history actually create new changesets that
+    replace existing ones, and then destroy the old changesets. Doing
+    so in public repositories can result in old changesets being
+    reintroduced to the repository.
+
+History, rewriting
+    The changesets in a repository are immutable. However, extensions
+    to Mercurial can be used to alter the repository, usually in such
+    a way as to preserve changeset contents.
+
+Immutable history
+    See 'History, immutable'.
+
+Merge changeset
+    See 'Changeset, merge'.
+
+Manifest
+    Each changeset has a manifest, which is the list of files that are
+    tracked by the changeset.
+
+Merge
+    Used to bring together divergent branches of work. When you update
+    to a changeset and then merge another changeset, you bring the
+    history of the latter changeset into your working directory. Once
+    conflicts are resolved (and marked), this merge may be committed
+    as a merge changeset, bringing two branches together in the DAG.
+
+Named branch
+    See 'Branch, named'.
+
+Null changeset
+    The empty changeset. It is the parent state of newly-initialized
+    repositories and repositories with no checked out revision. It is
+    thus the parent of root changesets and the effective ancestor when
+    merging unrelated changesets. Can be specified by the alias 'null'
+    or by the changeset ID '000000000000'.
+
+Parent
+    See 'Changeset, parent'.
+
+Parent changeset
+    See 'Changeset, parent'.
+
+Parent, working directory
+    The working directory parent reflects a virtual revision which is
+    the child of the changeset (or two changesets with an uncommitted
+    merge) shown by :hg:`parents`. This is changed with
+    :hg:`update`. Other commands to see the working directory parent
+    are :hg:`summary` and :hg:`id`. Can be specified by the alias ".".
+
+Patch
+    (Noun) The product of a diff operation.
+
+    Example: "I've sent you my patch."
+
+    (Verb) The process of using a patch file to transform one
+    changeset into another.
+
+    Example: "You will need to patch that revision."
+
+Pull
+    An operation in which changesets in a remote repository which are
+    not in the local repository are brought into the local
+    repository. Note that this operation without special arguments
+    only updates the repository, it does not update the files in the
+    working directory. See :hg:`help pull`.
+
+Push
+    An operation in which changesets in a local repository which are
+    not in a remote repository are sent to the remote repository. Note
+    that this operation only adds changesets which have been committed
+    locally to the remote repository. Uncommitted changes are not
+    sent. See :hg:`help push`.
+
+Repository
+    The metadata describing all recorded states of a collection of
+    files. Each recorded state is represented by a changeset. A
+    repository is usually (but not always) found in the ``.hg``
+    subdirectory of a working directory. Any recorded state can be
+    recreated by "updating" a working directory to a specific
+    changeset.
+
+Repository head
+    See 'Head, repository'.
+
+Revision
+    A state of the repository at some point in time. Earlier revisions
+    can be updated to by using :hg:`update`.  See also 'Revision
+    number'; See also 'Changeset'.
+
+Revision number
+    This integer uniquely identifies a changeset in a specific
+    repository. It represents the order in which changesets were added
+    to a repository, starting with revision number 0. Note that the
+    revision number may be different in each clone of a repository. To
+    identify changesets uniquely between different clones, see
+    'Changeset id'.
+
+Revlog
+    History storage mechanism used by Mercurial. It is a form of delta
+    encoding, with occasional full revision of data followed by delta
+    of each successive revision. It includes data and an index
+    pointing to the data.
+
+Rewriting history
+    See  'History, rewriting'.
+
+Root
+    A changeset that has only the null changeset as its parent. Most
+    repositories have only a single root changeset.
+
+Tip
+    The changeset with the highest revision number. It is the changeset
+    most recently added in a repository.
+
+Tip, branch
+    The head of a given branch with the highest revision number. When
+    a branch name is used as a revision identifier, it refers to the
+    branch tip. See also 'Branch, head'. Note that because revision
+    numbers may be different in different repository clones, the
+    branch tip may be different in different cloned repositories.
+
+Update
+    (Noun) Another synonym of changeset.
+
+    Example:  "I've pushed an update".
+
+    (Verb) This term is usually used to describe updating the state of
+    the working directory to that of a specific changeset. See
+    :hg:`help update`.
+
+    Example: "You should update".
+
+Working directory
+    See 'Directory, working'.
+
+Working directory parent
+    See  'Parent, working directory'.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/help/hgweb.txt	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,46 @@
+Mercurial's internal web server, hgweb, can serve either a single
+repository, or a collection of them. In the latter case, a special
+configuration file can be used to specify the repository paths to use
+and global web configuration options.
+
+This file uses the same syntax as hgrc configuration files, but only
+the following sections are recognized:
+
+  - web
+  - paths
+  - collections
+
+The ``web`` section can specify all the settings described in the web
+section of the hgrc documentation.
+
+The ``paths`` section provides mappings of physical repository
+paths to virtual ones. For instance::
+
+  [paths]
+  projects/a = /foo/bar
+  projects/b = /baz/quux
+  web/root = /real/root/*
+  / = /real/root2/*
+  virtual/root2 = /real/root2/**
+
+- The first two entries make two repositories in different directories
+  appear under the same directory in the web interface
+- The third entry maps every Mercurial repository found in '/real/root'
+  into 'web/root'. This format is preferred over the [collections] one,
+  since using absolute paths as configuration keys is not supported on every
+  platform (especially on Windows).
+- The fourth entry is a special case mapping all repositories in
+  '/real/root2' in the root of the virtual directory.
+- The fifth entry recursively finds all repositories under the real
+  root, and maps their relative paths under the virtual root.
+
+The ``collections`` section provides mappings of trees of physical
+repositories paths to virtual ones, though the paths syntax is generally
+preferred. For instance::
+
+  [collections]
+  /foo = /foo
+
+Here, the left side will be stripped off all repositories found in the
+right side. Thus ``/foo/bar`` and ``foo/quux/baz`` will be listed as
+``bar`` and ``quux/baz`` respectively.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/help/revsets.txt	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,166 @@
+Mercurial supports a functional language for selecting a set of
+revisions.
+
+The language supports a number of predicates which are joined by infix
+operators. Parenthesis can be used for grouping.
+
+Identifiers such as branch names must be quoted with single or double
+quotes if they contain characters outside of
+``[._a-zA-Z0-9\x80-\xff]`` or if they match one of the predefined
+predicates. Special characters can be used in quoted identifiers by
+escaping them, e.g., ``\n`` is interpreted as a newline.
+
+There is a single prefix operator:
+
+``not x``
+  Changesets not in x. Short form is ``! x``.
+
+These are the supported infix operators:
+
+``x::y``
+  A DAG range, meaning all changesets that are descendants of x and
+  ancestors of y, including x and y themselves. If the first endpoint
+  is left out, this is equivalent to ``ancestors(y)``, if the second
+  is left out it is equivalent to ``descendents(x)``.
+
+  An alternative syntax is ``x..y``.
+
+``x:y``
+  All changesets with revision numbers between x and y, both
+  inclusive. Either endpoint can be left out, they default to 0 and
+  tip.
+
+``x and y``
+  The intersection of changesets in x and y. Short form is ``x & y``.
+
+``x or y``
+  The union of changesets in x and y. There are two alternative short
+  forms: ``x | y`` and ``x + y``.
+
+``x - y``
+  Changesets in x but not in y.
+
+The following predicates are supported:
+
+``adds(pattern)``
+  Changesets that add a file matching pattern.
+
+``all()``
+  All changesets, the same as ``0:tip``.
+
+``ancestor(single, single)``
+  Greatest common ancestor of the two changesets.
+
+``ancestors(set)``
+  Changesets that are ancestors of a changeset in set.
+
+``author(string)``
+  Alias for ``user(string)``.
+
+``branch(set)``
+  The branch names are found for changesets in set, and the result is
+  all changesets belonging to one those branches.
+
+``children(set)``
+  Child changesets of changesets in set.
+
+``closed()``
+  Changeset is closed.
+
+``contains(pattern)``
+  Revision contains pattern.
+
+``date(interval)``
+  Changesets within the interval, see :hg:`help dates`.
+
+``descendants(set)``
+  Changesets which are decendants of changesets in set.
+
+``file(pattern)``
+  Changesets which manually affected files matching pattern.
+
+``follow()``
+  An alias for ``::.`` (ancestors of the working copy's first parent).
+
+``grep(regex)``
+  Like ``keyword(string)`` but accepts a regex.
+
+``head()``
+  Changeset is a head.
+
+``heads(set)``
+  Members of set with no children in set.
+
+``keyword(string)``
+  Search commit message, user name, and names of changed files for
+  string.
+
+``limit(set, n)``
+  First n members of set.
+
+``max(set)``
+  Changeset with highest revision number in set.
+
+``merge()``
+  Changeset is a merge changeset.
+
+``modifies(pattern)``
+  Changesets which modify files matching pattern.
+
+``outgoing([path])``
+  Changesets missing in path.
+
+``p1(set)``
+  First parent of changesets in set.
+
+``p2(set)``
+  Second parent of changesets in set.
+
+``parents(set)``
+  The set of all parents for all changesets in set.
+
+``removes(pattern)``
+  Changesets which remove files matching pattern.
+
+``reverse(set)``
+  Reverse order of set.
+
+``roots(set)``
+  Changesets with no parent changeset in set.
+
+``sort(set[, [-]key...])``
+  Sort set by keys. The default sort order is ascending, specify a key
+  as ``-key`` to sort in descending order.
+
+  The keys can be:
+
+  - ``rev`` for the revision number,
+  - ``branch`` for the branch name,
+  - ``desc`` for the commit message (description),
+  - ``user`` for user name (``author`` can be used as an alias),
+  - ``date`` for the commit date
+
+``tagged()``
+  Changeset is tagged.
+
+``user(string)``
+  User name is string.
+
+Command line equivalents for :hg:`log`::
+
+  -f    ->  ::.
+  -d x  ->  date(x)
+  -k x  ->  keyword(x)
+  -m    ->  merge()
+  -u x  ->  user(x)
+  -b x  ->  branch(x)
+  -P x  ->  !::x
+  -l x  ->  limit(expr, x)
+
+Some sample queries::
+
+  hg log -r 'branch(default)'
+  hg log -r 'branch(default) and 1.5:: and not merge()'
+  hg log -r '1.3::1.5 and keyword(bug) and file("hgext/*")'
+  hg log -r 'sort(date("May 2008"), user)'
+  hg log -r '(keyword(bug) or keyword(issue)) and not ancestors(tagged())'
--- a/mercurial/help/urls.txt	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/help/urls.txt	Mon Jun 21 13:41:11 2010 -0500
@@ -7,12 +7,12 @@
   ssh://[user[:pass]@]host[:port]/[path][#revision]
 
 Paths in the local filesystem can either point to Mercurial
-repositories or to bundle files (as created by 'hg bundle' or 'hg
-incoming --bundle').
+repositories or to bundle files (as created by :hg:`bundle` or :hg:`
+incoming --bundle`).
 
 An optional identifier after # indicates a particular branch, tag, or
-changeset to use from the remote repository. See also 'hg help
-revisions'.
+changeset to use from the remote repository. See also :hg:`help
+revisions`.
 
 Some features, such as pushing to http:// and https:// URLs are only
 possible if the feature is explicitly enabled on the remote Mercurial
@@ -47,7 +47,7 @@
   ...
 
 You can then use the alias for any command that uses a URL (for
-example 'hg pull alias1' will be treated as 'hg pull URL1').
+example :hg:`pull alias1` will be treated as :hg:`pull URL1`).
 
 Two path aliases are special because they are used as defaults when
 you do not provide the URL to a command:
--- a/mercurial/hg.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/hg.py	Mon Jun 21 13:41:11 2010 -0500
@@ -10,8 +10,8 @@
 from lock import release
 import localrepo, bundlerepo, httprepo, sshrepo, statichttprepo
 import lock, util, extensions, error, encoding, node
-import merge as _merge
-import verify as _verify
+import merge as mergemod
+import verify as verifymod
 import errno, os, shutil
 
 def _local(path):
@@ -19,34 +19,45 @@
     return (os.path.isfile(path) and bundlerepo or localrepo)
 
 def addbranchrevs(lrepo, repo, branches, revs):
-    if not branches:
+    hashbranch, branches = branches
+    if not hashbranch and not branches:
         return revs or None, revs and revs[0] or None
     revs = revs and list(revs) or []
     if not repo.capable('branchmap'):
-        revs.extend(branches)
+        if branches:
+            raise util.Abort(_("remote branch lookup not supported"))
+        revs.append(hashbranch)
         return revs, revs[0]
     branchmap = repo.branchmap()
-    for branch in branches:
-        if branch == '.':
+
+    def primary(butf8):
+        if butf8 == '.':
             if not lrepo or not lrepo.local():
                 raise util.Abort(_("dirstate branch not accessible"))
             butf8 = lrepo.dirstate.branch()
-            branch = encoding.tolocal(butf8)
-        else:
-            butf8 = encoding.fromlocal(branch)
         if butf8 in branchmap:
             revs.extend(node.hex(r) for r in reversed(branchmap[butf8]))
+            return True
         else:
-            revs.append(branch)
+            return False
+
+    for branch in branches:
+        butf8 = encoding.fromlocal(branch)
+        if not primary(butf8):
+            raise error.RepoLookupError(_("unknown branch '%s'") % branch)
+    if hashbranch:
+        butf8 = encoding.fromlocal(hashbranch)
+        if not primary(butf8):
+            revs.append(hashbranch)
     return revs, revs[0]
 
 def parseurl(url, branches=None):
-    '''parse url#branch, returning url, branches+[branch]'''
+    '''parse url#branch, returning (url, (branch, branches))'''
 
     if '#' not in url:
-        return url, branches or []
+        return url, (None, branches or [])
     url, branch = url.split('#', 1)
-    return url, (branches or []) + [branch]
+    return url, (branch, branches or [])
 
 schemes = {
     'bundle': bundlerepo,
@@ -279,6 +290,7 @@
                 raise
 
             hardlink = None
+            num = 0
             for f in src_repo.store.copylist():
                 src = os.path.join(src_repo.sharedpath, f)
                 dst = os.path.join(dest_path, f)
@@ -289,7 +301,12 @@
                     if dst.endswith('data'):
                         # lock to avoid premature writing to the target
                         dest_lock = lock.lock(os.path.join(dstbase, "lock"))
-                    hardlink = util.copyfiles(src, dst, hardlink)
+                    hardlink, n = util.copyfiles(src, dst, hardlink)
+                    num += n
+            if hardlink:
+                ui.debug("linked %d files\n" % num)
+            else:
+                ui.debug("copied %d files\n" % num)
 
             # we need to re-init the repo after manually copying the data
             # into it
@@ -361,7 +378,7 @@
 
 def update(repo, node):
     """update the working directory to node, merging linear changes"""
-    stats = _merge.update(repo, node, False, False, None)
+    stats = mergemod.update(repo, node, False, False, None)
     _showstats(repo, stats)
     if stats[3]:
         repo.ui.status(_("use 'hg resolve' to retry unresolved file merges\n"))
@@ -372,14 +389,14 @@
 
 def clean(repo, node, show_stats=True):
     """forcibly switch the working directory to node, clobbering changes"""
-    stats = _merge.update(repo, node, False, True, None)
+    stats = mergemod.update(repo, node, False, True, None)
     if show_stats:
         _showstats(repo, stats)
     return stats[3] > 0
 
 def merge(repo, node, force=None, remind=True):
     """branch merge with node, resolving changes"""
-    stats = _merge.update(repo, node, True, force, False)
+    stats = mergemod.update(repo, node, True, force, False)
     _showstats(repo, stats)
     if stats[3]:
         repo.ui.status(_("use 'hg resolve' to retry unresolved file merges "
@@ -390,8 +407,34 @@
 
 def revert(repo, node, choose):
     """revert changes to revision in node without updating dirstate"""
-    return _merge.update(repo, node, False, True, choose)[3] > 0
+    return mergemod.update(repo, node, False, True, choose)[3] > 0
 
 def verify(repo):
     """verify the consistency of a repository"""
-    return _verify.verify(repo)
+    return verifymod.verify(repo)
+
+def remoteui(src, opts):
+    'build a remote ui from ui or repo and opts'
+    if hasattr(src, 'baseui'): # looks like a repository
+        dst = src.baseui.copy() # drop repo-specific config
+        src = src.ui # copy target options from repo
+    else: # assume it's a global ui object
+        dst = src.copy() # keep all global options
+
+    # copy ssh-specific options
+    for o in 'ssh', 'remotecmd':
+        v = opts.get(o) or src.config('ui', o)
+        if v:
+            dst.setconfig("ui", o, v)
+
+    # copy bundle-specific options
+    r = src.config('bundle', 'mainreporoot')
+    if r:
+        dst.setconfig('bundle', 'mainreporoot', r)
+
+    # copy auth and http_proxy section settings
+    for sect in ('auth', 'http_proxy'):
+        for key, val in src.configitems(sect):
+            dst.setconfig(sect, key, val)
+
+    return dst
--- a/mercurial/hgweb/__init__.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/hgweb/__init__.py	Mon Jun 21 13:41:11 2010 -0500
@@ -6,11 +6,26 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
+import os
 import hgweb_mod, hgwebdir_mod
 
-def hgweb(*args, **kwargs):
-    return hgweb_mod.hgweb(*args, **kwargs)
+def hgweb(config, name=None, baseui=None):
+    '''create an hgweb wsgi object
 
-def hgwebdir(*args, **kwargs):
-    return hgwebdir_mod.hgwebdir(*args, **kwargs)
+    config can be one of:
+    - repo object (single repo view)
+    - path to repo (single repo view)
+    - path to config file (multi-repo view)
+    - dict of virtual:real pairs (multi-repo view)
+    - list of virtual:real tuples (multi-repo view)
+    '''
 
+    if ((isinstance(config, str) and not os.path.isdir(config)) or
+        isinstance(config, dict) or isinstance(config, list)):
+        # create a multi-dir interface
+        return hgwebdir_mod.hgwebdir(config, baseui=baseui)
+    return hgweb_mod.hgweb(config, name=name, baseui=baseui)
+
+def hgwebdir(config, baseui=None):
+    return hgwebdir_mod.hgwebdir(config, baseui=baseui)
+
--- a/mercurial/hgweb/hgweb_mod.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/hgweb/hgweb_mod.py	Mon Jun 21 13:41:11 2010 -0500
@@ -10,27 +10,31 @@
 from mercurial import ui, hg, hook, error, encoding, templater
 from common import get_mtime, ErrorResponse, permhooks
 from common import HTTP_OK, HTTP_BAD_REQUEST, HTTP_NOT_FOUND, HTTP_SERVER_ERROR
-from common import HTTP_UNAUTHORIZED, HTTP_METHOD_NOT_ALLOWED
 from request import wsgirequest
 import webcommands, protocol, webutil
 
 perms = {
     'changegroup': 'pull',
     'changegroupsubset': 'pull',
+    'stream_out': 'pull',
+    'listkeys': 'pull',
     'unbundle': 'push',
-    'stream_out': 'pull',
+    'pushkey': 'push',
 }
 
 class hgweb(object):
-    def __init__(self, repo, name=None):
+    def __init__(self, repo, name=None, baseui=None):
         if isinstance(repo, str):
-            u = ui.ui()
-            u.setconfig('ui', 'report_untrusted', 'off')
-            u.setconfig('ui', 'interactive', 'off')
+            if baseui:
+                u = baseui.copy()
+            else:
+                u = ui.ui()
             self.repo = hg.repository(u, repo)
         else:
             self.repo = repo
 
+        self.repo.ui.setconfig('ui', 'report_untrusted', 'off')
+        self.repo.ui.setconfig('ui', 'interactive', 'off')
         hook.redirect(True)
         self.mtime = -1
         self.reponame = name
--- a/mercurial/hgweb/hgwebdir_mod.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/hgweb/hgwebdir_mod.py	Mon Jun 21 13:41:11 2010 -0500
@@ -196,11 +196,8 @@
                     yield {"type" : i[0], "extension": i[1],
                            "node": nodeid, "url": url}
 
-        sortdefault = None, False
-        def entries(sortcolumn="", descending=False, subdir="", **map):
+        def rawentries(subdir="", **map):
 
-            rows = []
-            parity = paritygen(self.stripecount)
             descend = self.ui.configbool('web', 'descend', True)
             for name, path in self.repos:
 
@@ -252,19 +249,19 @@
                            lastchange=d,
                            lastchange_sort=d[1]-d[0],
                            archives=archivelist(u, "tip", url))
-                if (not sortcolumn or (sortcolumn, descending) == sortdefault):
-                    # fast path for unsorted output
-                    row['parity'] = parity.next()
-                    yield row
-                else:
-                    rows.append((row["%s_sort" % sortcolumn], row))
-            if rows:
-                rows.sort()
-                if descending:
-                    rows.reverse()
-                for key, row in rows:
-                    row['parity'] = parity.next()
-                    yield row
+                yield row
+
+        sortdefault = None, False
+        def entries(sortcolumn="", descending=False, subdir="", **map):
+            rows = rawentries(subdir=subdir, **map)
+
+            if sortcolumn and sortdefault != (sortcolumn, descending):
+                sortkey = '%s_sort' % sortcolumn
+                rows = sorted(rows, key=lambda x: x[sortkey],
+                              reverse=descending)
+            for row, parity in zip(rows, paritygen(self.stripecount)):
+                row['parity'] = parity
+                yield row
 
         self.refresh()
         sortable = ["name", "description", "contact", "lastchange"]
--- a/mercurial/hgweb/protocol.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/hgweb/protocol.py	Mon Jun 21 13:41:11 2010 -0500
@@ -6,7 +6,7 @@
 # GNU General Public License version 2 or any later version.
 
 import cStringIO, zlib, tempfile, errno, os, sys, urllib, copy
-from mercurial import util, streamclone
+from mercurial import util, streamclone, pushkey
 from mercurial.node import bin, hex
 from mercurial import changegroup as changegroupmod
 from common import ErrorResponse, HTTP_OK, HTTP_NOT_FOUND, HTTP_SERVER_ERROR
@@ -17,11 +17,11 @@
 __all__ = [
    'lookup', 'heads', 'branches', 'between', 'changegroup',
    'changegroupsubset', 'capabilities', 'unbundle', 'stream_out',
-   'branchmap',
+   'branchmap', 'pushkey', 'listkeys'
 ]
 
 HGTYPE = 'application/mercurial-0.1'
-basecaps = 'lookup changegroupsubset branchmap'.split()
+basecaps = 'lookup changegroupsubset branchmap pushkey'.split()
 
 def lookup(repo, req):
     try:
@@ -204,3 +204,22 @@
             yield chunk
     except streamclone.StreamException, inst:
         yield str(inst)
+
+def pushkey(repo, req):
+    namespace = req.form['namespace'][0]
+    key = req.form['key'][0]
+    old = req.form['old'][0]
+    new = req.form['new'][0]
+
+    r = repo.pushkey(namespace, key, old, new)
+    r = '%d\n' % int(r)
+    req.respond(HTTP_OK, HGTYPE, length=len(r))
+    yield r
+
+def listkeys(repo, req):
+    namespace = req.form['namespace'][0]
+    d = repo.listkeys(namespace).items()
+    t = '\n'.join(['%s\t%s' % (k.encode('string-escape'),
+                               v.encode('string-escape')) for k, v in d])
+    req.respond(HTTP_OK, HGTYPE, length=len(t))
+    yield t
--- a/mercurial/hgweb/server.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/hgweb/server.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,9 +7,7 @@
 # GNU General Public License version 2 or any later version.
 
 import os, sys, errno, urllib, BaseHTTPServer, socket, SocketServer, traceback
-from mercurial import hg, util, error
-from hgweb_mod import hgweb
-from hgwebdir_mod import hgwebdir
+from mercurial import util, error
 from mercurial.i18n import _
 
 def _splitURI(uri):
@@ -195,104 +193,85 @@
             self.close_connection = True
             pass
 
-def create_server(ui, repo):
-    use_threads = True
-
-    def openlog(opt, default):
-        if opt and opt != '-':
-            return open(opt, 'a')
-        return default
-
-    if repo is None:
-        myui = ui
+try:
+    from threading import activeCount
+    _mixin = SocketServer.ThreadingMixIn
+except ImportError:
+    if hasattr(os, "fork"):
+        _mixin = SocketServer.ForkingMixIn
     else:
-        myui = repo.ui
-    address = myui.config("web", "address", "")
-    port = int(myui.config("web", "port", 8000))
-    prefix = myui.config("web", "prefix", "")
-    if prefix:
-        prefix = "/" + prefix.strip("/")
-    use_ipv6 = myui.configbool("web", "ipv6")
-    webdir_conf = myui.config("web", "webdir_conf")
-    ssl_cert = myui.config("web", "certificate")
-    accesslog = openlog(myui.config("web", "accesslog", "-"), sys.stdout)
-    errorlog = openlog(myui.config("web", "errorlog", "-"), sys.stderr)
+        class _mixin:
+            pass
+
+def openlog(opt, default):
+    if opt and opt != '-':
+        return open(opt, 'a')
+    return default
 
-    if use_threads:
-        try:
-            from threading import activeCount
-        except ImportError:
-            use_threads = False
+class MercurialHTTPServer(object, _mixin, BaseHTTPServer.HTTPServer):
 
-    if use_threads:
-        _mixin = SocketServer.ThreadingMixIn
-    else:
-        if hasattr(os, "fork"):
-            _mixin = SocketServer.ForkingMixIn
-        else:
-            class _mixin:
-                pass
+    # SO_REUSEADDR has broken semantics on windows
+    if os.name == 'nt':
+        allow_reuse_address = 0
 
-    class MercurialHTTPServer(object, _mixin, BaseHTTPServer.HTTPServer):
+    def __init__(self, ui, app, addr, handler, **kwargs):
+        BaseHTTPServer.HTTPServer.__init__(self, addr, handler, **kwargs)
+        self.daemon_threads = True
+        self.application = app
 
-        # SO_REUSEADDR has broken semantics on windows
-        if os.name == 'nt':
-            allow_reuse_address = 0
+        ssl_cert = ui.config('web', 'certificate')
+        if ssl_cert:
+            try:
+                from OpenSSL import SSL
+                ctx = SSL.Context(SSL.SSLv23_METHOD)
+            except ImportError:
+                raise util.Abort(_("SSL support is unavailable"))
+            ctx.use_privatekey_file(ssl_cert)
+            ctx.use_certificate_file(ssl_cert)
+            sock = socket.socket(self.address_family, self.socket_type)
+            self.socket = SSL.Connection(ctx, sock)
+            self.server_bind()
+            self.server_activate()
 
-        def __init__(self, *args, **kargs):
-            BaseHTTPServer.HTTPServer.__init__(self, *args, **kargs)
-            self.accesslog = accesslog
-            self.errorlog = errorlog
-            self.daemon_threads = True
-            def make_handler():
-                if webdir_conf:
-                    hgwebobj = hgwebdir(webdir_conf, ui)
-                elif repo is not None:
-                    hgwebobj = hgweb(hg.repository(repo.ui, repo.root))
-                else:
-                    raise error.RepoError(_("There is no Mercurial repository"
-                                            " here (.hg not found)"))
-                return hgwebobj
-            self.application = make_handler()
+        prefix = ui.config('web', 'prefix', '')
+        if prefix:
+            prefix = '/' + prefix.strip('/')
+        self.prefix = prefix
 
-            if ssl_cert:
-                try:
-                    from OpenSSL import SSL
-                    ctx = SSL.Context(SSL.SSLv23_METHOD)
-                except ImportError:
-                    raise util.Abort(_("SSL support is unavailable"))
-                ctx.use_privatekey_file(ssl_cert)
-                ctx.use_certificate_file(ssl_cert)
-                sock = socket.socket(self.address_family, self.socket_type)
-                self.socket = SSL.Connection(ctx, sock)
-                self.server_bind()
-                self.server_activate()
+        alog = openlog(ui.config('web', 'accesslog', '-'), sys.stdout)
+        elog = openlog(ui.config('web', 'errorlog', '-'), sys.stderr)
+        self.accesslog = alog
+        self.errorlog = elog
+
+        self.addr, self.port = self.socket.getsockname()[0:2]
+        self.fqaddr = socket.getfqdn(addr[0])
 
-            self.addr, self.port = self.socket.getsockname()[0:2]
-            self.prefix = prefix
-            self.fqaddr = socket.getfqdn(address)
-
-    class IPv6HTTPServer(MercurialHTTPServer):
-        address_family = getattr(socket, 'AF_INET6', None)
+class IPv6HTTPServer(MercurialHTTPServer):
+    address_family = getattr(socket, 'AF_INET6', None)
+    def __init__(self, *args, **kwargs):
+        if self.address_family is None:
+            raise error.RepoError(_('IPv6 is not available on this system'))
+        super(IPv6HTTPServer, self).__init__(*args, **kwargs)
 
-        def __init__(self, *args, **kwargs):
-            if self.address_family is None:
-                raise error.RepoError(_('IPv6 is not available on this system'))
-            super(IPv6HTTPServer, self).__init__(*args, **kwargs)
+def create_server(ui, app):
 
-    if ssl_cert:
+    if ui.config('web', 'certificate'):
         handler = _shgwebhandler
     else:
         handler = _hgwebhandler
 
+    if ui.configbool('web', 'ipv6'):
+        cls = IPv6HTTPServer
+    else:
+        cls = MercurialHTTPServer
+
     # ugly hack due to python issue5853 (for threaded use)
     import mimetypes; mimetypes.init()
 
+    address = ui.config('web', 'address', '')
+    port = int(ui.config('web', 'port', 8000))
     try:
-        if use_ipv6:
-            return IPv6HTTPServer((address, port), handler)
-        else:
-            return MercurialHTTPServer((address, port), handler)
+        return cls(ui, app, (address, port), handler)
     except socket.error, inst:
         raise util.Abort(_("cannot start server at '%s:%d': %s")
                          % (address, port, inst.args[1]))
--- a/mercurial/hgweb/webcommands.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/hgweb/webcommands.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,7 +7,7 @@
 
 import os, mimetypes, re, cgi, copy
 import webutil
-from mercurial import error, archival, templater, templatefilters
+from mercurial import error, encoding, archival, templater, templatefilters
 from mercurial.node import short, hex
 from mercurial.util import binary
 from common import paritygen, staticfile, get_contact, ErrorResponse
@@ -51,6 +51,8 @@
     mt = mimetypes.guess_type(path)[0]
     if mt is None:
         mt = binary(text) and 'application/octet-stream' or 'text/plain'
+    if mt.startswith('text/'):
+        mt += '; charset="%s"' % encoding.encoding
 
     req.respond(HTTP_OK, mt, path, len(text))
     return [text]
--- a/mercurial/httprepo.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/httprepo.py	Mon Jun 21 13:41:11 2010 -0500
@@ -8,7 +8,7 @@
 
 from node import bin, hex, nullid
 from i18n import _
-import repo, changegroup, statichttprepo, error, url, util
+import repo, changegroup, statichttprepo, error, url, util, pushkey
 import os, urllib, urllib2, urlparse, zlib, httplib
 import errno, socket
 import encoding
@@ -208,6 +208,12 @@
         return util.chunkbuffer(zgenerator(f))
 
     def unbundle(self, cg, heads, source):
+        '''Send cg (a readable file-like object representing the
+        changegroup to push, typically a chunkbuffer object) to the
+        remote server as a bundle. Return an integer response code:
+        non-zero indicates a successful push (see
+        localrepository.addchangegroup()), and zero indicates either
+        error or nothing to push.'''
         # have to stream bundle to a temp file because we do not have
         # http 1.1 chunked transfer.
 
@@ -253,6 +259,31 @@
     def stream_out(self):
         return self.do_cmd('stream_out')
 
+    def pushkey(self, namespace, key, old, new):
+        if not self.capable('pushkey'):
+            return False
+        d = self.do_cmd("pushkey", data="", # force a POST
+                        namespace=namespace, key=key, old=old, new=new).read()
+        code, output = d.split('\n', 1)
+        try:
+            ret = bool(int(code))
+        except ValueError, err:
+            raise error.ResponseError(
+                _('push failed (unexpected response):'), d)
+        for l in output.splitlines(True):
+            self.ui.status(_('remote: '), l)
+        return ret
+
+    def listkeys(self, namespace):
+        if not self.capable('pushkey'):
+            return {}
+        d = self.do_cmd("listkeys", namespace=namespace).read()
+        r = {}
+        for l in d.splitlines():
+            k, v = l.split('\t')
+            r[k.decode('string-escape')] = v.decode('string-escape')
+        return r
+
 class httpsrepository(httprepository):
     def __init__(self, ui, path):
         if not url.has_https:
--- a/mercurial/i18n.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/i18n.py	Mon Jun 21 13:41:11 2010 -0500
@@ -36,7 +36,10 @@
     if message is None:
         return message
 
-    u = t.ugettext(message)
+    paragraphs = message.split('\n\n')
+    # Be careful not to translate the empty string -- it holds the
+    # meta data of the .po file.
+    u = u'\n\n'.join([p and t.ugettext(p) or '' for p in paragraphs])
     try:
         # encoding.tolocal cannot be used since it will first try to
         # decode the Unicode string. Calling u.decode(enc) really
--- a/mercurial/localrepo.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/localrepo.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,19 +7,20 @@
 
 from node import bin, hex, nullid, nullrev, short
 from i18n import _
-import repo, changegroup, subrepo
+import repo, changegroup, subrepo, discovery, pushkey
 import changelog, dirstate, filelog, manifest, context
 import lock, transaction, store, encoding
 import util, extensions, hook, error
-import match as match_
-import merge as merge_
-import tags as tags_
+import match as matchmod
+import merge as mergemod
+import tags as tagsmod
+import url as urlmod
 from lock import release
-import weakref, stat, errno, os, time, inspect
+import weakref, errno, os, time, inspect
 propertycache = util.propertycache
 
 class localrepository(repo.repository):
-    capabilities = set(('lookup', 'changegroupsubset', 'branchmap'))
+    capabilities = set(('lookup', 'changegroupsubset', 'branchmap', 'pushkey'))
     supported = set('revlogv1 store fncache shared'.split())
 
     def __init__(self, baseui, path=None, create=0):
@@ -163,9 +164,13 @@
             if c in allchars:
                 raise util.Abort(_('%r cannot be used in a tag name') % c)
 
+        branches = self.branchmap()
         for name in names:
             self.hook('pretag', throw=True, node=hex(node), tag=name,
                       local=local)
+            if name in branches:
+                self.ui.warn(_("warning: tag %s conflicts with existing"
+                " branch name\n") % name)
 
         def writetags(fp, names, munge, prevtags):
             fp.seek(0, 2)
@@ -205,9 +210,9 @@
         writetags(fp, names, encoding.fromlocal, prevtags)
 
         if '.hgtags' not in self.dirstate:
-            self.add(['.hgtags'])
+            self[None].add(['.hgtags'])
 
-        m = match_.exact(self.root, '', ['.hgtags'])
+        m = matchmod.exact(self.root, '', ['.hgtags'])
         tagnode = self.commit(message, user, date, extra=extra, match=m)
 
         for name in names:
@@ -268,8 +273,8 @@
         alltags = {}                    # map tag name to (node, hist)
         tagtypes = {}
 
-        tags_.findglobaltags(self.ui, self, alltags, tagtypes)
-        tags_.readlocaltags(self.ui, self, alltags, tagtypes)
+        tagsmod.findglobaltags(self.ui, self, alltags, tagtypes)
+        tagsmod.readlocaltags(self.ui, self, alltags, tagtypes)
 
         # Build the return dicts.  Have to re-encode tag names because
         # the tags module always uses UTF-8 (in order not to lose info
@@ -314,6 +319,8 @@
             self.nodetagscache = {}
             for t, n in self.tags().iteritems():
                 self.nodetagscache.setdefault(n, []).append(t)
+            for tags in self.nodetagscache.itervalues():
+                tags.sort()
         return self.nodetagscache.get(node, [])
 
     def _branchtags(self, partial, lrev):
@@ -410,9 +417,8 @@
         for branch, newnodes in newbranches.iteritems():
             bheads = partial.setdefault(branch, [])
             bheads.extend(newnodes)
-            if len(bheads) < 2:
+            if len(bheads) <= 1:
                 continue
-            newbheads = []
             # starting from tip means fewer passes over reachable
             while newnodes:
                 latest = newnodes.pop()
@@ -420,9 +426,8 @@
                     continue
                 minbhrev = self[min([self[bh].rev() for bh in bheads])].node()
                 reachable = self.changelog.reachable(latest, minbhrev)
+                reachable.remove(latest)
                 bheads = [b for b in bheads if b not in reachable]
-                newbheads.insert(0, latest)
-            bheads.extend(newbheads)
             partial[branch] = bheads
 
     def lookup(self, key):
@@ -456,6 +461,14 @@
             pass
         raise error.RepoLookupError(_("unknown revision '%s'") % key)
 
+    def lookupbranch(self, key, remote=None):
+        repo = remote or self
+        if key in repo.branchmap():
+            return key
+
+        repo = (remote and remote.local()) and remote or self
+        return repo[key].branch()
+
     def local(self):
         return True
 
@@ -503,7 +516,7 @@
             for pat, cmd in self.ui.configitems(filter):
                 if cmd == '!':
                     continue
-                mf = match_.match(self.root, '', [pat])
+                mf = matchmod.match(self.root, '', [pat])
                 fn = None
                 params = cmd
                 for name, filterfn in self._datafilters.iteritems():
@@ -554,7 +567,7 @@
     def wwritedata(self, filename, data):
         return self._filter("decode", filename, data)
 
-    def transaction(self):
+    def transaction(self, desc):
         tr = self._transref and self._transref() or None
         if tr and tr.running():
             return tr.nest()
@@ -571,10 +584,12 @@
             ds = ""
         self.opener("journal.dirstate", "w").write(ds)
         self.opener("journal.branch", "w").write(self.dirstate.branch())
+        self.opener("journal.desc", "w").write("%d\n%s\n" % (len(self), desc))
 
         renames = [(self.sjoin("journal"), self.sjoin("undo")),
                    (self.join("journal.dirstate"), self.join("undo.dirstate")),
-                   (self.join("journal.branch"), self.join("undo.branch"))]
+                   (self.join("journal.branch"), self.join("undo.branch")),
+                   (self.join("journal.desc"), self.join("undo.desc"))]
         tr = transaction.transaction(self.ui.warn, self.sopener,
                                      self.sjoin("journal"),
                                      aftertrans(renames),
@@ -597,13 +612,26 @@
         finally:
             lock.release()
 
-    def rollback(self):
+    def rollback(self, dryrun=False):
         wlock = lock = None
         try:
             wlock = self.wlock()
             lock = self.lock()
             if os.path.exists(self.sjoin("undo")):
-                self.ui.status(_("rolling back last transaction\n"))
+                try:
+                    args = self.opener("undo.desc", "r").read().splitlines()
+                    if len(args) >= 3 and self.ui.verbose:
+                        desc = _("rolling back to revision %s"
+                                 " (undo %s: %s)\n") % (
+                                 int(args[0]) - 1, args[1], args[2])
+                    elif len(args) >= 2:
+                        desc = _("rolling back to revision %s (undo %s)\n") % (
+                                 int(args[0]) - 1, args[1])
+                except IOError:
+                    desc = _("rolling back unknown transaction\n")
+                self.ui.status(desc)
+                if dryrun:
+                    return
                 transaction.rollback(self.sopener, self.sjoin("undo"),
                                      self.ui.warn)
                 util.rename(self.join("undo.dirstate"), self.join("dirstate"))
@@ -619,6 +647,7 @@
                 self.destroyed()
             else:
                 self.ui.warn(_("no rollback information available\n"))
+                return 1
         finally:
             release(lock, wlock)
 
@@ -767,7 +796,7 @@
             raise util.Abort('%s: %s' % (f, msg))
 
         if not match:
-            match = match_.always(self.root, '')
+            match = matchmod.always(self.root, '')
 
         if not force:
             vdirs = []
@@ -776,10 +805,10 @@
 
         wlock = self.wlock()
         try:
-            p1, p2 = self.dirstate.parents()
             wctx = self[None]
+            merge = len(wctx.parents()) > 1
 
-            if (not force and p2 != nullid and match and
+            if (not force and merge and match and
                 (match.files() or match.anypats())):
                 raise util.Abort(_('cannot partially commit a merge '
                                    '(do not specify files or patterns)'))
@@ -819,19 +848,18 @@
                     elif f not in self.dirstate:
                         fail(f, _("file not tracked!"))
 
-            if (not force and not extra.get("close") and p2 == nullid
+            if (not force and not extra.get("close") and not merge
                 and not (changes[0] or changes[1] or changes[2])
-                and self[None].branch() == self['.'].branch()):
+                and wctx.branch() == wctx.p1().branch()):
                 return None
 
-            ms = merge_.mergestate(self)
+            ms = mergemod.mergestate(self)
             for f in changes[0]:
                 if f in ms and ms[f] == 'u':
                     raise util.Abort(_("unresolved merge conflicts "
                                                     "(see hg resolve)"))
 
-            cctx = context.workingctx(self, (p1, p2), text, user, date,
-                                      extra, changes)
+            cctx = context.workingctx(self, text, user, date, extra, changes)
             if editor:
                 cctx._text = editor(self, cctx, subs)
             edited = (text != cctx._text)
@@ -840,8 +868,10 @@
             if subs or removedsubs:
                 state = wctx.substate.copy()
                 for s in subs:
-                    self.ui.status(_('committing subrepository %s\n') % s)
-                    sr = wctx.sub(s).commit(cctx._text, user, date)
+                    sub = wctx.sub(s)
+                    self.ui.status(_('committing subrepository %s\n') %
+                        subrepo.relpath(sub))
+                    sr = sub.commit(cctx._text, user, date)
                     state[s] = (state[s][0], sr)
                 subrepo.writestate(self, state)
 
@@ -852,8 +882,9 @@
             msgfile.write(cctx._text)
             msgfile.close()
 
+            p1, p2 = self.dirstate.parents()
+            hookp1, hookp2 = hex(p1), (p2 != nullid and hex(p2) or '')
             try:
-                hookp1, hookp2 = hex(p1), (p2 != nullid and hex(p2) or '')
                 self.hook("precommit", throw=True, parent1=hookp1, parent2=hookp2)
                 ret = self.commitctx(cctx, True)
             except:
@@ -890,7 +921,7 @@
 
         lock = self.lock()
         try:
-            tr = self.transaction()
+            tr = self.transaction("commit")
             trp = weakref.proxy(tr)
 
             # check in files
@@ -940,7 +971,8 @@
                 self.branchtags()
             return n
         finally:
-            del tr
+            if tr:
+                tr.release()
             lock.release()
 
     def destroyed(self):
@@ -996,7 +1028,7 @@
 
         working = ctx2.rev() is None
         parentworking = working and ctx1 == self['.']
-        match = match or match_.always(self.root, self.getcwd())
+        match = match or matchmod.always(self.root, self.getcwd())
         listignored, listclean, listunknown = ignored, clean, unknown
 
         # load earliest manifest first for caching reasons
@@ -1080,103 +1112,6 @@
         [l.sort() for l in r]
         return r
 
-    def add(self, list):
-        wlock = self.wlock()
-        try:
-            rejected = []
-            for f in list:
-                p = self.wjoin(f)
-                try:
-                    st = os.lstat(p)
-                except:
-                    self.ui.warn(_("%s does not exist!\n") % f)
-                    rejected.append(f)
-                    continue
-                if st.st_size > 10000000:
-                    self.ui.warn(_("%s: up to %d MB of RAM may be required "
-                                   "to manage this file\n"
-                                   "(use 'hg revert %s' to cancel the "
-                                   "pending addition)\n")
-                                   % (f, 3 * st.st_size // 1000000, f))
-                if not (stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode)):
-                    self.ui.warn(_("%s not added: only files and symlinks "
-                                   "supported currently\n") % f)
-                    rejected.append(p)
-                elif self.dirstate[f] in 'amn':
-                    self.ui.warn(_("%s already tracked!\n") % f)
-                elif self.dirstate[f] == 'r':
-                    self.dirstate.normallookup(f)
-                else:
-                    self.dirstate.add(f)
-            return rejected
-        finally:
-            wlock.release()
-
-    def forget(self, list):
-        wlock = self.wlock()
-        try:
-            for f in list:
-                if self.dirstate[f] != 'a':
-                    self.ui.warn(_("%s not added!\n") % f)
-                else:
-                    self.dirstate.forget(f)
-        finally:
-            wlock.release()
-
-    def remove(self, list, unlink=False):
-        if unlink:
-            for f in list:
-                try:
-                    util.unlink(self.wjoin(f))
-                except OSError, inst:
-                    if inst.errno != errno.ENOENT:
-                        raise
-        wlock = self.wlock()
-        try:
-            for f in list:
-                if unlink and os.path.exists(self.wjoin(f)):
-                    self.ui.warn(_("%s still exists!\n") % f)
-                elif self.dirstate[f] == 'a':
-                    self.dirstate.forget(f)
-                elif f not in self.dirstate:
-                    self.ui.warn(_("%s not tracked!\n") % f)
-                else:
-                    self.dirstate.remove(f)
-        finally:
-            wlock.release()
-
-    def undelete(self, list):
-        manifests = [self.manifest.read(self.changelog.read(p)[0])
-                     for p in self.dirstate.parents() if p != nullid]
-        wlock = self.wlock()
-        try:
-            for f in list:
-                if self.dirstate[f] != 'r':
-                    self.ui.warn(_("%s not removed!\n") % f)
-                else:
-                    m = f in manifests[0] and manifests[0] or manifests[1]
-                    t = self.file(f).read(m[f])
-                    self.wwrite(f, t, m.flags(f))
-                    self.dirstate.normal(f)
-        finally:
-            wlock.release()
-
-    def copy(self, source, dest):
-        p = self.wjoin(dest)
-        if not (os.path.exists(p) or os.path.islink(p)):
-            self.ui.warn(_("%s does not exist!\n") % dest)
-        elif not (os.path.isfile(p) or os.path.islink(p)):
-            self.ui.warn(_("copy failed: %s is not a file or a "
-                           "symbolic link\n") % dest)
-        else:
-            wlock = self.wlock()
-            try:
-                if self.dirstate[dest] in '?r':
-                    self.dirstate.add(dest)
-                self.dirstate.copy(source, dest)
-            finally:
-                wlock.release()
-
     def heads(self, start=None):
         heads = self.changelog.heads(start)
         # sort the output in rev descending order
@@ -1240,222 +1175,12 @@
 
         return r
 
-    def findincoming(self, remote, base=None, heads=None, force=False):
-        """Return list of roots of the subsets of missing nodes from remote
-
-        If base dict is specified, assume that these nodes and their parents
-        exist on the remote side and that no child of a node of base exists
-        in both remote and self.
-        Furthermore base will be updated to include the nodes that exists
-        in self and remote but no children exists in self and remote.
-        If a list of heads is specified, return only nodes which are heads
-        or ancestors of these heads.
-
-        All the ancestors of base are in self and in remote.
-        All the descendants of the list returned are missing in self.
-        (and so we know that the rest of the nodes are missing in remote, see
-        outgoing)
-        """
-        return self.findcommonincoming(remote, base, heads, force)[1]
-
-    def findcommonincoming(self, remote, base=None, heads=None, force=False):
-        """Return a tuple (common, missing roots, heads) used to identify
-        missing nodes from remote.
-
-        If base dict is specified, assume that these nodes and their parents
-        exist on the remote side and that no child of a node of base exists
-        in both remote and self.
-        Furthermore base will be updated to include the nodes that exists
-        in self and remote but no children exists in self and remote.
-        If a list of heads is specified, return only nodes which are heads
-        or ancestors of these heads.
-
-        All the ancestors of base are in self and in remote.
-        """
-        m = self.changelog.nodemap
-        search = []
-        fetch = set()
-        seen = set()
-        seenbranch = set()
-        if base is None:
-            base = {}
-
-        if not heads:
-            heads = remote.heads()
-
-        if self.changelog.tip() == nullid:
-            base[nullid] = 1
-            if heads != [nullid]:
-                return [nullid], [nullid], list(heads)
-            return [nullid], [], []
-
-        # assume we're closer to the tip than the root
-        # and start by examining the heads
-        self.ui.status(_("searching for changes\n"))
-
-        unknown = []
-        for h in heads:
-            if h not in m:
-                unknown.append(h)
-            else:
-                base[h] = 1
-
-        heads = unknown
-        if not unknown:
-            return base.keys(), [], []
-
-        req = set(unknown)
-        reqcnt = 0
-
-        # search through remote branches
-        # a 'branch' here is a linear segment of history, with four parts:
-        # head, root, first parent, second parent
-        # (a branch always has two parents (or none) by definition)
-        unknown = remote.branches(unknown)
-        while unknown:
-            r = []
-            while unknown:
-                n = unknown.pop(0)
-                if n[0] in seen:
-                    continue
-
-                self.ui.debug("examining %s:%s\n"
-                              % (short(n[0]), short(n[1])))
-                if n[0] == nullid: # found the end of the branch
-                    pass
-                elif n in seenbranch:
-                    self.ui.debug("branch already found\n")
-                    continue
-                elif n[1] and n[1] in m: # do we know the base?
-                    self.ui.debug("found incomplete branch %s:%s\n"
-                                  % (short(n[0]), short(n[1])))
-                    search.append(n[0:2]) # schedule branch range for scanning
-                    seenbranch.add(n)
-                else:
-                    if n[1] not in seen and n[1] not in fetch:
-                        if n[2] in m and n[3] in m:
-                            self.ui.debug("found new changeset %s\n" %
-                                          short(n[1]))
-                            fetch.add(n[1]) # earliest unknown
-                        for p in n[2:4]:
-                            if p in m:
-                                base[p] = 1 # latest known
-
-                    for p in n[2:4]:
-                        if p not in req and p not in m:
-                            r.append(p)
-                            req.add(p)
-                seen.add(n[0])
-
-            if r:
-                reqcnt += 1
-                self.ui.progress(_('searching'), reqcnt, unit=_('queries'))
-                self.ui.debug("request %d: %s\n" %
-                            (reqcnt, " ".join(map(short, r))))
-                for p in xrange(0, len(r), 10):
-                    for b in remote.branches(r[p:p + 10]):
-                        self.ui.debug("received %s:%s\n" %
-                                      (short(b[0]), short(b[1])))
-                        unknown.append(b)
-
-        # do binary search on the branches we found
-        while search:
-            newsearch = []
-            reqcnt += 1
-            self.ui.progress(_('searching'), reqcnt, unit=_('queries'))
-            for n, l in zip(search, remote.between(search)):
-                l.append(n[1])
-                p = n[0]
-                f = 1
-                for i in l:
-                    self.ui.debug("narrowing %d:%d %s\n" % (f, len(l), short(i)))
-                    if i in m:
-                        if f <= 2:
-                            self.ui.debug("found new branch changeset %s\n" %
-                                              short(p))
-                            fetch.add(p)
-                            base[i] = 1
-                        else:
-                            self.ui.debug("narrowed branch search to %s:%s\n"
-                                          % (short(p), short(i)))
-                            newsearch.append((p, i))
-                        break
-                    p, f = i, f * 2
-                search = newsearch
-
-        # sanity check our fetch list
-        for f in fetch:
-            if f in m:
-                raise error.RepoError(_("already have changeset ")
-                                      + short(f[:4]))
-
-        if base.keys() == [nullid]:
-            if force:
-                self.ui.warn(_("warning: repository is unrelated\n"))
-            else:
-                raise util.Abort(_("repository is unrelated"))
-
-        self.ui.debug("found new changesets starting at " +
-                     " ".join([short(f) for f in fetch]) + "\n")
-
-        self.ui.progress(_('searching'), None, unit=_('queries'))
-        self.ui.debug("%d total queries\n" % reqcnt)
-
-        return base.keys(), list(fetch), heads
-
-    def findoutgoing(self, remote, base=None, heads=None, force=False):
-        """Return list of nodes that are roots of subsets not in remote
-
-        If base dict is specified, assume that these nodes and their parents
-        exist on the remote side.
-        If a list of heads is specified, return only nodes which are heads
-        or ancestors of these heads, and return a second element which
-        contains all remote heads which get new children.
-        """
-        if base is None:
-            base = {}
-            self.findincoming(remote, base, heads, force=force)
-
-        self.ui.debug("common changesets up to "
-                      + " ".join(map(short, base.keys())) + "\n")
-
-        remain = set(self.changelog.nodemap)
-
-        # prune everything remote has from the tree
-        remain.remove(nullid)
-        remove = base.keys()
-        while remove:
-            n = remove.pop(0)
-            if n in remain:
-                remain.remove(n)
-                for p in self.changelog.parents(n):
-                    remove.append(p)
-
-        # find every node whose parents have been pruned
-        subset = []
-        # find every remote head that will get new children
-        updated_heads = set()
-        for n in remain:
-            p1, p2 = self.changelog.parents(n)
-            if p1 not in remain and p2 not in remain:
-                subset.append(n)
-            if heads:
-                if p1 in heads:
-                    updated_heads.add(p1)
-                if p2 in heads:
-                    updated_heads.add(p2)
-
-        # this is the set of all roots we have to push
-        if heads:
-            return subset, list(updated_heads)
-        else:
-            return subset
-
     def pull(self, remote, heads=None, force=False):
         lock = self.lock()
         try:
-            common, fetch, rheads = self.findcommonincoming(remote, heads=heads,
-                                                            force=force)
+            tmp = discovery.findcommonincoming(self, remote, heads=heads,
+                                               force=force)
+            common, fetch, rheads = tmp
             if not fetch:
                 self.ui.status(_("no changes found\n"))
                 return 0
@@ -1478,7 +1203,14 @@
         finally:
             lock.release()
 
-    def push(self, remote, force=False, revs=None):
+    def push(self, remote, force=False, revs=None, newbranch=False):
+        '''Push outgoing changesets (limited by revs) from the current
+        repository to remote. Return an integer:
+          - 0 means HTTP error *or* nothing to push
+          - 1 means we pushed and remote head count is unchanged *or*
+            we have outgoing changesets but refused to push
+          - other values as described by addchangegroup()
+        '''
         # there are two ways to push to remote repo:
         #
         # addchangegroup assumes local user can lock remote
@@ -1488,152 +1220,44 @@
         # servers, http servers).
 
         if remote.capable('unbundle'):
-            return self.push_unbundle(remote, force, revs)
-        return self.push_addchangegroup(remote, force, revs)
-
-    def prepush(self, remote, force, revs):
-        '''Analyze the local and remote repositories and determine which
-        changesets need to be pushed to the remote.  Return a tuple
-        (changegroup, remoteheads).  changegroup is a readable file-like
-        object whose read() returns successive changegroup chunks ready to
-        be sent over the wire.  remoteheads is the list of remote heads.
-        '''
-        common = {}
-        remote_heads = remote.heads()
-        inc = self.findincoming(remote, common, remote_heads, force=force)
-
-        cl = self.changelog
-        update, updated_heads = self.findoutgoing(remote, common, remote_heads)
-        outg, bases, heads = cl.nodesbetween(update, revs)
-
-        if not bases:
-            self.ui.status(_("no changes found\n"))
-            return None, 1
-
-        if not force and remote_heads != [nullid]:
-
-            def fail_multiple_heads(unsynced, branch=None):
-                if branch:
-                    msg = _("abort: push creates new remote heads"
-                            " on branch '%s'!\n") % branch
-                else:
-                    msg = _("abort: push creates new remote heads!\n")
-                self.ui.warn(msg)
-                if unsynced:
-                    self.ui.status(_("(you should pull and merge or"
-                                     " use push -f to force)\n"))
-                else:
-                    self.ui.status(_("(did you forget to merge?"
-                                     " use push -f to force)\n"))
-                return None, 0
-
-            if remote.capable('branchmap'):
-                # Check for each named branch if we're creating new remote heads.
-                # To be a remote head after push, node must be either:
-                # - unknown locally
-                # - a local outgoing head descended from update
-                # - a remote head that's known locally and not
-                #   ancestral to an outgoing head
-                #
-                # New named branches cannot be created without --force.
-
-                # 1. Create set of branches involved in the push.
-                branches = set(self[n].branch() for n in outg)
+            return self.push_unbundle(remote, force, revs, newbranch)
+        return self.push_addchangegroup(remote, force, revs, newbranch)
 
-                # 2. Check for new branches on the remote.
-                remotemap = remote.branchmap()
-                newbranches = branches - set(remotemap)
-                if newbranches: # new branch requires --force
-                    branchnames = ', '.join("%s" % b for b in newbranches)
-                    self.ui.warn(_("abort: push creates "
-                                   "new remote branches: %s!\n")
-                                 % branchnames)
-                    self.ui.status(_("(use 'hg push -f' to force)\n"))
-                    return None, 0
-
-                # 3. Construct the initial oldmap and newmap dicts.
-                # They contain information about the remote heads before and
-                # after the push, respectively.
-                # Heads not found locally are not included in either dict,
-                # since they won't be affected by the push.
-                # unsynced contains all branches with incoming changesets.
-                oldmap = {}
-                newmap = {}
-                unsynced = set()
-                for branch in branches:
-                    remoteheads = remotemap[branch]
-                    prunedheads = [h for h in remoteheads if h in cl.nodemap]
-                    oldmap[branch] = prunedheads
-                    newmap[branch] = list(prunedheads)
-                    if len(remoteheads) > len(prunedheads):
-                        unsynced.add(branch)
-
-                # 4. Update newmap with outgoing changes.
-                # This will possibly add new heads and remove existing ones.
-                ctxgen = (self[n] for n in outg)
-                self._updatebranchcache(newmap, ctxgen)
-
-                # 5. Check for new heads.
-                # If there are more heads after the push than before, a suitable
-                # warning, depending on unsynced status, is displayed.
-                for branch in branches:
-                    if len(newmap[branch]) > len(oldmap[branch]):
-                        return fail_multiple_heads(branch in unsynced, branch)
-
-                # 6. Check for unsynced changes on involved branches.
-                if unsynced:
-                    self.ui.warn(_("note: unsynced remote changes!\n"))
-
-            else:
-                # Old servers: Check for new topological heads.
-                # Code based on _updatebranchcache.
-                newheads = set(h for h in remote_heads if h in cl.nodemap)
-                oldheadcnt = len(newheads)
-                newheads.update(outg)
-                if len(newheads) > 1:
-                    for latest in reversed(outg):
-                        if latest not in newheads:
-                            continue
-                        minhrev = min(cl.rev(h) for h in newheads)
-                        reachable = cl.reachable(latest, cl.node(minhrev))
-                        reachable.remove(latest)
-                        newheads.difference_update(reachable)
-                if len(newheads) > oldheadcnt:
-                    return fail_multiple_heads(inc)
-                if inc:
-                    self.ui.warn(_("note: unsynced remote changes!\n"))
-
-        if revs is None:
-            # use the fast path, no race possible on push
-            nodes = self.changelog.findmissing(common.keys())
-            cg = self._changegroup(nodes, 'push')
-        else:
-            cg = self.changegroupsubset(update, revs, 'push')
-        return cg, remote_heads
-
-    def push_addchangegroup(self, remote, force, revs):
+    def push_addchangegroup(self, remote, force, revs, newbranch):
+        '''Push a changegroup by locking the remote and sending the
+        addchangegroup command to it. Used for local and old SSH repos.
+        Return an integer: see push().
+        '''
         lock = remote.lock()
         try:
-            ret = self.prepush(remote, force, revs)
+            ret = discovery.prepush(self, remote, force, revs, newbranch)
             if ret[0] is not None:
                 cg, remote_heads = ret
+                # here, we return an integer indicating remote head count change
                 return remote.addchangegroup(cg, 'push', self.url())
+            # and here we return 0 for "nothing to push" or 1 for
+            # "something to push but I refuse"
             return ret[1]
         finally:
             lock.release()
 
-    def push_unbundle(self, remote, force, revs):
+    def push_unbundle(self, remote, force, revs, newbranch):
+        '''Push a changegroup by unbundling it on the remote.  Used for new
+        SSH and HTTP repos. Return an integer: see push().'''
         # local repo finds heads on server, finds out what revs it
         # must push.  once revs transferred, if server finds it has
         # different heads (someone else won commit/push race), server
         # aborts.
 
-        ret = self.prepush(remote, force, revs)
+        ret = discovery.prepush(self, remote, force, revs, newbranch)
         if ret[0] is not None:
             cg, remote_heads = ret
             if force:
                 remote_heads = ['force']
+            # ssh: return remote's addchangegroup()
+            # http: return remote's addchangegroup() or 0 for error
             return remote.unbundle(cg, remote_heads, 'push')
+        # as in push_addchangegroup()
         return ret[1]
 
     def changegroupinfo(self, nodes, source):
@@ -1831,7 +1455,7 @@
                 yield chnk
                 self.ui.progress(_('bundling changes'), cnt, unit=_('chunks'))
                 cnt += 1
-            self.ui.progress(_('bundling changes'), None, unit=_('chunks'))
+            self.ui.progress(_('bundling changes'), None)
 
 
             # Figure out which manifest nodes (of the ones we think might be
@@ -1859,7 +1483,7 @@
                 yield chnk
                 self.ui.progress(_('bundling manifests'), cnt, unit=_('chunks'))
                 cnt += 1
-            self.ui.progress(_('bundling manifests'), None, unit=_('chunks'))
+            self.ui.progress(_('bundling manifests'), None)
 
             # These are no longer needed, dereference and toss the memory for
             # them.
@@ -1908,7 +1532,7 @@
                     del msng_filenode_set[fname]
             # Signal that no more groups are left.
             yield changegroup.closechunk()
-            self.ui.progress(_('bundling files'), None, unit=_('chunks'))
+            self.ui.progress(_('bundling files'), None)
 
             if msng_cl_lst:
                 self.hook('outgoing', node=hex(msng_cl_lst[0]), source=source)
@@ -1960,7 +1584,7 @@
                 self.ui.progress(_('bundling changes'), cnt, unit=_('chunks'))
                 cnt += 1
                 yield chnk
-            self.ui.progress(_('bundling changes'), None, unit=_('chunks'))
+            self.ui.progress(_('bundling changes'), None)
 
             mnfst = self.manifest
             nodeiter = gennodelst(mnfst)
@@ -1969,7 +1593,7 @@
                 self.ui.progress(_('bundling manifests'), cnt, unit=_('chunks'))
                 cnt += 1
                 yield chnk
-            self.ui.progress(_('bundling manifests'), None, unit=_('chunks'))
+            self.ui.progress(_('bundling manifests'), None)
 
             cnt = 0
             for fname in sorted(changedfiles):
@@ -1987,7 +1611,7 @@
                             _('bundling files'), cnt, item=fname, unit=_('chunks'))
                         cnt += 1
                         yield chnk
-            self.ui.progress(_('bundling files'), None, unit=_('chunks'))
+            self.ui.progress(_('bundling files'), None)
 
             yield changegroup.closechunk()
 
@@ -1997,12 +1621,14 @@
         return util.chunkbuffer(gengroup())
 
     def addchangegroup(self, source, srctype, url, emptyok=False):
-        """add changegroup to repo.
+        """Add the changegroup returned by source.read() to this repo.
+        srctype is a string like 'push', 'pull', or 'unbundle'.  url is
+        the URL of the repo where this changegroup is coming from.
 
-        return values:
+        Return an integer summarizing the change to this repo:
         - nothing changed or no source: 0
         - more heads than before: 1+added heads (2..n)
-        - less heads than before: -1-removed heads (-2..-n)
+        - fewer heads than before: -1-removed heads (-2..-n)
         - number of heads stays the same: 1
         """
         def csmap(x):
@@ -2018,6 +1644,7 @@
         self.hook('prechangegroup', throw=True, source=srctype, url=url)
 
         changesets = files = revisions = 0
+        efiles = set()
 
         # write changelog data to temp files so concurrent readers will not see
         # inconsistent view
@@ -2025,7 +1652,7 @@
         cl.delayupdate()
         oldheads = len(cl.heads())
 
-        tr = self.transaction()
+        tr = self.transaction("\n".join([srctype, urlmod.hidepassword(url)]))
         try:
             trp = weakref.proxy(tr)
             # pull off the changeset group
@@ -2035,8 +1662,10 @@
                 step = _('changesets')
                 count = 1
                 ui = self.ui
+                total = None
                 def __call__(self):
-                    self.ui.progress(self.step, self.count, unit=_('chunks'))
+                    self.ui.progress(self.step, self.count, unit=_('chunks'),
+                                     total=self.total)
                     self.count += 1
             pr = prog()
             chunkiter = changegroup.chunkiter(source, progress=pr)
@@ -2044,12 +1673,16 @@
                 raise util.Abort(_("received changelog group is empty"))
             clend = len(cl)
             changesets = clend - clstart
+            for c in xrange(clstart, clend):
+                efiles.update(self[c].files())
+            efiles = len(efiles)
             self.ui.progress(_('changesets'), None)
 
             # pull off the manifest group
             self.ui.status(_("adding manifests\n"))
             pr.step = _('manifests')
             pr.count = 1
+            pr.total = changesets # manifests <= changesets
             chunkiter = changegroup.chunkiter(source, progress=pr)
             # no need to check for empty manifest group here:
             # if the result of the merge of 1 and 2 is the same in 3 and 4,
@@ -2072,14 +1705,16 @@
             self.ui.status(_("adding file changes\n"))
             pr.step = 'files'
             pr.count = 1
+            pr.total = efiles
             while 1:
                 f = changegroup.getchunk(source)
                 if not f:
                     break
                 self.ui.debug("adding %s revisions\n" % f)
+                pr()
                 fl = self.file(f)
                 o = len(fl)
-                chunkiter = changegroup.chunkiter(source, progress=pr)
+                chunkiter = changegroup.chunkiter(source)
                 if fl.addgroup(chunkiter, revmap, trp) is None:
                     raise util.Abort(_("received file revlog group is empty"))
                 revisions += len(fl) - o
@@ -2124,7 +1759,7 @@
 
             tr.close()
         finally:
-            del tr
+            tr.release()
 
         if changesets > 0:
             # forcefully update the on-disk branch cache
@@ -2211,6 +1846,12 @@
             return self.stream_in(remote)
         return self.pull(remote, heads)
 
+    def pushkey(self, namespace, key, old, new):
+        return pushkey.push(self, namespace, key, old, new)
+
+    def listkeys(self, namespace):
+        return pushkey.list(self, namespace)
+
 # used to avoid circular references so destructors work
 def aftertrans(files):
     renamefiles = [tuple(t) for t in files]
--- a/mercurial/mdiff.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/mdiff.py	Mon Jun 21 13:41:11 2010 -0500
@@ -125,12 +125,12 @@
     else:
         al = splitnewlines(a)
         bl = splitnewlines(b)
-        l = list(bunidiff(a, b, al, bl, "a/" + fn1, "b/" + fn2, opts=opts))
+        l = list(_unidiff(a, b, al, bl, opts=opts))
         if not l:
             return ""
-        # difflib uses a space, rather than a tab
-        l[0] = "%s%s" % (l[0][:-2], datetag(ad))
-        l[1] = "%s%s" % (l[1][:-2], datetag(bd))
+
+        l.insert(0, "--- a/%s%s" % (fn1, datetag(ad)))
+        l.insert(1, "+++ b/%s%s" % (fn2, datetag(bd)))
 
     for ln in xrange(len(l)):
         if l[ln][-1] != '\n':
@@ -141,11 +141,10 @@
 
     return "".join(l)
 
-# somewhat self contained replacement for difflib.unified_diff
+# creates a headerless unified diff
 # t1 and t2 are the text to be diffed
 # l1 and l2 are the text broken up into lines
-# header1 and header2 are the filenames for the diff output
-def bunidiff(t1, t2, l1, l2, header1, header2, opts=defaultopts):
+def _unidiff(t1, t2, l1, l2, opts=defaultopts):
     def contextend(l, len):
         ret = l + opts.context
         if ret > len:
@@ -158,10 +157,7 @@
             return 0
         return ret
 
-    def yieldhunk(hunk, header):
-        if header:
-            for x in header:
-                yield x
+    def yieldhunk(hunk):
         (astart, a2, bstart, b2, delta) = hunk
         aend = contextend(a2, len(l1))
         alen = aend - astart
@@ -184,8 +180,6 @@
         for x in xrange(a2, aend):
             yield ' ' + l1[x]
 
-    header = ["--- %s\t\n" % header1, "+++ %s\t\n" % header2]
-
     if opts.showfunc:
         funcre = re.compile('\w')
 
@@ -236,11 +230,8 @@
                 astart = hunk[1]
                 bstart = hunk[3]
             else:
-                for x in yieldhunk(hunk, header):
+                for x in yieldhunk(hunk):
                     yield x
-                # we only want to yield the header if the files differ, and
-                # we only want to yield it once.
-                header = None
         if prev:
             # we've joined the previous hunk, record the new ending points.
             hunk[1] = a2
@@ -255,7 +246,7 @@
         delta[len(delta):] = ['+' + x for x in new]
 
     if hunk:
-        for x in yieldhunk(hunk, header):
+        for x in yieldhunk(hunk):
             yield x
 
 def patchtext(bin):
--- a/mercurial/merge.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/merge.py	Mon Jun 21 13:41:11 2010 -0500
@@ -364,7 +364,7 @@
             repo.dirstate.normallookup(f)
         elif m == "g": # get
             if branchmerge:
-                repo.dirstate.normaldirty(f)
+                repo.dirstate.otherparent(f)
             else:
                 repo.dirstate.normal(f)
         elif m == "m": # merge
@@ -386,7 +386,8 @@
                 # of that file some time in the past. Thus our
                 # merge will appear as a normal local file
                 # modification.
-                repo.dirstate.normallookup(fd)
+                if f2 == fd: # file not locally copied/moved
+                    repo.dirstate.normallookup(fd)
                 if move:
                     repo.dirstate.forget(f)
         elif m == "d": # directory rename
@@ -466,7 +467,8 @@
             raise util.Abort(_("outstanding uncommitted merges"))
         if branchmerge:
             if pa == p2:
-                raise util.Abort(_("can't merge with ancestor"))
+                raise util.Abort(_("merging with a working directory ancestor"
+                                   " has no effect"))
             elif pa == p1:
                 if p1.branch() != p2.branch():
                     fastforward = True
@@ -491,6 +493,7 @@
 
         ### calculate phase
         action = []
+        wc.status(unknown=True) # prime cache
         if not force:
             _checkunknown(wc, p2)
         if not util.checkcase(repo.path):
@@ -507,8 +510,8 @@
         stats = applyupdates(repo, action, wc, p2)
 
         if not partial:
+            repo.dirstate.setparents(fp1, fp2)
             recordupdates(repo, action, branchmerge)
-            repo.dirstate.setparents(fp1, fp2)
             if not branchmerge and not fastforward:
                 repo.dirstate.setbranch(p2.branch())
     finally:
--- a/mercurial/minirst.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/minirst.py	Mon Jun 21 13:41:11 2010 -0500
@@ -35,8 +35,8 @@
 - inline literals (no other inline markup is not recognized)
 """
 
-import re, sys, textwrap
-
+import re, sys
+import util
 
 def findblocks(text):
     """Find continuous blocks of lines in text.
@@ -225,6 +225,8 @@
     return blocks, pruned
 
 
+_sectionre = re.compile(r"""^([-=`:.'"~^_*+#])\1+$""")
+
 def findsections(blocks):
     """Finds sections.
 
@@ -240,18 +242,33 @@
         # +------------------------------+
         if (block['type'] == 'paragraph' and
             len(block['lines']) == 2 and
-            block['lines'][1] == '-' * len(block['lines'][0])):
+            len(block['lines'][0]) == len(block['lines'][1]) and
+            _sectionre.match(block['lines'][1])):
+            block['underline'] = block['lines'][1][0]
             block['type'] = 'section'
+            del block['lines'][1]
     return blocks
 
 
 def inlineliterals(blocks):
     for b in blocks:
-        if b['type'] == 'paragraph':
+        if b['type'] in ('paragraph', 'section'):
             b['lines'] = [l.replace('``', '"') for l in b['lines']]
     return blocks
 
 
+def hgrole(blocks):
+    for b in blocks:
+        if b['type'] in ('paragraph', 'section'):
+            # Turn :hg:`command` into "hg command". This also works
+            # when there is a line break in the command and relies on
+            # the fact that we have no stray back-quotes in the input
+            # (run the blocks through inlineliterals first).
+            b['lines'] = [l.replace(':hg:`', '"hg ').replace('`', '"')
+                          for l in b['lines']]
+    return blocks
+
+
 def addmargins(blocks):
     """Adds empty blocks for vertical spacing.
 
@@ -261,7 +278,7 @@
     i = 1
     while i < len(blocks):
         if (blocks[i]['type'] == blocks[i - 1]['type'] and
-            blocks[i]['type'] in ('bullet', 'option', 'field', 'definition')):
+            blocks[i]['type'] in ('bullet', 'option', 'field')):
             i += 1
         else:
             blocks.insert(i, dict(lines=[''], indent=0, type='margin'))
@@ -280,16 +297,17 @@
         indent += '  '
         return indent + ('\n' + indent).join(block['lines'])
     if block['type'] == 'section':
-        return indent + ('\n' + indent).join(block['lines'])
+        underline = len(block['lines'][0]) * block['underline']
+        return "%s%s\n%s%s" % (indent, block['lines'][0],indent, underline)
     if block['type'] == 'definition':
         term = indent + block['lines'][0]
         hang = len(block['lines'][-1]) - len(block['lines'][-1].lstrip())
         defindent = indent + hang * ' '
         text = ' '.join(map(str.strip, block['lines'][1:]))
-        return "%s\n%s" % (term, textwrap.fill(text, width=width,
-                                               initial_indent=defindent,
-                                               subsequent_indent=defindent))
-    initindent = subindent = indent
+        return '%s\n%s' % (term, util.wrap(text, width=width,
+                                           initindent=defindent,
+                                           hangindent=defindent))
+    subindent = indent
     if block['type'] == 'bullet':
         if block['lines'][0].startswith('| '):
             # Remove bullet for line blocks and add no extra
@@ -320,9 +338,9 @@
         subindent = indent + (len(option) + len(arg)) * ' '
 
     text = ' '.join(map(str.strip, block['lines']))
-    return textwrap.fill(text, width=width,
-                         initial_indent=initindent,
-                         subsequent_indent=subindent)
+    return util.wrap(text, width=width,
+                     initindent=indent,
+                     hangindent=subindent)
 
 
 def format(text, width, indent=0, keep=None):
@@ -332,10 +350,11 @@
         b['indent'] += indent
     blocks = findliteralblocks(blocks)
     blocks, pruned = prunecontainers(blocks, keep or [])
+    blocks = findsections(blocks)
     blocks = inlineliterals(blocks)
+    blocks = hgrole(blocks)
     blocks = splitparagraphs(blocks)
     blocks = updatefieldlists(blocks)
-    blocks = findsections(blocks)
     blocks = addmargins(blocks)
     text = '\n'.join(formatblock(b, width) for b in blocks)
     if keep is None:
--- a/mercurial/mpatch.c	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/mpatch.c	Mon Jun 21 13:41:11 2010 -0500
@@ -24,6 +24,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "util.h"
+
 /* Definitions to get compatibility with python 2.4 and earlier which
    does not have Py_ssize_t. See also PEP 353.
    Note: msvc (8 or earlier) does not have ssize_t, so we use Py_ssize_t.
@@ -373,12 +375,12 @@
 		result = NULL;
 		goto cleanup;
 	}
-	result = PyString_FromStringAndSize(NULL, outlen);
+	result = PyBytes_FromStringAndSize(NULL, outlen);
 	if (!result) {
 		result = NULL;
 		goto cleanup;
 	}
-	out = PyString_AsString(result);
+	out = PyBytes_AsString(result);
 	if (!apply(out, in, inlen, patch)) {
 		Py_DECREF(result);
 		result = NULL;
@@ -435,10 +437,34 @@
 	{NULL, NULL}
 };
 
+#ifdef IS_PY3K
+static struct PyModuleDef mpatch_module = {
+	PyModuleDef_HEAD_INIT,
+	"mpatch",
+	mpatch_doc,
+	-1,
+	methods
+};
+
+PyMODINIT_FUNC PyInit_mpatch(void)
+{
+	PyObject *m;
+
+	m = PyModule_Create(&mpatch_module);
+	if (m == NULL)
+		return NULL;
+
+	mpatch_Error = PyErr_NewException("mpatch.mpatchError", NULL, NULL);
+	Py_INCREF(mpatch_Error);
+	PyModule_AddObject(m, "mpatchError", mpatch_Error);
+
+	return m;
+}
+#else
 PyMODINIT_FUNC
 initmpatch(void)
 {
 	Py_InitModule3("mpatch", methods, mpatch_doc);
 	mpatch_Error = PyErr_NewException("mpatch.mpatchError", NULL, NULL);
 }
-
+#endif
--- a/mercurial/osutil.c	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/osutil.c	Mon Jun 21 13:41:11 2010 -0500
@@ -23,6 +23,8 @@
 #include <unistd.h>
 #endif
 
+#include "util.h"
+
 /* some platforms lack the PATH_MAX definition (eg. GNU/Hurd) */
 #ifndef PATH_MAX
 #define PATH_MAX 4096
@@ -95,8 +97,7 @@
 }
 
 static PyTypeObject listdir_stat_type = {
-	PyObject_HEAD_INIT(NULL)
-	0,                         /*ob_size*/
+	PyVarObject_HEAD_INIT(NULL, 0)
 	"osutil.stat",             /*tp_name*/
 	sizeof(struct listdir_stat), /*tp_basicsize*/
 	0,                         /*tp_itemsize*/
@@ -392,7 +393,7 @@
 	wantstat = statobj && PyObject_IsTrue(statobj);
 
 	if (skipobj && skipobj != Py_None) {
-		skip = PyString_AsString(skipobj);
+		skip = PyBytes_AsString(skipobj);
 		if (!skip)
 			return NULL;
 	}
@@ -486,12 +487,13 @@
 	}
 
 	fd = _open_osfhandle((intptr_t)handle, flags);
+
 	if (fd == -1) {
 		CloseHandle(handle);
 		PyErr_SetFromErrnoWithFilename(PyExc_IOError, name);
 		goto bail;
 	}
-
+#ifndef IS_PY3K
 	fp = _fdopen(fd, fpmode);
 	if (fp == NULL) {
 		_close(fd);
@@ -506,6 +508,11 @@
 	}
 
 	PyFile_SetBufSize(file_obj, bufsize);
+#else
+	file_obj = PyFile_FromFd(fd, name, mode, bufsize, NULL, NULL, NULL, 1);
+	if (file_obj == NULL)
+		goto bail;
+#endif
 bail:
 	PyMem_Free(name);
 	return file_obj;
@@ -525,6 +532,23 @@
 	{NULL, NULL}
 };
 
+#ifdef IS_PY3K
+static struct PyModuleDef osutil_module = {
+	PyModuleDef_HEAD_INIT,
+	"osutil",
+	osutil_doc,
+	-1,
+	methods
+};
+
+PyMODINIT_FUNC PyInit_osutil(void)
+{
+	if (PyType_Ready(&listdir_stat_type) < 0)
+		return NULL;
+
+	return PyModule_Create(&osutil_module);
+}
+#else
 PyMODINIT_FUNC initosutil(void)
 {
 	if (PyType_Ready(&listdir_stat_type) == -1)
@@ -532,3 +556,4 @@
 
 	Py_InitModule3("osutil", methods, osutil_doc);
 }
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/parser.py	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,91 @@
+# parser.py - simple top-down operator precedence parser for mercurial
+#
+# Copyright 2010 Matt Mackall <mpm@selenic.com>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+# see http://effbot.org/zone/simple-top-down-parsing.txt and
+# http://eli.thegreenplace.net/2010/01/02/top-down-operator-precedence-parsing/
+# for background
+
+# takes a tokenizer and elements
+# tokenizer is an iterator that returns type, value pairs
+# elements is a mapping of types to binding strength, prefix and infix actions
+# an action is a tree node name, a tree label, and an optional match
+# __call__(program) parses program into a labelled tree
+
+import error
+
+class parser(object):
+    def __init__(self, tokenizer, elements, methods=None):
+        self._tokenizer = tokenizer
+        self._elements = elements
+        self._methods = methods
+    def _advance(self):
+        'advance the tokenizer'
+        t = self.current
+        try:
+            self.current = self._iter.next()
+        except StopIteration:
+            pass
+        return t
+    def _match(self, m, pos):
+        'make sure the tokenizer matches an end condition'
+        if self.current[0] != m:
+            raise error.ParseError("unexpected token: %s" % self.current[0],
+                                   self.current[2])
+        self._advance()
+    def _parse(self, bind=0):
+        token, value, pos = self._advance()
+        # handle prefix rules on current token
+        prefix = self._elements[token][1]
+        if not prefix:
+            raise error.ParseError("not a prefix: %s" % token, pos)
+        if len(prefix) == 1:
+            expr = (prefix[0], value)
+        else:
+            if len(prefix) > 2 and prefix[2] == self.current[0]:
+                self._match(prefix[2], pos)
+                expr = (prefix[0], None)
+            else:
+                expr = (prefix[0], self._parse(prefix[1]))
+                if len(prefix) > 2:
+                    self._match(prefix[2], pos)
+        # gather tokens until we meet a lower binding strength
+        while bind < self._elements[self.current[0]][0]:
+            token, value, pos = self._advance()
+            e = self._elements[token]
+            # check for suffix - next token isn't a valid prefix
+            if len(e) == 4 and not self._elements[self.current[0]][1]:
+                suffix = e[3]
+                expr = (suffix[0], expr)
+            else:
+                # handle infix rules
+                if len(e) < 3 or not e[2]:
+                    raise error.ParseError("not an infix: %s" % token, pos)
+                infix = e[2]
+                if len(infix) == 3 and infix[2] == self.current[0]:
+                    self._match(infix[2], pos)
+                    expr = (infix[0], expr, (None))
+                else:
+                    expr = (infix[0], expr, self._parse(infix[1]))
+                    if len(infix) == 3:
+                        self._match(infix[2], pos)
+        return expr
+    def parse(self, message):
+        'generate a parse tree from a message'
+        self._iter = self._tokenizer(message)
+        self.current = self._iter.next()
+        return self._parse()
+    def eval(self, tree):
+        'recursively evaluate a parse tree using node methods'
+        if not isinstance(tree, tuple):
+            return tree
+        return self._methods[tree[0]](*[self.eval(t) for t in tree[1:]])
+    def __call__(self, message):
+        'parse a message into a parse tree and evaluate if methods given'
+        t = self.parse(message)
+        if self._methods:
+            return self.eval(t)
+        return t
--- a/mercurial/parsers.c	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/parsers.c	Mon Jun 21 13:41:11 2010 -0500
@@ -11,6 +11,8 @@
 #include <ctype.h>
 #include <string.h>
 
+#include "util.h"
+
 static int hexdigit(char c)
 {
 	if (c >= '0' && c <= '9')
@@ -33,11 +35,13 @@
 	const char *c;
 	char *d;
 
-	ret = PyString_FromStringAndSize(NULL, len / 2);
+	ret = PyBytes_FromStringAndSize(NULL, len / 2);
+
 	if (!ret)
 		return NULL;
 
-	d = PyString_AS_STRING(ret);
+	d = PyBytes_AsString(ret);
+
 	for (c = str; c < str + len;) {
 		int hi = hexdigit(*c++);
 		int lo = hexdigit(*c++);
@@ -81,7 +85,8 @@
 			goto quit;
 		}
 
-		file = PyString_FromStringAndSize(start, zero - start);
+		file = PyBytes_FromStringAndSize(start, zero - start);
+
 		if (!file)
 			goto bail;
 
@@ -92,7 +97,7 @@
 			goto bail;
 
 		if (nlen > 40) {
-			flags = PyString_FromStringAndSize(zero + 41,
+			flags = PyBytes_FromStringAndSize(zero + 41,
 							   nlen - 40);
 			if (!flags)
 				goto bail;
@@ -206,8 +211,8 @@
 
 		cpos = memchr(cur, 0, flen);
 		if (cpos) {
-			fname = PyString_FromStringAndSize(cur, cpos - cur);
-			cname = PyString_FromStringAndSize(cpos + 1,
+			fname = PyBytes_FromStringAndSize(cur, cpos - cur);
+			cname = PyBytes_FromStringAndSize(cpos + 1,
 							   flen - (cpos - cur) - 1);
 			if (!fname || !cname ||
 			    PyDict_SetItem(cmap, fname, cname) == -1 ||
@@ -215,7 +220,7 @@
 				goto quit;
 			Py_DECREF(cname);
 		} else {
-			fname = PyString_FromStringAndSize(cur, flen);
+			fname = PyBytes_FromStringAndSize(cur, flen);
 			if (!fname ||
 			    PyDict_SetItem(dmap, fname, entry) == -1)
 				goto quit;
@@ -248,8 +253,9 @@
 	int err;
 	PyObject *entry, *node_id, *n_obj;
 
-	node_id = PyString_FromStringAndSize(c_node_id, 20);
+	node_id = PyBytes_FromStringAndSize(c_node_id, 20);
 	n_obj = PyInt_FromLong(n);
+
 	if (!node_id || !n_obj)
 		err = -1;
 	else
@@ -427,7 +433,23 @@
 	{NULL, NULL}
 };
 
+#ifdef IS_PY3K
+static struct PyModuleDef parsers_module = {
+	PyModuleDef_HEAD_INIT,
+	"parsers",
+	parsers_doc,
+	-1,
+	methods
+};
+
+PyMODINIT_FUNC PyInit_parsers(void)
+{
+	return PyModule_Create(&parsers_module);
+}
+#else
 PyMODINIT_FUNC initparsers(void)
 {
 	Py_InitModule3("parsers", methods, parsers_doc);
 }
+#endif
+
--- a/mercurial/patch.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/patch.py	Mon Jun 21 13:41:11 2010 -0500
@@ -6,11 +6,12 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
+import cStringIO, email.Parser, os, re
+import tempfile, zlib
+
 from i18n import _
 from node import hex, nullid, short
 import base85, cmdutil, mdiff, util, diffhelpers, copies
-import cStringIO, email.Parser, os, re
-import sys, tempfile, zlib
 
 gitre = re.compile('diff --git a/(.*) b/(.*)')
 
@@ -302,6 +303,9 @@
         isexec = mode & 0100
         self.mode = (islink, isexec)
 
+    def __repr__(self):
+        return "<patchmeta %s %r>" % (self.op, self.path)
+
 def readgitpatch(lr):
     """extract git-style metadata about patches from <patchname>"""
 
@@ -343,8 +347,6 @@
                 gp.path = line[8:]
             elif line.startswith('deleted file'):
                 gp.op = 'DELETE'
-                # is the deleted file a symlink?
-                gp.setmode(int(line[-6:], 8))
             elif line.startswith('new file mode '):
                 gp.op = 'ADD'
                 gp.setmode(int(line[-6:], 8))
@@ -525,17 +527,6 @@
 
         self.writelines(fname, rejlines())
 
-    def write(self, dest=None):
-        if not self.dirty:
-            return
-        if not dest:
-            dest = self.fname
-        self.writelines(dest, self.lines)
-
-    def close(self):
-        self.write()
-        self.write_rej()
-
     def apply(self, h):
         if not h.complete():
             raise PatchError(_("bad hunk #%d %s (%d %d %d %d)") %
@@ -905,24 +896,25 @@
             return s
     return s[:i]
 
+def pathstrip(path, strip):
+    pathlen = len(path)
+    i = 0
+    if strip == 0:
+        return '', path.rstrip()
+    count = strip
+    while count > 0:
+        i = path.find('/', i)
+        if i == -1:
+            raise PatchError(_("unable to strip away %d of %d dirs from %s") %
+                             (count, strip, path))
+        i += 1
+        # consume '//' in the path
+        while i < pathlen - 1 and path[i] == '/':
+            i += 1
+        count -= 1
+    return path[:i].lstrip(), path[i:].rstrip()
+
 def selectfile(afile_orig, bfile_orig, hunk, strip):
-    def pathstrip(path, count=1):
-        pathlen = len(path)
-        i = 0
-        if count == 0:
-            return '', path.rstrip()
-        while count > 0:
-            i = path.find('/', i)
-            if i == -1:
-                raise PatchError(_("unable to strip away %d dirs from %s") %
-                                 (count, path))
-            i += 1
-            # consume '//' in the path
-            while i < pathlen - 1 and path[i] == '/':
-                i += 1
-            count -= 1
-        return path[:i].lstrip(), path[i:].rstrip()
-
     nulla = afile_orig == "/dev/null"
     nullb = bfile_orig == "/dev/null"
     abase, afile = pathstrip(afile_orig, strip)
@@ -1125,9 +1117,9 @@
     if (empty is None and not gitworkdone) or empty:
         raise NoHunks
 
+
 def applydiff(ui, fp, changed, strip=1, sourcefile=None, eolmode='strict'):
-    """
-    Reads a patch from fp and tries to apply it.
+    """Reads a patch from fp and tries to apply it.
 
     The dict 'changed' is filled in with all of the filenames changed
     by the patch. Returns 0 for a clean patch, -1 if any rejects were
@@ -1136,25 +1128,36 @@
     If 'eolmode' is 'strict', the patch content and patched file are
     read in binary mode. Otherwise, line endings are ignored when
     patching then normalized according to 'eolmode'.
+
+    Callers probably want to call 'updatedir' after this to apply
+    certain categories of changes not done by this function.
     """
+    return _applydiff(
+        ui, fp, patchfile, copyfile,
+        changed, strip=strip, sourcefile=sourcefile, eolmode=eolmode)
+
+
+def _applydiff(ui, fp, patcher, copyfn, changed, strip=1,
+               sourcefile=None, eolmode='strict'):
     rejects = 0
     err = 0
     current_file = None
-    gitpatches = None
-    opener = util.opener(os.getcwd())
+    cwd = os.getcwd()
+    opener = util.opener(cwd)
 
     def closefile():
         if not current_file:
             return 0
-        current_file.close()
+        if current_file.dirty:
+            current_file.writelines(current_file.fname, current_file.lines)
+        current_file.write_rej()
         return len(current_file.rej)
 
     for state, values in iterhunks(ui, fp, sourcefile):
         if state == 'hunk':
             if not current_file:
                 continue
-            current_hunk = values
-            ret = current_file.apply(current_hunk)
+            ret = current_file.apply(values)
             if ret >= 0:
                 changed.setdefault(current_file.fname, None)
                 if ret > 0:
@@ -1164,24 +1167,25 @@
             afile, bfile, first_hunk = values
             try:
                 if sourcefile:
-                    current_file = patchfile(ui, sourcefile, opener,
-                                             eolmode=eolmode)
+                    current_file = patcher(ui, sourcefile, opener,
+                                           eolmode=eolmode)
                 else:
                     current_file, missing = selectfile(afile, bfile,
                                                        first_hunk, strip)
-                    current_file = patchfile(ui, current_file, opener,
-                                             missing, eolmode)
+                    current_file = patcher(ui, current_file, opener,
+                                           missing=missing, eolmode=eolmode)
             except PatchError, err:
                 ui.warn(str(err) + '\n')
-                current_file, current_hunk = None, None
+                current_file = None
                 rejects += 1
                 continue
         elif state == 'git':
-            gitpatches = values
-            cwd = os.getcwd()
-            for gp in gitpatches:
+            for gp in values:
+                gp.path = pathstrip(gp.path, strip - 1)[1]
+                if gp.oldpath:
+                    gp.oldpath = pathstrip(gp.oldpath, strip - 1)[1]
                 if gp.op in ('COPY', 'RENAME'):
-                    copyfile(gp.oldpath, gp.path, cwd)
+                    copyfn(gp.oldpath, gp.path, cwd)
                 changed[gp.path] = gp
         else:
             raise util.Abort(_('unsupported parser state: %s') % state)
@@ -1192,20 +1196,6 @@
         return -1
     return err
 
-def diffopts(ui, opts=None, untrusted=False):
-    def get(key, name=None, getter=ui.configbool):
-        return ((opts and opts.get(key)) or
-                getter('diff', name or key, None, untrusted=untrusted))
-    return mdiff.diffopts(
-        text=opts and opts.get('text'),
-        git=get('git'),
-        nodates=get('nodates'),
-        showfunc=get('show_function', 'showfunc'),
-        ignorews=get('ignore_all_space', 'ignorews'),
-        ignorewsamount=get('ignore_space_change', 'ignorewsamount'),
-        ignoreblanklines=get('ignore_blank_lines', 'ignoreblanklines'),
-        context=get('unified', getter=ui.config))
-
 def updatedir(ui, repo, patches, similarity=0):
     '''Update dirstate after patch application according to metadata'''
     if not patches:
@@ -1227,10 +1217,13 @@
             copies.append((gp.oldpath, gp.path))
         elif gp.op == 'DELETE':
             removes.add(gp.path)
+
+    wctx = repo[None]
     for src, dst in copies:
-        repo.copy(src, dst)
+        wctx.copy(src, dst)
     if (not similarity) and removes:
-        repo.remove(sorted(removes), True)
+        wctx.remove(sorted(removes), True)
+
     for f in patches:
         gp = patches[f]
         if gp and gp.mode:
@@ -1240,8 +1233,7 @@
             if gp.op == 'ADD' and not os.path.exists(dst):
                 flags = (isexec and 'x' or '') + (islink and 'l' or '')
                 repo.wwrite(gp.path, '', flags)
-            elif gp.op != 'DELETE':
-                util.set_flags(dst, islink, isexec)
+            util.set_flags(dst, islink, isexec)
     cmdutil.addremove(repo, cfiles, similarity=similarity)
     files = patches.keys()
     files.extend([r for r in removes if r not in files])
@@ -1337,6 +1329,10 @@
             try:
                 return internalpatch(patchname, ui, strip, cwd, files, eolmode)
             except NoHunks:
+                ui.warn(_('internal patcher failed\n'
+                          'please report details to '
+                          'http://mercurial.selenic.com/bts/\n'
+                          'or mercurial@selenic.com\n'))
                 patcher = (util.find_exe('gpatch') or util.find_exe('patch')
                            or 'patch')
                 ui.debug('no valid hunks found; trying with %r instead\n' %
@@ -1393,6 +1389,20 @@
 class GitDiffRequired(Exception):
     pass
 
+def diffopts(ui, opts=None, untrusted=False):
+    def get(key, name=None, getter=ui.configbool):
+        return ((opts and opts.get(key)) or
+                getter('diff', name or key, None, untrusted=untrusted))
+    return mdiff.diffopts(
+        text=opts and opts.get('text'),
+        git=get('git'),
+        nodates=get('nodates'),
+        showfunc=get('show_function', 'showfunc'),
+        ignorews=get('ignore_all_space', 'ignorews'),
+        ignorewsamount=get('ignore_space_change', 'ignorewsamount'),
+        ignoreblanklines=get('ignore_blank_lines', 'ignoreblanklines'),
+        context=get('unified', getter=ui.config))
+
 def diff(repo, node1=None, node2=None, match=None, changes=None, opts=None,
          losedatafn=None):
     '''yields diff of changes to files between two nodes, or node and
@@ -1465,6 +1475,43 @@
     else:
         return difffn(opts, None)
 
+def difflabel(func, *args, **kw):
+    '''yields 2-tuples of (output, label) based on the output of func()'''
+    prefixes = [('diff', 'diff.diffline'),
+                ('copy', 'diff.extended'),
+                ('rename', 'diff.extended'),
+                ('old', 'diff.extended'),
+                ('new', 'diff.extended'),
+                ('deleted', 'diff.extended'),
+                ('---', 'diff.file_a'),
+                ('+++', 'diff.file_b'),
+                ('@@', 'diff.hunk'),
+                ('-', 'diff.deleted'),
+                ('+', 'diff.inserted')]
+
+    for chunk in func(*args, **kw):
+        lines = chunk.split('\n')
+        for i, line in enumerate(lines):
+            if i != 0:
+                yield ('\n', '')
+            stripline = line
+            if line and line[0] in '+-':
+                # highlight trailing whitespace, but only in changed lines
+                stripline = line.rstrip()
+            for prefix, label in prefixes:
+                if stripline.startswith(prefix):
+                    yield (stripline, label)
+                    break
+            else:
+                yield (line, '')
+            if line != stripline:
+                yield (line[len(stripline):], 'diff.trailingwhitespace')
+
+def diffui(*args, **kw):
+    '''like diff(), but yields 2-tuples of (output, label) for ui.write()'''
+    return difflabel(diff, *args, **kw)
+
+
 def _addmodehdr(header, omode, nmode):
     if omode != nmode:
         header.append('old mode %s\n' % omode)
@@ -1568,47 +1615,6 @@
             if text:
                 yield text
 
-def export(repo, revs, template='hg-%h.patch', fp=None, switch_parent=False,
-           opts=None):
-    '''export changesets as hg patches.'''
-
-    total = len(revs)
-    revwidth = max([len(str(rev)) for rev in revs])
-
-    def single(rev, seqno, fp):
-        ctx = repo[rev]
-        node = ctx.node()
-        parents = [p.node() for p in ctx.parents() if p]
-        branch = ctx.branch()
-        if switch_parent:
-            parents.reverse()
-        prev = (parents and parents[0]) or nullid
-
-        if not fp:
-            fp = cmdutil.make_file(repo, template, node, total=total,
-                                   seqno=seqno, revwidth=revwidth,
-                                   mode='ab')
-        if fp != sys.stdout and hasattr(fp, 'name'):
-            repo.ui.note("%s\n" % fp.name)
-
-        fp.write("# HG changeset patch\n")
-        fp.write("# User %s\n" % ctx.user())
-        fp.write("# Date %d %d\n" % ctx.date())
-        if branch and (branch != 'default'):
-            fp.write("# Branch %s\n" % branch)
-        fp.write("# Node ID %s\n" % hex(node))
-        fp.write("# Parent  %s\n" % hex(prev))
-        if len(parents) > 1:
-            fp.write("# Parent  %s\n" % hex(parents[1]))
-        fp.write(ctx.description().rstrip())
-        fp.write("\n\n")
-
-        for chunk in diff(repo, prev, node, opts=opts):
-            fp.write(chunk)
-
-    for seqno, rev in enumerate(revs):
-        single(rev, seqno + 1, fp)
-
 def diffstatdata(lines):
     filename, adds, removes = None, 0, 0
     for line in lines:
@@ -1676,3 +1682,22 @@
                       % (len(stats), totaladds, totalremoves))
 
     return ''.join(output)
+
+def diffstatui(*args, **kw):
+    '''like diffstat(), but yields 2-tuples of (output, label) for
+    ui.write()
+    '''
+
+    for line in diffstat(*args, **kw).splitlines():
+        if line and line[-1] in '+-':
+            name, graph = line.rsplit(' ', 1)
+            yield (name + ' ', '')
+            m = re.search(r'\++', graph)
+            if m:
+                yield (m.group(0), 'diffstat.inserted')
+            m = re.search(r'-+', graph)
+            if m:
+                yield (m.group(0), 'diffstat.deleted')
+        else:
+            yield (line, '')
+        yield ('\n', '')
--- a/mercurial/posix.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/posix.py	Mon Jun 21 13:41:11 2010 -0500
@@ -7,7 +7,7 @@
 
 from i18n import _
 import osutil
-import os, sys, errno, stat, getpass, pwd, grp, fcntl
+import os, sys, errno, stat, getpass, pwd, grp
 
 posixfile = open
 nulldev = '/dev/null'
@@ -118,6 +118,7 @@
     return st1.st_dev == st2.st_dev
 
 if sys.platform == 'darwin':
+    import fcntl # only needed on darwin, missing on jython
     def realpath(path):
         '''
         Returns the true, canonical file system path equivalent to the given
@@ -258,6 +259,12 @@
     except KeyError:
         return str(gid)
 
+def groupmembers(name):
+    """Return the list of members of the group with the given
+    name, KeyError if the group does not exist.
+    """
+    return list(grp.getgrnam(name).gr_mem)
+
 def spawndetached(args):
     return os.spawnvp(os.P_NOWAIT | getattr(os, 'P_DETACH', 0),
                       args[0], args)
--- a/mercurial/pure/mpatch.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/pure/mpatch.py	Mon Jun 21 13:41:11 2010 -0500
@@ -112,7 +112,7 @@
         outlen += length
 
     if bin != binend:
-        raise Exception("patch cannot be decoded")
+        raise ValueError("patch cannot be decoded")
 
     outlen += orig - last
     return outlen
--- a/mercurial/pure/osutil.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/pure/osutil.py	Mon Jun 21 13:41:11 2010 -0500
@@ -6,25 +6,25 @@
 # GNU General Public License version 2 or any later version.
 
 import os
-import stat as _stat
+import stat as statmod
 
 posixfile = open
 
 def _mode_to_kind(mode):
-    if _stat.S_ISREG(mode):
-        return _stat.S_IFREG
-    if _stat.S_ISDIR(mode):
-        return _stat.S_IFDIR
-    if _stat.S_ISLNK(mode):
-        return _stat.S_IFLNK
-    if _stat.S_ISBLK(mode):
-        return _stat.S_IFBLK
-    if _stat.S_ISCHR(mode):
-        return _stat.S_IFCHR
-    if _stat.S_ISFIFO(mode):
-        return _stat.S_IFIFO
-    if _stat.S_ISSOCK(mode):
-        return _stat.S_IFSOCK
+    if statmod.S_ISREG(mode):
+        return statmod.S_IFREG
+    if statmod.S_ISDIR(mode):
+        return statmod.S_IFDIR
+    if statmod.S_ISLNK(mode):
+        return statmod.S_IFLNK
+    if statmod.S_ISBLK(mode):
+        return statmod.S_IFBLK
+    if statmod.S_ISCHR(mode):
+        return statmod.S_IFCHR
+    if statmod.S_ISFIFO(mode):
+        return statmod.S_IFIFO
+    if statmod.S_ISSOCK(mode):
+        return statmod.S_IFSOCK
     return mode
 
 def listdir(path, stat=False, skip=None):
@@ -49,7 +49,7 @@
     names.sort()
     for fn in names:
         st = os.lstat(prefix + fn)
-        if fn == skip and _stat.S_ISDIR(st.st_mode):
+        if fn == skip and statmod.S_ISDIR(st.st_mode):
             return []
         if stat:
             result.append((fn, _mode_to_kind(st.st_mode), st))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/pushkey.py	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,31 @@
+# pushkey.py - dispatching for pushing and pulling keys
+#
+# Copyright 2010 Matt Mackall <mpm@selenic.com>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+def _nslist(repo):
+    n = {}
+    for k in _namespaces:
+        n[k] = ""
+    return n
+
+_namespaces = {"namespaces": (lambda *x: False, _nslist)}
+
+def register(namespace, pushkey, listkeys):
+    _namespaces[namespace] = (pushkey, listkeys)
+
+def _get(namespace):
+    return _namespaces.get(namespace, (lambda *x: False, lambda *x: {}))
+
+def push(repo, namespace, key, old, new):
+    '''should succeed iff value was old'''
+    pk = _get(namespace)[0]
+    return pk(repo, key, old, new)
+
+def list(repo, namespace):
+    '''return a dict'''
+    lk = _get(namespace)[1]
+    return lk(repo)
+
--- a/mercurial/repair.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/repair.py	Mon Jun 21 13:41:11 2010 -0500
@@ -17,8 +17,7 @@
     backupdir = repo.join("strip-backup")
     if not os.path.isdir(backupdir):
         os.mkdir(backupdir)
-    name = os.path.join(backupdir, "%s-%s" % (short(node), suffix))
-    repo.ui.warn(_("saving bundle to %s\n") % name)
+    name = os.path.join(backupdir, "%s-%s.hg" % (short(node), suffix))
     return changegroup.writebundle(cg, name, "HG10BZ")
 
 def _collectfiles(repo, striprev):
@@ -106,40 +105,55 @@
     extranodes = _collectextranodes(repo, files, striprev)
 
     # create a changegroup for all the branches we need to keep
+    backupfile = None
     if backup == "all":
-        _bundle(repo, [node], cl.heads(), node, 'backup')
+        backupfile = _bundle(repo, [node], cl.heads(), node, 'backup')
+        repo.ui.status(_("saved backup bundle to %s\n") % backupfile)
     if saveheads or extranodes:
         chgrpfile = _bundle(repo, savebases, saveheads, node, 'temp',
                             extranodes)
 
     mfst = repo.manifest
 
-    tr = repo.transaction()
+    tr = repo.transaction("strip")
     offset = len(tr.entries)
 
-    tr.startgroup()
-    cl.strip(striprev, tr)
-    mfst.strip(striprev, tr)
-    for fn in files:
-        repo.file(fn).strip(striprev, tr)
-    tr.endgroup()
-
     try:
-        for i in xrange(offset, len(tr.entries)):
-            file, troffset, ignore = tr.entries[i]
-            repo.sopener(file, 'a').truncate(troffset)
-        tr.close()
+        tr.startgroup()
+        cl.strip(striprev, tr)
+        mfst.strip(striprev, tr)
+        for fn in files:
+            repo.file(fn).strip(striprev, tr)
+        tr.endgroup()
+
+        try:
+            for i in xrange(offset, len(tr.entries)):
+                file, troffset, ignore = tr.entries[i]
+                repo.sopener(file, 'a').truncate(troffset)
+            tr.close()
+        except:
+            tr.abort()
+            raise
+
+        if saveheads or extranodes:
+            ui.note(_("adding branch\n"))
+            f = open(chgrpfile, "rb")
+            gen = changegroup.readbundle(f, chgrpfile)
+            if not repo.ui.verbose:
+                # silence internal shuffling chatter
+                repo.ui.pushbuffer()
+            repo.addchangegroup(gen, 'strip', 'bundle:' + chgrpfile, True)
+            if not repo.ui.verbose:
+                repo.ui.popbuffer()
+            f.close()
+            if backup != "strip":
+                os.unlink(chgrpfile)
     except:
-        tr.abort()
+        if backupfile:
+            ui.warn("strip failed, full bundle stored in '%s'\n" % backupfile)
+        elif saveheads:
+            ui.warn("strip failed, partial bundle stored in '%s'\n"
+                    % chgrpfile)
         raise
 
-    if saveheads or extranodes:
-        ui.status(_("adding branch\n"))
-        f = open(chgrpfile, "rb")
-        gen = changegroup.readbundle(f, chgrpfile)
-        repo.addchangegroup(gen, 'strip', 'bundle:' + chgrpfile, True)
-        f.close()
-        if backup != "strip":
-            os.unlink(chgrpfile)
-
     repo.destroyed()
--- a/mercurial/revlog.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/revlog.py	Mon Jun 21 13:41:11 2010 -0500
@@ -353,14 +353,14 @@
         return _pack(indexformatv0, *e2)
 
 # index ng:
-# 6 bytes offset
-# 2 bytes flags
-# 4 bytes compressed length
-# 4 bytes uncompressed length
-# 4 bytes: base rev
-# 4 bytes link rev
-# 4 bytes parent 1 rev
-# 4 bytes parent 2 rev
+#  6 bytes: offset
+#  2 bytes: flags
+#  4 bytes: compressed length
+#  4 bytes: uncompressed length
+#  4 bytes: base rev
+#  4 bytes: link rev
+#  4 bytes: parent 1 rev
+#  4 bytes: parent 2 rev
 # 32 bytes: nodeid
 indexformatng = ">Qiiiiii20s12x"
 ngshaoffset = 32
@@ -444,7 +444,10 @@
         i = ''
         try:
             f = self.opener(self.indexfile)
-            i = f.read(_prereadsize)
+            if "nonlazy" in getattr(self.opener, 'options', {}):
+                i = f.read()
+            else:
+                i = f.read(_prereadsize)
             if len(i) > 0:
                 v = struct.unpack(versionformat, i[:4])[0]
         except IOError, inst:
@@ -848,6 +851,32 @@
                 c.append(self.node(r))
         return c
 
+    def descendant(self, start, end):
+        for i in self.descendants(start):
+            if i == end:
+                return True
+            elif i > end:
+                break
+        return False
+
+    def ancestor(self, a, b):
+        """calculate the least common ancestor of nodes a and b"""
+
+        # fast path, check if it is a descendant
+        a, b = self.rev(a), self.rev(b)
+        start, end = sorted((a, b))
+        if self.descendant(start, end):
+            return self.node(start)
+
+        def parents(rev):
+            return [p for p in self.parentrevs(rev) if p != nullrev]
+
+        c = ancestor.ancestor(a, b, parents)
+        if c is None:
+            return nullid
+
+        return self.node(c)
+
     def _match(self, id):
         if isinstance(id, (long, int)):
             # rev
@@ -1122,32 +1151,6 @@
             self._cache = (node, curr, text)
         return node
 
-    def descendant(self, start, end):
-        for i in self.descendants(start):
-            if i == end:
-                return True
-            elif i > end:
-                break
-        return False
-
-    def ancestor(self, a, b):
-        """calculate the least common ancestor of nodes a and b"""
-
-        # fast path, check if it is a descendant
-        a, b = self.rev(a), self.rev(b)
-        start, end = sorted((a, b))
-        if self.descendant(start, end):
-            return self.node(start)
-
-        def parents(rev):
-            return [p for p in self.parentrevs(rev) if p != nullrev]
-
-        c = ancestor.ancestor(a, b, parents)
-        if c is None:
-            return nullid
-
-        return self.node(c)
-
     def group(self, nodelist, lookup, infocollect=None):
         """Calculate a delta group, yielding a sequence of changegroup chunks
         (strings).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/revset.py	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,555 @@
+# revset.py - revision set queries for mercurial
+#
+# Copyright 2010 Matt Mackall <mpm@selenic.com>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+import re
+import parser, util, error, discovery
+import match as _match
+from i18n import _
+
+elements = {
+    "(": (20, ("group", 1, ")"), ("func", 1, ")")),
+    "-": (19, ("negate", 19), ("minus", 19)),
+    "::": (17, ("dagrangepre", 17), ("dagrange", 17),
+           ("dagrangepost", 17)),
+    "..": (17, ("dagrangepre", 17), ("dagrange", 17),
+           ("dagrangepost", 17)),
+    ":": (15, ("rangepre", 15), ("range", 15), ("rangepost", 15)),
+    "not": (10, ("not", 10)),
+    "!": (10, ("not", 10)),
+    "and": (5, None, ("and", 5)),
+    "&": (5, None, ("and", 5)),
+    "or": (4, None, ("or", 4)),
+    "|": (4, None, ("or", 4)),
+    "+": (4, None, ("or", 4)),
+    ",": (2, None, ("list", 2)),
+    ")": (0, None, None),
+    "symbol": (0, ("symbol",), None),
+    "string": (0, ("string",), None),
+    "end": (0, None, None),
+}
+
+keywords = set(['and', 'or', 'not'])
+
+def tokenize(program):
+    pos, l = 0, len(program)
+    while pos < l:
+        c = program[pos]
+        if c.isspace(): # skip inter-token whitespace
+            pass
+        elif c == ':' and program[pos:pos + 2] == '::': # look ahead carefully
+            yield ('::', None, pos)
+            pos += 1 # skip ahead
+        elif c == '.' and program[pos:pos + 2] == '..': # look ahead carefully
+            yield ('..', None, pos)
+            pos += 1 # skip ahead
+        elif c in "():,-|&+!": # handle simple operators
+            yield (c, None, pos)
+        elif c in '"\'': # handle quoted strings
+            pos += 1
+            s = pos
+            while pos < l: # find closing quote
+                d = program[pos]
+                if d == '\\': # skip over escaped characters
+                    pos += 2
+                    continue
+                if d == c:
+                    yield ('string', program[s:pos].decode('string-escape'), s)
+                    break
+                pos += 1
+            else:
+                raise error.ParseError(_("unterminated string"), s)
+        elif c.isalnum() or c in '._' or ord(c) > 127: # gather up a symbol/keyword
+            s = pos
+            pos += 1
+            while pos < l: # find end of symbol
+                d = program[pos]
+                if not (d.isalnum() or d in "._" or ord(d) > 127):
+                    break
+                if d == '.' and program[pos - 1] == '.': # special case for ..
+                    pos -= 1
+                    break
+                pos += 1
+            sym = program[s:pos]
+            if sym in keywords: # operator keywords
+                yield (sym, None, s)
+            else:
+                yield ('symbol', sym, s)
+            pos -= 1
+        else:
+            raise error.ParseError(_("syntax error"), pos)
+        pos += 1
+    yield ('end', None, pos)
+
+# helpers
+
+def getstring(x, err):
+    if x and (x[0] == 'string' or x[0] == 'symbol'):
+        return x[1]
+    raise error.ParseError(err)
+
+def getlist(x):
+    if not x:
+        return []
+    if x[0] == 'list':
+        return getlist(x[1]) + [x[2]]
+    return [x]
+
+def getargs(x, min, max, err):
+    l = getlist(x)
+    if len(l) < min or len(l) > max:
+        raise error.ParseError(err)
+    return l
+
+def getset(repo, subset, x):
+    if not x:
+        raise error.ParseError(_("missing argument"))
+    return methods[x[0]](repo, subset, *x[1:])
+
+# operator methods
+
+def negate(repo, subset, x):
+    return getset(repo, subset,
+                  ('string', '-' + getstring(x, _("can't negate that"))))
+
+def stringset(repo, subset, x):
+    x = repo[x].rev()
+    if x == -1 and len(subset) == len(repo):
+        return [-1]
+    if x in subset:
+        return [x]
+    return []
+
+def symbolset(repo, subset, x):
+    if x in symbols:
+        raise error.ParseError(_("can't use %s here") % x)
+    return stringset(repo, subset, x)
+
+def rangeset(repo, subset, x, y):
+    m = getset(repo, subset, x)[0]
+    n = getset(repo, subset, y)[-1]
+    if m < n:
+        return range(m, n + 1)
+    return range(m, n - 1, -1)
+
+def andset(repo, subset, x, y):
+    return getset(repo, getset(repo, subset, x), y)
+
+def orset(repo, subset, x, y):
+    s = set(getset(repo, subset, x))
+    s |= set(getset(repo, [r for r in subset if r not in s], y))
+    return [r for r in subset if r in s]
+
+def notset(repo, subset, x):
+    s = set(getset(repo, subset, x))
+    return [r for r in subset if r not in s]
+
+def listset(repo, subset, a, b):
+    raise error.ParseError(_("can't use a list in this context"))
+
+def func(repo, subset, a, b):
+    if a[0] == 'symbol' and a[1] in symbols:
+        return symbols[a[1]](repo, subset, b)
+    raise error.ParseError(_("not a function: %s") % a[1])
+
+# functions
+
+def p1(repo, subset, x):
+    ps = set()
+    cl = repo.changelog
+    for r in getset(repo, subset, x):
+        ps.add(cl.parentrevs(r)[0])
+    return [r for r in subset if r in ps]
+
+def p2(repo, subset, x):
+    ps = set()
+    cl = repo.changelog
+    for r in getset(repo, subset, x):
+        ps.add(cl.parentrevs(r)[1])
+    return [r for r in subset if r in ps]
+
+def parents(repo, subset, x):
+    ps = set()
+    cl = repo.changelog
+    for r in getset(repo, subset, x):
+        ps.update(cl.parentrevs(r))
+    return [r for r in subset if r in ps]
+
+def maxrev(repo, subset, x):
+    s = getset(repo, subset, x)
+    if s:
+        m = max(s)
+        if m in subset:
+            return [m]
+    return []
+
+def limit(repo, subset, x):
+    l = getargs(x, 2, 2, _("limit wants two arguments"))
+    try:
+        lim = int(getstring(l[1], _("limit wants a number")))
+    except ValueError:
+        raise error.ParseError(_("limit expects a number"))
+    return getset(repo, subset, l[0])[:lim]
+
+def children(repo, subset, x):
+    cs = set()
+    cl = repo.changelog
+    s = set(getset(repo, subset, x))
+    for r in xrange(0, len(repo)):
+        for p in cl.parentrevs(r):
+            if p in s:
+                cs.add(r)
+    return [r for r in subset if r in cs]
+
+def branch(repo, subset, x):
+    s = getset(repo, range(len(repo)), x)
+    b = set()
+    for r in s:
+        b.add(repo[r].branch())
+    s = set(s)
+    return [r for r in subset if r in s or repo[r].branch() in b]
+
+def ancestor(repo, subset, x):
+    l = getargs(x, 2, 2, _("ancestor wants two arguments"))
+    a = getset(repo, subset, l[0])
+    b = getset(repo, subset, l[1])
+    if len(a) > 1 or len(b) > 1:
+        raise error.ParseError(_("ancestor arguments must be single revisions"))
+    return [repo[a[0]].ancestor(repo[b[0]]).rev()]
+
+def ancestors(repo, subset, x):
+    args = getset(repo, range(len(repo)), x)
+    s = set(repo.changelog.ancestors(*args)) | set(args)
+    return [r for r in subset if r in s]
+
+def descendants(repo, subset, x):
+    args = getset(repo, range(len(repo)), x)
+    s = set(repo.changelog.descendants(*args)) | set(args)
+    return [r for r in subset if r in s]
+
+def follow(repo, subset, x):
+    getargs(x, 0, 0, _("follow takes no arguments"))
+    p = repo['.'].rev()
+    s = set(repo.changelog.ancestors(p)) | set([p])
+    return [r for r in subset if r in s]
+
+def date(repo, subset, x):
+    ds = getstring(x, _("date wants a string"))
+    dm = util.matchdate(ds)
+    return [r for r in subset if dm(repo[r].date()[0])]
+
+def keyword(repo, subset, x):
+    kw = getstring(x, _("keyword wants a string")).lower()
+    l = []
+    for r in subset:
+        c = repo[r]
+        t = " ".join(c.files() + [c.user(), c.description()])
+        if kw in t.lower():
+            l.append(r)
+    return l
+
+def grep(repo, subset, x):
+    gr = re.compile(getstring(x, _("grep wants a string")))
+    l = []
+    for r in subset:
+        c = repo[r]
+        for e in c.files() + [c.user(), c.description()]:
+            if gr.search(e):
+                l.append(r)
+                continue
+    return l
+
+def author(repo, subset, x):
+    n = getstring(x, _("author wants a string")).lower()
+    return [r for r in subset if n in repo[r].user().lower()]
+
+def hasfile(repo, subset, x):
+    pat = getstring(x, _("file wants a pattern"))
+    m = _match.match(repo.root, repo.getcwd(), [pat])
+    s = []
+    for r in subset:
+        for f in repo[r].files():
+            if m(f):
+                s.append(r)
+                continue
+    return s
+
+def contains(repo, subset, x):
+    pat = getstring(x, _("contains wants a pattern"))
+    m = _match.match(repo.root, repo.getcwd(), [pat])
+    s = []
+    if m.files() == [pat]:
+        for r in subset:
+            if pat in repo[r]:
+                s.append(r)
+                continue
+    else:
+        for r in subset:
+            for f in repo[r].manifest():
+                if m(f):
+                    s.append(r)
+                    continue
+    return s
+
+def checkstatus(repo, subset, pat, field):
+    m = _match.match(repo.root, repo.getcwd(), [pat])
+    s = []
+    fast = (m.files() == [pat])
+    for r in subset:
+        c = repo[r]
+        if fast:
+            if pat not in c.files():
+                continue
+        else:
+            for f in c.files():
+                if m(f):
+                    break
+            else:
+                continue
+        files = repo.status(c.p1().node(), c.node())[field]
+        if fast:
+            if pat in files:
+                s.append(r)
+                continue
+        else:
+            for f in files:
+                if m(f):
+                    s.append(r)
+                    continue
+    return s
+
+def modifies(repo, subset, x):
+    pat = getstring(x, _("modifies wants a pattern"))
+    return checkstatus(repo, subset, pat, 0)
+
+def adds(repo, subset, x):
+    pat = getstring(x, _("adds wants a pattern"))
+    return checkstatus(repo, subset, pat, 1)
+
+def removes(repo, subset, x):
+    pat = getstring(x, _("removes wants a pattern"))
+    return checkstatus(repo, subset, pat, 2)
+
+def merge(repo, subset, x):
+    getargs(x, 0, 0, _("merge takes no arguments"))
+    cl = repo.changelog
+    return [r for r in subset if cl.parentrevs(r)[1] != -1]
+
+def closed(repo, subset, x):
+    getargs(x, 0, 0, _("closed takes no arguments"))
+    return [r for r in subset if repo[r].extra().get('close')]
+
+def head(repo, subset, x):
+    getargs(x, 0, 0, _("head takes no arguments"))
+    hs = set()
+    for b, ls in repo.branchmap().iteritems():
+        hs.update(repo[h].rev() for h in ls)
+    return [r for r in subset if r in hs]
+
+def reverse(repo, subset, x):
+    l = getset(repo, subset, x)
+    l.reverse()
+    return l
+
+def sort(repo, subset, x):
+    l = getargs(x, 1, 2, _("sort wants one or two arguments"))
+    keys = "rev"
+    if len(l) == 2:
+        keys = getstring(l[1], _("sort spec must be a string"))
+
+    s = l[0]
+    keys = keys.split()
+    l = []
+    def invert(s):
+        return "".join(chr(255 - ord(c)) for c in s)
+    for r in getset(repo, subset, s):
+        c = repo[r]
+        e = []
+        for k in keys:
+            if k == 'rev':
+                e.append(r)
+            elif k == '-rev':
+                e.append(-r)
+            elif k == 'branch':
+                e.append(c.branch())
+            elif k == '-branch':
+                e.append(invert(c.branch()))
+            elif k == 'desc':
+                e.append(c.description())
+            elif k == '-desc':
+                e.append(invert(c.description()))
+            elif k in 'user author':
+                e.append(c.user())
+            elif k in '-user -author':
+                e.append(invert(c.user()))
+            elif k == 'date':
+                e.append(c.date()[0])
+            elif k == '-date':
+                e.append(-c.date()[0])
+            else:
+                raise error.ParseError(_("unknown sort key %r") % k)
+        e.append(r)
+        l.append(e)
+    l.sort()
+    return [e[-1] for e in l]
+
+def getall(repo, subset, x):
+    getargs(x, 0, 0, _("all takes no arguments"))
+    return subset
+
+def heads(repo, subset, x):
+    s = getset(repo, subset, x)
+    ps = set(parents(repo, subset, x))
+    return [r for r in s if r not in ps]
+
+def roots(repo, subset, x):
+    s = getset(repo, subset, x)
+    cs = set(children(repo, subset, x))
+    return [r for r in s if r not in cs]
+
+def outgoing(repo, subset, x):
+    import hg # avoid start-up nasties
+    l = getargs(x, 0, 1, _("outgoing wants a repository path"))
+    dest = l[1:] or ''
+    dest = repo.ui.expandpath(dest or 'default-push', dest or 'default')
+    dest, branches = hg.parseurl(dest)
+    other = hg.repository(hg.remoteui(repo, {}), dest)
+    repo.ui.pushbuffer()
+    o = discovery.findoutgoing(repo, other)
+    repo.ui.popbuffer()
+    cl = repo.changelog
+    o = set([cl.rev(r) for r in repo.changelog.nodesbetween(o, None)[0]])
+    print 'out', dest, o
+    return [r for r in subset if r in o]
+
+def tagged(repo, subset, x):
+    getargs(x, 0, 0, _("tagged takes no arguments"))
+    cl = repo.changelog
+    s = set([cl.rev(n) for t, n in repo.tagslist() if t != 'tip'])
+    return [r for r in subset if r in s]
+
+symbols = {
+    "adds": adds,
+    "all": getall,
+    "ancestor": ancestor,
+    "ancestors": ancestors,
+    "author": author,
+    "branch": branch,
+    "children": children,
+    "closed": closed,
+    "contains": contains,
+    "date": date,
+    "descendants": descendants,
+    "file": hasfile,
+    "follow": follow,
+    "grep": grep,
+    "head": head,
+    "heads": heads,
+    "keyword": keyword,
+    "limit": limit,
+    "max": maxrev,
+    "merge": merge,
+    "modifies": modifies,
+    "outgoing": outgoing,
+    "p1": p1,
+    "p2": p2,
+    "parents": parents,
+    "removes": removes,
+    "reverse": reverse,
+    "roots": roots,
+    "sort": sort,
+    "tagged": tagged,
+    "user": author,
+}
+
+methods = {
+    "negate": negate,
+    "range": rangeset,
+    "string": stringset,
+    "symbol": symbolset,
+    "and": andset,
+    "or": orset,
+    "not": notset,
+    "list": listset,
+    "func": func,
+}
+
+def optimize(x, small):
+    if x == None:
+        return 0, x
+
+    smallbonus = 1
+    if small:
+        smallbonus = .5
+
+    op = x[0]
+    if op == 'minus':
+        return optimize(('and', x[1], ('not', x[2])), small)
+    elif op == 'dagrange':
+        return optimize(('and', ('func', ('symbol', 'descendants'), x[1]),
+                         ('func', ('symbol', 'ancestors'), x[2])), small)
+    elif op == 'dagrangepre':
+        return optimize(('func', ('symbol', 'ancestors'), x[1]), small)
+    elif op == 'dagrangepost':
+        return optimize(('func', ('symbol', 'descendants'), x[1]), small)
+    elif op == 'rangepre':
+        return optimize(('range', ('string', '0'), x[1]), small)
+    elif op == 'rangepost':
+        return optimize(('range', x[1], ('string', 'tip')), small)
+    elif op in 'string symbol negate':
+        return smallbonus, x # single revisions are small
+    elif op == 'and' or op == 'dagrange':
+        wa, ta = optimize(x[1], True)
+        wb, tb = optimize(x[2], True)
+        w = min(wa, wb)
+        if wa > wb:
+            return w, (op, tb, ta)
+        return w, (op, ta, tb)
+    elif op == 'or':
+        wa, ta = optimize(x[1], False)
+        wb, tb = optimize(x[2], False)
+        if wb < wa:
+            wb, wa = wa, wb
+        return max(wa, wb), (op, ta, tb)
+    elif op == 'not':
+        o = optimize(x[1], not small)
+        return o[0], (op, o[1])
+    elif op == 'group':
+        return optimize(x[1], small)
+    elif op in 'range list':
+        wa, ta = optimize(x[1], small)
+        wb, tb = optimize(x[2], small)
+        return wa + wb, (op, ta, tb)
+    elif op == 'func':
+        f = getstring(x[1], _("not a symbol"))
+        wa, ta = optimize(x[2], small)
+        if f in "grep date user author keyword branch file":
+            w = 10 # slow
+        elif f in "modifies adds removes outgoing":
+            w = 30 # slower
+        elif f == "contains":
+            w = 100 # very slow
+        elif f == "ancestor":
+            w = 1 * smallbonus
+        elif f == "reverse limit":
+            w = 0
+        elif f in "sort":
+            w = 10 # assume most sorts look at changelog
+        else:
+            w = 1
+        return w + wa, (op, x[1], ta)
+    return 1, x
+
+parse = parser.parser(tokenize, elements).parse
+
+def match(spec):
+    if not spec:
+        raise error.ParseError(_("empty query"))
+    tree = parse(spec)
+    weight, tree = optimize(tree, True)
+    def mfunc(repo, subset):
+        return getset(repo, subset, tree)
+    return mfunc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/similar.py	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,103 @@
+# similar.py - mechanisms for finding similar files
+#
+# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+from i18n import _
+import util
+import mdiff
+import bdiff
+
+def _findexactmatches(repo, added, removed):
+    '''find renamed files that have no changes
+
+    Takes a list of new filectxs and a list of removed filectxs, and yields
+    (before, after) tuples of exact matches.
+    '''
+    numfiles = len(added) + len(removed)
+
+    # Get hashes of removed files.
+    hashes = {}
+    for i, fctx in enumerate(removed):
+        repo.ui.progress(_('searching for exact renames'), i, total=numfiles)
+        h = util.sha1(fctx.data()).digest()
+        hashes[h] = fctx
+
+    # For each added file, see if it corresponds to a removed file.
+    for i, fctx in enumerate(added):
+        repo.ui.progress(_('searching for exact renames'), i + len(removed),
+                total=numfiles)
+        h = util.sha1(fctx.data()).digest()
+        if h in hashes:
+            yield (hashes[h], fctx)
+
+    # Done
+    repo.ui.progress(_('searching for exact renames'), None)
+
+def _findsimilarmatches(repo, added, removed, threshold):
+    '''find potentially renamed files based on similar file content
+
+    Takes a list of new filectxs and a list of removed filectxs, and yields
+    (before, after, score) tuples of partial matches.
+    '''
+    copies = {}
+    for i, r in enumerate(removed):
+        repo.ui.progress(_('searching for similar files'), i, total=len(removed))
+
+        # lazily load text
+        @util.cachefunc
+        def data():
+            orig = r.data()
+            return orig, mdiff.splitnewlines(orig)
+
+        def score(text):
+            orig, lines = data()
+            # bdiff.blocks() returns blocks of matching lines
+            # count the number of bytes in each
+            equal = 0
+            matches = bdiff.blocks(text, orig)
+            for x1, x2, y1, y2 in matches:
+                for line in lines[y1:y2]:
+                    equal += len(line)
+
+            lengths = len(text) + len(orig)
+            return equal * 2.0 / lengths
+
+        for a in added:
+            bestscore = copies.get(a, (None, threshold))[1]
+            myscore = score(a.data())
+            if myscore >= bestscore:
+                copies[a] = (r, myscore)
+    repo.ui.progress(_('searching'), None)
+
+    for dest, v in copies.iteritems():
+        source, score = v
+        yield source, dest, score
+
+def findrenames(repo, added, removed, threshold):
+    '''find renamed files -- yields (before, after, score) tuples'''
+    parentctx = repo['.']
+    workingctx = repo[None]
+
+    # Zero length files will be frequently unrelated to each other, and
+    # tracking the deletion/addition of such a file will probably cause more
+    # harm than good. We strip them out here to avoid matching them later on.
+    addedfiles = set([workingctx[fp] for fp in added
+            if workingctx[fp].size() > 0])
+    removedfiles = set([parentctx[fp] for fp in removed
+            if fp in parentctx and parentctx[fp].size() > 0])
+
+    # Find exact matches.
+    for (a, b) in _findexactmatches(repo,
+            sorted(addedfiles), sorted(removedfiles)):
+        addedfiles.remove(b)
+        yield (a.path(), b.path(), 1.0)
+
+    # If the user requested similar files to be matched, search for them also.
+    if threshold < 1.0:
+        for (a, b, score) in _findsimilarmatches(repo,
+                sorted(addedfiles), sorted(removedfiles), threshold):
+            yield (a.path(), b.path(), score)
+
--- a/mercurial/sshrepo.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/sshrepo.py	Mon Jun 21 13:41:11 2010 -0500
@@ -117,7 +117,7 @@
     def do_cmd(self, cmd, **args):
         self.ui.debug("sending %s command\n" % cmd)
         self.pipeo.write("%s\n" % cmd)
-        for k, v in args.iteritems():
+        for k, v in sorted(args.iteritems()):
             self.pipeo.write("%s %d\n" % (k, len(v)))
             self.pipeo.write(v)
         self.pipeo.flush()
@@ -217,6 +217,10 @@
         return self.do_cmd("changegroupsubset", bases=bases, heads=heads)
 
     def unbundle(self, cg, heads, source):
+        '''Send cg (a readable file-like object representing the
+        changegroup to push, typically a chunkbuffer object) to the
+        remote server as a bundle. Return an integer indicating the
+        result of the push (see localrepository.addchangegroup()).'''
         d = self.call("unbundle", heads=' '.join(map(hex, heads)))
         if d:
             # remote may send "unsynced changes"
@@ -242,6 +246,9 @@
             self.abort(error.ResponseError(_("unexpected response:"), r))
 
     def addchangegroup(self, cg, source, url):
+        '''Send a changegroup to the remote server.  Return an integer
+        similar to unbundle(). DEPRECATED, since it requires locking the
+        remote.'''
         d = self.call("addchangegroup")
         if d:
             self.abort(error.RepoError(_("push refused: %s") % d))
@@ -266,4 +273,21 @@
     def stream_out(self):
         return self.do_cmd('stream_out')
 
+    def pushkey(self, namespace, key, old, new):
+        if not self.capable('pushkey'):
+            return False
+        d = self.call("pushkey",
+                      namespace=namespace, key=key, old=old, new=new)
+        return bool(int(d))
+
+    def listkeys(self, namespace):
+        if not self.capable('pushkey'):
+            return {}
+        d = self.call("listkeys", namespace=namespace)
+        r = {}
+        for l in d.splitlines():
+            k, v = l.split('\t')
+            r[k.decode('string-escape')] = v.decode('string-escape')
+        return r
+
 instance = sshrepository
--- a/mercurial/sshserver.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/sshserver.py	Mon Jun 21 13:41:11 2010 -0500
@@ -8,12 +8,12 @@
 
 from i18n import _
 from node import bin, hex
-import streamclone, util, hook
+import streamclone, util, hook, pushkey
 import os, sys, tempfile, urllib, copy
 
 class sshserver(object):
 
-    caps = 'unbundle lookup changegroupsubset branchmap'.split()
+    caps = 'unbundle lookup changegroupsubset branchmap pushkey'.split()
 
     def __init__(self, ui, repo):
         self.ui = ui
@@ -223,3 +223,18 @@
         except streamclone.StreamException, inst:
             self.fout.write(str(inst))
             self.fout.flush()
+
+    def do_pushkey(self):
+        arg, key = self.getarg()
+        arg, namespace = self.getarg()
+        arg, new = self.getarg()
+        arg, old = self.getarg()
+        r = pushkey.push(self.repo, namespace, key, old, new)
+        self.respond('%s\n' % int(r))
+
+    def do_listkeys(self):
+        arg, namespace = self.getarg()
+        d = pushkey.list(self.repo, namespace).items()
+        t = '\n'.join(['%s\t%s' % (k.encode('string-escape'),
+                                   v.encode('string-escape')) for k, v in d])
+        self.respond(t)
--- a/mercurial/statichttprepo.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/statichttprepo.py	Mon Jun 21 13:41:11 2010 -0500
@@ -77,6 +77,7 @@
             return httprangereader(f, urlopener)
         return o
 
+    opener.options = {'nonlazy': 1}
     return opener
 
 class statichttprepository(localrepo.localrepository):
--- a/mercurial/streamclone.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/streamclone.py	Mon Jun 21 13:41:11 2010 -0500
@@ -6,7 +6,6 @@
 # GNU General Public License version 2 or any later version.
 
 import util, error
-from i18n import _
 
 from mercurial import store
 
--- a/mercurial/subrepo.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/subrepo.py	Mon Jun 21 13:41:11 2010 -0500
@@ -5,7 +5,7 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-import errno, os, re, xml.dom.minidom, shutil
+import errno, os, re, xml.dom.minidom, shutil, urlparse, posixpath
 from i18n import _
 import config, util, node, error
 hg = None
@@ -126,6 +126,14 @@
     # record merged .hgsubstate
     writestate(repo, sm)
 
+def relpath(sub):
+    if not hasattr(sub, '_repo'):
+        return sub._path
+    parent = sub._repo
+    while hasattr(parent, '_subparent'):
+        parent = parent._subparent
+    return sub._repo.root[len(parent.root)+1:]
+
 def _abssource(repo, push=False):
     if hasattr(repo, '_subparent'):
         source = repo._subsource
@@ -135,8 +143,12 @@
         if '://' in parent:
             if parent[-1] == '/':
                 parent = parent[:-1]
-            return parent + '/' + source
-        return os.path.join(parent, repo._subsource)
+            r = urlparse.urlparse(parent + '/' + source)
+            r = urlparse.urlunparse((r[0], r[1],
+                                     posixpath.normpath(r[2]),
+                                     r[3], r[4], r[5]))
+            return r
+        return posixpath.normpath(os.path.join(parent, repo._subsource))
     if push and repo.ui.config('paths', 'default-push'):
         return repo.ui.config('paths', 'default-push', repo.root)
     return repo.ui.config('paths', 'default', repo.root)
@@ -210,7 +222,7 @@
         return w.dirty() # working directory changed
 
     def commit(self, text, user, date):
-        self._repo.ui.debug("committing subrepo %s\n" % self._path)
+        self._repo.ui.debug("committing subrepo %s\n" % relpath(self))
         n = self._repo.commit(text, user, date)
         if not n:
             return self._repo['.'].hex() # different version checked out
@@ -219,7 +231,7 @@
     def remove(self):
         # we can't fully delete the repository as it may contain
         # local-only history
-        self._repo.ui.note(_('removing subrepo %s\n') % self._path)
+        self._repo.ui.note(_('removing subrepo %s\n') % relpath(self))
         hg.clean(self._repo, node.nullid, False)
 
     def _get(self, state):
@@ -228,8 +240,9 @@
             self._repo.lookup(revision)
         except error.RepoError:
             self._repo._subsource = source
-            self._repo.ui.status(_('pulling subrepo %s\n') % self._path)
             srcurl = _abssource(self._repo)
+            self._repo.ui.status(_('pulling subrepo %s from %s\n')
+                                 % (relpath(self), srcurl))
             other = hg.repository(self._repo.ui, srcurl)
             self._repo.pull(other)
 
@@ -245,12 +258,12 @@
         dst = self._repo[state[1]]
         anc = dst.ancestor(cur)
         if anc == cur:
-            self._repo.ui.debug("updating subrepo %s\n" % self._path)
+            self._repo.ui.debug("updating subrepo %s\n" % relpath(self))
             hg.update(self._repo, state[1])
         elif anc == dst:
-            self._repo.ui.debug("skipping subrepo %s\n" % self._path)
+            self._repo.ui.debug("skipping subrepo %s\n" % relpath(self))
         else:
-            self._repo.ui.debug("merging subrepo %s\n" % self._path)
+            self._repo.ui.debug("merging subrepo %s\n" % relpath(self))
             hg.merge(self._repo, state[1], remind=False)
 
     def push(self, force):
@@ -261,8 +274,9 @@
             if not c.sub(s).push(force):
                 return False
 
-        self._repo.ui.status(_('pushing subrepo %s\n') % self._path)
         dsturl = _abssource(self._repo, True)
+        self._repo.ui.status(_('pushing subrepo %s to %s\n') %
+            (relpath(self), dsturl))
         other = hg.repository(self._repo.ui, dsturl)
         return self._repo.push(other, force)
 
--- a/mercurial/tags.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/tags.py	Mon Jun 21 13:41:11 2010 -0500
@@ -15,49 +15,12 @@
 import encoding
 import error
 
-def _debugalways(ui, *msg):
-    ui.write(*msg)
-
-def _debugconditional(ui, *msg):
-    ui.debug(*msg)
-
-def _debugnever(ui, *msg):
-    pass
-
-_debug = _debugalways
-_debug = _debugnever
-
-def findglobaltags1(ui, repo, alltags, tagtypes):
+def findglobaltags(ui, repo, alltags, tagtypes):
     '''Find global tags in repo by reading .hgtags from every head that
-    has a distinct version of it.  Updates the dicts alltags, tagtypes
-    in place: alltags maps tag name to (node, hist) pair (see _readtags()
-    below), and tagtypes maps tag name to tag type ('global' in this
-    case).'''
-
-    seen = set()
-    fctx = None
-    ctxs = []                       # list of filectx
-    for node in repo.heads():
-        try:
-            fnode = repo[node].filenode('.hgtags')
-        except error.LookupError:
-            continue
-        if fnode not in seen:
-            seen.add(fnode)
-            if not fctx:
-                fctx = repo.filectx('.hgtags', fileid=fnode)
-            else:
-                fctx = fctx.filectx(fnode)
-            ctxs.append(fctx)
-
-    # read the tags file from each head, ending with the tip
-    for fctx in reversed(ctxs):
-        filetags = _readtags(
-            ui, repo, fctx.data().splitlines(), fctx)
-        _updatetags(filetags, "global", alltags, tagtypes)
-
-def findglobaltags2(ui, repo, alltags, tagtypes):
-    '''Same as findglobaltags1(), but with caching.'''
+    has a distinct version of it, using a cache to avoid excess work.
+    Updates the dicts alltags, tagtypes in place: alltags maps tag name
+    to (node, hist) pair (see _readtags() below), and tagtypes maps tag
+    name to tag type ("global" in this case).'''
     # This is so we can be lazy and assume alltags contains only global
     # tags when we pass it to _writetagcache().
     assert len(alltags) == len(tagtypes) == 0, \
@@ -72,8 +35,6 @@
         _updatetags(cachetags, 'global', alltags, tagtypes)
         return
 
-    _debug(ui, "reading tags from %d head(s): %s\n"
-           % (len(heads), map(short, reversed(heads))))
     seen = set()                    # set of fnode
     fctx = None
     for head in reversed(heads):        # oldest to newest
@@ -95,9 +56,6 @@
     if shouldwrite:
         _writetagcache(ui, repo, heads, tagfnode, alltags)
 
-# Set this to findglobaltags1 to disable tag caching.
-findglobaltags = findglobaltags2
-
 def readlocaltags(ui, repo, alltags, tagtypes):
     '''Read local tags in repo.  Update alltags and tagtypes.'''
     try:
@@ -199,7 +157,6 @@
         cachefile = repo.opener('tags.cache', 'r')
         # force reading the file for static-http
         cachelines = iter(cachefile)
-        _debug(ui, 'reading tag cache from %s\n' % cachefile.name)
     except IOError:
         cachefile = None
 
@@ -238,7 +195,6 @@
     # But, thanks to localrepository.destroyed(), it also means none
     # have been destroyed by strip or rollback.)
     if cacheheads and cacheheads[0] == tipnode and cacherevs[0] == tiprev:
-        _debug(ui, "tag cache: tip unchanged\n")
         tags = _readtags(ui, repo, cachelines, cachefile.name)
         cachefile.close()
         return (None, None, tags, False)
@@ -252,36 +208,21 @@
         return ([], {}, {}, False)
 
     # Case 3 (uncommon): cache file missing or empty.
-    if not cacheheads:
-        _debug(ui, 'tag cache: cache file missing or empty\n')
 
     # Case 4 (uncommon): tip rev decreased.  This should only happen
     # when we're called from localrepository.destroyed().  Refresh the
     # cache so future invocations will not see disappeared heads in the
     # cache.
-    elif cacheheads and tiprev < cacherevs[0]:
-        _debug(ui,
-               'tag cache: tip rev decremented (from %d to %d), '
-               'so we must be destroying nodes\n'
-               % (cacherevs[0], tiprev))
 
     # Case 5 (common): tip has changed, so we've added/replaced heads.
-    else:
-        _debug(ui,
-               'tag cache: tip has changed (%d:%s); must find new heads\n'
-               % (tiprev, short(tipnode)))
 
-    # Luckily, the code to handle cases 3, 4, 5 is the same.  So the
-    # above if/elif/else can disappear once we're confident this thing
-    # actually works and we don't need the debug output.
+    # As it happens, the code to handle cases 3, 4, 5 is the same.
 
     # N.B. in case 4 (nodes destroyed), "new head" really means "newly
     # exposed".
     newheads = [head
                 for head in repoheads
                 if head not in set(cacheheads)]
-    _debug(ui, 'tag cache: found %d head(s) not in cache: %s\n'
-           % (len(newheads), map(short, newheads)))
 
     # Now we have to lookup the .hgtags filenode for every new head.
     # This is the most expensive part of finding tags, so performance
@@ -306,7 +247,6 @@
         cachefile = repo.opener('tags.cache', 'w', atomictemp=True)
     except (OSError, IOError):
         return
-    _debug(ui, 'writing cache file %s\n' % cachefile.name)
 
     realheads = repo.heads()            # for sanity checks below
     for head in heads:
@@ -339,4 +279,3 @@
         cachefile.write("%s %s\n" % (hex(node), name))
 
     cachefile.rename()
-    cachefile.close()
--- a/mercurial/templatefilters.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/templatefilters.py	Mon Jun 21 13:41:11 2010 -0500
@@ -5,7 +5,7 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-import cgi, re, os, time, urllib, textwrap
+import cgi, re, os, time, urllib
 import util, encoding
 
 def stringify(thing):
@@ -14,15 +14,13 @@
         return "".join([stringify(t) for t in thing if t is not None])
     return str(thing)
 
-agescales = [("second", 1),
-             ("minute", 60),
-             ("hour", 3600),
-             ("day", 3600 * 24),
+agescales = [("year", 3600 * 24 * 365),
+             ("month", 3600 * 24 * 30),
              ("week", 3600 * 24 * 7),
-             ("month", 3600 * 24 * 30),
-             ("year", 3600 * 24 * 365)]
-
-agescales.reverse()
+             ("day", 3600 * 24),
+             ("hour", 3600),
+             ("minute", 60),
+             ("second", 1)]
 
 def age(date):
     '''turn a (timestamp, tzoff) tuple into an age string.'''
@@ -63,15 +61,17 @@
         while True:
             m = para_re.search(text, start)
             if not m:
-                w = len(text)
-                while w > start and text[w - 1].isspace():
+                uctext = unicode(text[start:], encoding.encoding)
+                w = len(uctext)
+                while 0 < w and uctext[w - 1].isspace():
                     w -= 1
-                yield text[start:w], text[w:]
+                yield (uctext[:w].encode(encoding.encoding),
+                       uctext[w:].encode(encoding.encoding))
                 break
             yield text[start:m.start(0)], m.group(1)
             start = m.end(1)
 
-    return "".join([space_re.sub(' ', textwrap.fill(para, width)) + rest
+    return "".join([space_re.sub(' ', util.wrap(para, width=width)) + rest
                     for para, rest in findparas()])
 
 def firstline(text):
--- a/mercurial/templater.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/templater.py	Mon Jun 21 13:41:11 2010 -0500
@@ -6,12 +6,30 @@
 # GNU General Public License version 2 or any later version.
 
 from i18n import _
-import re, sys, os
+import sys, os
 import util, config, templatefilters
 
 path = ['templates', '../templates']
 stringify = templatefilters.stringify
 
+def _flatten(thing):
+    '''yield a single stream from a possibly nested set of iterators'''
+    if isinstance(thing, str):
+        yield thing
+    elif not hasattr(thing, '__iter__'):
+        if thing is not None:
+            yield str(thing)
+    else:
+        for i in thing:
+            if isinstance(i, str):
+                yield i
+            elif not hasattr(i, '__iter__'):
+                if i is not None:
+                    yield str(i)
+            elif i is not None:
+                for j in _flatten(i):
+                    yield j
+
 def parsestring(s, quoted=True):
     '''parse a string using simple c-like syntax.
     string must be in quotes if quoted is True.'''
@@ -42,97 +60,107 @@
     filter uses function to transform value. syntax is
     {key|filter1|filter2|...}.'''
 
-    template_re = re.compile(r'{([\w\|%]+)}')
+    def __init__(self, loader, filters={}, defaults={}):
+        self._loader = loader
+        self._filters = filters
+        self._defaults = defaults
+        self._cache = {}
 
-    def __init__(self, loader, filters={}, defaults={}):
-        self.loader = loader
-        self.filters = filters
-        self.defaults = defaults
-        self.cache = {}
+    def process(self, t, mapping):
+        '''Perform expansion. t is name of map element to expand.
+        mapping contains added elements for use during expansion. Is a
+        generator.'''
+        return _flatten(self._process(self._load(t), mapping))
+
+    def _load(self, t):
+        '''load, parse, and cache a template'''
+        if t not in self._cache:
+            self._cache[t] = self._parse(self._loader(t))
+        return self._cache[t]
 
-    def process(self, t, map):
-        '''Perform expansion. t is name of map element to expand. map contains
-        added elements for use during expansion. Is a generator.'''
-        tmpl = self.loader(t)
-        iters = [self._process(tmpl, map)]
-        while iters:
-            try:
-                item = iters[0].next()
-            except StopIteration:
-                iters.pop(0)
-                continue
-            if isinstance(item, str):
-                yield item
-            elif item is None:
-                yield ''
-            elif hasattr(item, '__iter__'):
-                iters.insert(0, iter(item))
-            else:
-                yield str(item)
+    def _get(self, mapping, key):
+        v = mapping.get(key)
+        if v is None:
+            v = self._defaults.get(key, '')
+        if hasattr(v, '__call__'):
+            v = v(**mapping)
+        return v
 
-    def _format(self, expr, get, map):
-        key, format = expr.split('%')
-        v = get(key)
+    def _filter(self, mapping, parts):
+        filters, val = parts
+        x = self._get(mapping, val)
+        for f in filters:
+            x = f(x)
+        return x
+
+    def _format(self, mapping, args):
+        key, parsed = args
+        v = self._get(mapping, key)
         if not hasattr(v, '__iter__'):
-            raise SyntaxError(_("error expanding '%s%%%s'") % (key, format))
-        lm = map.copy()
+            raise SyntaxError(_("error expanding '%s%%%s'")
+                              % (key, format))
+        lm = mapping.copy()
         for i in v:
             if isinstance(i, dict):
                 lm.update(i)
-                yield self.process(format, lm)
+                yield self._process(parsed, lm)
             else:
                 # v is not an iterable of dicts, this happen when 'key'
                 # has been fully expanded already and format is useless.
                 # If so, return the expanded value.
                 yield i
 
-    def _filter(self, expr, get, map):
-        if expr not in self.cache:
-            parts = expr.split('|')
-            val = parts[0]
-            try:
-                filters = [self.filters[f] for f in parts[1:]]
-            except KeyError, i:
-                raise SyntaxError(_("unknown filter '%s'") % i[0])
-            def apply(get):
-                x = get(val)
-                for f in filters:
-                    x = f(x)
-                return x
-            self.cache[expr] = apply
-        return self.cache[expr](get)
+    def _parse(self, tmpl):
+        '''preparse a template'''
+        parsed = []
+        pos, stop = 0, len(tmpl)
+        while pos < stop:
+            n = tmpl.find('{', pos)
+            if n < 0:
+                parsed.append((None, tmpl[pos:stop]))
+                break
+            if n > 0 and tmpl[n - 1] == '\\':
+                # escaped
+                parsed.append((None, tmpl[pos:n - 1] + "{"))
+                pos = n + 1
+                continue
+            if n > pos:
+                parsed.append((None, tmpl[pos:n]))
 
-    def _process(self, tmpl, map):
-        '''Render a template. Returns a generator.'''
-
-        def get(key):
-            v = map.get(key)
-            if v is None:
-                v = self.defaults.get(key, '')
-            if hasattr(v, '__call__'):
-                v = v(**map)
-            return v
-
-        while tmpl:
-            m = self.template_re.search(tmpl)
-            if not m:
-                yield tmpl
+            pos = n
+            n = tmpl.find('}', pos)
+            if n < 0:
+                # no closing
+                parsed.append((None, tmpl[pos:stop]))
                 break
 
-            start, end = m.span(0)
-            variants = m.groups()
-            expr = variants[0] or variants[1]
-
-            if start:
-                yield tmpl[:start]
-            tmpl = tmpl[end:]
+            expr = tmpl[pos + 1:n]
+            pos = n + 1
 
             if '%' in expr:
-                yield self._format(expr, get, map)
+                key, t = expr.split('%')
+                parsed.append((self._format, (key.strip(),
+                                              self._load(t.strip()))))
             elif '|' in expr:
-                yield self._filter(expr, get, map)
+                parts = expr.split('|')
+                val = parts[0].strip()
+                try:
+                    filters = [self._filters[f.strip()] for f in parts[1:]]
+                except KeyError, i:
+                    raise SyntaxError(_("unknown filter '%s'") % i[0])
+                parsed.append((self._filter, (filters, val)))
             else:
-                yield get(expr)
+                parsed.append((self._get, expr.strip()))
+
+        return parsed
+
+    def _process(self, parsed, mapping):
+        '''Render a template. Returns a generator.'''
+        for f, e in parsed:
+            if f:
+                yield f(mapping, e)
+            else:
+                yield e
 
 engines = {'default': engine}
 
@@ -188,14 +216,14 @@
                               (self.map[t][1], inst.args[1]))
         return self.cache[t]
 
-    def __call__(self, t, **map):
+    def __call__(self, t, **mapping):
         ttype = t in self.map and self.map[t][0] or 'default'
         proc = self.engines.get(ttype)
         if proc is None:
             proc = engines[ttype](self.load, self.filters, self.defaults)
             self.engines[ttype] = proc
 
-        stream = proc.process(t, map)
+        stream = proc.process(t, mapping)
         if self.minchunk:
             stream = util.increasingchunks(stream, min=self.minchunk,
                                            max=self.maxchunk)
--- a/mercurial/templates/gitweb/graph.tmpl	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/templates/gitweb/graph.tmpl	Mon Jun 21 13:41:11 2010 -0500
@@ -50,7 +50,7 @@
 var graph = new Graph();
 graph.scale({bg_height});
 
-graph.edge = function(x0, y0, x1, y1, color) {
+graph.edge = function(x0, y0, x1, y1, color) \{
 	
 	this.setColor(color, 0.0, 0.65);
 	this.ctx.beginPath();
@@ -65,7 +65,7 @@
 revlink += '</span> _TAGS';
 revlink += '<span class="info">_DATE, by _USER</span></li>';
 
-graph.vertex = function(x, y, color, parity, cur) {
+graph.vertex = function(x, y, color, parity, cur) \{
 	
 	this.ctx.beginPath();
 	color = this.setColor(color, 0.25, 0.75);
@@ -84,17 +84,17 @@
 	item = item.replace(/_DATE/, cur[5]);
 	
 	var tagspan = '';
-	if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
+	if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{
 		tagspan = '<span class="logtags">';
-		if (cur[6][1]) {
+		if (cur[6][1]) \{
 			tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
 			tagspan += cur[6][0] + '</span> ';
-		} else if (!cur[6][1] && cur[6][0] != 'default') {
+		} else if (!cur[6][1] && cur[6][0] != 'default') \{
 			tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
 			tagspan += cur[6][0] + '</span> ';
 		}
-		if (cur[7].length) {
-			for (var t in cur[7]) {
+		if (cur[7].length) \{
+			for (var t in cur[7]) \{
 				var tag = cur[7][t];
 				tagspan += '<span class="tagtag">' + tag + '</span> ';
 			}
--- a/mercurial/templates/monoblue/graph.tmpl	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/templates/monoblue/graph.tmpl	Mon Jun 21 13:41:11 2010 -0500
@@ -48,7 +48,7 @@
     var graph = new Graph();
     graph.scale({bg_height});
 
-    graph.edge = function(x0, y0, x1, y1, color) {
+    graph.edge = function(x0, y0, x1, y1, color) \{
 
         this.setColor(color, 0.0, 0.65);
         this.ctx.beginPath();
@@ -62,7 +62,7 @@
     revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
     revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>';
 
-    graph.vertex = function(x, y, color, parity, cur) {
+    graph.vertex = function(x, y, color, parity, cur) \{
 
         this.ctx.beginPath();
         color = this.setColor(color, 0.25, 0.75);
@@ -81,17 +81,17 @@
         item = item.replace(/_DATE/, cur[5]);
 
         var tagspan = '';
-        if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
+        if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{
             tagspan = '<span class="logtags">';
-            if (cur[6][1]) {
+            if (cur[6][1]) \{
                 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
                 tagspan += cur[6][0] + '</span> ';
-            } else if (!cur[6][1] && cur[6][0] != 'default') {
+            } else if (!cur[6][1] && cur[6][0] != 'default') \{
                 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
                 tagspan += cur[6][0] + '</span> ';
             }
-            if (cur[7].length) {
-                for (var t in cur[7]) {
+            if (cur[7].length) \{
+                for (var t in cur[7]) \{
                     var tag = cur[7][t];
                     tagspan += '<span class="tagtag">' + tag + '</span> ';
                 }
--- a/mercurial/templates/paper/graph.tmpl	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/templates/paper/graph.tmpl	Mon Jun 21 13:41:11 2010 -0500
@@ -59,7 +59,7 @@
 var graph = new Graph();
 graph.scale({bg_height});
 
-graph.edge = function(x0, y0, x1, y1, color) {
+graph.edge = function(x0, y0, x1, y1, color) \{
 	
 	this.setColor(color, 0.0, 0.65);
 	this.ctx.beginPath();
@@ -73,7 +73,7 @@
 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
 revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>';
 
-graph.vertex = function(x, y, color, parity, cur) {
+graph.vertex = function(x, y, color, parity, cur) \{
 	
 	this.ctx.beginPath();
 	color = this.setColor(color, 0.25, 0.75);
@@ -92,17 +92,17 @@
 	item = item.replace(/_DATE/, cur[5]);
 
 	var tagspan = '';
-	if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
+	if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{
 		tagspan = '<span class="logtags">';
-		if (cur[6][1]) {
+		if (cur[6][1]) \{
 			tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
 			tagspan += cur[6][0] + '</span> ';
-		} else if (!cur[6][1] && cur[6][0] != 'default') {
+		} else if (!cur[6][1] && cur[6][0] != 'default') \{
 			tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
 			tagspan += cur[6][0] + '</span> ';
 		}
-		if (cur[7].length) {
-			for (var t in cur[7]) {
+		if (cur[7].length) \{
+			for (var t in cur[7]) \{
 				var tag = cur[7][t];
 				tagspan += '<span class="tag">' + tag + '</span> ';
 			}
--- a/mercurial/templates/spartan/graph.tmpl	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/templates/spartan/graph.tmpl	Mon Jun 21 13:41:11 2010 -0500
@@ -43,7 +43,7 @@
 var graph = new Graph();
 graph.scale({bg_height});
 
-graph.edge = function(x0, y0, x1, y1, color) {
+graph.edge = function(x0, y0, x1, y1, color) \{
 	
 	this.setColor(color, 0.0, 0.65);
 	this.ctx.beginPath();
@@ -57,7 +57,7 @@
 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
 revlink += '</span><span class="info">_DATE, by _USER</span></li>';
 
-graph.vertex = function(x, y, color, parity, cur) {
+graph.vertex = function(x, y, color, parity, cur) \{
 	
 	this.ctx.beginPath();
 	color = this.setColor(color, 0.25, 0.75);
--- a/mercurial/transaction.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/transaction.py	Mon Jun 21 13:41:11 2010 -0500
@@ -43,6 +43,7 @@
 class transaction(object):
     def __init__(self, report, opener, journal, after=None, createmode=None):
         self.count = 1
+        self.usages = 1
         self.report = report
         self.opener = opener
         self.after = after
@@ -108,8 +109,16 @@
     @active
     def nest(self):
         self.count += 1
+        self.usages += 1
         return self
 
+    def release(self):
+        if self.count > 0:
+            self.usages -= 1
+        # of the transaction scopes are left without being closed, fail
+        if self.count > 0 and self.usages == 0:
+            self._abort()
+
     def running(self):
         return self.count > 0
 
@@ -136,6 +145,7 @@
 
     def _abort(self):
         self.count = 0
+        self.usages = 0
         self.file.close()
 
         try:
--- a/mercurial/ui.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/ui.py	Mon Jun 21 13:41:11 2010 -0500
@@ -154,11 +154,83 @@
 
     def configlist(self, section, name, default=None, untrusted=False):
         """Return a list of comma/space separated strings"""
+
+        def _parse_plain(parts, s, offset):
+            whitespace = False
+            while offset < len(s) and (s[offset].isspace() or s[offset] == ','):
+                whitespace = True
+                offset += 1
+            if offset >= len(s):
+                return None, parts, offset
+            if whitespace:
+                parts.append('')
+            if s[offset] == '"' and not parts[-1]:
+                return _parse_quote, parts, offset + 1
+            elif s[offset] == '"' and parts[-1][-1] == '\\':
+                parts[-1] = parts[-1][:-1] + s[offset]
+                return _parse_plain, parts, offset + 1
+            parts[-1] += s[offset]
+            return _parse_plain, parts, offset + 1
+
+        def _parse_quote(parts, s, offset):
+            if offset < len(s) and s[offset] == '"': # ""
+                parts.append('')
+                offset += 1
+                while offset < len(s) and (s[offset].isspace() or
+                        s[offset] == ','):
+                    offset += 1
+                return _parse_plain, parts, offset
+
+            while offset < len(s) and s[offset] != '"':
+                if (s[offset] == '\\' and offset + 1 < len(s)
+                        and s[offset + 1] == '"'):
+                    offset += 1
+                    parts[-1] += '"'
+                else:
+                    parts[-1] += s[offset]
+                offset += 1
+
+            if offset >= len(s):
+                real_parts = _configlist(parts[-1])
+                if not real_parts:
+                    parts[-1] = '"'
+                else:
+                    real_parts[0] = '"' + real_parts[0]
+                    parts = parts[:-1]
+                    parts.extend(real_parts)
+                return None, parts, offset
+
+            offset += 1
+            while offset < len(s) and s[offset] in [' ', ',']:
+                offset += 1
+
+            if offset < len(s):
+                if offset + 1 == len(s) and s[offset] == '"':
+                    parts[-1] += '"'
+                    offset += 1
+                else:
+                    parts.append('')
+            else:
+                return None, parts, offset
+
+            return _parse_plain, parts, offset
+
+        def _configlist(s):
+            s = s.rstrip(' ,')
+            if not s:
+                return None
+            parser, parts, offset = _parse_plain, [''], 0
+            while parser:
+                parser, parts, offset = parser(parts, s, offset)
+            return parts
+
         result = self.config(section, name, untrusted=untrusted)
         if result is None:
             result = default or []
         if isinstance(result, basestring):
-            result = result.replace(",", " ").split()
+            result = _configlist(result.lstrip(' ,\n'))
+            if result is None:
+                result = default or []
         return result
 
     def has_section(self, section, untrusted=False):
@@ -181,6 +253,16 @@
                 yield section, name, str(value).replace('\n', '\\n')
 
     def plain(self):
+        '''is plain mode active?
+
+        Plain mode means that all configuration variables which affect the
+        behavior and output of Mercurial should be ignored. Additionally, the
+        output should be stable, reproducible and suitable for use in scripts or
+        applications.
+
+        The only way to trigger plain mode is by setting the `HGPLAIN'
+        environment variable.
+        '''
         return 'HGPLAIN' in os.environ
 
     def username(self):
@@ -194,6 +276,8 @@
         user = os.environ.get("HGUSER")
         if user is None:
             user = self.config("ui", "username")
+            if user is not None:
+                user = os.path.expandvars(user)
         if user is None:
             user = os.environ.get("EMAIL")
         if user is None and self.configbool("ui", "askusername"):
@@ -239,17 +323,42 @@
     def pushbuffer(self):
         self._buffers.append([])
 
-    def popbuffer(self):
+    def popbuffer(self, labeled=False):
+        '''pop the last buffer and return the buffered output
+
+        If labeled is True, any labels associated with buffered
+        output will be handled. By default, this has no effect
+        on the output returned, but extensions and GUI tools may
+        handle this argument and returned styled output. If output
+        is being buffered so it can be captured and parsed or
+        processed, labeled should not be set to True.
+        '''
         return "".join(self._buffers.pop())
 
-    def write(self, *args):
+    def write(self, *args, **opts):
+        '''write args to output
+
+        By default, this method simply writes to the buffer or stdout,
+        but extensions or GUI tools may override this method,
+        write_err(), popbuffer(), and label() to style output from
+        various parts of hg.
+
+        An optional keyword argument, "label", can be passed in.
+        This should be a string containing label names separated by
+        space. Label names take the form of "topic.type". For example,
+        ui.debug() issues a label of "ui.debug".
+
+        When labeling output for a specific command, a label of
+        "cmdname.type" is recommended. For example, status issues
+        a label of "status.modified" for modified files.
+        '''
         if self._buffers:
             self._buffers[-1].extend([str(a) for a in args])
         else:
             for a in args:
                 sys.stdout.write(str(a))
 
-    def write_err(self, *args):
+    def write_err(self, *args, **opts):
         try:
             if not getattr(sys.stdout, 'closed', False):
                 sys.stdout.flush()
@@ -260,7 +369,7 @@
             if not getattr(sys.stderr, 'closed', False):
                 sys.stderr.flush()
         except IOError, inst:
-            if inst.errno != errno.EPIPE:
+            if inst.errno not in (errno.EPIPE, errno.EIO):
                 raise
 
     def flush(self):
@@ -270,6 +379,19 @@
         except: pass
 
     def interactive(self):
+        '''is interactive input allowed?
+
+        An interactive session is a session where input can be reasonably read
+        from `sys.stdin'. If this function returns false, any attempt to read
+        from stdin should fail with an error, unless a sensible default has been
+        specified.
+
+        Interactiveness is triggered by the value of the `ui.interactive'
+        configuration variable or - if it is unset - when `sys.stdin' points
+        to a terminal device.
+
+        This function refers to input only; for output, see `ui.formatted()'.
+        '''
         i = self.configbool("ui", "interactive", None)
         if i is None:
             try:
@@ -281,6 +403,37 @@
 
         return i
 
+    def formatted(self):
+        '''should formatted output be used?
+
+        It is often desirable to format the output to suite the output medium.
+        Examples of this are truncating long lines or colorizing messages.
+        However, this is not often not desirable when piping output into other
+        utilities, e.g. `grep'.
+
+        Formatted output is triggered by the value of the `ui.formatted'
+        configuration variable or - if it is unset - when `sys.stdout' points
+        to a terminal device. Please note that `ui.formatted' should be
+        considered an implementation detail; it is not intended for use outside
+        Mercurial or its extensions.
+
+        This function refers to output only; for input, see `ui.interactive()'.
+        This function always returns false when in plain mode, see `ui.plain()'.
+        '''
+        if self.plain():
+            return False
+
+        i = self.configbool("ui", "formatted", None)
+        if i is None:
+            try:
+                return sys.stdout.isatty()
+            except AttributeError:
+                # some environments replace stdout without implementing isatty
+                # usually those are non-interactive
+                return False
+
+        return i
+
     def _readline(self, prompt=''):
         if sys.stdin.isatty():
             try:
@@ -335,17 +488,37 @@
             return getpass.getpass(prompt or _('password: '))
         except EOFError:
             raise util.Abort(_('response expected'))
-    def status(self, *msg):
+    def status(self, *msg, **opts):
+        '''write status message to output (if ui.quiet is False)
+
+        This adds an output label of "ui.status".
+        '''
         if not self.quiet:
-            self.write(*msg)
-    def warn(self, *msg):
-        self.write_err(*msg)
-    def note(self, *msg):
+            opts['label'] = opts.get('label', '') + ' ui.status'
+            self.write(*msg, **opts)
+    def warn(self, *msg, **opts):
+        '''write warning message to output (stderr)
+
+        This adds an output label of "ui.warning".
+        '''
+        opts['label'] = opts.get('label', '') + ' ui.warning'
+        self.write_err(*msg, **opts)
+    def note(self, *msg, **opts):
+        '''write note to output (if ui.verbose is True)
+
+        This adds an output label of "ui.note".
+        '''
         if self.verbose:
-            self.write(*msg)
-    def debug(self, *msg):
+            opts['label'] = opts.get('label', '') + ' ui.note'
+            self.write(*msg, **opts)
+    def debug(self, *msg, **opts):
+        '''write debug message to output (if ui.debugflag is True)
+
+        This adds an output label of "ui.debug".
+        '''
         if self.debugflag:
-            self.write(*msg)
+            opts['label'] = opts.get('label', '') + ' ui.debug'
+            self.write(*msg, **opts)
     def edit(self, text, user):
         (fd, name) = tempfile.mkstemp(prefix="hg-editor-", suffix=".txt",
                                       text=True)
@@ -417,3 +590,15 @@
                      % (topic, item, pos, total, unit, pct))
         else:
             self.debug('%s:%s %s%s\n' % (topic, item, pos, unit))
+
+    def label(self, msg, label):
+        '''style msg based on supplied label
+
+        Like ui.write(), this just returns msg unchanged, but extensions
+        and GUI tools can override it to allow styling output without
+        writing it.
+
+        ui.write(s, 'label') is equivalent to
+        ui.write(ui.label(s, 'label')).
+        '''
+        return msg
--- a/mercurial/url.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/url.py	Mon Jun 21 13:41:11 2010 -0500
@@ -556,6 +556,13 @@
                 return
             raise
 
+    # Python 2.6.5 will keep resetting the retry count on redirects, for
+    # example when the server returns 401 on failing auth (like google code
+    # currently does). We stop the endless recursion by not resetting the
+    # count.
+    def reset_retry_count(self):
+        pass
+
 def getauthinfo(path):
     scheme, netloc, urlpath, query, frag = urlparse.urlsplit(path)
     if not urlpath:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/util.h	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,63 @@
+/*
+ util.h - utility functions for interfacing with the various python APIs.
+
+ This software may be used and distributed according to the terms of
+ the GNU General Public License, incorporated herein by reference.
+*/
+
+#ifndef _HG_UTIL_H_
+#define _HG_UTIL_H_
+
+#if PY_MAJOR_VERSION >= 3
+
+#define IS_PY3K
+#define PyInt_FromLong PyLong_FromLong
+
+#endif /* PY_MAJOR_VERSION */
+
+/* Backports from 2.6 */
+#if PY_VERSION_HEX < 0x02060000
+
+#define Py_TYPE(ob) (ob)->ob_type
+#define Py_SIZE(ob) (ob)->ob_size
+#define PyVarObject_HEAD_INIT(type, size) PyObject_HEAD_INIT(type) size,
+
+/* Shamelessly stolen from bytesobject.h */
+#define PyBytesObject PyStringObject
+#define PyBytes_Type PyString_Type
+
+#define PyBytes_Check PyString_Check
+#define PyBytes_CheckExact PyString_CheckExact
+#define PyBytes_CHECK_INTERNED PyString_CHECK_INTERNED
+#define PyBytes_AS_STRING PyString_AS_STRING
+#define PyBytes_GET_SIZE PyString_GET_SIZE
+#define Py_TPFLAGS_BYTES_SUBCLASS Py_TPFLAGS_STRING_SUBCLASS
+
+#define PyBytes_FromStringAndSize PyString_FromStringAndSize
+#define PyBytes_FromString PyString_FromString
+#define PyBytes_FromFormatV PyString_FromFormatV
+#define PyBytes_FromFormat PyString_FromFormat
+#define PyBytes_Size PyString_Size
+#define PyBytes_AsString PyString_AsString
+#define PyBytes_Repr PyString_Repr
+#define PyBytes_Concat PyString_Concat
+#define PyBytes_ConcatAndDel PyString_ConcatAndDel
+#define _PyBytes_Resize _PyString_Resize
+#define _PyBytes_Eq _PyString_Eq
+#define PyBytes_Format PyString_Format
+#define _PyBytes_FormatLong _PyString_FormatLong
+#define PyBytes_DecodeEscape PyString_DecodeEscape
+#define _PyBytes_Join _PyString_Join
+#define PyBytes_Decode PyString_Decode
+#define PyBytes_Encode PyString_Encode
+#define PyBytes_AsEncodedObject PyString_AsEncodedObject
+#define PyBytes_AsEncodedString PyString_AsEncodedString
+#define PyBytes_AsDecodedObject PyString_AsDecodedObject
+#define PyBytes_AsDecodedString PyString_AsDecodedString
+#define PyBytes_AsStringAndSize PyString_AsStringAndSize
+#define _PyBytes_InsertThousandsGrouping _PyString_InsertThousandsGrouping
+
+#endif /* PY_VERSION_HEX */
+
+#endif /* _HG_UTIL_H_ */
+
--- a/mercurial/util.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/util.py	Mon Jun 21 13:41:11 2010 -0500
@@ -16,7 +16,7 @@
 from i18n import _
 import error, osutil, encoding
 import cStringIO, errno, re, shutil, sys, tempfile, traceback
-import os, stat, time, calendar, textwrap, signal
+import os, stat, time, calendar, textwrap, unicodedata, signal
 import imp
 
 # Python compatibility
@@ -36,6 +36,13 @@
     _fastsha1 = sha1 = _sha1
     return _sha1(s)
 
+import __builtin__
+
+def fakebuffer(sliceable, offset=0):
+    return sliceable[offset:]
+if not hasattr(__builtin__, 'buffer'):
+    __builtin__.buffer = fakebuffer
+
 import subprocess
 closefds = os.name == 'posix'
 
@@ -446,12 +453,14 @@
         hardlink = (os.stat(src).st_dev ==
                     os.stat(os.path.dirname(dst)).st_dev)
 
+    num = 0
     if os.path.isdir(src):
         os.mkdir(dst)
         for name, kind in osutil.listdir(src):
             srcname = os.path.join(src, name)
             dstname = os.path.join(dst, name)
-            hardlink = copyfiles(srcname, dstname, hardlink)
+            hardlink, n = copyfiles(srcname, dstname, hardlink)
+            num += n
     else:
         if hardlink:
             try:
@@ -461,8 +470,9 @@
                 shutil.copy(src, dst)
         else:
             shutil.copy(src, dst)
+        num += 1
 
-    return hardlink
+    return hardlink, num
 
 class path_auditor(object):
     '''ensure that a filesystem path contains no banned components.
@@ -767,7 +777,7 @@
     file.  When rename is called, the copy is renamed to the original
     name, making the changes visible.
     """
-    def __init__(self, name, mode, createmode):
+    def __init__(self, name, mode='w+b', createmode=None):
         self.__name = name
         self._fp = None
         self.temp = mktempcopy(name, emptyok=('w' in mode),
@@ -1247,21 +1257,49 @@
     # Avoid double backslash in Windows path repr()
     return repr(s).replace('\\\\', '\\')
 
-def wrap(line, hangindent, width=None):
+#### naming convention of below implementation follows 'textwrap' module
+
+class MBTextWrapper(textwrap.TextWrapper):
+    def __init__(self, **kwargs):
+        textwrap.TextWrapper.__init__(self, **kwargs)
+
+    def _cutdown(self, str, space_left):
+        l = 0
+        ucstr = unicode(str, encoding.encoding)
+        w = unicodedata.east_asian_width
+        for i in xrange(len(ucstr)):
+            l += w(ucstr[i]) in 'WFA' and 2 or 1
+            if space_left < l:
+                return (ucstr[:i].encode(encoding.encoding),
+                        ucstr[i:].encode(encoding.encoding))
+        return str, ''
+
+    # ----------------------------------------
+    # overriding of base class
+
+    def _handle_long_word(self, reversed_chunks, cur_line, cur_len, width):
+        space_left = max(width - cur_len, 1)
+
+        if self.break_long_words:
+            cut, res = self._cutdown(reversed_chunks[-1], space_left)
+            cur_line.append(cut)
+            reversed_chunks[-1] = res
+        elif not cur_line:
+            cur_line.append(reversed_chunks.pop())
+
+#### naming convention of above implementation follows 'textwrap' module
+
+def wrap(line, width=None, initindent='', hangindent=''):
     if width is None:
         width = termwidth() - 2
-    if width <= hangindent:
+    maxindent = max(len(hangindent), len(initindent))
+    if width <= maxindent:
         # adjust for weird terminal size
-        width = max(78, hangindent + 1)
-    padding = '\n' + ' ' * hangindent
-    # To avoid corrupting multi-byte characters in line, we must wrap
-    # a Unicode string instead of a bytestring.
-    try:
-        u = line.decode(encoding.encoding)
-        w = padding.join(textwrap.wrap(u, width=width - hangindent))
-        return w.encode(encoding.encoding)
-    except UnicodeDecodeError:
-        return padding.join(textwrap.wrap(line, width=width - hangindent))
+        width = max(78, maxindent + 1)
+    wrapper = MBTextWrapper(width=width,
+                            initial_indent=initindent,
+                            subsequent_indent=hangindent)
+    return wrapper.fill(line)
 
 def iterlines(iterator):
     for chunk in iterator:
--- a/mercurial/verify.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/verify.py	Mon Jun 21 13:41:11 2010 -0500
@@ -122,7 +122,7 @@
     checklog(cl, "changelog", 0)
     total = len(repo)
     for i in repo:
-        ui.progress(_('checking'), i, total=total)
+        ui.progress(_('changesets'), i, total=total)
         n = cl.node(i)
         checkentry(cl, i, n, seen, [i], "changelog")
 
@@ -133,14 +133,14 @@
                 filelinkrevs.setdefault(f, []).append(i)
         except Exception, inst:
             exc(i, _("unpacking changeset %s") % short(n), inst)
-    ui.progress(_('checking'), None)
+    ui.progress(_('changesets'), None)
 
     ui.status(_("checking manifests\n"))
     seen = {}
     checklog(mf, "manifest", 0)
     total = len(mf)
     for i in mf:
-        ui.progress(_('checking'), i, total=total)
+        ui.progress(_('manifests'), i, total=total)
         n = mf.node(i)
         lr = checkentry(mf, i, n, seen, mflinkrevs.get(n, []), "manifest")
         if n in mflinkrevs:
@@ -156,7 +156,7 @@
                     filenodes.setdefault(f, {}).setdefault(fn, lr)
         except Exception, inst:
             exc(lr, _("reading manifest delta %s") % short(n), inst)
-    ui.progress(_('checking'), None)
+    ui.progress(_('manifests'), None)
 
     ui.status(_("crosschecking files in changesets and manifests\n"))
 
--- a/mercurial/win32.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/win32.py	Mon Jun 21 13:41:11 2010 -0500
@@ -16,7 +16,7 @@
 import win32api
 
 import errno, os, sys, pywintypes, win32con, win32file, win32process
-import winerror, win32gui
+import winerror, win32gui, win32console
 import osutil, encoding
 from win32com.shell import shell, shellcon
 
@@ -32,7 +32,7 @@
                 pass
             # Fake hardlinking error
             raise OSError(errno.EINVAL, 'Hardlinking not supported')
-    except pywintypes.error, details:
+    except pywintypes.error:
         raise OSError(errno.EINVAL, 'target implements hardlinks improperly')
     except NotImplementedError: # Another fake error win Win98
         raise OSError(errno.EINVAL, 'Hardlinking not supported')
@@ -189,3 +189,16 @@
 
     pid =  win32process.GetCurrentProcessId()
     win32gui.EnumWindows(callback, pid)
+
+def termwidth_():
+    try:
+        # Query stderr to avoid problems with redirections
+        screenbuf = win32console.GetStdHandle(win32console.STD_ERROR_HANDLE)
+        try:
+            window = screenbuf.GetConsoleScreenBufferInfo()['Window']
+            width = window.Right - window.Left
+            return width
+        finally:
+            screenbuf.Detach()
+    except pywintypes.error:
+        return 79
--- a/mercurial/windows.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/mercurial/windows.py	Mon Jun 21 13:41:11 2010 -0500
@@ -363,6 +363,10 @@
     # current line but on the new one. Keep room for it.
     return 79
 
+def groupmembers(name):
+    # Don't support groups on Windows for now
+    raise KeyError()
+
 try:
     # override functions with win32 versions if possible
     from win32 import *
--- a/setup.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/setup.py	Mon Jun 21 13:41:11 2010 -0500
@@ -37,7 +37,6 @@
 import tempfile
 from distutils.core import setup, Extension
 from distutils.dist import Distribution
-from distutils.command.install_data import install_data
 from distutils.command.build import build
 from distutils.command.build_py import build_py
 from distutils.spawn import spawn, find_executable
--- a/tests/get-with-headers.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/get-with-headers.py	Mon Jun 21 13:41:11 2010 -0500
@@ -3,7 +3,7 @@
 """This does HTTP GET requests given a host:port and path and returns
 a subset of the headers plus the body of the result."""
 
-import httplib, sys, re
+import httplib, sys
 
 try:
     import msvcrt, os
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/helpers.sh	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,17 @@
+#/bin/sh
+
+hideport() { sed "s/localhost:$HGPORT/localhost:\$HGPORT/"; }
+
+repr() { python -c "import sys; print repr(sys.stdin.read()).replace('\\n', '\n')"; }
+
+hidehex() { python -c 'import sys, re; print re.replace("\b[0-9A-Fa-f]{12,40}", "X" * 12)'; }
+
+hidetmp() { sed "s/$HGTMP/\$HGTMP/"; }
+
+hidebackup() { sed 's/\(saved backup bundle to \).*/\1/'; }
+
+cleanrebase() {
+    sed -e 's/\(Rebase status stored to\).*/\1/'  \
+        -e 's/\(Rebase status restored from\).*/\1/' \
+        -e 's/\(saved backup bundle to \).*/\1/';
+}
--- a/tests/hghave	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/hghave	Mon Jun 21 13:41:11 2010 -0500
@@ -120,12 +120,12 @@
 def has_git():
     return matchoutput('git --version 2>&1', r'^git version')
 
-def has_rst2html():
-    for name in ('rst2html', 'rst2html.py'):
-        name = name + ' --version 2>&1'
-        if matchoutput(name, r'^rst2html(?:\.py)? \(Docutils'):
-            return True
-    return False
+def has_docutils():
+    try:
+        from docutils.core import publish_cmdline
+        return True
+    except ImportError:
+        return False
 
 def has_svn():
     return matchoutput('svn --version 2>&1', r'^svn, version') and \
@@ -198,7 +198,7 @@
     "outer-repo": (has_outer_repo, "outer repo"),
     "p4": (has_p4, "Perforce server and client"),
     "pygments": (has_pygments, "Pygments source highlighting library"),
-    "rst2html": (has_rst2html, "Docutils rst2html tool"),
+    "docutils": (has_docutils, "Docutils text processing library"),
     "svn": (has_svn, "subversion client and admin tools"),
     "svn-bindings": (has_svn_bindings, "subversion python bindings"),
     "symlink": (has_symlink, "symbolic links"),
--- a/tests/killdaemons.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/killdaemons.py	Mon Jun 21 13:41:11 2010 -0500
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-import os, sys, time, errno, signal
+import os, time, errno, signal
 
 # Kill off any leftover daemon processes
 try:
--- a/tests/run-tests.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/run-tests.py	Mon Jun 21 13:41:11 2010 -0500
@@ -46,9 +46,8 @@
 import errno
 import optparse
 import os
-import signal
+import shutil
 import subprocess
-import shutil
 import signal
 import sys
 import tempfile
@@ -70,6 +69,9 @@
 SKIPPED_PREFIX = 'skipped: '
 FAILED_PREFIX  = 'hghave check failed: '
 PYTHON = sys.executable
+IMPL_PATH = 'PYTHONPATH'
+if 'java' in sys.platform:
+    IMPL_PATH = 'JYTHONPATH'
 
 requiredtools = ["python", "diff", "grep", "unzip", "gunzip", "bunzip2", "sed"]
 
@@ -81,34 +83,43 @@
 
 def parseargs():
     parser = optparse.OptionParser("%prog [options] [tests]")
+
+    # keep these sorted
+    parser.add_option("--blacklist", action="append",
+        help="skip tests listed in the specified blacklist file")
     parser.add_option("-C", "--annotate", action="store_true",
         help="output files annotated with coverage")
     parser.add_option("--child", type="int",
         help="run as child process, summary to given fd")
     parser.add_option("-c", "--cover", action="store_true",
         help="print a test coverage report")
+    parser.add_option("-d", "--debug", action="store_true",
+        help="debug mode: write output of test scripts to console"
+             " rather than capturing and diff'ing it (disables timeout)")
     parser.add_option("-f", "--first", action="store_true",
         help="exit on the first test failure")
+    parser.add_option("--inotify", action="store_true",
+        help="enable inotify extension when running tests")
     parser.add_option("-i", "--interactive", action="store_true",
         help="prompt to accept changed output")
     parser.add_option("-j", "--jobs", type="int",
         help="number of jobs to run in parallel"
              " (default: $%s or %d)" % defaults['jobs'])
-    parser.add_option("-k", "--keywords",
-        help="run tests matching keywords")
     parser.add_option("--keep-tmpdir", action="store_true",
         help="keep temporary directory after running tests")
-    parser.add_option("--tmpdir", type="string",
-        help="run tests in the given temporary directory"
-             " (implies --keep-tmpdir)")
-    parser.add_option("-d", "--debug", action="store_true",
-        help="debug mode: write output of test scripts to console"
-             " rather than capturing and diff'ing it (disables timeout)")
-    parser.add_option("-R", "--restart", action="store_true",
-        help="restart at last error")
+    parser.add_option("-k", "--keywords",
+        help="run tests matching keywords")
+    parser.add_option("-l", "--local", action="store_true",
+        help="shortcut for --with-hg=<testdir>/../hg")
+    parser.add_option("-n", "--nodiff", action="store_true",
+        help="skip showing test changes")
     parser.add_option("-p", "--port", type="int",
         help="port on which servers should listen"
              " (default: $%s or %d)" % defaults['port'])
+    parser.add_option("--pure", action="store_true",
+        help="use pure Python code instead of C extensions")
+    parser.add_option("-R", "--restart", action="store_true",
+        help="restart at last error")
     parser.add_option("-r", "--retest", action="store_true",
         help="retest failed tests")
     parser.add_option("-S", "--noskips", action="store_true",
@@ -116,30 +127,29 @@
     parser.add_option("-t", "--timeout", type="int",
         help="kill errant tests after TIMEOUT seconds"
              " (default: $%s or %d)" % defaults['timeout'])
+    parser.add_option("--tmpdir", type="string",
+        help="run tests in the given temporary directory"
+             " (implies --keep-tmpdir)")
     parser.add_option("-v", "--verbose", action="store_true",
         help="output verbose messages")
-    parser.add_option("-n", "--nodiff", action="store_true",
-        help="skip showing test changes")
+    parser.add_option("--view", type="string",
+        help="external diff viewer")
     parser.add_option("--with-hg", type="string",
         metavar="HG",
         help="test using specified hg script rather than a "
              "temporary installation")
-    parser.add_option("--local", action="store_true",
-        help="shortcut for --with-hg=<testdir>/../hg")
-    parser.add_option("--pure", action="store_true",
-        help="use pure Python code instead of C extensions")
     parser.add_option("-3", "--py3k-warnings", action="store_true",
         help="enable Py3k warnings on Python 2.6+")
-    parser.add_option("--inotify", action="store_true",
-        help="enable inotify extension when running tests")
-    parser.add_option("--blacklist", action="append",
-        help="skip tests listed in the specified blacklist file")
 
     for option, default in defaults.items():
         defaults[option] = int(os.environ.get(*default))
     parser.set_defaults(**defaults)
     (options, args) = parser.parse_args()
 
+    # jython is always pure
+    if 'java' in sys.platform or '__pypy__' in sys.modules:
+        options.pure = True
+
     if options.with_hg:
         if not (os.path.isfile(options.with_hg) and
                 os.access(options.with_hg, os.X_OK)):
@@ -565,6 +575,7 @@
     mark = '.'
 
     skipped = (ret == SKIPPED_STATUS)
+
     # If we're not in --debug mode and reference output file exists,
     # check test output against it.
     if options.debug:
@@ -576,6 +587,13 @@
     else:
         refout = []
 
+    if (ret != 0 or out != refout) and not skipped and not options.debug:
+        # Save errors to a file for diagnosis
+        f = open(err, "wb")
+        for line in out:
+            f.write(line)
+        f.close()
+
     if skipped:
         mark = 's'
         if out is None:                 # debug mode: nothing to parse
@@ -597,7 +615,10 @@
         else:
             fail("output changed")
         if not options.nodiff:
-            showdiff(refout, out, ref, err)
+            if options.view:
+                os.system("%s %s %s" % (options.view, ref, err))
+            else:
+                showdiff(refout, out, ref, err)
         ret = 1
     elif ret:
         mark = '!'
@@ -607,13 +628,6 @@
         sys.stdout.write(mark)
         sys.stdout.flush()
 
-    if ret != 0 and not skipped and not options.debug:
-        # Save errors to a file for diagnosis
-        f = open(err, "wb")
-        for line in out:
-            f.write(line)
-        f.close()
-
     killdaemons()
 
     os.chdir(TESTDIR)
@@ -843,6 +857,7 @@
     os.environ["EMAIL"] = "Foo Bar <foo.bar@example.com>"
     os.environ['CDPATH'] = ''
     os.environ['COLUMNS'] = '80'
+    os.environ['GREP_OPTIONS'] = ''
     os.environ['http_proxy'] = ''
 
     # unset env related to hooks
@@ -914,10 +929,10 @@
         # it, in case external libraries are only available via current
         # PYTHONPATH.  (In particular, the Subversion bindings on OS X
         # are in /opt/subversion.)
-        oldpypath = os.environ.get('PYTHONPATH')
+        oldpypath = os.environ.get(IMPL_PATH)
         if oldpypath:
             pypath.append(oldpypath)
-        os.environ['PYTHONPATH'] = os.pathsep.join(pypath)
+        os.environ[IMPL_PATH] = os.pathsep.join(pypath)
 
     COVERAGE_FILE = os.path.join(TESTDIR, ".coverage")
 
@@ -938,7 +953,7 @@
     vlog("# Using TESTDIR", TESTDIR)
     vlog("# Using HGTMP", HGTMP)
     vlog("# Using PATH", os.environ["PATH"])
-    vlog("# Using PYTHONPATH", os.environ["PYTHONPATH"])
+    vlog("# Using", IMPL_PATH, os.environ[IMPL_PATH])
 
     try:
         if len(tests) > 1 and options.jobs > 1:
--- a/tests/svn/branches.svndump	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/svn/branches.svndump	Mon Jun 21 13:41:11 2010 -0500
@@ -1,6 +1,6 @@
 SVN-fs-dump-format-version: 2
 
-UUID: 9ccdebd5-40da-43b4-a9c9-c2857851ccaf
+UUID: 644ede6c-2b81-4367-9dc8-d786514f2cde
 
 Revision-number: 0
 Prop-content-length: 56
@@ -9,7 +9,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:21.767874Z
+2010-05-19T20:16:07.429098Z
 PROPS-END
 
 Revision-number: 1
@@ -27,7 +27,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:21.795557Z
+2010-05-19T20:16:07.461283Z
 PROPS-END
 
 Node-path: branches
@@ -63,7 +63,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:22.069417Z
+2010-05-19T20:16:08.121436Z
 PROPS-END
 
 Node-path: branches/notinbranch
@@ -155,7 +155,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:25.067407Z
+2010-05-19T20:16:11.113124Z
 PROPS-END
 
 Node-path: branches/old
@@ -188,7 +188,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:27.042834Z
+2010-05-19T20:16:13.060877Z
 PROPS-END
 
 Node-path: trunk/a
@@ -218,7 +218,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:28.045031Z
+2010-05-19T20:16:14.066212Z
 PROPS-END
 
 Node-path: branches/old/b
@@ -248,7 +248,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:30.049884Z
+2010-05-19T20:16:16.069449Z
 PROPS-END
 
 Node-path: branches/old/c
@@ -286,7 +286,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:31.044711Z
+2010-05-19T20:16:17.070868Z
 PROPS-END
 
 Node-path: branches/old/b
@@ -317,7 +317,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:34.043552Z
+2010-05-19T20:16:20.063098Z
 PROPS-END
 
 Node-path: branches/old2
@@ -346,7 +346,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:36.042680Z
+2010-05-19T20:16:22.062931Z
 PROPS-END
 
 Node-path: branches/old
@@ -375,7 +375,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:37.043714Z
+2010-05-19T20:16:23.075562Z
 PROPS-END
 
 Node-path: trunk/a
@@ -404,7 +404,7 @@
 K 8
 svn:date
 V 27
-2010-05-19T19:36:39.044703Z
+2010-05-19T20:16:25.107655Z
 PROPS-END
 
 Node-path: branches/old3
--- a/tests/test-acl	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-acl	Mon Jun 21 13:41:11 2010 -0500
@@ -7,7 +7,7 @@
 
     echo "Pushing as user $user"
     echo 'hgrc = """'
-    sed -e 1,2d b/.hg/hgrc
+    sed -e 1,2d b/.hg/hgrc | grep -v fakegroups.py
     echo '"""'
     if test -f acl.config; then
 	echo 'acl.config = """'
@@ -24,6 +24,30 @@
     echo
 }
 
+init_config()
+{
+cat > fakegroups.py <<EOF
+from hgext import acl
+def fakegetusers(ui, group):
+    try:
+        return acl._getusersorig(ui, group)
+    except:
+        return ["fred", "betty"]
+acl._getusersorig = acl._getusers
+acl._getusers = fakegetusers
+EOF
+
+rm -f acl.config
+cat > $config <<EOF
+[hooks]
+pretxnchangegroup.acl = python:hgext.acl.hook
+[acl]
+sources = push
+[extensions]
+f=$PWD/fakegroups.py
+EOF
+}
+
 hg init a
 cd a
 mkdir foo foo/Bar quux
@@ -111,3 +135,42 @@
 echo 'changegroup.acl = false' >> acl.config
 do_push barney
 
+# asterisk
+
+init_config
+
+echo 'asterisk test'
+echo '[acl.allow]' >> $config
+echo "** = fred" >> $config
+echo "fred is always allowed"
+do_push fred
+
+echo '[acl.deny]' >> $config
+echo "foo/Bar/** = *" >> $config
+echo "no one is allowed inside foo/Bar/"
+do_push fred
+
+# Groups
+
+init_config
+
+echo 'OS-level groups'
+echo '[acl.allow]' >> $config
+echo "** = @group1" >> $config
+echo "@group1 is always allowed"
+do_push fred
+
+echo '[acl.deny]' >> $config
+echo "foo/Bar/** = @group1" >> $config
+echo "@group is allowed inside anything but foo/Bar/"
+do_push fred
+
+echo 'Invalid group'
+# Disable the fakegroups trick to get real failures
+grep -v fakegroups $config > config.tmp
+mv config.tmp $config
+echo '[acl.allow]' >> $config
+echo "** = @unlikelytoexist" >> $config
+do_push fred 2>&1 | grep unlikelytoexist
+
+true
--- a/tests/test-acl.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-acl.out	Mon Jun 21 13:41:11 2010 -0500
@@ -59,19 +59,19 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 updating the branch cache
-rolling back last transaction
+rolling back to revision 0 (undo push)
 0:6675d58eff77
 
 Extension disabled for lack of acl.sources
@@ -129,21 +129,21 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
 acl: changes have source "push" - skipping
 updating the branch cache
-rolling back last transaction
+rolling back to revision 0 (undo push)
 0:6675d58eff77
 
 No [acl.allow]/[acl.deny]
@@ -203,25 +203,30 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow not enabled
 acl: acl.deny not enabled
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
 acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
 acl: allowing changeset 911600dab2ae
 updating the branch cache
-rolling back last transaction
+rolling back to revision 0 (undo push)
 0:6675d58eff77
 
 Empty [acl.allow]
@@ -282,20 +287,23 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 0 entries for user fred
 acl: acl.deny not enabled
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: user fred not allowed on foo/file.txt
 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
 transaction abort!
@@ -362,22 +370,27 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 1 entries for user fred
 acl: acl.deny not enabled
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
 acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
 acl: user fred not allowed on quux/file.py
 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
 transaction abort!
@@ -445,20 +458,23 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 0 entries for user barney
 acl: acl.deny enabled, 0 entries for user barney
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: user barney not allowed on foo/file.txt
 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
 transaction abort!
@@ -527,22 +543,27 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 1 entries for user fred
 acl: acl.deny enabled, 1 entries for user fred
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
 acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
 acl: user fred not allowed on quux/file.py
 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
 transaction abort!
@@ -612,21 +633,25 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 1 entries for user fred
 acl: acl.deny enabled, 2 entries for user fred
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
 acl: user fred denied on foo/Bar/file.txt
 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
 transaction abort!
@@ -696,20 +721,23 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 0 entries for user barney
 acl: acl.deny enabled, 0 entries for user barney
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: user barney not allowed on foo/file.txt
 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
 transaction abort!
@@ -781,25 +809,30 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 1 entries for user barney
 acl: acl.deny enabled, 0 entries for user barney
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
 acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
 acl: allowing changeset 911600dab2ae
 updating the branch cache
-rolling back last transaction
+rolling back to revision 0 (undo push)
 0:6675d58eff77
 
 wilma can change files with a .txt extension
@@ -867,22 +900,27 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 1 entries for user wilma
 acl: acl.deny enabled, 0 entries for user wilma
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
 acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
 acl: user wilma not allowed on quux/file.py
 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
 transaction abort!
@@ -957,16 +995,16 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
 error: pretxnchangegroup.acl hook raised an exception: [Errno 2] No such file or directory: '../acl.config'
@@ -1046,22 +1084,27 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
 acl: acl.allow enabled, 1 entries for user betty
 acl: acl.deny enabled, 0 entries for user betty
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
 acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
 acl: user betty not allowed on quux/file.py
 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
 transaction abort!
@@ -1142,24 +1185,380 @@
 changesets: 3 chunks
 add changeset 911600dab2ae
 adding manifests
-manifests: 1 chunks
-manifests: 2 chunks
-manifests: 3 chunks
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
+adding file changes
+adding foo/Bar/file.txt revisions
+files: 1/3 chunks (33.33%)
+adding foo/file.txt revisions
+files: 2/3 chunks (66.67%)
+adding quux/file.py revisions
+files: 3/3 chunks (100.00%)
+added 3 changesets with 3 changes to 3 files
+calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
+acl: acl.allow enabled, 1 entries for user barney
+acl: acl.deny enabled, 0 entries for user barney
+acl: branch access granted: "ef1ea85a6374" on branch "default"
+acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
+acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
+acl: allowing changeset 911600dab2ae
+updating the branch cache
+rolling back to revision 0 (undo push)
+0:6675d58eff77
+
+asterisk test
+fred is always allowed
+Pushing as user fred
+hgrc = """
+[acl]
+sources = push
+[extensions]
+[acl.allow]
+** = fred
+"""
+pushing to ../b
+searching for changes
+common changesets up to 6675d58eff77
+invalidating branch cache (tip differs)
+3 changesets found
+list of changesets:
+ef1ea85a6374b77d6da9dcda9541f498f2d17df7
+f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
+911600dab2ae7a9baff75958b84fe606851ce955
+adding changesets
+bundling changes: 0 chunks
+bundling changes: 1 chunks
+bundling changes: 2 chunks
+bundling changes: 3 chunks
+bundling changes: 4 chunks
+bundling changes: 5 chunks
+bundling changes: 6 chunks
+bundling changes: 7 chunks
+bundling changes: 8 chunks
+bundling changes: 9 chunks
+bundling manifests: 0 chunks
+bundling manifests: 1 chunks
+bundling manifests: 2 chunks
+bundling manifests: 3 chunks
+bundling manifests: 4 chunks
+bundling manifests: 5 chunks
+bundling manifests: 6 chunks
+bundling manifests: 7 chunks
+bundling manifests: 8 chunks
+bundling manifests: 9 chunks
+bundling files: foo/Bar/file.txt 0 chunks
+bundling files: foo/Bar/file.txt 1 chunks
+bundling files: foo/Bar/file.txt 2 chunks
+bundling files: foo/Bar/file.txt 3 chunks
+bundling files: foo/file.txt 4 chunks
+bundling files: foo/file.txt 5 chunks
+bundling files: foo/file.txt 6 chunks
+bundling files: foo/file.txt 7 chunks
+bundling files: quux/file.py 8 chunks
+bundling files: quux/file.py 9 chunks
+bundling files: quux/file.py 10 chunks
+bundling files: quux/file.py 11 chunks
+changesets: 1 chunks
+add changeset ef1ea85a6374
+changesets: 2 chunks
+add changeset f9cafe1212c8
+changesets: 3 chunks
+add changeset 911600dab2ae
+adding manifests
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
+adding file changes
+adding foo/Bar/file.txt revisions
+files: 1/3 chunks (33.33%)
+adding foo/file.txt revisions
+files: 2/3 chunks (66.67%)
+adding quux/file.py revisions
+files: 3/3 chunks (100.00%)
+added 3 changesets with 3 changes to 3 files
+calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
+acl: acl.allow enabled, 1 entries for user fred
+acl: acl.deny not enabled
+acl: branch access granted: "ef1ea85a6374" on branch "default"
+acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
+acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
+acl: allowing changeset 911600dab2ae
+updating the branch cache
+rolling back to revision 0 (undo push)
+0:6675d58eff77
+
+no one is allowed inside foo/Bar/
+Pushing as user fred
+hgrc = """
+[acl]
+sources = push
+[extensions]
+[acl.allow]
+** = fred
+[acl.deny]
+foo/Bar/** = *
+"""
+pushing to ../b
+searching for changes
+common changesets up to 6675d58eff77
+invalidating branch cache (tip differs)
+3 changesets found
+list of changesets:
+ef1ea85a6374b77d6da9dcda9541f498f2d17df7
+f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
+911600dab2ae7a9baff75958b84fe606851ce955
+adding changesets
+bundling changes: 0 chunks
+bundling changes: 1 chunks
+bundling changes: 2 chunks
+bundling changes: 3 chunks
+bundling changes: 4 chunks
+bundling changes: 5 chunks
+bundling changes: 6 chunks
+bundling changes: 7 chunks
+bundling changes: 8 chunks
+bundling changes: 9 chunks
+bundling manifests: 0 chunks
+bundling manifests: 1 chunks
+bundling manifests: 2 chunks
+bundling manifests: 3 chunks
+bundling manifests: 4 chunks
+bundling manifests: 5 chunks
+bundling manifests: 6 chunks
+bundling manifests: 7 chunks
+bundling manifests: 8 chunks
+bundling manifests: 9 chunks
+bundling files: foo/Bar/file.txt 0 chunks
+bundling files: foo/Bar/file.txt 1 chunks
+bundling files: foo/Bar/file.txt 2 chunks
+bundling files: foo/Bar/file.txt 3 chunks
+bundling files: foo/file.txt 4 chunks
+bundling files: foo/file.txt 5 chunks
+bundling files: foo/file.txt 6 chunks
+bundling files: foo/file.txt 7 chunks
+bundling files: quux/file.py 8 chunks
+bundling files: quux/file.py 9 chunks
+bundling files: quux/file.py 10 chunks
+bundling files: quux/file.py 11 chunks
+changesets: 1 chunks
+add changeset ef1ea85a6374
+changesets: 2 chunks
+add changeset f9cafe1212c8
+changesets: 3 chunks
+add changeset 911600dab2ae
+adding manifests
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
 adding file changes
 adding foo/Bar/file.txt revisions
-files: 1 chunks
+files: 1/3 chunks (33.33%)
 adding foo/file.txt revisions
-files: 2 chunks
+files: 2/3 chunks (66.67%)
 adding quux/file.py revisions
-files: 3 chunks
+files: 3/3 chunks (100.00%)
+added 3 changesets with 3 changes to 3 files
+calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
+acl: acl.allow enabled, 1 entries for user fred
+acl: acl.deny enabled, 1 entries for user fred
+acl: branch access granted: "ef1ea85a6374" on branch "default"
+acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
+acl: user fred denied on foo/Bar/file.txt
+error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
+transaction abort!
+rollback completed
+abort: acl: access denied for changeset f9cafe1212c8
+no rollback information available
+0:6675d58eff77
+
+OS-level groups
+@group1 is always allowed
+Pushing as user fred
+hgrc = """
+[acl]
+sources = push
+[extensions]
+[acl.allow]
+** = @group1
+"""
+pushing to ../b
+searching for changes
+common changesets up to 6675d58eff77
+3 changesets found
+list of changesets:
+ef1ea85a6374b77d6da9dcda9541f498f2d17df7
+f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
+911600dab2ae7a9baff75958b84fe606851ce955
+adding changesets
+bundling changes: 0 chunks
+bundling changes: 1 chunks
+bundling changes: 2 chunks
+bundling changes: 3 chunks
+bundling changes: 4 chunks
+bundling changes: 5 chunks
+bundling changes: 6 chunks
+bundling changes: 7 chunks
+bundling changes: 8 chunks
+bundling changes: 9 chunks
+bundling manifests: 0 chunks
+bundling manifests: 1 chunks
+bundling manifests: 2 chunks
+bundling manifests: 3 chunks
+bundling manifests: 4 chunks
+bundling manifests: 5 chunks
+bundling manifests: 6 chunks
+bundling manifests: 7 chunks
+bundling manifests: 8 chunks
+bundling manifests: 9 chunks
+bundling files: foo/Bar/file.txt 0 chunks
+bundling files: foo/Bar/file.txt 1 chunks
+bundling files: foo/Bar/file.txt 2 chunks
+bundling files: foo/Bar/file.txt 3 chunks
+bundling files: foo/file.txt 4 chunks
+bundling files: foo/file.txt 5 chunks
+bundling files: foo/file.txt 6 chunks
+bundling files: foo/file.txt 7 chunks
+bundling files: quux/file.py 8 chunks
+bundling files: quux/file.py 9 chunks
+bundling files: quux/file.py 10 chunks
+bundling files: quux/file.py 11 chunks
+changesets: 1 chunks
+add changeset ef1ea85a6374
+changesets: 2 chunks
+add changeset f9cafe1212c8
+changesets: 3 chunks
+add changeset 911600dab2ae
+adding manifests
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
+adding file changes
+adding foo/Bar/file.txt revisions
+files: 1/3 chunks (33.33%)
+adding foo/file.txt revisions
+files: 2/3 chunks (66.67%)
+adding quux/file.py revisions
+files: 3/3 chunks (100.00%)
 added 3 changesets with 3 changes to 3 files
 calling hook pretxnchangegroup.acl: hgext.acl.hook
-acl: acl.allow enabled, 1 entries for user barney
-acl: acl.deny enabled, 0 entries for user barney
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
+acl: "group1" not defined in [acl.groups]
+acl: acl.allow enabled, 1 entries for user fred
+acl: acl.deny not enabled
+acl: branch access granted: "ef1ea85a6374" on branch "default"
 acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
 acl: allowing changeset f9cafe1212c8
+acl: branch access granted: "911600dab2ae" on branch "default"
 acl: allowing changeset 911600dab2ae
 updating the branch cache
-rolling back last transaction
+rolling back to revision 0 (undo push)
 0:6675d58eff77
 
+@group is allowed inside anything but foo/Bar/
+Pushing as user fred
+hgrc = """
+[acl]
+sources = push
+[extensions]
+[acl.allow]
+** = @group1
+[acl.deny]
+foo/Bar/** = @group1
+"""
+pushing to ../b
+searching for changes
+common changesets up to 6675d58eff77
+invalidating branch cache (tip differs)
+3 changesets found
+list of changesets:
+ef1ea85a6374b77d6da9dcda9541f498f2d17df7
+f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
+911600dab2ae7a9baff75958b84fe606851ce955
+adding changesets
+bundling changes: 0 chunks
+bundling changes: 1 chunks
+bundling changes: 2 chunks
+bundling changes: 3 chunks
+bundling changes: 4 chunks
+bundling changes: 5 chunks
+bundling changes: 6 chunks
+bundling changes: 7 chunks
+bundling changes: 8 chunks
+bundling changes: 9 chunks
+bundling manifests: 0 chunks
+bundling manifests: 1 chunks
+bundling manifests: 2 chunks
+bundling manifests: 3 chunks
+bundling manifests: 4 chunks
+bundling manifests: 5 chunks
+bundling manifests: 6 chunks
+bundling manifests: 7 chunks
+bundling manifests: 8 chunks
+bundling manifests: 9 chunks
+bundling files: foo/Bar/file.txt 0 chunks
+bundling files: foo/Bar/file.txt 1 chunks
+bundling files: foo/Bar/file.txt 2 chunks
+bundling files: foo/Bar/file.txt 3 chunks
+bundling files: foo/file.txt 4 chunks
+bundling files: foo/file.txt 5 chunks
+bundling files: foo/file.txt 6 chunks
+bundling files: foo/file.txt 7 chunks
+bundling files: quux/file.py 8 chunks
+bundling files: quux/file.py 9 chunks
+bundling files: quux/file.py 10 chunks
+bundling files: quux/file.py 11 chunks
+changesets: 1 chunks
+add changeset ef1ea85a6374
+changesets: 2 chunks
+add changeset f9cafe1212c8
+changesets: 3 chunks
+add changeset 911600dab2ae
+adding manifests
+manifests: 1/3 chunks (33.33%)
+manifests: 2/3 chunks (66.67%)
+manifests: 3/3 chunks (100.00%)
+adding file changes
+adding foo/Bar/file.txt revisions
+files: 1/3 chunks (33.33%)
+adding foo/file.txt revisions
+files: 2/3 chunks (66.67%)
+adding quux/file.py revisions
+files: 3/3 chunks (100.00%)
+added 3 changesets with 3 changes to 3 files
+calling hook pretxnchangegroup.acl: hgext.acl.hook
+acl: acl.allow.branches not enabled
+acl: acl.deny.branches not enabled
+acl: "group1" not defined in [acl.groups]
+acl: acl.allow enabled, 1 entries for user fred
+acl: "group1" not defined in [acl.groups]
+acl: acl.deny enabled, 1 entries for user fred
+acl: branch access granted: "ef1ea85a6374" on branch "default"
+acl: allowing changeset ef1ea85a6374
+acl: branch access granted: "f9cafe1212c8" on branch "default"
+acl: user fred denied on foo/Bar/file.txt
+error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
+transaction abort!
+rollback completed
+abort: acl: access denied for changeset f9cafe1212c8
+no rollback information available
+0:6675d58eff77
+
+Invalid group
+** = @unlikelytoexist
+acl: "unlikelytoexist" not defined in [acl.groups]
+error: pretxnchangegroup.acl hook failed: group 'unlikelytoexist' is undefined
+abort: group 'unlikelytoexist' is undefined
--- a/tests/test-archive	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-archive	Mon Jun 21 13:41:11 2010 -0500
@@ -74,6 +74,20 @@
 hg archive -t tgz -p %b-%h test-%h.tar.gz
 gzip -dc test-$QTIP.tar.gz | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/"
 
+hg archive autodetected_test.tar
+tar tf autodetected_test.tar
+
+# The '-t' should override autodetection
+hg archive -t tar autodetect_override_test.zip
+tar tf autodetect_override_test.zip
+
+for ext in tar tar.gz tgz tar.bz2 tbz2 zip; do
+    hg archive auto_test.$ext
+    if [ -d auto_test.$ext ]; then
+        echo "extension $ext was not autodetected."
+    fi
+done
+
 cat > md5comp.py <<EOF
 try:
     from hashlib import md5
--- a/tests/test-archive.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-archive.out	Mon Jun 21 13:41:11 2010 -0500
@@ -45,6 +45,14 @@
 test-TIP/bar
 test-TIP/baz/bletch
 test-TIP/foo
+autodetected_test/.hg_archival.txt
+autodetected_test/bar
+autodetected_test/baz/bletch
+autodetected_test/foo
+autodetect_override_test.zip/.hg_archival.txt
+autodetect_override_test.zip/bar
+autodetect_override_test.zip/baz/bletch
+autodetect_override_test.zip/foo
 True
 abort: archive prefix contains illegal components
 Archive:  test.zip
--- a/tests/test-backout.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-backout.out	Mon Jun 21 13:41:11 2010 -0500
@@ -62,7 +62,7 @@
 # backout with valid parent should be ok
 removing d
 changeset 5:10e5328c8435 backs out changeset 4:b2f3bb92043e
-rolling back last transaction
+rolling back to revision 4 (undo commit)
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 removing c
 changeset 5:033590168430 backs out changeset 4:b2f3bb92043e
--- a/tests/test-bheads	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bheads	Mon Jun 21 13:41:11 2010 -0500
@@ -114,3 +114,73 @@
 
 echo '% topological heads'
 heads -t
+
+echo '______________'
+cd ..
+
+hg init newheadmsg
+cd newheadmsg
+
+echo '% created new head message'
+echo '% init: no msg'
+echo 1 > a
+hg ci -Am "a0: Initial root"
+echo 2 >> a
+hg ci -m "a1 (HN)"
+
+hg branch b
+echo 1 > b
+hg ci -Am "b2: Initial root for branch b"
+echo 2 >> b
+hg ci -m "b3 (HN)"
+
+echo '% case NN: msg'
+hg up -q null
+hg branch -f b
+echo 1 > B
+hg ci -Am "b4 (NN): new topo root for branch b"
+
+echo '% case HN: no msg'
+echo 2 >> B
+hg ci -m "b5 (HN)"
+
+echo '% case BN: msg'
+hg branch -f default
+echo 1 > A
+hg ci -Am "a6 (BN): new branch root"
+
+echo '% case CN: msg'
+hg up -q 4
+echo 3 >> BB
+hg ci -Am "b7 (CN): regular new head"
+
+echo '% case BB: msg'
+hg up -q 4
+hg merge -q 3
+hg branch -f default
+hg ci -m "a8 (BB): weird new branch root"
+
+echo '% case CB: msg'
+hg up -q 4
+hg merge -q 1
+hg ci -m "b9 (CB): new head from branch merge"
+
+echo '% case HB: no msg'
+hg up -q 7
+hg merge -q 6
+hg ci -m "b10 (HB): continuing head from branch merge"
+
+echo '% case CC: msg'
+hg up -q 4
+hg merge -q 2
+hg ci -m "b11 (CC): new head from merge"
+
+echo '% case CH: no msg'
+hg up -q 2
+hg merge -q 10
+hg ci -m "b12 (CH): continuing head from merge"
+
+echo '% case HH: no msg'
+hg merge -q 3
+hg ci -m "b12 (HH): merging two heads"
+
--- a/tests/test-bheads.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bheads.out	Mon Jun 21 13:41:11 2010 -0500
@@ -10,7 +10,6 @@
 =======
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch b
-created new head
 2: Adding b branch (b)
 1: Adding a branch (a)
 0: Adding root node ()
@@ -180,3 +179,31 @@
 7: Adding c branch (c)
 3: Adding b branch head 1 (b)
 1: Adding a branch (a)
+______________
+% created new head message
+% init: no msg
+adding a
+marked working directory as branch b
+adding b
+% case NN: msg
+marked working directory as branch b
+adding B
+created new head
+% case HN: no msg
+% case BN: msg
+marked working directory as branch default
+adding A
+created new head
+% case CN: msg
+adding BB
+created new head
+% case BB: msg
+marked working directory as branch default
+created new head
+% case CB: msg
+created new head
+% case HB: no msg
+% case CC: msg
+created new head
+% case CH: no msg
+% case HH: no msg
--- a/tests/test-bookmarks	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bookmarks	Mon Jun 21 13:41:11 2010 -0500
@@ -14,6 +14,10 @@
 echo % list bookmarks
 hg bookmarks
 
+echo % list bookmarks with color
+hg --config extensions.color= --config color.mode=ansi \
+    bookmarks --color=always
+
 echo a > a
 hg add a
 hg commit -m 0
@@ -78,7 +82,7 @@
 hg bookmarks
 
 echo % look up stripped bookmark name
-hg log -r 'x  y'
+hg log -r '"x  y"'
 
 echo % reject bookmark name with newline
 hg bookmark '
--- a/tests/test-bookmarks-current	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bookmarks-current	Mon Jun 21 13:41:11 2010 -0500
@@ -17,6 +17,10 @@
 echo % list bookmarks
 hg bookmark
 
+echo % list bookmarks with color
+hg --config extensions.color= --config color.mode=ansi \
+    bookmark --color=always
+
 echo % update to bookmark X
 hg update X
 
--- a/tests/test-bookmarks-current.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bookmarks-current.out	Mon Jun 21 13:41:11 2010 -0500
@@ -3,6 +3,8 @@
 % set bookmark X
 % list bookmarks
  * X                         -1:000000000000
+% list bookmarks with color
+ * X                         -1:000000000000
 % update to bookmark X
 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
 % list bookmarks
--- a/tests/test-bookmarks-rebase	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bookmarks-rebase	Mon Jun 21 13:41:11 2010 -0500
@@ -1,15 +1,11 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
 echo "bookmarks=" >> $HGRCPATH
 
-cleanoutput () {
-    sed -e 's/\(Rebase status stored to\).*/\1/'  \
-        -e 's/\(Rebase status restored from\).*/\1/' \
-        -e 's/\(saving bundle to \).*/\1/'
-}
-
 echo % initialize repository
 hg init
 
@@ -33,6 +29,6 @@
 hg bookmark
 
 echo % rebase
-hg rebase -s two -d one 2>&1 | cleanoutput
+hg rebase -s two -d one 2>&1 | cleanrebase
 
 hg log
--- a/tests/test-bookmarks-rebase.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bookmarks-rebase.out	Mon Jun 21 13:41:11 2010 -0500
@@ -9,17 +9,11 @@
  * two                       3:2ae46b1d99a7
    one                       1:925d80f479bb
 % rebase
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files (-1 heads)
-rebase completed
+saved backup bundle to 
 changeset:   3:9163974d1cb5
+tag:         one
 tag:         tip
 tag:         two
-tag:         one
 parent:      1:925d80f479bb
 parent:      2:db815d6d32e6
 user:        test
--- a/tests/test-bookmarks-strip	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bookmarks-strip	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,6 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
 echo "[extensions]" >> $HGRCPATH
 echo "bookmarks=" >> $HGRCPATH
 echo "mq=" >> $HGRCPATH
@@ -37,7 +38,7 @@
 hg book
 
 echo % strip to revision 1
-hg strip 1 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg strip 1 | hidebackup
 
 echo % list bookmarks
 hg book
--- a/tests/test-bookmarks-strip.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bookmarks-strip.out	Mon Jun 21 13:41:11 2010 -0500
@@ -12,13 +12,7 @@
    test                      1:16b24da7e457
    test2                     1:16b24da7e457
 % strip to revision 1
-saving bundle to 
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
+saved backup bundle to 
 % list bookmarks
  * test                      1:9f1b7e78eff8
  * test2                     1:9f1b7e78eff8
--- a/tests/test-bookmarks.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bookmarks.out	Mon Jun 21 13:41:11 2010 -0500
@@ -3,6 +3,8 @@
 % bookmark rev -1
 % list bookmarks
  * X                         -1:000000000000
+% list bookmarks with color
+ * X                         -1:000000000000
 % bookmark X moved to rev 0
  * X                         0:f7b1eb17ad24
 % look up bookmark
--- a/tests/test-branch-option	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-branch-option	Mon Jun 21 13:41:11 2010 -0500
@@ -12,6 +12,7 @@
 hg branch c
 echo c > foo
 hg ci -d '0 0' -mc
+hg tag -l z
 cd ..
 hg clone -r 0 branch branch2
 cd branch2
@@ -32,6 +33,10 @@
 echo b2 > foo
 hg ci -d '0 0' -mb2
 
+echo unknown branch and fallback
+hg in -qbz
+hg in -q ../branch#z
+hg out -qbz
 echo in rev c branch a
 hg in -qr c ../branch#a
 hg in -qr c -b a
--- a/tests/test-branch-option.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-branch-option.out	Mon Jun 21 13:41:11 2010 -0500
@@ -2,7 +2,6 @@
 adding foo
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch c
-created new head
 requesting all changes
 adding changesets
 adding manifests
@@ -14,13 +13,16 @@
 marked working directory as branch b
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch æ
-created new head
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch æ
 created new head
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch b
 created new head
+unknown branch and fallback
+abort: unknown branch 'z'!
+2:f25d57ab0566
+abort: unknown branch 'z'!
 in rev c branch a
 1:dd6e60a716c6
 2:f25d57ab0566
--- a/tests/test-branches.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-branches.out	Mon Jun 21 13:41:11 2010 -0500
@@ -3,7 +3,6 @@
 reset working directory to branch a
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch b
-created new head
 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
 marked working directory as branch c
 abort: the name 'tip' is reserved
@@ -171,6 +170,7 @@
 date:        Thu Jan 01 00:00:09 1970 +0000
 summary:     prune bad branch
 
+reopening closed branch head 12
 --- branch b is back in action
 b                             13:6ac12926b8c3
 a branch name much longer than the default justification used by branches 7:10ff5895aa57
--- a/tests/test-bundle-r.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bundle-r.out	Mon Jun 21 13:41:11 2010 -0500
@@ -154,7 +154,7 @@
 crosschecking files in changesets and manifests
 checking files
 4 files, 9 changesets, 7 total revisions
-rolling back last transaction
+rolling back to revision 4 (undo pull)
 % should fail
 abort: --base is incompatible with specifying a destination
 abort: repository default-push not found!
@@ -187,7 +187,7 @@
 crosschecking files in changesets and manifests
 checking files
 4 files, 9 changesets, 7 total revisions
-rolling back last transaction
+rolling back to revision 2 (undo unbundle)
 % 2
 2:d62976ca1e50
 adding changesets
@@ -202,7 +202,7 @@
 crosschecking files in changesets and manifests
 checking files
 2 files, 5 changesets, 5 total revisions
-rolling back last transaction
+rolling back to revision 2 (undo unbundle)
 adding changesets
 adding manifests
 adding file changes
@@ -215,7 +215,7 @@
 crosschecking files in changesets and manifests
 checking files
 3 files, 7 changesets, 6 total revisions
-rolling back last transaction
+rolling back to revision 2 (undo unbundle)
 adding changesets
 adding manifests
 adding file changes
--- a/tests/test-bundle.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-bundle.out	Mon Jun 21 13:41:11 2010 -0500
@@ -37,7 +37,7 @@
 added 9 changesets with 7 changes to 4 files (+1 heads)
 (run 'hg heads' to see heads, 'hg merge' to merge)
 ====== Rollback empty
-rolling back last transaction
+rolling back to revision -1 (undo pull)
 ====== Pull full.hg into empty again (using --cwd)
 pulling from ../full.hg
 requesting all changes
@@ -55,7 +55,7 @@
 searching for changes
 no changes found
 ====== Rollback empty
-rolling back last transaction
+rolling back to revision -1 (undo pull)
 ====== Pull full.hg into empty again (using -R)
 pulling from full.hg
 requesting all changes
@@ -123,7 +123,7 @@
 added 9 changesets with 7 changes to 4 files (+1 heads)
 (run 'hg heads' to see heads, 'hg merge' to merge)
 ====== Rollback empty
-rolling back last transaction
+rolling back to revision -1 (undo pull)
 ====== Log -R bundle:empty+full.hg
 8 7 6 5 4 3 2 1 0 
 ====== Pull full.hg into empty again (using -R; with hook)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-check-code	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,37 @@
+#!/bin/sh
+#cd `dirname $0`
+cat > correct.py <<EOF
+def toto(arg1, arg2):
+    del arg2
+    return (5 + 6, 9)
+EOF
+
+cat > wrong.py <<EOF
+def toto( arg1, arg2):
+    del(arg2)
+    return ( 5+6, 9)
+EOF
+
+cat > quote.py <<EOF
+# let's use quote in comments
+(''' ( 4x5 )
+but """\\''' and finally''',
+"""let's fool checkpatch""", '1+2',
+'"""', 42+1, """and
+( 4-1 ) """, "( 1+1 )\" and ")
+a, '\\\\\\\\', "\\\\\\" x-2", "c-1"
+EOF
+
+cat > non-py24.py <<EOF
+# Using builtins that does not exist in Python 2.4
+if any():
+    x = all()
+    y = format(x)
+
+# Do not complain about our own definition
+def any(x):
+    pass
+EOF
+
+check_code=`dirname $0`/../contrib/check-code.py
+${check_code} ./wrong.py ./correct.py ./quote.py ./non-py24.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-check-code.out	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,22 @@
+./wrong.py:1:
+ > def toto( arg1, arg2):
+ gratuitous whitespace in () or []
+./wrong.py:2:
+ >     del(arg2)
+ del isn't a function
+./wrong.py:3:
+ >     return ( 5+6, 9)
+ missing whitespace in expression
+ gratuitous whitespace in () or []
+./quote.py:5:
+ > '"""', 42+1, """and
+ missing whitespace in expression
+./non-py24.py:2:
+ > if any():
+ any/all/format not available in Python 2.4
+./non-py24.py:3:
+ >     x = all()
+ any/all/format not available in Python 2.4
+./non-py24.py:4:
+ >     y = format(x)
+ any/all/format not available in Python 2.4
--- a/tests/test-churn	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-churn	Mon Jun 21 13:41:11 2010 -0500
@@ -30,6 +30,8 @@
 hg churn e
 echo % churn all
 hg churn
+echo % churn excluding one dir
+hg churn -X e
 echo % churn up to rev 2
 hg churn -r :2
 cd ..
@@ -52,10 +54,19 @@
 hg rm d/g/f2.txt
 hg ci -Am "removed d/g/f2.txt" -u user1 -d 14:00 d/g/f2.txt
 hg churn --diffstat
+echo % churn --diffstat with color
+hg --config extensions.color= churn --config color.mode=ansi \
+    --diffstat --color=always
 
 echo % changeset number churn
 hg churn -c
 
+echo 'with space = no-space' >> ../aliases
+echo a >> a
+hg commit -m a -u 'with space' -d 15:00
+echo % churn with space in alias
+hg churn --aliases ../aliases -r tip
+
 cd ..
 
 # issue 833: ZeroDivisionError
--- a/tests/test-churn.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-churn.out	Mon Jun 21 13:41:11 2010 -0500
@@ -8,6 +8,10 @@
 user3      3 ***************************************************************
 user1      3 ***************************************************************
 user2      2 ******************************************
+% churn excluding one dir
+user3      3 ***************************************************************
+user2      2 ******************************************
+user1      2 ******************************************
 % churn up to rev 2
 user2      2 ***************************************************************
 user1      1 ********************************
@@ -32,9 +36,15 @@
 user1           +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
 user3           +3/-0 +++++++++++++++++++++++++++++++++++++++++
 user2           +2/-0 +++++++++++++++++++++++++++
+% churn --diffstat with color
+user1           +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
+user3           +3/-0 +++++++++++++++++++++++++++++++++++++++++
+user2           +2/-0 +++++++++++++++++++++++++++
 % changeset number churn
 user1      4 ***************************************************************
 user3      3 ***********************************************
 user2      2 ********************************
+% churn with space in alias
+no-space      1 ************************************************************
 adding foo
 test      0 
--- a/tests/test-clone	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-clone	Mon Jun 21 13:41:11 2010 -0500
@@ -29,8 +29,8 @@
 hg verify
 
 echo
-echo % no update
-hg clone -U . ../c
+echo % no update, with debug option
+hg --debug clone -U . ../c
 cd ../c
 cat a 2>/dev/null || echo "a not present"
 hg verify
--- a/tests/test-clone-update-order.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-clone-update-order.out	Mon Jun 21 13:41:11 2010 -0500
@@ -4,11 +4,9 @@
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch mine
 adding world
-created new head
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch other
 adding bye
-created new head
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 % test -U -u
 abort: cannot specify both --noupdate and --updaterev
--- a/tests/test-clone.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-clone.out	Mon Jun 21 13:41:11 2010 -0500
@@ -15,7 +15,8 @@
 checking files
 2 files, 11 changesets, 11 total revisions
 
-% no update
+% no update, with debug option
+linked 8 files
 a not present
 checking changesets
 checking manifests
@@ -66,7 +67,6 @@
 
 % add branch 'stable' to repo a for later tests
 marked working directory as branch stable
-created new head
 % tag ref2
 
 % updating back to ref2
--- a/tests/test-command-template.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-command-template.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,4 +1,3 @@
-created new head
 0 files updated, 0 files merged, 4 files removed, 0 files unresolved
 created new head
 # default style is like normal output
--- a/tests/test-context.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-context.py	Mon Jun 21 13:41:11 2010 -0500
@@ -13,7 +13,7 @@
 os.utime('foo', (1000, 1000))
 
 # add+commit 'foo'
-repo.add(['foo'])
+repo[None].add(['foo'])
 repo.commit(text='commit1', date="0 0")
 
 print "workingfilectx.date =", repo[None]['foo'].date()
--- a/tests/test-convert-cvs.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-convert-cvs.out	Mon Jun 21 13:41:11 2010 -0500
@@ -45,7 +45,7 @@
 2 Initial revision
 1 import
 filtering out empty revision
-rolling back last transaction
+rolling back to revision 0 (undo commit)
 0 ci0
 updating tags
 c
--- a/tests/test-convert-datesort.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-convert-datesort.out	Mon Jun 21 13:41:11 2010 -0500
@@ -3,7 +3,6 @@
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch branchb
 adding b
-created new head
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
 % convert with datesort
--- a/tests/test-convert-svn-move	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-convert-svn-move	Mon Jun 21 13:41:11 2010 -0500
@@ -51,3 +51,20 @@
 echo '% try updating'
 hg up -qC default
 cd ..
+
+echo '% test convert progress bar'
+
+echo "progress=" >> $HGRCPATH
+echo "[progress]" >> $HGRCPATH
+echo "assume-tty=1" >> $HGRCPATH
+echo "delay=0" >> $HGRCPATH
+echo "refresh=0" >> $HGRCPATH
+
+cat > filtercr.py <<EOF
+import sys, re
+for line in sys.stdin:
+    line = re.sub(r'\r+[^\n]', lambda m: '\n' + m.group()[-1:], line)
+    sys.stdout.write(line)
+EOF
+
+hg convert svn-repo hg-progress 2>&1 | python filtercr.py
--- a/tests/test-convert-svn-move.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-convert-svn-move.out	Mon Jun 21 13:41:11 2010 -0500
@@ -80,3 +80,44 @@
 644 @ dlink2
 644 @ dlink3
 % try updating
+% test convert progress bar
+
+scanning [ <=>                                                              ] 1
+scanning [  <=>                                                             ] 2
+scanning [   <=>                                                            ] 3
+scanning [    <=>                                                           ] 4
+                                                                                
+converting [                                                              ] 0/4
+retrieving file [==========>                                              ] 1/5
+retrieving file [=====================>                                   ] 2/5
+retrieving file [=================================>                       ] 3/5
+retrieving file [============================================>            ] 4/5
+retrieving file [========================================================>] 5/5
+                                                                                
+converting [==============>                                               ] 1/4
+scanning paths [                                                          ] 0/1
+                                                                                
+retrieving file [========================================================>] 1/1
+                                                                                
+converting [==============================>                               ] 2/4
+scanning paths [                                                          ] 0/2
+scanning paths [============================>                             ] 1/2
+                                                                                
+retrieving file [=============>                                           ] 1/4
+retrieving file [===========================>                             ] 2/4
+retrieving file [=========================================>               ] 3/4
+retrieving file [========================================================>] 4/4
+                                                                                
+converting [=============================================>                ] 3/4
+scanning paths [                                                          ] 0/1
+                                                                                
+retrieving file [========================================================>] 1/1
+                                                                                
+initializing destination hg-progress repository
+scanning source...
+sorting...
+converting...
+3 initial
+2 clobber symlink
+1 clobber1
+0 clobber2
--- a/tests/test-convert.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-convert.out	Mon Jun 21 13:41:11 2010 -0500
@@ -103,8 +103,10 @@
         ignore integrity errors when reading. Use it to fix Mercurial
         repositories with missing revlogs, by converting from and to
         Mercurial.
+
     --config convert.hg.saverev=False         (boolean)
         store original revision ID in changeset (forces target IDs to change)
+
     --config convert.hg.startrev=0            (hg revision identifier)
         convert start revision and its descendants
 
@@ -125,25 +127,30 @@
     --config convert.cvsps.cache=True         (boolean)
         Set to False to disable remote log caching, for testing and debugging
         purposes.
+
     --config convert.cvsps.fuzz=60            (integer)
         Specify the maximum time (in seconds) that is allowed between commits
         with identical user and log message in a single changeset. When very
         large files were checked in as part of a changeset then the default
         may not be long enough.
+
     --config convert.cvsps.mergeto='{{mergetobranch ([-\w]+)}}'
         Specify a regular expression to which commit log messages are matched.
         If a match occurs, then the conversion process will insert a dummy
         revision merging the branch on which this log message occurs to the
         branch indicated in the regex.
+
     --config convert.cvsps.mergefrom='{{mergefrombranch ([-\w]+)}}'
         Specify a regular expression to which commit log messages are matched.
         If a match occurs, then the conversion process will add the most
         recent revision on the branch indicated in the regex as the second
         parent of the changeset.
+
     --config hook.cvslog
         Specify a Python function to be called at the end of gathering the CVS
         log. The function is passed a list with the log entries, and can
         modify the entries in-place, or add or delete them.
+
     --config hook.cvschangesets
         Specify a Python function to be called after the changesets are
         calculated from the the CVS log. The function is passed a list with
@@ -170,8 +177,10 @@
 
     --config convert.svn.branches=branches    (directory name)
         specify the directory containing branches
+
     --config convert.svn.tags=tags            (directory name)
         specify the directory containing tags
+
     --config convert.svn.trunk=trunk          (directory name)
         specify the name of the trunk branch
 
@@ -202,23 +211,25 @@
 
     --config convert.hg.clonebranches=False   (boolean)
         dispatch source branches in separate clones.
+
     --config convert.hg.tagsbranch=default    (branch name)
         tag revisions branch name
+
     --config convert.hg.usebranchnames=True   (boolean)
         preserve branch names
 
 options:
 
- -A --authors      username mapping filename
- -d --dest-type    destination repository type
-    --filemap      remap file names using contents of file
- -r --rev          import up to target revision REV
- -s --source-type  source repository type
-    --splicemap    splice synthesized history into place
-    --branchmap    change branch names while converting
-    --branchsort   try to sort changesets by branches
-    --datesort     try to sort changesets by date
-    --sourcesort   preserve source changesets order
+ -A --authors FILE      username mapping filename
+ -d --dest-type TYPE    destination repository type
+    --filemap FILE      remap file names using contents of file
+ -r --rev REV           import up to target revision REV
+ -s --source-type TYPE  source repository type
+    --splicemap FILE    splice synthesized history into place
+    --branchmap FILE    change branch names while converting
+    --branchsort        try to sort changesets by branches
+    --datesort          try to sort changesets by date
+    --sourcesort        preserve source changesets order
 
 use "hg -v help convert" to show global options
 adding a
--- a/tests/test-copy	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-copy	Mon Jun 21 13:41:11 2010 -0500
@@ -7,6 +7,7 @@
 hg status
 hg copy a b
 hg status
+hg sum
 hg --debug commit -m "2" -d "1000000 0"
 echo "we should see two history entries"
 hg history -v
--- a/tests/test-copy.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-copy.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,4 +1,9 @@
 A b
+parent: 0:33aaa84a386b tip
+ 1
+branch: default
+commit: 1 copied
+update: (current)
 b
  b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
 committed changeset 1:76973b01f66a012648546c979ea4c41de9e7d8cd
--- a/tests/test-copy2	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-copy2	Mon Jun 21 13:41:11 2010 -0500
@@ -19,6 +19,9 @@
 hg st -A
 hg commit -m1
 
+echo "# copy --after to a nonexistant target filename"
+hg cp -A foo dummy
+
 echo "# dry-run; should show that foo is clean"
 hg copy --dry-run foo bar
 hg st -A
--- a/tests/test-copy2.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-copy2.out	Mon Jun 21 13:41:11 2010 -0500
@@ -11,6 +11,8 @@
 # should print a warning that this is not a real copy; foo is added
 bar has not been committed yet, so no copy data will be stored for foo.
 A foo
+# copy --after to a nonexistant target filename
+foo: not recording copy - dummy does not exist
 # dry-run; should show that foo is clean
 C foo
 # should show copy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-debugbuilddag	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,70 @@
+#! /bin/sh
+
+echo "[extensions]" >> $HGRCPATH
+echo "graphlog=" >> $HGRCPATH
+
+
+
+echo ---- overwritten and appended files
+
+rm -rf repo
+hg init repo
+cd repo
+hg debugbuilddag '+2:f +3:p2 @temp <f+4 @default /p2 +2' -q -oa
+echo -- dag
+hg debugdag -t -b
+echo -- glog
+hg glog --template '{rev}: {desc} [{branches}] @ {date}\n'
+echo -- glog of
+hg glog --template '{rev}: {desc} [{branches}]\n' of
+echo -- glog af
+hg glog --template '{rev}: {desc} [{branches}]\n' af
+echo -- tags
+hg tags -v
+echo -- cat of
+hg cat of
+echo -- cat af
+hg cat af
+cd ..
+
+echo ---- new and mergeable files
+
+rm -rf repo
+hg init repo
+cd repo
+hg debugbuilddag '+2:f +3:p2 @temp <f+4 @default /p2 +2' -q -mn
+echo -- dag
+hg debugdag -t -b
+echo -- glog
+hg glog --template '{rev}: {desc} [{branches}] @ {date}\n'
+echo -- glog mf
+hg glog --template '{rev}: {desc} [{branches}]\n' mf
+
+echo -- man r4
+hg manifest -r4
+echo -- cat r4 mf
+hg cat -r4 mf
+echo -- man r8
+hg manifest -r8
+echo -- cat r8 mf
+hg cat -r8 mf
+echo -- man
+hg manifest
+echo -- cat mf
+hg cat mf
+cd ..
+
+echo ---- command
+
+rm -rf repo
+hg init repo
+cd repo
+hg debugbuilddag '+2 !"touch X" +2' -q -o
+echo -- dag
+hg debugdag -t -b
+echo -- glog
+hg glog --template '{rev}: {desc} [{branches}]\n'
+echo -- glog X
+hg glog --template '{rev}: {desc} [{branches}]\n' X
+cd ..
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-debugbuilddag.out	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,272 @@
+---- overwritten and appended files
+-- dag
++2:f
++3:p2
+@temp*f+3
+@default*/p2+2:tip
+-- glog
+@  11: r11 [] @ 11.00
+|
+o  10: r10 [] @ 10.00
+|
+o    9: r9 [] @ 9.00
+|\
+| o  8: r8 [temp] @ 8.00
+| |
+| o  7: r7 [temp] @ 7.00
+| |
+| o  6: r6 [temp] @ 6.00
+| |
+| o  5: r5 [temp] @ 5.00
+| |
+o |  4: r4 [] @ 4.00
+| |
+o |  3: r3 [] @ 3.00
+| |
+o |  2: r2 [] @ 2.00
+|/
+o  1: r1 [] @ 1.00
+|
+o  0: r0 [] @ 0.00
+
+-- glog of
+@  11: r11 []
+|
+o  10: r10 []
+|
+o    9: r9 []
+|\
+| o  8: r8 [temp]
+| |
+| o  7: r7 [temp]
+| |
+| o  6: r6 [temp]
+| |
+| o  5: r5 [temp]
+| |
+o |  4: r4 []
+| |
+o |  3: r3 []
+| |
+o |  2: r2 []
+|/
+o  1: r1 []
+|
+o  0: r0 []
+
+-- glog af
+@  11: r11 []
+|
+o  10: r10 []
+|
+o    9: r9 []
+|\
+| o  8: r8 [temp]
+| |
+| o  7: r7 [temp]
+| |
+| o  6: r6 [temp]
+| |
+| o  5: r5 [temp]
+| |
+o |  4: r4 []
+| |
+o |  3: r3 []
+| |
+o |  2: r2 []
+|/
+o  1: r1 []
+|
+o  0: r0 []
+
+-- tags
+tip                               11:f96e381c614c
+p2                                 4:d9d6db981b55 local
+f                                  1:73253def624e local
+-- cat of
+r11
+-- cat af
+r0
+r1
+r5
+r6
+r7
+r8
+r9
+r10
+r11
+---- new and mergeable files
+-- dag
++2:f
++3:p2
+@temp*f+3
+@default*/p2+2:tip
+-- glog
+@  11: r11 [] @ 11.00
+|
+o  10: r10 [] @ 10.00
+|
+o    9: r9 [] @ 9.00
+|\
+| o  8: r8 [temp] @ 8.00
+| |
+| o  7: r7 [temp] @ 7.00
+| |
+| o  6: r6 [temp] @ 6.00
+| |
+| o  5: r5 [temp] @ 5.00
+| |
+o |  4: r4 [] @ 4.00
+| |
+o |  3: r3 [] @ 3.00
+| |
+o |  2: r2 [] @ 2.00
+|/
+o  1: r1 [] @ 1.00
+|
+o  0: r0 [] @ 0.00
+
+-- glog mf
+@  11: r11 []
+|
+o  10: r10 []
+|
+o    9: r9 []
+|\
+| o  8: r8 [temp]
+| |
+| o  7: r7 [temp]
+| |
+| o  6: r6 [temp]
+| |
+| o  5: r5 [temp]
+| |
+o |  4: r4 []
+| |
+o |  3: r3 []
+| |
+o |  2: r2 []
+|/
+o  1: r1 []
+|
+o  0: r0 []
+
+-- man r4
+mf
+nf0
+nf1
+nf2
+nf3
+nf4
+-- cat r4 mf
+0 r0
+1
+2 r1
+3
+4 r2
+5
+6 r3
+7
+8 r4
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+-- man r8
+mf
+nf0
+nf1
+nf5
+nf6
+nf7
+nf8
+-- cat r8 mf
+0 r0
+1
+2 r1
+3
+4
+5
+6
+7
+8
+9
+10 r5
+11
+12 r6
+13
+14 r7
+15
+16 r8
+17
+18
+19
+20
+21
+22
+23
+-- man
+mf
+nf0
+nf1
+nf10
+nf11
+nf2
+nf3
+nf4
+nf5
+nf6
+nf7
+nf8
+nf9
+-- cat mf
+0 r0
+1
+2 r1
+3
+4 r2
+5
+6 r3
+7
+8 r4
+9
+10 r5
+11
+12 r6
+13
+14 r7
+15
+16 r8
+17
+18 r9
+19
+20 r10
+21
+22 r11
+23
+---- command
+-- dag
++4:tip
+-- glog
+@  3: r3 []
+|
+o  2: r2 []
+|
+o  1: r1 []
+|
+o  0: r0 []
+
+-- glog X
+o  2: r2 []
+
--- a/tests/test-debugcomplete.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-debugcomplete.out	Mon Jun 21 13:41:11 2010 -0500
@@ -61,18 +61,22 @@
 
 % Show debug commands if there are no other candidates
 debugancestor
+debugbuilddag
 debugcheckstate
 debugcommands
 debugcomplete
 debugconfig
+debugdag
 debugdata
 debugdate
 debugfsinfo
 debugindex
 debugindexdot
 debuginstall
+debugpushkey
 debugrebuildstate
 debugrename
+debugrevspec
 debugsetparents
 debugstate
 debugsub
@@ -143,7 +147,7 @@
 --traceback
 --verbose
 --version
---webdir-conf
+--web-conf
 -6
 -A
 -E
@@ -171,12 +175,12 @@
 export: output, switch-parent, rev, text, git, nodates
 forget: include, exclude
 init: ssh, remotecmd
-log: follow, follow-first, date, copies, keyword, rev, removed, only-merges, user, only-branch, prune, patch, git, limit, no-merges, style, template, include, exclude
+log: follow, follow-first, date, copies, keyword, rev, removed, only-merges, user, only-branch, branch, prune, patch, git, limit, no-merges, stat, style, template, include, exclude
 merge: force, rev, preview
 pull: update, force, rev, branch, ssh, remotecmd
-push: force, rev, branch, ssh, remotecmd
+push: force, rev, branch, new-branch, ssh, remotecmd
 remove: after, force, include, exclude
-serve: accesslog, daemon, daemon-pipefds, errorlog, port, address, prefix, name, webdir-conf, pid-file, stdio, templates, style, ipv6, certificate
+serve: accesslog, daemon, daemon-pipefds, errorlog, port, address, prefix, name, web-conf, webdir-conf, pid-file, stdio, templates, style, ipv6, certificate
 status: all, modified, added, removed, deleted, clean, unknown, ignored, no-status, copies, print0, rev, change, include, exclude
 summary: remote
 update: clean, check, date, rev
@@ -190,17 +194,21 @@
 cat: output, rev, decode, include, exclude
 copy: after, force, include, exclude, dry-run
 debugancestor: 
+debugbuilddag: mergeable-file, appended-file, overwritten-file, new-file
 debugcheckstate: 
 debugcommands: 
 debugcomplete: options
+debugdag: tags, branches, dots, spaces
 debugdata: 
 debugdate: extended
 debugfsinfo: 
 debugindex: 
 debugindexdot: 
 debuginstall: 
+debugpushkey: 
 debugrebuildstate: rev
 debugrename: rev
+debugrevspec: 
 debugsetparents: 
 debugstate: nodates
 debugsub: rev
@@ -210,20 +218,20 @@
 help: 
 identify: rev, num, id, branch, tags
 import: strip, base, force, no-commit, exact, import-branch, message, logfile, date, user, similarity
-incoming: force, newest-first, bundle, rev, branch, patch, git, limit, no-merges, style, template, ssh, remotecmd
+incoming: force, newest-first, bundle, rev, branch, patch, git, limit, no-merges, stat, style, template, ssh, remotecmd
 locate: rev, print0, fullpath, include, exclude
 manifest: rev
-outgoing: force, rev, newest-first, branch, patch, git, limit, no-merges, style, template, ssh, remotecmd
+outgoing: force, rev, newest-first, branch, patch, git, limit, no-merges, stat, style, template, ssh, remotecmd
 parents: rev, style, template
 paths: 
 recover: 
 rename: after, force, include, exclude, dry-run
 resolve: all, list, mark, unmark, no-status, include, exclude
 revert: all, date, rev, no-backup, include, exclude, dry-run
-rollback: 
+rollback: dry-run
 root: 
 showconfig: untrusted
-tag: force, local, rev, remove, message, date, user
+tag: force, local, rev, remove, edit, message, date, user
 tags: 
 tip: patch, git, style, template
 unbundle: update
--- a/tests/test-diff-color.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-diff-color.out	Mon Jun 21 13:41:11 2010 -0500
@@ -31,7 +31,8 @@
 old mode 100644
 new mode 100755
 1 hunks, 2 lines changed
-examine changes to 'a'? [Ynsfdaq?] @@ -2,7 +2,7 @@
+examine changes to 'a'? [Ynsfdaq?] 
+@@ -2,7 +2,7 @@
  c
  a
  a
@@ -41,13 +42,15 @@
  a
  c
 record this change to 'a'? [Ynsfdaq?] 
-rolling back last transaction
+
+rolling back to revision 0 (undo commit)
 % qrecord
 diff --git a/a b/a
 old mode 100644
 new mode 100755
 1 hunks, 2 lines changed
-examine changes to 'a'? [Ynsfdaq?] @@ -2,7 +2,7 @@
+examine changes to 'a'? [Ynsfdaq?] 
+@@ -2,7 +2,7 @@
  c
  a
  a
@@ -57,3 +60,4 @@
  a
  c
 record this change to 'a'? [Ynsfdaq?] 
+
--- a/tests/test-dispatch.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-dispatch.out	Mon Jun 21 13:41:11 2010 -0500
@@ -17,13 +17,17 @@
     "%d"  dirname of file being printed, or '.' if in repository root
     "%p"  root-relative path name of file being printed
 
+    Returns 0 on success.
+
 options:
 
- -o --output   print output to file with formatted name
- -r --rev      print the given revision
-    --decode   apply any matching decode filter
- -I --include  include names matching the given patterns
- -X --exclude  exclude names matching the given patterns
+ -o --output FORMAT        print output to file with formatted name
+ -r --rev REV              print the given revision
+    --decode               apply any matching decode filter
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+
+[+] marked option can be specified multiple times
 
 use "hg -v help cat" to show global options
 % [defaults]
--- a/tests/test-doctest.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-doctest.py	Mon Jun 21 13:41:11 2010 -0500
@@ -15,5 +15,8 @@
 import mercurial.util
 doctest.testmod(mercurial.util)
 
+import mercurial.dagparser
+doctest.testmod(mercurial.dagparser, optionflags=doctest.NORMALIZE_WHITESPACE)
+
 import hgext.convert.cvsps
 doctest.testmod(hgext.convert.cvsps)
--- a/tests/test-encoding.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-encoding.out	Mon Jun 21 13:41:11 2010 -0500
@@ -121,18 +121,18 @@
 ?                                  3:770b9b11621d
 % hg tags (latin-1)
 tip                                5:db5520b4645f
-é                                  3:770b9b11621d
+é                                 3:770b9b11621d
 % hg tags (utf-8)
 tip                                5:db5520b4645f
-é                                  3:770b9b11621d
+é                                 3:770b9b11621d
 % hg branches (ascii)
 ?                              5:db5520b4645f
 default                        4:9cff3c980b58 (inactive)
 % hg branches (latin-1)
-é                              5:db5520b4645f
+é                             5:db5520b4645f
 default                        4:9cff3c980b58 (inactive)
 % hg branches (utf-8)
-é                              5:db5520b4645f
+é                             5:db5520b4645f
 default                        4:9cff3c980b58 (inactive)
 % hg log (utf-8)
 changeset:   5:db5520b4645f
--- a/tests/test-eolfilename.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-eolfilename.out	Mon Jun 21 13:41:11 2010 -0500
@@ -15,6 +15,6 @@
 o
 % test issue2039
 ? foo
-bar
+bar
 ? foo
-bar.baz
+bar.baz
--- a/tests/test-extdiff.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-extdiff.out	Mon Jun 21 13:41:11 2010 -0500
@@ -17,11 +17,13 @@
 
 options:
 
- -o --option   pass option to comparison program
- -r --rev      revision
- -c --change   change made by revision
- -I --include  include names matching the given patterns
- -X --exclude  exclude names matching the given patterns
+ -o --option OPT [+]       pass option to comparison program
+ -r --rev REV [+]          revision
+ -c --change REV           change made by revision
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+
+[+] marked option can be specified multiple times
 
 use "hg -v help falabala" to show global options
 diffing a.8a5febb7f867/a a.34eed99112ab/a
--- a/tests/test-extension.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-extension.out	Mon Jun 21 13:41:11 2010 -0500
@@ -51,21 +51,24 @@
       yet another foo command
 
 global options:
- -R --repository      repository root directory or name of overlay bundle file
-    --cwd             change working directory
- -y --noninteractive  do not prompt, assume 'yes' for any required answers
- -q --quiet           suppress output
- -v --verbose         enable additional output
-    --config          set/override config option (use 'section.name=value')
-    --debug           enable debugging output
-    --debugger        start debugger
-    --encoding        set the charset encoding (default: ascii)
-    --encodingmode    set the charset encoding mode (default: strict)
-    --traceback       always print a traceback on exception
-    --time            time how long the command takes
-    --profile         print command execution profile
-    --version         output version information and exit
- -h --help            display help and exit
+ -R --repository REPO    repository root directory or name of overlay bundle
+                         file
+    --cwd DIR            change working directory
+ -y --noninteractive     do not prompt, assume 'yes' for any required answers
+ -q --quiet              suppress output
+ -v --verbose            enable additional output
+    --config CONFIG [+]  set/override config option (use 'section.name=value')
+    --debug              enable debugging output
+    --debugger           start debugger
+    --encoding ENCODE    set the charset encoding (default: ascii)
+    --encodingmode MODE  set the charset encoding mode (default: strict)
+    --traceback          always print a traceback on exception
+    --time               time how long the command takes
+    --profile            print command execution profile
+    --version            output version information and exit
+ -h --help               display help and exit
+
+[+] marked option can be specified multiple times
 % hg help --debug
 debugextension extension - only debugcommands
 
@@ -77,21 +80,24 @@
       yet another foo command
 
 global options:
- -R --repository      repository root directory or name of overlay bundle file
-    --cwd             change working directory
- -y --noninteractive  do not prompt, assume 'yes' for any required answers
- -q --quiet           suppress output
- -v --verbose         enable additional output
-    --config          set/override config option (use 'section.name=value')
-    --debug           enable debugging output
-    --debugger        start debugger
-    --encoding        set the charset encoding (default: ascii)
-    --encodingmode    set the charset encoding mode (default: strict)
-    --traceback       always print a traceback on exception
-    --time            time how long the command takes
-    --profile         print command execution profile
-    --version         output version information and exit
- -h --help            display help and exit
+ -R --repository REPO    repository root directory or name of overlay bundle
+                         file
+    --cwd DIR            change working directory
+ -y --noninteractive     do not prompt, assume 'yes' for any required answers
+ -q --quiet              suppress output
+ -v --verbose            enable additional output
+    --config CONFIG [+]  set/override config option (use 'section.name=value')
+    --debug              enable debugging output
+    --debugger           start debugger
+    --encoding ENCODE    set the charset encoding (default: ascii)
+    --encodingmode MODE  set the charset encoding mode (default: strict)
+    --traceback          always print a traceback on exception
+    --time               time how long the command takes
+    --profile            print command execution profile
+    --version            output version information and exit
+ -h --help               display help and exit
+
+[+] marked option can be specified multiple times
 % issue811
 % show extensions
 debugissue811
--- a/tests/test-fetch.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-fetch.out	Mon Jun 21 13:41:11 2010 -0500
@@ -86,7 +86,6 @@
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch b
 adding b
-created new head
 
 % pull in change on foreign branch
 updating to branch default
@@ -157,7 +156,6 @@
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-created new head
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 created new head
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -184,6 +182,7 @@
 adding b
 marked working directory as branch default
 adding c
+created new head
 updating to branch default
 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
 % fetch should succeed
--- a/tests/test-fncache.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-fncache.out	Mon Jun 21 13:41:11 2010 -0500
@@ -54,6 +54,7 @@
 .hg/requires
 .hg/undo
 .hg/undo.branch
+.hg/undo.desc
 .hg/undo.dirstate
 % non fncache repo
 adding tst.d/Foo
@@ -70,4 +71,5 @@
 .hg/store/data/tst.d.hg/_foo.i
 .hg/store/undo
 .hg/undo.branch
+.hg/undo.desc
 .hg/undo.dirstate
--- a/tests/test-gendoc	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-gendoc	Mon Jun 21 13:41:11 2010 -0500
@@ -1,7 +1,6 @@
 #!/bin/sh
 
-"$TESTDIR/hghave" rst2html || exit 80
-RST2HTML=`which rst2html 2> /dev/null || which rst2html.py`
+"$TESTDIR/hghave" docutils || exit 80
 
 HGENCODING=UTF-8
 export HGENCODING
@@ -14,8 +13,8 @@
     echo "" >> gendoc-$LOCALE.txt
     LC_ALL=$LOCALE python $TESTDIR/../doc/gendoc.py >> gendoc-$LOCALE.txt || exit
 
-    # We run rst2html over the file without adding "--halt warning" to
-    # make it report all errors instead of stopping on the first one.
-    echo "checking for parse errors with rst2html"
-    $RST2HTML gendoc-$LOCALE.txt /dev/null
+    # We call runrst without adding "--halt warning" to make it report
+    # all errors instead of stopping on the first one.
+    echo "checking for parse errors"
+    python $TESTDIR/../doc/runrst html gendoc-$LOCALE.txt /dev/null
 done
--- a/tests/test-gendoc.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-gendoc.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,33 +1,33 @@
 
 % extracting documentation from C
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from da
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from de
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from el
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from fr
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from it
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from ja
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from pt_BR
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from sv
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from zh_CN
-checking for parse errors with rst2html
+checking for parse errors
 
 % extracting documentation from zh_TW
-checking for parse errors with rst2html
+checking for parse errors
--- a/tests/test-globalopts.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-globalopts.out	Mon Jun 21 13:41:11 2010 -0500
@@ -186,9 +186,9 @@
  rename       rename files; equivalent of copy + remove
  resolve      various operations to help finish a merge
  revert       restore individual files or directories to an earlier state
- rollback     roll back the last transaction
+ rollback     roll back the last transaction (dangerous)
  root         print the root (top) of the current working directory
- serve        export the repository via HTTP
+ serve        start stand-alone webserver
  showconfig   show combined config settings from all hgrc files
  status       show changed files in the working directory
  summary      summarize working directory state
@@ -196,7 +196,7 @@
  tags         list repository tags
  tip          show the tip revision
  unbundle     apply one or more changegroup files
- update       update working directory
+ update       update working directory (or switch revisions)
  verify       verify the integrity of the repository
  version      output version and copyright information
 
@@ -208,10 +208,13 @@
  environment  Environment Variables
  revisions    Specifying Single Revisions
  multirevs    Specifying Multiple Revisions
+ revsets      Specifying Revision Sets
  diffs        Diff Formats
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
+ glossary     Glossary
 
 use "hg -v help" to show aliases and global options
 Mercurial Distributed SCM
@@ -255,9 +258,9 @@
  rename       rename files; equivalent of copy + remove
  resolve      various operations to help finish a merge
  revert       restore individual files or directories to an earlier state
- rollback     roll back the last transaction
+ rollback     roll back the last transaction (dangerous)
  root         print the root (top) of the current working directory
- serve        export the repository via HTTP
+ serve        start stand-alone webserver
  showconfig   show combined config settings from all hgrc files
  status       show changed files in the working directory
  summary      summarize working directory state
@@ -265,7 +268,7 @@
  tags         list repository tags
  tip          show the tip revision
  unbundle     apply one or more changegroup files
- update       update working directory
+ update       update working directory (or switch revisions)
  verify       verify the integrity of the repository
  version      output version and copyright information
 
@@ -277,10 +280,13 @@
  environment  Environment Variables
  revisions    Specifying Single Revisions
  multirevs    Specifying Multiple Revisions
+ revsets      Specifying Revision Sets
  diffs        Diff Formats
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
+ glossary     Glossary
 
 use "hg -v help" to show aliases and global options
 %% not tested: --debugger
--- a/tests/test-grep	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-grep	Mon Jun 21 13:41:11 2010 -0500
@@ -21,6 +21,9 @@
 hg grep '**test**'
 echo % simple
 hg grep port port
+echo % simple with color
+hg --config extensions.color= grep --config color.mode=ansi \
+    --color=always port port
 echo % all
 hg grep --traceback --all -nu port port
 echo % other
--- a/tests/test-grep.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-grep.out	Mon Jun 21 13:41:11 2010 -0500
@@ -4,6 +4,10 @@
 port:4:export
 port:4:vaportight
 port:4:import/export
+% simple with color
+port:4:export
+port:4:vaportight
+port:4:import/export
 % all
 port:4:4:-:spam:import/export
 port:3:4:+:eggs:import/export
--- a/tests/test-help.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-help.out	Mon Jun 21 13:41:11 2010 -0500
@@ -15,10 +15,10 @@
  pull       pull changes from the specified source
  push       push changes to the specified destination
  remove     remove the specified files on the next commit
- serve      export the repository via HTTP
+ serve      start stand-alone webserver
  status     show changed files in the working directory
  summary    summarize working directory state
- update     update working directory
+ update     update working directory (or switch revisions)
 
 use "hg help" for the full list of commands or "hg -v" for details
  add        add the specified files on the next commit
@@ -34,10 +34,10 @@
  pull       pull changes from the specified source
  push       push changes to the specified destination
  remove     remove the specified files on the next commit
- serve      export the repository via HTTP
+ serve      start stand-alone webserver
  status     show changed files in the working directory
  summary    summarize working directory state
- update     update working directory
+ update     update working directory (or switch revisions)
 Mercurial Distributed SCM
 
 list of commands:
@@ -79,9 +79,9 @@
  rename       rename files; equivalent of copy + remove
  resolve      various operations to help finish a merge
  revert       restore individual files or directories to an earlier state
- rollback     roll back the last transaction
+ rollback     roll back the last transaction (dangerous)
  root         print the root (top) of the current working directory
- serve        export the repository via HTTP
+ serve        start stand-alone webserver
  showconfig   show combined config settings from all hgrc files
  status       show changed files in the working directory
  summary      summarize working directory state
@@ -89,7 +89,7 @@
  tags         list repository tags
  tip          show the tip revision
  unbundle     apply one or more changegroup files
- update       update working directory
+ update       update working directory (or switch revisions)
  verify       verify the integrity of the repository
  version      output version and copyright information
 
@@ -101,10 +101,13 @@
  environment  Environment Variables
  revisions    Specifying Single Revisions
  multirevs    Specifying Multiple Revisions
+ revsets      Specifying Revision Sets
  diffs        Diff Formats
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
+ glossary     Glossary
 
 use "hg -v help" to show aliases and global options
  add          add the specified files on the next commit
@@ -144,9 +147,9 @@
  rename       rename files; equivalent of copy + remove
  resolve      various operations to help finish a merge
  revert       restore individual files or directories to an earlier state
- rollback     roll back the last transaction
+ rollback     roll back the last transaction (dangerous)
  root         print the root (top) of the current working directory
- serve        export the repository via HTTP
+ serve        start stand-alone webserver
  showconfig   show combined config settings from all hgrc files
  status       show changed files in the working directory
  summary      summarize working directory state
@@ -154,7 +157,7 @@
  tags         list repository tags
  tip          show the tip revision
  unbundle     apply one or more changegroup files
- update       update working directory
+ update       update working directory (or switch revisions)
  verify       verify the integrity of the repository
  version      output version and copyright information
 
@@ -166,10 +169,13 @@
  environment  Environment Variables
  revisions    Specifying Single Revisions
  multirevs    Specifying Multiple Revisions
+ revsets      Specifying Revision Sets
  diffs        Diff Formats
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
+ glossary     Glossary
 %% test short command list with verbose option
 Mercurial Distributed SCM (version xxx)
 
@@ -206,30 +212,33 @@
  remove, rm:
       remove the specified files on the next commit
  serve:
-      export the repository via HTTP
+      start stand-alone webserver
  status, st:
       show changed files in the working directory
  summary, sum:
       summarize working directory state
  update, up, checkout, co:
-      update working directory
+      update working directory (or switch revisions)
 
 global options:
- -R --repository      repository root directory or name of overlay bundle file
-    --cwd             change working directory
- -y --noninteractive  do not prompt, assume 'yes' for any required answers
- -q --quiet           suppress output
- -v --verbose         enable additional output
-    --config          set/override config option (use 'section.name=value')
-    --debug           enable debugging output
-    --debugger        start debugger
-    --encoding        set the charset encoding (default: ascii)
-    --encodingmode    set the charset encoding mode (default: strict)
-    --traceback       always print a traceback on exception
-    --time            time how long the command takes
-    --profile         print command execution profile
-    --version         output version information and exit
- -h --help            display help and exit
+ -R --repository REPO    repository root directory or name of overlay bundle
+                         file
+    --cwd DIR            change working directory
+ -y --noninteractive     do not prompt, assume 'yes' for any required answers
+ -q --quiet              suppress output
+ -v --verbose            enable additional output
+    --config CONFIG [+]  set/override config option (use 'section.name=value')
+    --debug              enable debugging output
+    --debugger           start debugger
+    --encoding ENCODE    set the charset encoding (default: ascii)
+    --encodingmode MODE  set the charset encoding mode (default: strict)
+    --traceback          always print a traceback on exception
+    --time               time how long the command takes
+    --profile            print command execution profile
+    --version            output version information and exit
+ -h --help               display help and exit
+
+[+] marked option can be specified multiple times
 
 use "hg help" for the full list of commands
 hg add [OPTION]... [FILE]...
@@ -239,7 +248,7 @@
     Schedule files to be version controlled and added to the repository.
 
     The files will be added to the repository at the next commit. To undo an
-    add before that, see hg forget.
+    add before that, see "hg forget".
 
     If no names are given, add all files to the repository.
 
@@ -247,9 +256,11 @@
 
 options:
 
- -I --include  include names matching the given patterns
- -X --exclude  exclude names matching the given patterns
- -n --dry-run  do not perform actions, just print output
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+ -n --dry-run              do not perform actions, just print output
+
+[+] marked option can be specified multiple times
 
 use "hg -v help add" to show global options
 %% verbose help for add
@@ -260,7 +271,7 @@
     Schedule files to be version controlled and added to the repository.
 
     The files will be added to the repository at the next commit. To undo an
-    add before that, see hg forget.
+    add before that, see "hg forget".
 
     If no names are given, add all files to the repository.
 
@@ -278,26 +289,31 @@
 
 options:
 
- -I --include         include names matching the given patterns
- -X --exclude         exclude names matching the given patterns
- -n --dry-run         do not perform actions, just print output
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+ -n --dry-run              do not perform actions, just print output
 
 global options:
- -R --repository      repository root directory or name of overlay bundle file
-    --cwd             change working directory
- -y --noninteractive  do not prompt, assume 'yes' for any required answers
- -q --quiet           suppress output
- -v --verbose         enable additional output
-    --config          set/override config option (use 'section.name=value')
-    --debug           enable debugging output
-    --debugger        start debugger
-    --encoding        set the charset encoding (default: ascii)
-    --encodingmode    set the charset encoding mode (default: strict)
-    --traceback       always print a traceback on exception
-    --time            time how long the command takes
-    --profile         print command execution profile
-    --version         output version information and exit
- -h --help            display help and exit
+ -R --repository REPO      repository root directory or name of overlay bundle
+                           file
+    --cwd DIR              change working directory
+ -y --noninteractive       do not prompt, assume 'yes' for any required
+                           answers
+ -q --quiet                suppress output
+ -v --verbose              enable additional output
+    --config CONFIG [+]    set/override config option (use
+                           'section.name=value')
+    --debug                enable debugging output
+    --debugger             start debugger
+    --encoding ENCODE      set the charset encoding (default: ascii)
+    --encodingmode MODE    set the charset encoding mode (default: strict)
+    --traceback            always print a traceback on exception
+    --time                 time how long the command takes
+    --profile              print command execution profile
+    --version              output version information and exit
+ -h --help                 display help and exit
+
+[+] marked option can be specified multiple times
 %% test help option with version option
 Mercurial Distributed SCM (version xxx)
 
@@ -312,7 +328,7 @@
     Schedule files to be version controlled and added to the repository.
 
     The files will be added to the repository at the next commit. To undo an
-    add before that, see hg forget.
+    add before that, see "hg forget".
 
     If no names are given, add all files to the repository.
 
@@ -320,9 +336,11 @@
 
 options:
 
- -I --include  include names matching the given patterns
- -X --exclude  exclude names matching the given patterns
- -n --dry-run  do not perform actions, just print output
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+ -n --dry-run              do not perform actions, just print output
+
+[+] marked option can be specified multiple times
 
 use "hg -v help add" to show global options
 hg add: option --skjdfks not recognized
@@ -333,7 +351,7 @@
     Schedule files to be version controlled and added to the repository.
 
     The files will be added to the repository at the next commit. To undo an
-    add before that, see hg forget.
+    add before that, see "hg forget".
 
     If no names are given, add all files to the repository.
 
@@ -341,9 +359,11 @@
 
 options:
 
- -I --include  include names matching the given patterns
- -X --exclude  exclude names matching the given patterns
- -n --dry-run  do not perform actions, just print output
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+ -n --dry-run              do not perform actions, just print output
+
+[+] marked option can be specified multiple times
 
 use "hg -v help add" to show global options
 %% test ambiguous command help
@@ -365,6 +385,8 @@
     manifest, and tracked files, as well as the integrity of their crosslinks
     and indices.
 
+    Returns 0 on success, 1 if errors are encountered.
+
 use "hg -v help verify" to show global options
 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
 
@@ -391,12 +413,14 @@
     with undesirable results.
 
     Use the -g/--git option to generate diffs in the git extended diff format.
-    For more information, read 'hg help diffs'.
+    For more information, read "hg help diffs".
+
+    Returns 0 on success.
 
 options:
 
- -r --rev                  revision
- -c --change               change made by revision
+ -r --rev REV [+]          revision
+ -c --change REV           change made by revision
  -a --text                 treat all files as text
  -g --git                  use git extended diff format
     --nodates              omit dates from diff headers
@@ -405,10 +429,12 @@
  -w --ignore-all-space     ignore white space when comparing lines
  -b --ignore-space-change  ignore changes in the amount of white space
  -B --ignore-blank-lines   ignore changes whose lines are all blank
- -U --unified              number of lines of context to show
+ -U --unified NUM          number of lines of context to show
     --stat                 output diffstat-style summary of changes
- -I --include              include names matching the given patterns
- -X --exclude              exclude names matching the given patterns
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+
+[+] marked option can be specified multiple times
 
 use "hg -v help diff" to show global options
 hg status [OPTION]... [FILE]...
@@ -447,23 +473,27 @@
       I = ignored
         = origin of the previous file listed as A (added)
 
+    Returns 0 on success.
+
 options:
 
- -A --all        show status of all files
- -m --modified   show only modified files
- -a --added      show only added files
- -r --removed    show only removed files
- -d --deleted    show only deleted (but tracked) files
- -c --clean      show only files without changes
- -u --unknown    show only unknown (not tracked) files
- -i --ignored    show only ignored files
- -n --no-status  hide status prefix
- -C --copies     show source of copied files
- -0 --print0     end filenames with NUL, for use with xargs
-    --rev        show difference from revision
-    --change     list the changed files of a revision
- -I --include    include names matching the given patterns
- -X --exclude    exclude names matching the given patterns
+ -A --all                  show status of all files
+ -m --modified             show only modified files
+ -a --added                show only added files
+ -r --removed              show only removed files
+ -d --deleted              show only deleted (but tracked) files
+ -c --clean                show only files without changes
+ -u --unknown              show only unknown (not tracked) files
+ -i --ignored              show only ignored files
+ -n --no-status            hide status prefix
+ -C --copies               show source of copied files
+ -0 --print0               end filenames with NUL, for use with xargs
+    --rev REV [+]          show difference from revision
+    --change REV           list the changed files of a revision
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+
+[+] marked option can be specified multiple times
 
 use "hg -v help status" to show global options
 hg status [OPTION]... [FILE]...
@@ -487,10 +517,10 @@
  pull       pull changes from the specified source
  push       push changes to the specified destination
  remove     remove the specified files on the next commit
- serve      export the repository via HTTP
+ serve      start stand-alone webserver
  status     show changed files in the working directory
  summary    summarize working directory state
- update     update working directory
+ update     update working directory (or switch revisions)
 
 use "hg help" for the full list of commands or "hg -v" for details
 hg: unknown command 'skjdfks'
@@ -511,10 +541,10 @@
  pull       pull changes from the specified source
  push       push changes to the specified destination
  remove     remove the specified files on the next commit
- serve      export the repository via HTTP
+ serve      start stand-alone webserver
  status     show changed files in the working directory
  summary    summarize working directory state
- update     update working directory
+ update     update working directory (or switch revisions)
 
 use "hg help" for the full list of commands or "hg -v" for details
 %% test command with no help text
@@ -565,9 +595,9 @@
  rename       rename files; equivalent of copy + remove
  resolve      various operations to help finish a merge
  revert       restore individual files or directories to an earlier state
- rollback     roll back the last transaction
+ rollback     roll back the last transaction (dangerous)
  root         print the root (top) of the current working directory
- serve        export the repository via HTTP
+ serve        start stand-alone webserver
  showconfig   show combined config settings from all hgrc files
  status       show changed files in the working directory
  summary      summarize working directory state
@@ -575,7 +605,7 @@
  tags         list repository tags
  tip          show the tip revision
  unbundle     apply one or more changegroup files
- update       update working directory
+ update       update working directory (or switch revisions)
  verify       verify the integrity of the repository
  version      output version and copyright information
 
@@ -591,10 +621,13 @@
  environment  Environment Variables
  revisions    Specifying Single Revisions
  multirevs    Specifying Multiple Revisions
+ revsets      Specifying Revision Sets
  diffs        Diff Formats
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
+ glossary     Glossary
 
 use "hg -v help" to show aliases and global options
 %% test list of commands with command with no help text
--- a/tests/test-hg-parseurl.py.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-hg-parseurl.py.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,5 @@
-http://example.com/no/anchor, branches: []
-http://example.com/an/anchor, branches: ['foo']
-http://example.com/no/anchor/branches, branches: ['foo']
-http://example.com/an/anchor/branches, branches: ['foo', 'bar']
-http://example.com/an/anchor/branches-None, branches: ['foo']
+http://example.com/no/anchor, branches: (None, [])
+http://example.com/an/anchor, branches: ('foo', [])
+http://example.com/no/anchor/branches, branches: (None, ['foo'])
+http://example.com/an/anchor/branches, branches: ('bar', ['foo'])
+http://example.com/an/anchor/branches-None, branches: ('foo', [])
--- a/tests/test-hgrc	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-hgrc	Mon Jun 21 13:41:11 2010 -0500
@@ -23,8 +23,33 @@
     > $HGRCPATH
 hg showconfig foo
 
-echo '%include /no-such-file' > $HGRCPATH
+FAKEPATH=/path/to/nowhere
+export FAKEPATH
+echo '%include $FAKEPATH/no-such-file' > $HGRCPATH
 hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|"
+unset FAKEPATH
+
+echo "% username expansion"
+olduser=$HGUSER
+unset HGUSER
+
+FAKEUSER='John Doe'
+export FAKEUSER
+echo '[ui]' > $HGRCPATH
+echo 'username = $FAKEUSER' >> $HGRCPATH
+
+hg init usertest
+cd usertest
+touch bar
+hg commit --addremove --quiet -m "added bar"
+hg log --template "{author}\n"
+cd ..
+
+hg showconfig | sed -e "s:$p:...:"
+
+unset FAKEUSER
+HGUSER=$olduser
+export HGUSER
 
 # HGPLAIN
 cd ..
--- a/tests/test-hgrc.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-hgrc.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,4 +1,4 @@
-hg: config error at $HGRCPATH:1: 'invalid'
+hg: parse error at $HGRCPATH:1: invalid
 updating to branch default
 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
 [paths]
@@ -6,11 +6,15 @@
 default = .../foo%bar
 bundle.mainreporoot=.../foobar
 paths.default=.../foo%bar
-hg: config error at $HGRCPATH:2: '  x = y'
+hg: parse error at $HGRCPATH:2:   x = y
 foo.bar=a\nb\nc\nde\nfg
 foo.baz=bif cb
-hg: config error at $HGRCPATH:1: cannot include /no-such-file (No such file or directory)
+hg: parse error at $HGRCPATH:1: cannot include /path/to/nowhere/no-such-file (No such file or directory)
+% username expansion
+John Doe
+ui.username=$FAKEUSER
 % customized hgrc
+read config from: .../.hgrc
 .../.hgrc:13: alias.log=log -g
 .../.hgrc:11: defaults.identify=-n
 .../.hgrc:2: ui.debug=true
@@ -22,6 +26,7 @@
 .../.hgrc:8: ui.style=~/.hgstyle
 .../.hgrc:9: ui.logtemplate={node}
 % plain hgrc
+read config from: .../.hgrc
 none: ui.traceback=True
 none: ui.verbose=False
 none: ui.debug=True
--- a/tests/test-hgweb-commands.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-hgweb-commands.out	Mon Jun 21 13:41:11 2010 -0500
@@ -845,7 +845,7 @@
 % capabilities
 200 Script output follows
 
-lookup changegroupsubset branchmap unbundle=HG10GZ,HG10BZ,HG10UN% heads
+lookup changegroupsubset branchmap pushkey unbundle=HG10GZ,HG10BZ,HG10UN% heads
 200 Script output follows
 
 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
--- a/tests/test-hook.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-hook.out	Mon Jun 21 13:41:11 2010 -0500
@@ -24,10 +24,10 @@
 3:4c52fb2e4022
 commit hook: HG_NODE=4c52fb2e402287dd5dc052090682536c8406c321 HG_PARENT1=1324a5531bac09b329c3845d35ae6a7526874edb HG_PARENT2=b702efe9688826e3a91283852b328b84dbf37bc2 
 commit.b hook: HG_NODE=4c52fb2e402287dd5dc052090682536c8406c321 HG_PARENT1=1324a5531bac09b329c3845d35ae6a7526874edb HG_PARENT2=b702efe9688826e3a91283852b328b84dbf37bc2 
-pre-identify hook: HG_ARGS=id 
+pre-identify hook: HG_ARGS=id HG_OPTS={'tags': None, 'rev': '', 'num': None, 'branch': None, 'id': None} HG_PATS=[] 
 warning: pre-identify hook exited with status 1
-pre-cat hook: HG_ARGS=cat b 
-post-cat hook: HG_ARGS=cat b HG_RESULT=0 
+pre-cat hook: HG_ARGS=cat b HG_OPTS={'rev': '', 'decode': None, 'exclude': [], 'output': '', 'include': []} HG_PATS=['b'] 
+post-cat hook: HG_ARGS=cat b HG_OPTS={'rev': '', 'decode': None, 'exclude': [], 'output': '', 'include': []} HG_PATS=['b'] HG_RESULT=0 
 b
 prechangegroup hook: HG_SOURCE=pull HG_URL=file: 
 changegroup hook: HG_NODE=b702efe9688826e3a91283852b328b84dbf37bc2 HG_SOURCE=pull HG_URL=file: 
@@ -101,7 +101,7 @@
 adding file changes
 added 1 changesets with 1 changes to 1 files
 (run 'hg update' to get a working copy)
-rolling back last transaction
+rolling back to revision 3 (undo pull)
 preoutgoing hook: HG_SOURCE=pull 
 preoutgoing.forbid hook: HG_SOURCE=pull 
 pulling from ../a
--- a/tests/test-hup.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-hup.out	Mon Jun 21 13:41:11 2010 -0500
@@ -4,4 +4,4 @@
 transaction abort!
 rollback completed
 killed!
-.hg/00changelog.i .hg/journal.branch .hg/journal.dirstate .hg/requires .hg/store .hg/store/00changelog.i .hg/store/00changelog.i.a
+.hg/00changelog.i .hg/journal.branch .hg/journal.desc .hg/journal.dirstate .hg/requires .hg/store .hg/store/00changelog.i .hg/store/00changelog.i.a
--- a/tests/test-import	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-import	Mon Jun 21 13:41:11 2010 -0500
@@ -296,31 +296,31 @@
 EOF
 cd ..
 
-echo '% test import with similarity (issue295)'
+echo '% test import with similarity and git and strip (issue295 et al.)'
 hg init sim
 cd sim
 echo 'this is a test' > a
 hg ci -Ama
 cat > ../rename.diff <<EOF
-diff --git a/a b/a
+diff --git a/foo/a b/foo/a
 deleted file mode 100644
---- a/a
+--- a/foo/a
 +++ /dev/null
 @@ -1,1 +0,0 @@
 -this is a test
-diff --git a/b b/b
+diff --git a/foo/b b/foo/b
 new file mode 100644
 --- /dev/null
-+++ b/b
++++ b/foo/b
 @@ -0,0 +1,2 @@
 +this is a test
 +foo
 EOF
-hg import --no-commit -v -s 1 ../rename.diff
+hg import --no-commit -v -s 1 ../rename.diff -p2
 hg st -C
 hg revert -a
 rm b
-hg import --no-commit -v -s 100 ../rename.diff
+hg import --no-commit -v -s 100 ../rename.diff -p2
 hg st -C
 cd ..
 
--- a/tests/test-import.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-import.out	Mon Jun 21 13:41:11 2010 -0500
@@ -182,7 +182,7 @@
 applying ../patch1
 applying ../patch2
 applied 1d4bd90af0e4
-rolling back last transaction
+rolling back to revision 1 (undo commit)
 parent: 1
 % hg import in a subdirectory
 requesting all changes
@@ -279,7 +279,7 @@
 % test paths outside repo root
 applying patch from stdin
 abort: ../outside/foo not under root
-% test import with similarity (issue295)
+% test import with similarity and git and strip (issue295 et al.)
 adding a
 applying ../rename.diff
 patching file a
--- a/tests/test-inherit-mode.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-inherit-mode.out	Mon Jun 21 13:41:11 2010 -0500
@@ -26,6 +26,7 @@
 00660 ./.hg/store/fncache
 00660 ./.hg/store/undo
 00660 ./.hg/undo.branch
+00660 ./.hg/undo.desc
 00660 ./.hg/undo.dirstate
 00700 ./dir/
 00600 ./dir/bar
@@ -54,4 +55,5 @@
 00660 ../push/.hg/store/fncache
 00660 ../push/.hg/store/undo
 00660 ../push/.hg/undo.branch
+00660 ../push/.hg/undo.desc
 00660 ../push/.hg/undo.dirstate
--- a/tests/test-issue619.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-issue619.out	Mon Jun 21 13:41:11 2010 -0500
@@ -6,5 +6,5 @@
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
 bogus fast-forward should fail
-abort: can't merge with ancestor
+abort: merging with a working directory ancestor has no effect
 done
--- a/tests/test-keyword	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-keyword	Mon Jun 21 13:41:11 2010 -0500
@@ -5,7 +5,10 @@
 keyword =
 mq =
 notify =
+record =
 transplant =
+[ui]
+interactive = true
 EOF
 
 # demo before [keyword] files are set up
@@ -21,7 +24,7 @@
 
 cat <<EOF >> $HGRCPATH
 [keyword]
-* =
+** =
 b = ignore
 [hooks]
 commit=
@@ -139,12 +142,42 @@
 echo % compare changenodes in a c
 cat a c
 
-echo % qinit -c
-hg qinit -c
+echo % record chunk
+python -c \
+'l=open("a").readlines();l.insert(1,"foo\n");l.append("bar\n");open("a","w").writelines(l);'
+hg record -d '1 10' -m rectest<<EOF
+y
+y
+n
+EOF
+echo
+hg identify
+hg status
+echo % cat modified file
+cat a
+hg diff | grep -v 'b/a'
+hg rollback
+
+echo % record file
+echo foo > msg
+# do not use "hg record -m" here!
+hg record -l msg -d '1 11'<<EOF
+y
+y
+y
+EOF
+echo % a should be clean
+hg status -A a
+rm msg
+hg rollback
+hg update -C
+
+echo % init --mq
+hg init --mq
 echo % qimport
 hg qimport -r tip -n mqtest.diff
-echo % qcommit
-hg qcommit -mqtest
+echo % commit --mq
+hg commit --mq -m mqtest
 echo % keywords should not be expanded in patch
 cat .hg/patches/mqtest.diff
 echo % qpop
@@ -153,6 +186,10 @@
 hg qgoto mqtest.diff
 echo % cat
 cat c
+echo % hg cat
+hg cat c
+echo % keyword should not be expanded in filelog
+hg --config 'extensions.keyword=!' cat c
 echo % qpop and move on
 hg qpop
 
--- a/tests/test-keyword.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-keyword.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,6 +1,6 @@
 % hg kwdemo
 [extensions]
-keyword = 
+keyword =
 [keyword]
 demo.txt = 
 [keywordmaps]
@@ -21,7 +21,7 @@
 $Revision: xxxxxxxxxxxx $
 $Source: /TMP/demo.txt,v $
 [extensions]
-keyword = 
+keyword =
 [keyword]
 demo.txt = 
 [keywordmaps]
@@ -132,9 +132,60 @@
 xxx $
 $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $
 tests for different changenodes
-% qinit -c
+% record chunk
+diff --git a/a b/a
+2 hunks, 2 lines changed
+examine changes to 'a'? [Ynsfdaq?] 
+@@ -1,3 +1,4 @@
+ expand $Id$
++foo
+ do not process $Id:
+ xxx $
+record change 1/2 to 'a'? [Ynsfdaq?] 
+@@ -2,2 +3,3 @@
+ do not process $Id:
+ xxx $
++bar
+record change 2/2 to 'a'? [Ynsfdaq?] 
+
+d17e03c92c97+ tip
+M a
+% cat modified file
+expand $Id: a,v d17e03c92c97 1970/01/01 00:00:01 test $
+foo
+do not process $Id:
+xxx $
+bar
+diff -r d17e03c92c97 a
+--- a/a	Wed Dec 31 23:59:51 1969 -0000
+@@ -2,3 +2,4 @@
+ foo
+ do not process $Id:
+ xxx $
++bar
+rolling back to revision 2 (undo commit)
+% record file
+diff --git a/a b/a
+2 hunks, 2 lines changed
+examine changes to 'a'? [Ynsfdaq?] 
+@@ -1,3 +1,4 @@
+ expand $Id$
++foo
+ do not process $Id:
+ xxx $
+record change 1/2 to 'a'? [Ynsfdaq?] 
+@@ -2,2 +3,3 @@
+ do not process $Id:
+ xxx $
++bar
+record change 2/2 to 'a'? [Ynsfdaq?] 
+% a should be clean
+C a
+rolling back to revision 2 (undo commit)
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% init --mq
 % qimport
-% qcommit
+% commit --mq
 % keywords should not be expanded in patch
 # HG changeset patch
 # User User Name <user@example.com>
@@ -158,6 +209,12 @@
 % cat
 $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $
 tests for different changenodes
+% hg cat
+$Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $
+tests for different changenodes
+% keyword should not be expanded in filelog
+$Id$
+tests for different changenodes
 % qpop and move on
 popping mqtest.diff
 patch queue now empty
@@ -198,7 +255,7 @@
 +do not process $Id:
 +xxx $
 % rollback
-rolling back last transaction
+rolling back to revision 1 (undo commit)
 % status
 A c
 % update -C
@@ -206,9 +263,9 @@
 % custom keyword expansion
 % try with kwdemo
 [extensions]
-keyword = 
+keyword =
 [keyword]
-* = 
+** = 
 b = ignore
 demo.txt = 
 [keywordmaps]
@@ -266,7 +323,7 @@
 % status
 ? c
 % rollback
-rolling back last transaction
+rolling back to revision 2 (undo commit)
 % status
 R a
 ? c
@@ -308,7 +365,7 @@
 ignore $Id$
 
 % rollback
-rolling back last transaction
+rolling back to revision 2 (undo commit)
 % clean update
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 % kwexpand/kwshrink on selected files
@@ -423,7 +480,6 @@
 % test restricted mode with transplant -b
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch foo
-created new head
 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
 applying 4aa30d025d50
 4aa30d025d50 transplanted to 5a4da427c162
--- a/tests/test-log	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-log	Mon Jun 21 13:41:11 2010 -0500
@@ -118,6 +118,13 @@
 echo '% log -d -1'
 hg log -d -1
 
+echo '% log -p -l2 --color=always'
+hg --config extensions.color= --config color.mode=ansi \
+    log -p -l2 --color=always
+
+echo '% log -r tip --stat'
+hg log -r tip --stat
+
 cd ..
 
 hg init usertest
@@ -132,4 +139,46 @@
 hg log -u "user1" -u "user2"
 hg log -u "user3"
 
+cd ..
+
+hg init branches
+cd branches
+
+echo a > a
+hg ci -A -m "commit on default"
+hg branch test
+echo b > b
+hg ci -A -m "commit on test"
+
+hg up default
+echo c > c
+hg ci -A -m "commit on default"
+hg up test
+echo c > c
+hg ci -A -m "commit on test"
+
+echo '% log -b default'
+hg log -b default
+
+echo '% log -b test'
+hg log -b test
+
+echo '% log -b dummy'
+hg log -b dummy
+
+echo '% log -b .'
+hg log -b .
+
+echo '% log -b default -b test'
+hg log -b default -b test
+
+echo '% log -b default -b .'
+hg log -b default -b .
+
+echo '% log -b . -b test'
+hg log -b . -b test
+
+echo '% log -b 2'
+hg log -b 2
+
 exit 0
--- a/tests/test-log.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-log.out	Mon Jun 21 13:41:11 2010 -0500
@@ -269,7 +269,7 @@
 +postm
 
 % log -r ""
-abort: 00changelog.i@: ambiguous identifier!
+hg: parse error: empty query
 % log -r <some unknown node id>
 abort: unknown revision '1000000000000000000000000000000000000000'!
 % log -k r1
@@ -279,6 +279,43 @@
 summary:     r1
 
 % log -d -1
+% log -p -l2 --color=always
+changeset:   6:2404bbcab562
+tag:         tip
+user:        test
+date:        Thu Jan 01 00:00:01 1970 +0000
+summary:     b1.1
+
+diff -r 302e9dd6890d -r 2404bbcab562 b1
+--- a/b1	Thu Jan 01 00:00:01 1970 +0000
++++ b/b1	Thu Jan 01 00:00:01 1970 +0000
+@@ -1,1 +1,2 @@
+ b1
++postm
+
+changeset:   5:302e9dd6890d
+parent:      3:e62f78d544b4
+parent:      4:ddb82e70d1a1
+user:        test
+date:        Thu Jan 01 00:00:01 1970 +0000
+summary:     m12
+
+diff -r e62f78d544b4 -r 302e9dd6890d b2
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/b2	Thu Jan 01 00:00:01 1970 +0000
+@@ -0,0 +1,1 @@
++b2
+
+% log -r tip --stat
+changeset:   6:2404bbcab562
+tag:         tip
+user:        test
+date:        Thu Jan 01 00:00:01 1970 +0000
+summary:     b1.1
+
+ b1 |  1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
 adding a
 adding b
 changeset:   0:29a4c94f1924
@@ -297,3 +334,133 @@
 date:        Thu Jan 01 00:00:00 1970 +0000
 summary:     a
 
+adding a
+marked working directory as branch test
+adding b
+0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+adding c
+1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+adding c
+% log -b default
+changeset:   2:c3a4f03cc9a7
+parent:      0:24427303d56f
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on default
+
+changeset:   0:24427303d56f
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on default
+
+% log -b test
+changeset:   3:f5d8de11c2e2
+branch:      test
+tag:         tip
+parent:      1:d32277701ccb
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+changeset:   1:d32277701ccb
+branch:      test
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+% log -b dummy
+abort: unknown revision 'dummy'!
+% log -b .
+changeset:   3:f5d8de11c2e2
+branch:      test
+tag:         tip
+parent:      1:d32277701ccb
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+changeset:   1:d32277701ccb
+branch:      test
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+% log -b default -b test
+changeset:   3:f5d8de11c2e2
+branch:      test
+tag:         tip
+parent:      1:d32277701ccb
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+changeset:   2:c3a4f03cc9a7
+parent:      0:24427303d56f
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on default
+
+changeset:   1:d32277701ccb
+branch:      test
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+changeset:   0:24427303d56f
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on default
+
+% log -b default -b .
+changeset:   3:f5d8de11c2e2
+branch:      test
+tag:         tip
+parent:      1:d32277701ccb
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+changeset:   2:c3a4f03cc9a7
+parent:      0:24427303d56f
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on default
+
+changeset:   1:d32277701ccb
+branch:      test
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+changeset:   0:24427303d56f
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on default
+
+% log -b . -b test
+changeset:   3:f5d8de11c2e2
+branch:      test
+tag:         tip
+parent:      1:d32277701ccb
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+changeset:   1:d32277701ccb
+branch:      test
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on test
+
+% log -b 2
+changeset:   2:c3a4f03cc9a7
+parent:      0:24427303d56f
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on default
+
+changeset:   0:24427303d56f
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     commit on default
+
--- a/tests/test-merge-default.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-merge-default.out	Mon Jun 21 13:41:11 2010 -0500
@@ -30,7 +30,6 @@
 abort: there is nothing to merge - use "hg update" instead
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch foobranch
-created new head
 % should fail because merge with other branch
 abort: branch 'foobranch' has one head - please merge with an explicit rev
 (run 'hg heads' to see all heads)
--- a/tests/test-merge3	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-hg init
-echo This is file a1 > a
-hg add a
-hg commit -m "commit #0" -d "1000000 0"
-touch b
-hg add b
-rm b
-hg commit -A -m"comment #1" -d "1000000 0"
--- a/tests/test-merge3.out	Tue Jun 08 13:19:22 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-removing b
-nothing changed
--- a/tests/test-minirst.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-minirst.py	Mon Jun 21 13:41:11 2010 -0500
@@ -178,3 +178,22 @@
 debugformat('containers (debug)', containers, 60, keep=['debug'])
 debugformat('containers (verbose debug)', containers, 60,
             keep=['verbose', 'debug'])
+
+roles = """Please see :hg:`add`."""
+debugformat('roles', roles, 60)
+
+
+sections = """
+Title
+=====
+
+Section
+-------
+
+Subsection
+''''''''''
+
+Markup: ``foo`` and :hg:`help`
+------------------------------
+"""
+debugformat('sections', sections, 20)
--- a/tests/test-minirst.py.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-minirst.py.out	Mon Jun 21 13:41:11 2010 -0500
@@ -25,10 +25,12 @@
 ----------------------------------------------------------------------
 A Term
   Definition. The indented lines make up the definition.
+
 Another Term
     Another definition. The final line in the definition
     determines the indentation, so this will be indented
     with four spaces.
+
   A Nested/Indented Term
     Definition.
 ----------------------------------------------------------------------
@@ -39,6 +41,7 @@
   Definition. The indented
   lines make up the
   definition.
+
 Another Term
     Another definition. The
     final line in the
@@ -46,6 +49,7 @@
     indentation, so this will
     be indented with four
     spaces.
+
   A Nested/Indented Term
     Definition.
 ----------------------------------------------------------------------
@@ -294,3 +298,23 @@
 []
 ----------------------------------------------------------------------
 
+roles formatted to fit within 60 characters:
+----------------------------------------------------------------------
+Please see "hg add".
+----------------------------------------------------------------------
+
+sections formatted to fit within 20 characters:
+----------------------------------------------------------------------
+Title
+=====
+
+Section
+-------
+
+Subsection
+''''''''''
+
+Markup: "foo" and "hg help"
+---------------------------
+----------------------------------------------------------------------
+
--- a/tests/test-mq	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 checkundo()
 {
     if [ -f .hg/store/undo ]; then
@@ -164,13 +166,15 @@
 hg qpop -a
 hg --traceback qpush -a
 
-# setting columns & interactive tests truncating (issue1912)
+# setting columns & formatted tests truncating (issue1912)
 echo % qseries
-COLUMNS=4 hg qseries --config ui.interactive=true
-COLUMNS=20 hg qseries --config ui.interactive=true -vs
+COLUMNS=4 hg qseries --config ui.formatted=true
+COLUMNS=20 hg qseries --config ui.formatted=true -vs
 hg qpop
 hg qseries -vs
+hg sum | grep mq
 hg qpush
+hg sum | grep mq
 
 echo % qapplied
 hg qapplied
@@ -219,6 +223,19 @@
 hg qpop test2.patch-2
 hg qpush test1b.patch+1
 
+echo % qpush --move
+hg qpop -a
+hg qpush --move test2.patch # move to front
+hg qpush --move test1b.patch
+hg qpush --move test.patch # noop move
+hg qseries -v
+hg qpop -a
+hg qpush --move test.patch # cleaning up
+hg qpush --move test1b.patch
+hg qpush --move bogus # nonexistent patch
+hg qpush --move test.patch # already applied
+hg qpush
+
 echo % pop, qapplied, qunapplied
 hg qseries -v
 echo % qapplied -1 test.patch
@@ -303,16 +320,16 @@
 cd ../../b
 echo x>x
 hg ci -Ama
-hg strip tip 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg strip tip | hidebackup
 hg unbundle .hg/strip-backup/*
 
 echo % strip with local changes, should complain
 hg up
 echo y>y
 hg add y
-hg strip tip | sed 's/\(saving bundle to \).*/\1/'
+hg strip tip | hidebackup
 echo % --force strip with local changes
-hg strip -f tip 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg strip -f tip | hidebackup
 
 echo '% cd b; hg qrefresh'
 hg init refresh
@@ -487,7 +504,7 @@
 HGMERGE=true hg merge
 hg ci -m merge
 hg log
-hg strip 1 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg strip 1 | hidebackup
 checkundo strip
 hg log
 cd ..
--- a/tests/test-mq-guards	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-guards	Mon Jun 21 13:41:11 2010 -0500
@@ -99,6 +99,9 @@
 hg qselect 1 2 3
 echo % list patches and guards
 hg qguard -l
+echo % list patches and guards with color
+hg --config extensions.color= qguard --config color.mode=ansi \
+    -l --color=always
 echo % list series
 hg qseries -v
 echo % list guards
@@ -125,6 +128,8 @@
 echo % should show new.patch and b.patch as Guarded, c.patch as Applied
 echo % and d.patch as Unapplied
 hg qseries -v
+echo % qseries again, but with color
+hg --config extensions.color= qseries -v --color=always
 
 hg qguard d.patch +2
 echo % new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded.
@@ -159,3 +164,5 @@
 echo the guards file was not ignored in the past
 hg qdelete -k b.patch
 hg qseries -m
+echo % hg qseries -m with color
+hg --config extensions.color= qseries -m --color=always
--- a/tests/test-mq-guards.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-guards.out	Mon Jun 21 13:41:11 2010 -0500
@@ -84,6 +84,10 @@
 a.patch: +1 +2 -3
 b.patch: +2
 c.patch: unguarded
+% list patches and guards with color
+a.patch: +1 +2 -3
+b.patch: +2
+c.patch: unguarded
 % list series
 0 G a.patch
 1 U b.patch
@@ -126,6 +130,11 @@
 1 G b.patch
 2 A c.patch
 3 U d.patch
+% qseries again, but with color
+0 G new.patch
+1 G b.patch
+2 A c.patch
+3 U d.patch
 % new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded.
 0 G new.patch
 1 G b.patch
@@ -206,3 +215,5 @@
 % hg qseries -m: only b.patch should be shown
 the guards file was not ignored in the past
 b.patch
+% hg qseries -m with color
+b.patch
--- a/tests/test-mq-qdelete	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-qdelete	Mon Jun 21 13:41:11 2010 -0500
@@ -21,7 +21,7 @@
 hg qseries
 ls .hg/patches
 hg qpop
-hg qdel -k b
+hg qdel -k 1
 ls .hg/patches
 hg qdel -r a
 hg qapplied
--- a/tests/test-mq-qdiff	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-qdiff	Mon Jun 21 13:41:11 2010 -0500
@@ -68,3 +68,5 @@
 echo a >> lines
 hg qdiff
 
+echo % qdiff --stat
+hg qdiff --stat
--- a/tests/test-mq-qdiff.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-qdiff.out	Mon Jun 21 13:41:11 2010 -0500
@@ -122,3 +122,6 @@
  8
  9
 +a
+% qdiff --stat
+ lines |  7 +++++--
+ 1 files changed, 5 insertions(+), 2 deletions(-)
--- a/tests/test-mq-qimport.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-qimport.out	Mon Jun 21 13:41:11 2010 -0500
@@ -6,10 +6,10 @@
 now at: email
 % hg tip -v
 changeset:   0:1a706973a7d8
+tag:         email
+tag:         qbase
 tag:         qtip
 tag:         tip
-tag:         email
-tag:         qbase
 user:        Username in patch <test@example.net>
 date:        Thu Jan 01 00:00:00 1970 +0000
 files:       x
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-mq-qqueue	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+echo "[extensions]" >> $HGRCPATH
+echo "mq=" >> $HGRCPATH
+
+hg init foo
+cd foo
+echo a > a
+hg ci -qAm a
+
+echo %% default queue
+hg qqueue
+
+echo b > a
+hg qnew -fgDU somestuff
+
+echo %% applied patches in default queue
+hg qap
+
+echo %% try to change patch \(create succeeds, switch fails\)
+hg qqueue foo --create
+hg qqueue
+
+echo %% empty default queue
+hg qpop
+
+echo %% switch queue
+hg qqueue foo
+hg qqueue
+
+echo %% fail creating queue with already existing name
+hg qqueue --create foo
+hg qqueue
+
+echo %% unapplied patches
+hg qun
+echo c > a
+hg qnew -fgDU otherstuff
+
+echo %% fail switching back
+hg qqueue patches
+
+echo %% fail deleting current
+hg qqueue foo --delete
+
+echo %% switch back and delete foo
+hg qpop -a
+hg qqueue patches
+hg qqueue foo --delete
+hg qqueue
+
+echo %% tricky cases
+hg qqueue store --create
+hg qnew journal
+hg qqueue
+hg qpop -a
+hg qqueue patches
+hg qun
+
+echo %% invalid names
+hg qqueue test/../../bar --create
+hg qqueue . --create
+
+cd ..
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-mq-qqueue.out	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,36 @@
+%% default queue
+patches (active)
+%% applied patches in default queue
+somestuff
+%% try to change patch (create succeeds, switch fails)
+abort: patches applied - cannot set new queue active
+foo
+patches (active)
+%% empty default queue
+popping somestuff
+patch queue now empty
+%% switch queue
+foo (active)
+patches
+%% fail creating queue with already existing name
+abort: queue "foo" already exists
+foo (active)
+patches
+%% unapplied patches
+%% fail switching back
+abort: patches applied - cannot set new queue active
+%% fail deleting current
+abort: cannot delete currently active queue
+%% switch back and delete foo
+popping otherstuff
+patch queue now empty
+patches (active)
+%% tricky cases
+patches
+store (active)
+popping journal
+patch queue now empty
+somestuff
+%% invalid names
+abort: invalid queue name, may not contain the characters ":\/."
+abort: invalid queue name, may not contain the characters ":\/."
--- a/tests/test-mq-qrefresh.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-qrefresh.out	Mon Jun 21 13:41:11 2010 -0500
@@ -271,12 +271,6 @@
 +a
 % issue2025: qrefresh does not honor filtering options when tip != qtip
 % refresh with tip != qtip
-saving bundle...
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
 % status after refresh
 M a
 % b after refresh
--- a/tests/test-mq-safety.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-safety.out	Mon Jun 21 13:41:11 2010 -0500
@@ -19,7 +19,6 @@
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch b
 adding c
-created new head
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-mq-strip	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-strip	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "mq=" >> $HGRCPATH
 
@@ -7,7 +9,7 @@
     hg up -C $1
     echo % before update $1, strip $2
     hg parents
-    hg strip $2 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+    hg strip $2 | hidebackup
     echo % after update $1, strip $2
     hg parents
     hg unbundle -q .hg/strip-backup/*
@@ -48,6 +50,6 @@
 hg merge 4
 echo % before strip of merge parent
 hg parents
-hg strip 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg strip 4 2>&1 | hidebackup
 echo % after strip of merge parent
 hg parents
--- a/tests/test-mq-strip.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq-strip.out	Mon Jun 21 13:41:11 2010 -0500
@@ -37,7 +37,7 @@
 summary:     e
 
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-saving bundle to 
+saved backup bundle to 
 % after update 4, strip 4
 changeset:   3:65bd5f99a4a3
 tag:         tip
@@ -55,7 +55,7 @@
 summary:     e
 
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-saving bundle to 
+saved backup bundle to 
 % after update 4, strip 3
 changeset:   1:ef3a871183d7
 user:        test
@@ -69,7 +69,7 @@
 date:        Thu Jan 01 00:00:00 1970 +0000
 summary:     b
 
-saving bundle to 
+saved backup bundle to 
 % after update 1, strip 4
 changeset:   1:ef3a871183d7
 user:        test
@@ -84,13 +84,7 @@
 date:        Thu Jan 01 00:00:00 1970 +0000
 summary:     e
 
-saving bundle to 
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 2 changes to 1 files
+saved backup bundle to 
 % after update 4, strip 2
 changeset:   3:443431ffac4f
 tag:         tip
@@ -108,7 +102,7 @@
 summary:     c
 
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-saving bundle to 
+saved backup bundle to 
 % after update 4, strip 1
 changeset:   0:9ab35a2d17cb
 tag:         tip
@@ -118,7 +112,7 @@
 
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 % before update null, strip 4
-saving bundle to 
+saved backup bundle to 
 % after update null, strip 4
 changeset:   4:264128213d29
 tag:         tip
@@ -164,7 +158,7 @@
 summary:     c
 
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-saving bundle to 
+saved backup bundle to 
 % after strip of merge parent
 changeset:   1:ef3a871183d7
 user:        test
--- a/tests/test-mq.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-mq.out	Mon Jun 21 13:41:11 2010 -0500
@@ -32,6 +32,9 @@
 will override the [diff] section and always generate git or regular patches,
 possibly losing data in the second case.
 
+You will by default be managing a patch queue named "patches". You can create
+other, independent patch queues with the "hg qqueue" command.
+
 list of commands:
 
  qapplied     print the patches already applied
@@ -49,6 +52,7 @@
  qpop         pop the current patch off the stack
  qprev        print the name of the previous patch
  qpush        push the next patch onto the stack
+ qqueue       manage multiple patch queues
  qrefresh     update the current patch
  qrename      rename a patch
  qselect      set or print guarded patches to push
@@ -151,8 +155,10 @@
 now at: test.patch
 0 A test.patch: foo bar
 1 U test2.patch: 
+mq:     1 applied, 1 unapplied
 applying test2.patch
 now at: test2.patch
+mq:     2 applied
 % qapplied
 test.patch
 test2.patch
@@ -193,6 +199,32 @@
 applying test1b.patch
 applying test2.patch
 now at: test2.patch
+% qpush --move
+popping test2.patch
+popping test1b.patch
+popping test.patch
+patch queue now empty
+applying test2.patch
+now at: test2.patch
+applying test1b.patch
+now at: test1b.patch
+applying test.patch
+now at: test.patch
+0 A test2.patch
+1 A test1b.patch
+2 A test.patch
+popping test.patch
+popping test1b.patch
+popping test2.patch
+patch queue now empty
+applying test.patch
+now at: test.patch
+applying test1b.patch
+now at: test1b.patch
+abort: patch bogus not in series
+abort: cannot push to a previous patch: test.patch
+applying test2.patch
+now at: test2.patch
 % pop, qapplied, qunapplied
 0 A test.patch
 1 A test1b.patch
@@ -306,7 +338,7 @@
 % strip
 adding x
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-saving bundle to 
+saved backup bundle to 
 adding changesets
 adding manifests
 adding file changes
@@ -317,7 +349,7 @@
 abort: local changes found
 % --force strip with local changes
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-saving bundle to 
+saved backup bundle to 
 % cd b; hg qrefresh
 adding a
 foo
@@ -357,8 +389,8 @@
 ? foo.rej
 % mq tags
 0 qparent
-1 qbase foo
-2 qtip bar tip
+1 foo qbase
+2 bar qtip tip
 % bad node in status
 popping bar
 now at: foo
@@ -399,11 +431,6 @@
 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
 created new head
 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
 diff --git a/bar b/bar
 new file mode 100644
 --- /dev/null
@@ -429,11 +456,6 @@
 % test file move chains in the slow path
 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
 diff --git a/foo b/bleh
 rename from foo
 rename to bleh
@@ -501,13 +523,7 @@
 summary:     add foo
 
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-saving bundle to 
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
+saved backup bundle to 
 changeset:   1:20cbbe65cff7
 tag:         tip
 user:        test
@@ -577,10 +593,10 @@
  hello
 +world
 changeset:   1:bf5fc3f07a0a
+tag:         empty
+tag:         qbase
 tag:         qtip
 tag:         tip
-tag:         empty
-tag:         qbase
 user:        test
 date:        Thu Jan 01 00:00:00 1970 +0000
 summary:     imported patch empty
--- a/tests/test-newbranch.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-newbranch.out	Mon Jun 21 13:41:11 2010 -0500
@@ -4,6 +4,7 @@
 % branch shadowing
 abort: a branch of the same name already exists (use 'hg update' to switch to it)
 marked working directory as branch default
+created new head
 % there should be only one default branch head
 changeset:   3:bf1bc2f45e83
 tag:         tip
@@ -13,7 +14,6 @@
 
 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
 foo
-created new head
 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
 foo
@@ -62,7 +62,7 @@
 default
 bar
 % test for invalid branch cache
-rolling back last transaction
+rolling back to revision 4 (undo commit)
 changeset:   4:4909a3732169
 branch:      foo
 tag:         tip
@@ -135,7 +135,6 @@
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch test
 adding e
-created new head
 changeset:   4:3a1e01ed1df4
 branch:      test
 tag:         tip
--- a/tests/test-notify.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-notify.out	Mon Jun 21 13:41:11 2010 -0500
@@ -95,10 +95,10 @@
 +a
 (run 'hg update' to get a working copy)
 % fail for config file is missing
-rolling back last transaction
+rolling back to revision 0 (undo pull)
 pull failed
 % pull
-rolling back last transaction
+rolling back to revision 0 (undo pull)
 pulling from ../a
 searching for changes
 adding changesets
@@ -129,7 +129,7 @@
 +a
 (run 'hg update' to get a working copy)
 % pull
-rolling back last transaction
+rolling back to revision 0 (undo pull)
 pulling from ../a
 searching for changes
 adding changesets
--- a/tests/test-patchbomb	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-patchbomb	Mon Jun 21 13:41:11 2010 -0500
@@ -126,10 +126,23 @@
 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
   -r 2 | fixheaders
 
+echo "% test --desc without --intro for a single patch"
+echo foo > intro.text
+hg email --date '1970-1-1 0:1' -n --desc intro.text -f quux -t foo -c bar \
+  -s test -r 2 | fixheaders
+
 echo "% test intro for multiple patches"
 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
   -r 0:1 | fixheaders
 
+echo "% test reply-to via config"
+hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
+  --config patchbomb.reply-to='baz@example.com' | fixheaders
+
+echo "% test reply-to via command line"
+hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
+  --reply-to baz --reply-to fred | fixheaders
+
 echo "% tagging csets"
 hg tag -r0 zero zero.foo
 hg tag -r1 one one.patch
--- a/tests/test-patchbomb.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-patchbomb.out	Mon Jun 21 13:41:11 2010 -0500
@@ -940,6 +940,52 @@
 @@ -0,0 +1,1 @@
 +c
 
+% test --desc without --intro for a single patch
+This patch series consists of 1 patches.
+
+
+Displaying [PATCH 0 of 1] test ...
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [PATCH 0 of 1] test
+Message-Id: <patchbomb.60@
+User-Agent: Mercurial-patchbomb
+Date: Thu, 01 Jan 1970 00:01:00 +0000
+From: quux
+To: foo
+Cc: bar
+
+foo
+
+Displaying [PATCH 1 of 1] c ...
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [PATCH 1 of 1] c
+X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
+Message-Id: <ff2c9fa2018b15fa74b3.61@
+In-Reply-To: <patchbomb.60@
+References: <patchbomb.60@
+User-Agent: Mercurial-patchbomb
+Date: Thu, 01 Jan 1970 00:01:01 +0000
+From: quux
+To: foo
+Cc: bar
+
+# HG changeset patch
+# User test
+# Date 3 0
+# Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
+# Parent  97d72e5f12c7e84f85064aa72e5a297142c36ed9
+c
+
+diff -r 97d72e5f12c7 -r ff2c9fa2018b c
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/c	Thu Jan 01 00:00:03 1970 +0000
+@@ -0,0 +1,1 @@
++c
+
 % test intro for multiple patches
 This patch series consists of 2 patches.
 
@@ -1016,6 +1062,68 @@
 @@ -0,0 +1,1 @@
 +b
 
+% test reply-to via config
+This patch series consists of 1 patches.
+
+
+Displaying [PATCH] test ...
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [PATCH] test
+X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
+Message-Id: <ff2c9fa2018b15fa74b3.60@
+User-Agent: Mercurial-patchbomb
+Date: Thu, 01 Jan 1970 00:01:00 +0000
+From: quux
+To: foo
+Cc: bar
+Reply-To: baz@example.com
+
+# HG changeset patch
+# User test
+# Date 3 0
+# Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
+# Parent  97d72e5f12c7e84f85064aa72e5a297142c36ed9
+c
+
+diff -r 97d72e5f12c7 -r ff2c9fa2018b c
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/c	Thu Jan 01 00:00:03 1970 +0000
+@@ -0,0 +1,1 @@
++c
+
+% test reply-to via command line
+This patch series consists of 1 patches.
+
+
+Displaying [PATCH] test ...
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [PATCH] test
+X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
+Message-Id: <ff2c9fa2018b15fa74b3.60@
+User-Agent: Mercurial-patchbomb
+Date: Thu, 01 Jan 1970 00:01:00 +0000
+From: quux
+To: foo
+Cc: bar
+Reply-To: baz, fred
+
+# HG changeset patch
+# User test
+# Date 3 0
+# Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
+# Parent  97d72e5f12c7e84f85064aa72e5a297142c36ed9
+c
+
+diff -r 97d72e5f12c7 -r ff2c9fa2018b c
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/c	Thu Jan 01 00:00:03 1970 +0000
+@@ -0,0 +1,1 @@
++c
+
 % tagging csets
 % test inline for single named patch
 This patch series consists of 1 patches.
@@ -1536,7 +1644,6 @@
 % test outgoing
 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
 marked working directory as branch test
-created new head
 comparing with ../t
 searching for changes
 This patch series consists of 8 patches.
--- a/tests/test-progress	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-progress	Mon Jun 21 13:41:11 2010 -0500
@@ -8,6 +8,8 @@
     total = None
     if loops >= 0:
         total = loops
+    if opts.get('total', None):
+        total = int(opts.get('total'))
     loops = abs(loops)
 
     for i in range(loops):
@@ -17,7 +19,8 @@
 commands.norepo += " loop"
 
 cmdtable = {
-    "loop": (loop, [], 'hg loop LOOPS'),
+    "loop": (loop, [('', 'total', '', 'override for total')],
+             'hg loop LOOPS'),
 }
 EOF
 
@@ -55,5 +58,8 @@
 echo '% test format options and indeterminate progress'
 hg -y --config 'progress.format=number item bar' loop -- -2 2>&1 | python filtercr.py
 
+echo "% make sure things don't fall over if count > total"
+hg -y loop --total 4 6 2>&1 | python filtercr.py
+
 echo '% test immediate progress completion'
 hg -y loop 0 2>&1 | python filtercr.py
--- a/tests/test-progress.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-progress.out	Mon Jun 21 13:41:11 2010 -0500
@@ -17,4 +17,12 @@
 
 0 loop.0               [ <=>                                                  ]
 1 loop.1               [  <=>                                                 ]
+                                                                                
% make sure things don't fall over if count > total
+
+loop [                                                                    ] 0/4
+loop [================>                                                   ] 1/4
+loop [=================================>                                  ] 2/4
+loop [==================================================>                 ] 3/4
+loop [===================================================================>] 4/4
+loop [ <=>                                                                ] 5/4
                                                                                 
% test immediate progress completion
--- a/tests/test-pull	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-pull	Mon Jun 21 13:41:11 2010 -0500
@@ -11,13 +11,14 @@
 cat hg.pid >> $DAEMON_PIDS
 cd ..
 
-hg clone --pull http://localhost:$HGPORT/ copy | sed -e "s,:$HGPORT/,:\$HGPORT/,"
+hg clone --pull http://foo:bar@localhost:$HGPORT/ copy | sed -e "s,:$HGPORT/,:\$HGPORT/,"
 cd copy
 hg verify
 hg co
 cat foo
 hg manifest --debug
 hg pull | sed -e "s,:$HGPORT/,:\$HGPORT/,"
+hg rollback --dry-run --verbose | sed -e "s,:$HGPORT/,:\$HGPORT/,"
 
 echo % issue 622
 cd ..
--- a/tests/test-pull-branch.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-pull-branch.out	Mon Jun 21 13:41:11 2010 -0500
@@ -11,7 +11,6 @@
 % create branch B
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 marked working directory as branch branchB
-created new head
 % a new branch is there
 pulling from ../t
 searching for changes
--- a/tests/test-pull-r.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-pull-r.out	Mon Jun 21 13:41:11 2010 -0500
@@ -19,7 +19,7 @@
 abort: unknown revision 'missing'!
 % pull multiple revisions with update
 0:bbd179dfa0a7
-rolling back last transaction
+rolling back to revision -1 (undo pull)
 % pull -r 0
 changeset:   0:bbd179dfa0a7
 tag:         tip
--- a/tests/test-pull.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-pull.out	Mon Jun 21 13:41:11 2010 -0500
@@ -19,9 +19,10 @@
 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
 foo
 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644   foo
-pulling from http://localhost:$HGPORT/
+pulling from http://foo:***@localhost:$HGPORT/
 searching for changes
 no changes found
+rolling back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/)
 % issue 622
 pulling from ../test
 requesting all changes
--- a/tests/test-push-http.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-push-http.out	Mon Jun 21 13:41:11 2010 -0500
@@ -25,7 +25,7 @@
 remote: added 1 changesets with 1 changes to 1 files
 % serve errors
 changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http 
-rolling back last transaction
+rolling back to revision 0 (undo serve)
 % expect authorization error: all users denied
 abort: authorization failed
 pushing to http://localhost:$HGPORT/
--- a/tests/test-push-warn	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-push-warn	Mon Jun 21 13:41:11 2010 -0500
@@ -135,6 +135,18 @@
 hg -q ci -d "1000000 0" -m 12
 hg push -r 11 -r 12 ../f; echo $?
 
+echo % failed push of new named branch
+echo 12 > foo
+hg -q ci -d "1000000 0" -m 12a
+hg -q up 11
+echo 13 > foo
+hg -q branch e
+hg -q ci -d "1000000 0" -m 13d
+hg push -r 12 -r 13 ../f; echo $?
+
+echo % using --new-branch to push new named branch
+hg push --new-branch -r 12 -r 13 ../f; echo $?
+
 echo % checking prepush logic does not allow silently pushing multiple new heads
 cd ..
 hg init h
--- a/tests/test-push-warn.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-push-warn.out	Mon Jun 21 13:41:11 2010 -0500
@@ -89,23 +89,23 @@
 pushing to ../f
 searching for changes
 abort: push creates new remote branches: c!
-(use 'hg push -f' to force)
+(use 'hg push --new-branch' to create new remote branches)
 1
 pushing to ../f
 searching for changes
 abort: push creates new remote branches: c!
-(use 'hg push -f' to force)
+(use 'hg push --new-branch' to create new remote branches)
 1
 % multiple new branches
 pushing to ../f
 searching for changes
 abort: push creates new remote branches: c, d!
-(use 'hg push -f' to force)
+(use 'hg push --new-branch' to create new remote branches)
 1
 pushing to ../f
 searching for changes
 abort: push creates new remote branches: c, d!
-(use 'hg push -f' to force)
+(use 'hg push --new-branch' to create new remote branches)
 1
 % fail on multiple head push
 pushing to ../f
@@ -144,6 +144,20 @@
 adding file changes
 added 2 changesets with 2 changes to 1 files
 0
+% failed push of new named branch
+pushing to ../f
+searching for changes
+abort: push creates new remote branches: e!
+(use 'hg push --new-branch' to create new remote branches)
+1
+% using --new-branch to push new named branch
+pushing to ../f
+searching for changes
+adding changesets
+adding manifests
+adding file changes
+added 1 changesets with 1 changes to 1 files
+0
 % checking prepush logic does not allow silently pushing multiple new heads
 adding init
 adding a
@@ -172,7 +186,7 @@
 pushing to j
 searching for changes
 abort: push creates new remote branches: b!
-(use 'hg push -f' to force)
+(use 'hg push --new-branch' to create new remote branches)
 
 % prepush -r should not allow you to sneak in new heads
 pushing to ../l
@@ -190,7 +204,6 @@
 adding b1
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 adding a2
-created new head
 %% glog of local
 @  2: A a2
 |
@@ -222,7 +235,6 @@
 adding b
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 adding a1
-created new head
 updating to branch A
 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -263,13 +275,14 @@
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch B
 adding b
-created new head
 updating to branch B
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch B
+created new head
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 marked working directory as branch A
+created new head
 %% glog of local
 @  5: A b3
 |
--- a/tests/test-qrecord.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-qrecord.out	Mon Jun 21 13:41:11 2010 -0500
@@ -17,10 +17,10 @@
  pull       pull changes from the specified source
  push       push changes to the specified destination
  remove     remove the specified files on the next commit
- serve      export the repository via HTTP
+ serve      start stand-alone webserver
  status     show changed files in the working directory
  summary    summarize working directory state
- update     update working directory
+ update     update working directory (or switch revisions)
 
 use "hg help" for the full list of commands or "hg -v" for details
 % help (mq present)
@@ -28,20 +28,22 @@
 
 interactively record a new patch
 
-    See 'hg help qnew' & 'hg help record' for more information and usage.
+    See "hg help qnew" & "hg help record" for more information and usage.
 
 options:
 
- -e --edit         edit commit message
- -g --git          use git extended diff format
- -U --currentuser  add "From: <current user>" to patch
- -u --user         add "From: <given user>" to patch
- -D --currentdate  add "Date: <current date>" to patch
- -d --date         add "Date: <given date>" to patch
- -I --include      include names matching the given patterns
- -X --exclude      exclude names matching the given patterns
- -m --message      use <text> as commit message
- -l --logfile      read commit message from <file>
+ -e --edit                 edit commit message
+ -g --git                  use git extended diff format
+ -U --currentuser          add "From: <current user>" to patch
+ -u --user USER            add "From: <USER>" to patch
+ -D --currentdate          add "Date: <current date>" to patch
+ -d --date DATE            add "Date: <DATE>" to patch
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+ -m --message TEXT         use text as commit message
+ -l --logfile FILE         read commit message from file
+
+[+] marked option can be specified multiple times
 
 use "hg -v help qrecord" to show global options
 % base commit
@@ -80,34 +82,40 @@
 % qrecord a.patch
 diff --git a/1.txt b/1.txt
 2 hunks, 4 lines changed
-examine changes to '1.txt'? [Ynsfdaq?] @@ -1,3 +1,3 @@
+examine changes to '1.txt'? [Ynsfdaq?] 
+@@ -1,3 +1,3 @@
  1
 -2
 +2 2
  3
-record change 1/6 to '1.txt'? [Ynsfdaq?] @@ -3,3 +3,3 @@
+record change 1/6 to '1.txt'? [Ynsfdaq?] 
+@@ -3,3 +3,3 @@
  3
 -4
 +4 4
  5
-record change 2/6 to '1.txt'? [Ynsfdaq?] diff --git a/2.txt b/2.txt
+record change 2/6 to '1.txt'? [Ynsfdaq?] 
+diff --git a/2.txt b/2.txt
 1 hunks, 2 lines changed
-examine changes to '2.txt'? [Ynsfdaq?] @@ -1,5 +1,5 @@
+examine changes to '2.txt'? [Ynsfdaq?] 
+@@ -1,5 +1,5 @@
  a
 -b
 +b b
  c
  d
  e
-record change 4/6 to '2.txt'? [Ynsfdaq?] diff --git a/dir/a.txt b/dir/a.txt
+record change 4/6 to '2.txt'? [Ynsfdaq?] 
+diff --git a/dir/a.txt b/dir/a.txt
 1 hunks, 2 lines changed
 examine changes to 'dir/a.txt'? [Ynsfdaq?] 
+
 % after qrecord a.patch 'tip'
 changeset:   1:5d1ca63427ee
+tag:         a.patch
+tag:         qbase
 tag:         qtip
 tag:         tip
-tag:         a.patch
-tag:         qbase
 user:        test
 date:        Thu Jan 01 00:00:00 1970 +0000
 summary:     aaa
@@ -157,27 +165,31 @@
 % qrecord b.patch
 diff --git a/1.txt b/1.txt
 1 hunks, 2 lines changed
-examine changes to '1.txt'? [Ynsfdaq?] @@ -1,5 +1,5 @@
+examine changes to '1.txt'? [Ynsfdaq?] 
+@@ -1,5 +1,5 @@
  1
  2 2
  3
 -4
 +4 4
  5
-record change 1/3 to '1.txt'? [Ynsfdaq?] diff --git a/dir/a.txt b/dir/a.txt
+record change 1/3 to '1.txt'? [Ynsfdaq?] 
+diff --git a/dir/a.txt b/dir/a.txt
 1 hunks, 2 lines changed
-examine changes to 'dir/a.txt'? [Ynsfdaq?] @@ -1,4 +1,4 @@
+examine changes to 'dir/a.txt'? [Ynsfdaq?] 
+@@ -1,4 +1,4 @@
 -hello world
 +hello world!
  
  someone
  up
 record change 3/3 to 'dir/a.txt'? [Ynsfdaq?] 
+
 % after qrecord b.patch 'tip'
 changeset:   2:b056198bf878
+tag:         b.patch
 tag:         qtip
 tag:         tip
-tag:         b.patch
 user:        test
 date:        Thu Jan 01 00:00:00 1970 +0000
 summary:     bbb
--- a/tests/test-rebase-abort	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-abort	Mon Jun 21 13:41:11 2010 -0500
@@ -1,44 +1,76 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
 
-cleanoutput () {
-    sed -e 's/\(Rebase status stored to\).*/\1/'  \
-        -e 's/\(Rebase status restored from\).*/\1/' \
-        -e 's/\(saving bundle to \).*/\1/'
+createrepo() {
+    rm -rf repo
+    hg init repo
+    cd repo
+    echo 'c1' >common
+    hg add common
+    hg commit -d '0 0' -m "C1"
+
+    echo 'c2' >>common
+    hg commit -d '1 0' -m "C2"
+
+    echo 'c3' >>common
+    hg commit -d '2 0' -m "C3"
+
+    hg update -C 1
+    echo 'l1' >>extra
+    hg add extra
+    hg commit -d '3 0' -m "L1"
+
+    sed -e 's/c2/l2/' common > common.new
+    mv common.new common
+    hg commit -d '4 0' -m "L2"
 }
 
-hg init a
-cd a
-echo 'c1' >common
-hg add common
-hg commit -d '0 0' -m "C1"
-
-echo 'c2' >>common
-hg commit -d '1 0' -m "C2"
-
-echo 'c3' >>common
-hg commit -d '2 0' -m "C3"
-
-hg update -C 1
-echo 'l1' >>extra
-hg add extra
-hg commit -d '3 0' -m "L1"
-
-sed -e 's/c2/l2/' common > common.new
-mv common.new common
-hg commit -d '4 0' -m "L2"
-
-hg glog  --template '{rev}: {desc}\n'
+echo
+createrepo > /dev/null 2>&1
+hg --config extensions.hgext.graphlog= glog --template '{rev}: {desc}\n'
 
 echo
 echo '% Conflicting rebase'
-hg rebase -s 3 -d 2 2>&1 | cleanoutput
+hg --config extensions.hgext.rebase= rebase -s 3 -d 2 | cleanrebase
 
 echo
 echo '% Abort'
-hg rebase --abort 2>&1 | cleanoutput
+hg --config extensions.hgext.rebase= rebase --abort | cleanrebase
+
+hg --config extensions.hgext.graphlog= glog  --template '{rev}: {desc}\n'
 
-hg glog  --template '{rev}: {desc}\n'
+createrepo() {
+    rm -rf repo
+    hg init repo
+    cd repo
+    echo "a">a
+    hg ci -A -m'A'
+    echo "b">b
+    hg ci -A -m'B'
+    echo "c">c
+    hg ci -A -m'C'
+    hg up 0
+    echo "b">b
+    hg ci -A -m'B bis'
+    echo "c1">c
+    hg ci -A -m'C1'
+}
+echo
+echo '% Rebase and abort without generating new changesets'
+
+echo
+createrepo > /dev/null 2>&1
+hg --config extensions.hgext.graphlog= glog --template '{rev}:{desc|short}\n'
+
+hg --config extensions.hgext.rebase= rebase -b 4 -d 2 | cleanrebase
+
+hg --config extensions.hgext.graphlog= glog --template '{rev}:{desc|short}\n'
+
+hg rebase -a | cleanrebase
+hg glog --template '{rev}:{desc|short}\n'
+
--- a/tests/test-rebase-abort.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-abort.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,4 @@
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-created new head
+
 @  4: L2
 |
 o  3: L1
@@ -12,12 +11,13 @@
 
 
 % Conflicting rebase
-merging common
 warning: conflicts during merge.
 merging common failed!
 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
+merging common
 
 % Abort
+saved backup bundle to 
 rebase aborted
 @  4: L2
 |
@@ -29,3 +29,41 @@
 |
 o  0: C1
 
+
+% Rebase and abort without generating new changesets
+
+@  4:C1
+|
+o  3:B bis
+|
+| o  2:C
+| |
+| o  1:B
+|/
+o  0:A
+
+warning: conflicts during merge.
+merging c failed!
+abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
+merging c
+@  4:C1
+|
+o  3:B bis
+|
+| @  2:C
+| |
+| o  1:B
+|/
+o  0:A
+
+rebase aborted
+@  4:C1
+|
+o  3:B bis
+|
+| o  2:C
+| |
+| o  1:B
+|/
+o  0:A
+
--- a/tests/test-rebase-cache	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-cache	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 createrepo() {
     rm -rf repo
     hg init repo
@@ -52,7 +54,7 @@
 
 echo
 echo '% Rebase part of branch2 (5-6) onto branch3 (8)'
-hg --config extensions.hgext.rebase= rebase --detach -s 5 -d 8 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg --config extensions.hgext.rebase= rebase --detach -s 5 -d 8 | hidebackup
 
 echo
 echo '% Branches'
@@ -70,7 +72,7 @@
 createrepo > /dev/null 2>&1
 hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n'
 
-hg --config extensions.hgext.rebase= rebase --detach -s 8 -d 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg --config extensions.hgext.rebase= rebase --detach -s 8 -d 6 | hidebackup
 
 echo
 echo '% Branches'
@@ -89,7 +91,7 @@
 createrepo > /dev/null 2>&1
 hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n'
 
-hg --config extensions.hgext.rebase= rebase --detach -s 7 -d 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg --config extensions.hgext.rebase= rebase --detach -s 7 -d 6 | hidebackup
 
 echo
 echo '% Branches'
--- a/tests/test-rebase-cache.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-cache.out	Mon Jun 21 13:41:11 2010 -0500
@@ -32,13 +32,7 @@
 0:1994f17a630e A branch: 
 
 % Rebase part of branch2 (5-6) onto branch3 (8)
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 4 changesets with 3 changes to 3 files (+1 heads)
-rebase completed
+saved backup bundle to 
 
 % Branches
 branch3                        8:c9bfa9beb84e
@@ -90,13 +84,7 @@
 |/
 o  0:1994f17a630e A branch:
 
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-rebase completed
+saved backup bundle to 
 
 % Branches
 branch2                        8:b44d3024f247
@@ -149,13 +137,7 @@
 |/
 o  0:1994f17a630e A branch:
 
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-rebase completed
+saved backup bundle to 
 
 % Branches
 branch2                        7:b44d3024f247
--- a/tests/test-rebase-check-restore	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-check-restore	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -41,28 +43,28 @@
 echo "% - Rebasing B onto E - check keep"
 createrepo > /dev/null 2>&1
 hg glog  --template '{rev}:{desc}:{branches}\n'
-hg rebase -s 1 -d 4 --keep 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 1 -d 4 --keep | hidebackup
 
 echo
 echo "% - Solve the conflict and go on"
 echo 'conflict solved' > A
 rm A.orig
 hg resolve -m A
-hg rebase --continue 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --continue | hidebackup
 hg glog  --template '{rev}:{desc}:{branches}\n'
 
 echo
 echo "% - Rebase F onto E - check keepbranches"
 createrepo > /dev/null 2>&1
 hg glog  --template '{rev}:{desc}:{branches}\n'
-hg rebase -s 5 -d 4 --keepbranches 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 5 -d 4 --keepbranches | hidebackup
 
 echo
 echo "% - Solve the conflict and go on"
 echo 'conflict solved' > A
 rm A.orig
 hg resolve -m A
-hg rebase --continue 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --continue 2>&1 | hidebackup
 hg glog  --template '{rev}:{desc}:{branches}\n'
 
 exit 0
--- a/tests/test-rebase-check-restore.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-check-restore.out	Mon Jun 21 13:41:11 2010 -0500
@@ -12,13 +12,12 @@
 |/
 o  0:A:
 
-merging A
 warning: conflicts during merge.
 merging A failed!
 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
+merging A
 
 % - Solve the conflict and go on
-rebase completed
 @  7:C:
 |
 o  6:B:
@@ -49,19 +48,13 @@
 |/
 o  0:A:
 
-merging A
 warning: conflicts during merge.
 merging A failed!
 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
+merging A
 
 % - Solve the conflict and go on
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-rebase completed
+saved backup bundle to 
 @  5:F:notdefault
 |
 o  4:E:
--- a/tests/test-rebase-collapse	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-collapse	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -43,7 +45,7 @@
 hg glog  --template '{rev}: {desc}\n'
 echo '% Rebasing B onto H'
 hg up -C 3
-hg rebase --collapse --keepbranches 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --collapse --keepbranches | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 echo "Expected A, B, C, D, F, H"
 hg manifest
@@ -51,7 +53,7 @@
 createrepo > /dev/null 2>&1
 echo
 echo '% Rebasing G onto H'
-hg rebase --base 6 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --base 6 --collapse | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 echo "Expected A, E, F, H"
 hg manifest
@@ -91,7 +93,7 @@
 
 echo
 echo '% Rebase and collapse - E onto H'
-hg rebase -s 4 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 4 --collapse | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 echo "Expected A, B, C, E, F, H"
 hg manifest
@@ -130,7 +132,7 @@
 
 echo
 echo '% Rebase and collapse - E onto I'
-hg rebase -s 4 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 4 --collapse | hidebackup
 
 hg glog  --template '{rev}: {desc}\n'
 
@@ -166,7 +168,7 @@
 
 echo
 echo '% Rebase and collapse - B onto F'
-hg rebase -s 1 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 1 --collapse | hidebackup
 
 hg glog  --template '{rev}: {desc}\n'
 
--- a/tests/test-rebase-collapse.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-collapse.out	Mon Jun 21 13:41:11 2010 -0500
@@ -16,13 +16,7 @@
 
 % Rebasing B onto H
 3 files updated, 0 files merged, 2 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 6 changes to 6 files (+1 heads)
-rebase completed
+saved backup bundle to 
 @  5: Collapsed revision
 |  * B
 |  * C
@@ -46,13 +40,7 @@
 H
 
 % Rebasing G onto H
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 3 files (+1 heads)
-rebase completed
+saved backup bundle to 
 @  6: Collapsed revision
 |  * E
 |  * G
@@ -95,13 +83,7 @@
 abort: unable to collapse, there is more than one external parent
 
 % Rebase and collapse - E onto H
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 3 changes to 3 files
-rebase completed
+saved backup bundle to 
 @    5: Collapsed revision
 |\   * E
 | |  * F
@@ -145,13 +127,7 @@
 
 % Rebase and collapse - E onto I
 merging E
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 3 changes to 3 files
-rebase completed
+saved backup bundle to 
 @    5: Collapsed revision
 |\   * E
 | |  * F
@@ -191,13 +167,7 @@
 
 
 % Rebase and collapse - B onto F
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 4 changes to 4 files
-rebase completed
+saved backup bundle to 
 @  2: Collapsed revision
 |  * B
 |  * C
--- a/tests/test-rebase-conflicts	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-conflicts	Mon Jun 21 13:41:11 2010 -0500
@@ -1,15 +1,11 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
 
-cleanoutput () {
-    sed -e 's/\(Rebase status stored to\).*/\1/'  \
-        -e 's/\(Rebase status restored from\).*/\1/' \
-        -e 's/\(saving bundle to \).*/\1/'
-}
-
 hg init a
 cd a
 echo 'c1' >common
@@ -53,7 +49,7 @@
 echo '% Conclude rebase'
 echo 'resolved merge' >common
 hg resolve -m common
-hg rebase --continue 2>&1 | cleanoutput
+hg rebase --continue | cleanrebase
 
 hg glog  --template '{rev}: {desc}\n'
 
--- a/tests/test-rebase-conflicts.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-conflicts.out	Mon Jun 21 13:41:11 2010 -0500
@@ -26,13 +26,7 @@
 abort: unresolved merge conflicts (see hg resolve)
 
 % Conclude rebase
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 3 files
-rebase completed
+saved backup bundle to 
 @  5: L3
 |
 o  4: L2
--- a/tests/test-rebase-detach	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-detach	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -33,7 +35,7 @@
 createrepo > /dev/null 2>&1
 hg glog  --template '{rev}: {desc}\n'
 echo '% Rebasing D onto E detaching from C'
-hg rebase --detach -s 3 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --detach -s 3 -d 4 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 echo "Expected A, D, E"
 hg manifest
@@ -42,7 +44,7 @@
 createrepo > /dev/null 2>&1
 hg glog  --template '{rev}: {desc}\n'
 echo '% Rebasing C onto E detaching from B'
-hg rebase --detach -s 2 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --detach -s 2 -d 4 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 echo "Expected A, C, D, E"
 hg manifest
@@ -51,7 +53,7 @@
 createrepo > /dev/null 2>&1
 hg glog  --template '{rev}: {desc}\n'
 echo '% Rebasing B onto E using detach (same as not using it)'
-hg rebase --detach -s 1 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --detach -s 1 -d 4 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 echo "Expected A, B, C, D, E"
 hg manifest
@@ -60,7 +62,7 @@
 createrepo > /dev/null 2>&1
 hg glog  --template '{rev}: {desc}\n'
 echo '% Rebasing C onto E detaching from B and collapsing'
-hg rebase --detach --collapse -s 2 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --detach --collapse -s 2 -d 4 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 echo "Expected A, C, D, E"
 hg manifest
--- a/tests/test-rebase-detach.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-detach.out	Mon Jun 21 13:41:11 2010 -0500
@@ -9,13 +9,7 @@
 o  0: A
 
 % Rebasing D onto E detaching from C
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 2 changes to 2 files (+1 heads)
-rebase completed
+saved backup bundle to 
 @  4: D
 |
 o  3: E
@@ -42,13 +36,7 @@
 o  0: A
 
 % Rebasing C onto E detaching from B
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 3 files (+1 heads)
-rebase completed
+saved backup bundle to 
 @  4: D
 |
 o  3: C
@@ -76,13 +64,7 @@
 o  0: A
 
 % Rebasing B onto E using detach (same as not using it)
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 4 changesets with 4 changes to 4 files
-rebase completed
+saved backup bundle to 
 @  4: D
 |
 o  3: C
@@ -111,13 +93,7 @@
 o  0: A
 
 % Rebasing C onto E detaching from B and collapsing
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 3 changes to 3 files (+1 heads)
-rebase completed
+saved backup bundle to 
 @  3: Collapsed revision
 |  * C
 |  * D
--- a/tests/test-rebase-interruptions	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-interruptions	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,6 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -38,7 +39,7 @@
 
 echo
 echo "% - Rebasing B onto E"
-hg rebase -s 1 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 1 -d 4 | hidebackup
 
 echo
 echo "% - Force a commit on C during the interruption"
@@ -66,7 +67,7 @@
 
 echo
 echo "% Rebasing B onto E"
-hg rebase -s 1 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 1 -d 4 | hidebackup
 
 echo
 echo "% Force a commit on B' during the interruption"
--- a/tests/test-rebase-interruptions.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-interruptions.out	Mon Jun 21 13:41:11 2010 -0500
@@ -11,10 +11,10 @@
 
 
 % - Rebasing B onto E
-merging A
 warning: conflicts during merge.
 merging A failed!
 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
+merging A
 
 % - Force a commit on C during the interruption
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -41,7 +41,6 @@
 
 % - Solve the conflict and go on
 warning: new changesets detected on source branch, not stripping
-rebase completed
 @  7: C
 |
 | o  6: Extra
@@ -73,10 +72,10 @@
 
 
 % Rebasing B onto E
-merging A
 warning: conflicts during merge.
 merging A failed!
 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
+merging A
 
 % Force a commit on B' during the interruption
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -96,7 +95,7 @@
 
 
 % Abort the rebasing
-warning: new changesets detected on target branch, not stripping
+warning: new changesets detected on target branch, can't abort
 @  6: Extra
 |
 o  5: B
--- a/tests/test-rebase-issue-noparam-single-rev	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-issue-noparam-single-rev	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -25,7 +27,7 @@
 echo
 echo '% Rebase with no arguments - single revision in source branch'
 hg update -C 2
-hg rebase 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase | hidebackup
 hg glog --template '{rev}:{desc}\n'
 
 cd ..
@@ -45,5 +47,5 @@
 echo
 echo '% Rebase with no arguments - single revision in target branch'
 hg update -C 3
-hg rebase 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase 2>&1 | hidebackup
 hg glog --template '{rev}:{desc}\n'
--- a/tests/test-rebase-issue-noparam-single-rev.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-issue-noparam-single-rev.out	Mon Jun 21 13:41:11 2010 -0500
@@ -13,13 +13,7 @@
 
 % Rebase with no arguments - single revision in source branch
 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 3 files
-rebase completed
+saved backup bundle to 
 @  4:l1
 |
 o  3:r2
@@ -45,13 +39,7 @@
 
 % Rebase with no arguments - single revision in target branch
 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 3 files
-rebase completed
+saved backup bundle to 
 @  4:l2
 |
 o  3:l1
--- a/tests/test-rebase-keep-branch	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-keep-branch	Mon Jun 21 13:41:11 2010 -0500
@@ -26,7 +26,7 @@
 echo
 echo '% Rebase a branch while preserving the branch name'
 hg update -C 3
-hg rebase -b 4 -d 3 --keepbranches 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -b 4 -d 3 --keepbranches -q
 hg glog --template '{rev}:{desc}:{branches}\n'
 echo '% dirstate branch should be "notdefault"'
 hg branch
--- a/tests/test-rebase-keep-branch.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-keep-branch.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,6 +1,5 @@
 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
 marked working directory as branch notdefault
-created new head
 @  4:r1:notdefault
 |
 | o  3:l2:
@@ -14,13 +13,6 @@
 
 % Rebase a branch while preserving the branch name
 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-rebase completed
 @  4:r1:notdefault
 |
 o  3:l2:
--- a/tests/test-rebase-mq	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-mq	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -58,13 +60,13 @@
 echo '% Fix the 1st conflict'
 echo 'mq1r1' > f
 hg resolve -m f
-hg rebase -c 2>&1 | sed -e 's/\(saving bundle to \).*/\1/'
+hg rebase -c | hidebackup
 
 echo
 echo '% Fix the 2nd conflict'
 echo 'mq1r1mq2' > f
 hg resolve -m f
-hg rebase -c 2>&1 | sed -e 's/\(saving bundle to \).*/\1/'
+hg rebase -c | hidebackup
 
 hg glog  --template '{rev} {desc} tags: {tags}\n'
 
@@ -109,7 +111,7 @@
 
 echo
 echo '% Rebase the applied mq patches'
-hg rebase -s 2 -d 1 --quiet 2>&1 | sed -e 's/\(saving bundle to \).*/\1/'
+hg rebase -s 2 -d 1 --quiet
 
 echo '% And the patches are correct'
 echo '% Git patch'
--- a/tests/test-rebase-mq-skip	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-mq-skip	Mon Jun 21 13:41:11 2010 -0500
@@ -2,6 +2,8 @@
 # This emulates the effects of an hg pull --rebase in which the remote repo 
 # already has one local mq patch
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -40,5 +42,5 @@
 echo
 echo '% Rebase'
 hg up -C qtip
-hg rebase  2>&1 | sed -e 's/\(saving bundle to \).*/\1/'
+hg rebase | hidebackup
 hg glog  --template '{rev} {desc} tags: {tags}\n'
--- a/tests/test-rebase-mq-skip.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-mq-skip.out	Mon Jun 21 13:41:11 2010 -0500
@@ -6,14 +6,8 @@
 
 % Rebase
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 2 changes to 2 files
-rebase completed
-@  3 P0 tags: p0.patch qtip tip qbase
+saved backup bundle to 
+@  3 P0 tags: p0.patch qbase qtip tip
 |
 o  2 P1 tags: qparent
 |
--- a/tests/test-rebase-mq.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-mq.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,5 @@
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-@  3 P1 tags: qtip tip f2.patch
+@  3 P1 tags: f2.patch qtip tip
 |
 o  2 P0 tags: f.patch qbase
 |
@@ -21,20 +21,14 @@
 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
 
 % Fix the 1st conflict
-merging f
 warning: conflicts during merge.
 merging f failed!
 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
+merging f
 
 % Fix the 2nd conflict
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 2 changes to 1 files
-rebase completed
-@  3 P1 tags: qtip tip f2.patch
+saved backup bundle to 
+@  3 P1 tags: f2.patch qtip tip
 |
 o  2 P0 tags: f.patch qbase
 |
@@ -107,7 +101,6 @@
 +mq2
 
 % Rebase the applied mq patches
-saving bundle to 
 % And the patches are correct
 % Git patch
 # HG changeset patch
--- a/tests/test-rebase-newancestor	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-newancestor	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -25,7 +27,7 @@
 hg commit -AmAD -u test -d '3 0'
 
 hg glog --template '{rev}:{desc} {node|short}\n'
-hg rebase -q -s 1 -d 3 2>&1 | grep -v 'saving bundle'
+hg rebase -q -s 1 -d 3 | hidebackup
 hg glog --template '{rev}:{desc} {node|short}\n'
 
 exit 0
--- a/tests/test-rebase-parameters	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-parameters	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
 
@@ -62,7 +64,7 @@
 echo
 echo "% Rebase with no arguments (from 3 onto 7)"
 hg update -C 5
-hg rebase 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase 2>&1 | hidebackup
 
 echo "% Try to rollback after a rebase (fail)"
 hg rollback
@@ -71,38 +73,38 @@
 echo
 echo "% Rebase with base == '.' => same as no arguments (from 3 onto 7)"
 hg update -C 5
-hg rebase --base . 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --base . | hidebackup
 
 createrepo > /dev/null 2>&1
 echo
 echo "% Rebase with dest == `hg branch` => same as no arguments (from 3 onto 7)"
 hg update -C 5
-hg rebase --dest `hg branch` 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --dest `hg branch` | hidebackup
 
 createrepo > /dev/null 2>&1
 echo
 echo "% Specify only source (from 4 onto 7)"
-hg rebase --source 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --source 4 | hidebackup
 
 createrepo > /dev/null 2>&1
 echo
 echo "% Specify only dest (from 3 onto 6)"
 hg update -C 5
-hg rebase --dest 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --dest 6 | hidebackup
 
 createrepo > /dev/null 2>&1
 echo
 echo "% Specify only base (from 3 onto 7)"
-hg rebase --base 5 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --base 5 | hidebackup
 
 createrepo > /dev/null 2>&1
 echo
 echo "% Specify source and dest (from 4 onto 6)"
-hg rebase --source 4 --dest 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --source 4 --dest 6 | hidebackup
 
 createrepo > /dev/null 2>&1
 echo
 echo "% Specify base and dest (from 3 onto 6)"
-hg rebase --base 4 --dest 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase --base 4 --dest 6 | hidebackup
 
 exit 0
--- a/tests/test-rebase-parameters.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-parameters.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,260 +1,16 @@
 % These fail
 
 % Use continue and abort
-hg rebase: cannot use both abort and continue
-hg rebase [-s REV | -b REV] [-d REV] [options]
-hg rebase {-a|-c}
-
-move changeset (and descendants) to a different branch
-
-    Rebase uses repeated merging to graft changesets from one part of history
-    (the source) onto another (the destination). This can be useful for
-    linearizing *local* changes relative to a master development tree.
-
-    You should not rebase changesets that have already been shared with
-    others. Doing so will force everybody else to perform the same rebase or
-    they will end up with duplicated changesets after pulling in your rebased
-    changesets.
-
-    If you don't specify a destination changeset ("-d/--dest"), rebase uses
-    the tipmost head of the current named branch as the destination. (The
-    destination changeset is not modified by rebasing, but new changesets are
-    added as its descendants.)
-
-    You can specify which changesets to rebase in two ways: as a "source"
-    changeset or as a "base" changeset. Both are shorthand for a topologically
-    related set of changesets (the "source branch"). If you specify source
-    ("-s/--source"), rebase will rebase that changeset and all of its
-    descendants onto dest. If you specify base ("-b/--base"), rebase will
-    select ancestors of base back to but not including the common ancestor
-    with dest. Thus, "-b" is less precise but more convenient than "-s": you
-    can specify any changeset in the source branch, and rebase will select the
-    whole branch. If you specify neither "-s" nor "-b", rebase uses the parent
-    of the working directory as the base.
-
-    By default, rebase recreates the changesets in the source branch as
-    descendants of dest and then destroys the originals. Use "--keep" to
-    preserve the original source changesets. Some changesets in the source
-    branch (e.g. merges from the destination branch) may be dropped if they no
-    longer contribute any change.
-
-    One result of the rules for selecting the destination changeset and source
-    branch is that, unlike "merge", rebase will do nothing if you are at the
-    latest (tipmost) head of a named branch with two heads. You need to
-    explicitly specify source and/or destination (or "update" to the other
-    head, if it's the head of the intended source branch).
-
-    If a rebase is interrupted to manually resolve a merge, it can be
-    continued with --continue/-c or aborted with --abort/-a.
-
-options:
-
- -s --source        rebase from the specified changeset
- -b --base          rebase from the base of the specified changeset (up to
-                    greatest common ancestor of base and dest)
- -d --dest          rebase onto the specified changeset
-    --collapse      collapse the rebased changesets
-    --keep          keep original changesets
-    --keepbranches  keep original branch names
-    --detach        force detaching of source from its original branch
- -c --continue      continue an interrupted rebase
- -a --abort         abort an interrupted rebase
-    --style         display using template map file
-    --template      display with template
-
-use "hg -v help rebase" to show global options
+abort: cannot use both abort and continue
 
 % Use continue and collapse
-hg rebase: cannot use collapse with continue or abort
-hg rebase [-s REV | -b REV] [-d REV] [options]
-hg rebase {-a|-c}
-
-move changeset (and descendants) to a different branch
-
-    Rebase uses repeated merging to graft changesets from one part of history
-    (the source) onto another (the destination). This can be useful for
-    linearizing *local* changes relative to a master development tree.
-
-    You should not rebase changesets that have already been shared with
-    others. Doing so will force everybody else to perform the same rebase or
-    they will end up with duplicated changesets after pulling in your rebased
-    changesets.
-
-    If you don't specify a destination changeset ("-d/--dest"), rebase uses
-    the tipmost head of the current named branch as the destination. (The
-    destination changeset is not modified by rebasing, but new changesets are
-    added as its descendants.)
-
-    You can specify which changesets to rebase in two ways: as a "source"
-    changeset or as a "base" changeset. Both are shorthand for a topologically
-    related set of changesets (the "source branch"). If you specify source
-    ("-s/--source"), rebase will rebase that changeset and all of its
-    descendants onto dest. If you specify base ("-b/--base"), rebase will
-    select ancestors of base back to but not including the common ancestor
-    with dest. Thus, "-b" is less precise but more convenient than "-s": you
-    can specify any changeset in the source branch, and rebase will select the
-    whole branch. If you specify neither "-s" nor "-b", rebase uses the parent
-    of the working directory as the base.
-
-    By default, rebase recreates the changesets in the source branch as
-    descendants of dest and then destroys the originals. Use "--keep" to
-    preserve the original source changesets. Some changesets in the source
-    branch (e.g. merges from the destination branch) may be dropped if they no
-    longer contribute any change.
-
-    One result of the rules for selecting the destination changeset and source
-    branch is that, unlike "merge", rebase will do nothing if you are at the
-    latest (tipmost) head of a named branch with two heads. You need to
-    explicitly specify source and/or destination (or "update" to the other
-    head, if it's the head of the intended source branch).
-
-    If a rebase is interrupted to manually resolve a merge, it can be
-    continued with --continue/-c or aborted with --abort/-a.
-
-options:
-
- -s --source        rebase from the specified changeset
- -b --base          rebase from the base of the specified changeset (up to
-                    greatest common ancestor of base and dest)
- -d --dest          rebase onto the specified changeset
-    --collapse      collapse the rebased changesets
-    --keep          keep original changesets
-    --keepbranches  keep original branch names
-    --detach        force detaching of source from its original branch
- -c --continue      continue an interrupted rebase
- -a --abort         abort an interrupted rebase
-    --style         display using template map file
-    --template      display with template
-
-use "hg -v help rebase" to show global options
+abort: cannot use collapse with continue or abort
 
 % Use continue/abort and dest/source
-hg rebase: abort and continue do not allow specifying revisions
-hg rebase [-s REV | -b REV] [-d REV] [options]
-hg rebase {-a|-c}
-
-move changeset (and descendants) to a different branch
-
-    Rebase uses repeated merging to graft changesets from one part of history
-    (the source) onto another (the destination). This can be useful for
-    linearizing *local* changes relative to a master development tree.
-
-    You should not rebase changesets that have already been shared with
-    others. Doing so will force everybody else to perform the same rebase or
-    they will end up with duplicated changesets after pulling in your rebased
-    changesets.
-
-    If you don't specify a destination changeset ("-d/--dest"), rebase uses
-    the tipmost head of the current named branch as the destination. (The
-    destination changeset is not modified by rebasing, but new changesets are
-    added as its descendants.)
-
-    You can specify which changesets to rebase in two ways: as a "source"
-    changeset or as a "base" changeset. Both are shorthand for a topologically
-    related set of changesets (the "source branch"). If you specify source
-    ("-s/--source"), rebase will rebase that changeset and all of its
-    descendants onto dest. If you specify base ("-b/--base"), rebase will
-    select ancestors of base back to but not including the common ancestor
-    with dest. Thus, "-b" is less precise but more convenient than "-s": you
-    can specify any changeset in the source branch, and rebase will select the
-    whole branch. If you specify neither "-s" nor "-b", rebase uses the parent
-    of the working directory as the base.
-
-    By default, rebase recreates the changesets in the source branch as
-    descendants of dest and then destroys the originals. Use "--keep" to
-    preserve the original source changesets. Some changesets in the source
-    branch (e.g. merges from the destination branch) may be dropped if they no
-    longer contribute any change.
-
-    One result of the rules for selecting the destination changeset and source
-    branch is that, unlike "merge", rebase will do nothing if you are at the
-    latest (tipmost) head of a named branch with two heads. You need to
-    explicitly specify source and/or destination (or "update" to the other
-    head, if it's the head of the intended source branch).
-
-    If a rebase is interrupted to manually resolve a merge, it can be
-    continued with --continue/-c or aborted with --abort/-a.
-
-options:
-
- -s --source        rebase from the specified changeset
- -b --base          rebase from the base of the specified changeset (up to
-                    greatest common ancestor of base and dest)
- -d --dest          rebase onto the specified changeset
-    --collapse      collapse the rebased changesets
-    --keep          keep original changesets
-    --keepbranches  keep original branch names
-    --detach        force detaching of source from its original branch
- -c --continue      continue an interrupted rebase
- -a --abort         abort an interrupted rebase
-    --style         display using template map file
-    --template      display with template
-
-use "hg -v help rebase" to show global options
+abort: abort and continue do not allow specifying revisions
 
 % Use source and base
-hg rebase: cannot specify both a revision and a base
-hg rebase [-s REV | -b REV] [-d REV] [options]
-hg rebase {-a|-c}
-
-move changeset (and descendants) to a different branch
-
-    Rebase uses repeated merging to graft changesets from one part of history
-    (the source) onto another (the destination). This can be useful for
-    linearizing *local* changes relative to a master development tree.
-
-    You should not rebase changesets that have already been shared with
-    others. Doing so will force everybody else to perform the same rebase or
-    they will end up with duplicated changesets after pulling in your rebased
-    changesets.
-
-    If you don't specify a destination changeset ("-d/--dest"), rebase uses
-    the tipmost head of the current named branch as the destination. (The
-    destination changeset is not modified by rebasing, but new changesets are
-    added as its descendants.)
-
-    You can specify which changesets to rebase in two ways: as a "source"
-    changeset or as a "base" changeset. Both are shorthand for a topologically
-    related set of changesets (the "source branch"). If you specify source
-    ("-s/--source"), rebase will rebase that changeset and all of its
-    descendants onto dest. If you specify base ("-b/--base"), rebase will
-    select ancestors of base back to but not including the common ancestor
-    with dest. Thus, "-b" is less precise but more convenient than "-s": you
-    can specify any changeset in the source branch, and rebase will select the
-    whole branch. If you specify neither "-s" nor "-b", rebase uses the parent
-    of the working directory as the base.
-
-    By default, rebase recreates the changesets in the source branch as
-    descendants of dest and then destroys the originals. Use "--keep" to
-    preserve the original source changesets. Some changesets in the source
-    branch (e.g. merges from the destination branch) may be dropped if they no
-    longer contribute any change.
-
-    One result of the rules for selecting the destination changeset and source
-    branch is that, unlike "merge", rebase will do nothing if you are at the
-    latest (tipmost) head of a named branch with two heads. You need to
-    explicitly specify source and/or destination (or "update" to the other
-    head, if it's the head of the intended source branch).
-
-    If a rebase is interrupted to manually resolve a merge, it can be
-    continued with --continue/-c or aborted with --abort/-a.
-
-options:
-
- -s --source        rebase from the specified changeset
- -b --base          rebase from the base of the specified changeset (up to
-                    greatest common ancestor of base and dest)
- -d --dest          rebase onto the specified changeset
-    --collapse      collapse the rebased changesets
-    --keep          keep original changesets
-    --keepbranches  keep original branch names
-    --detach        force detaching of source from its original branch
- -c --continue      continue an interrupted rebase
- -a --abort         abort an interrupted rebase
-    --style         display using template map file
-    --template      display with template
-
-use "hg -v help rebase" to show global options
+abort: cannot specify both a revision and a base
 
 % Rebase with no arguments - from current
 nothing to rebase
@@ -267,78 +23,30 @@
 
 % Rebase with no arguments (from 3 onto 7)
 3 files updated, 0 files merged, 2 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 5 changes to 5 files
-rebase completed
+saved backup bundle to 
 % Try to rollback after a rebase (fail)
 no rollback information available
 
 % Rebase with base == '.' => same as no arguments (from 3 onto 7)
 3 files updated, 0 files merged, 3 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 5 changes to 5 files
-rebase completed
+saved backup bundle to 
 
 % Rebase with dest == default => same as no arguments (from 3 onto 7)
 3 files updated, 0 files merged, 3 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 5 changes to 5 files
-rebase completed
+saved backup bundle to 
 
 % Specify only source (from 4 onto 7)
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 4 changesets with 4 changes to 4 files (-1 heads)
-rebase completed
+saved backup bundle to 
 
 % Specify only dest (from 3 onto 6)
 3 files updated, 0 files merged, 3 files removed, 0 files unresolved
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 5 changes to 5 files (+1 heads)
-rebase completed
+saved backup bundle to 
 
 % Specify only base (from 3 onto 7)
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 5 changes to 5 files
-rebase completed
+saved backup bundle to 
 
 % Specify source and dest (from 4 onto 6)
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 4 changesets with 4 changes to 4 files
-rebase completed
+saved backup bundle to 
 
 % Specify base and dest (from 3 onto 6)
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 5 changes to 5 files (+1 heads)
-rebase completed
+saved backup bundle to 
--- a/tests/test-rebase-pull	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-pull	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -34,14 +36,13 @@
 cd ../b
 echo
 echo "% Now b has one revision to be pulled from a"
-hg pull --rebase 2>&1 | sed -e 's/\(saving bundle to \).*/\1/' \
-                -e 's/\(pulling from \).*/\1/'
+hg pull --rebase | hidebackup | sed -e 's/\(pulling from \).*/\1/'
 
 hg glog --template '{rev}:{desc}\n'
 
 echo
 echo "% Re-run pull --rebase"
-hg pull --rebase 2>&1 | sed 's/\(pulling from \).*/\1/'
+hg pull --rebase | sed 's/\(pulling from \).*/\1/'
 
 echo
 echo "% Invoke pull --rebase and nothing to rebase"
--- a/tests/test-rebase-pull.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-pull.out	Mon Jun 21 13:41:11 2010 -0500
@@ -10,14 +10,7 @@
 adding manifests
 adding file changes
 added 1 changesets with 1 changes to 1 files (+1 heads)
-(run 'hg heads' to see heads, 'hg merge' to merge)
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 2 changes to 2 files
-rebase completed
+saved backup bundle to 
 @  3:L1
 |
 o  2:R1
@@ -39,8 +32,8 @@
 adding manifests
 adding file changes
 added 1 changesets with 1 changes to 1 files
-(run 'hg update' to get a working copy)
 nothing to rebase
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 @  2
 |
 
--- a/tests/test-rebase-rename	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-rename	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
 echo "[diff]" >> $HGRCPATH
@@ -7,12 +9,6 @@
 
 BASE=`pwd`
 
-cleanoutput () {
-    sed -e 's/\(Rebase status stored to\).*/\1/'  \
-        -e 's/\(Rebase status restored from\).*/\1/' \
-        -e 's/\(saving bundle to \).*/\1/'
-}
-
 hg init repo1
 cd repo1
 echo "a">a
@@ -28,7 +24,7 @@
 hg log -p -r tip --template '{rev}:{desc}\n'
 
 echo '% Rebase the revision containing the rename'
-hg rebase -s 2 -d 1 --quiet 2>&1 | cleanoutput
+hg rebase -s 2 -d 1 --quiet | cleanrebase
 
 echo
 echo '% Rename is not lost'
@@ -51,7 +47,7 @@
 hg log -p -r tip --template '{rev}:{desc}\n'
 
 echo '% Rebase the revision containing the copy'
-hg rebase -s 2 -d 1 --quiet 2>&1 | cleanoutput
+hg rebase -s 2 -d 1 --quiet | cleanrebase
 
 echo
 echo '% Copy is not lost'
--- a/tests/test-rebase-rename.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-rename.out	Mon Jun 21 13:41:11 2010 -0500
@@ -10,7 +10,6 @@
 rename to a-renamed
 
 % Rebase the revision containing the rename
-saving bundle to 
 
 % Rename is not lost
 2:rename A
@@ -30,7 +29,6 @@
 copy to a-copied
 
 % Rebase the revision containing the copy
-saving bundle to 
 
 % Copy is not lost
 2:copy A
--- a/tests/test-rebase-scenario-global	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-scenario-global	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. $TESTDIR/helpers.sh
+
 echo "[extensions]" >> $HGRCPATH
 echo "graphlog=" >> $HGRCPATH
 echo "rebase=" >> $HGRCPATH
@@ -42,32 +44,32 @@
 
 echo '% Rebasing'
 echo '% B onto F - simple rebase'
-hg rebase -s 1 -d 5 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 1 -d 5 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 
 createrepo > /dev/null 2>&1
 echo '% B onto D - intermediate point'
-hg rebase -s 1 -d 3 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 1 -d 3 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 
 createrepo > /dev/null 2>&1
 echo '% C onto F - skip of E'
-hg rebase -s 2 -d 5 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 2 -d 5 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 
 createrepo > /dev/null 2>&1
 echo '% D onto C - rebase of a branching point (skip E)'
-hg rebase -s 3 -d 2 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 3 -d 2 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 
 createrepo > /dev/null 2>&1
 echo '% E onto F - merged revision having a parent in ancestors of target'
-hg rebase -s 4 -d 5 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 4 -d 5 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 
 createrepo > /dev/null 2>&1
 echo '% D onto B - E maintains C as parent'
-hg rebase -s 3 -d 1 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+hg rebase -s 3 -d 1 | hidebackup
 hg glog  --template '{rev}: {desc}\n'
 
 echo '% These will fail (using --source)'
--- a/tests/test-rebase-scenario-global.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rebase-scenario-global.out	Mon Jun 21 13:41:11 2010 -0500
@@ -12,13 +12,7 @@
 
 % Rebasing
 % B onto F - simple rebase
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 4 changes to 4 files (+1 heads)
-rebase completed
+saved backup bundle to 
 @  5: B
 |
 o  4: F
@@ -32,13 +26,7 @@
 o  0: A
 
 % B onto D - intermediate point
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 5 changesets with 4 changes to 4 files (+2 heads)
-rebase completed
+saved backup bundle to 
 @  5: B
 |
 | o  4: F
@@ -52,13 +40,7 @@
 o  0: A
 
 % C onto F - skip of E
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 3 files (+1 heads)
-rebase completed
+saved backup bundle to 
 @  4: C
 |
 o  3: F
@@ -70,13 +52,7 @@
 o  0: A
 
 % D onto C - rebase of a branching point (skip E)
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 2 changes to 2 files
-rebase completed
+saved backup bundle to 
 @  4: F
 |
 o  3: D
@@ -88,13 +64,7 @@
 o  0: A
 
 % E onto F - merged revision having a parent in ancestors of target
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 1 changes to 1 files (-1 heads)
-rebase completed
+saved backup bundle to 
 @    5: E
 |\
 | o  4: F
@@ -108,13 +78,7 @@
 o  0: A
 
 % D onto B - E maintains C as parent
-saving bundle to 
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 2 changes to 2 files
-rebase completed
+saved backup bundle to 
 @  5: F
 |
 | o  4: E
--- a/tests/test-record	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-record	Mon Jun 21 13:41:11 2010 -0500
@@ -37,6 +37,10 @@
 EOF
 echo; hg tip -p
 
+echo % summary shows we updated to the new cset
+hg summary
+echo
+
 echo % rename empty file
 
 hg mv empty-rw empty-rename
@@ -326,4 +330,3 @@
 y
 EOF
 echo; hg tip -p
-
--- a/tests/test-record.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-record.out	Mon Jun 21 13:41:11 2010 -0500
@@ -6,7 +6,7 @@
     If a list of files is omitted, all changes reported by "hg status" will be
     candidates for recording.
 
-    See 'hg help dates' for a list of formats valid for -d/--date.
+    See "hg help dates" for a list of formats valid for -d/--date.
 
     You will be prompted for whether to record changes to each modified file,
     and for files with multiple changes, for each change to use. For each
@@ -28,20 +28,25 @@
 
 options:
 
- -A --addremove     mark new/missing files as added/removed before committing
-    --close-branch  mark a branch as closed, hiding it from the branch list
- -I --include       include names matching the given patterns
- -X --exclude       exclude names matching the given patterns
- -m --message       use <text> as commit message
- -l --logfile       read commit message from <file>
- -d --date          record datecode as commit date
- -u --user          record the specified user as committer
+ -A --addremove            mark new/missing files as added/removed before
+                           committing
+    --close-branch         mark a branch as closed, hiding it from the branch
+                           list
+ -I --include PATTERN [+]  include names matching the given patterns
+ -X --exclude PATTERN [+]  exclude names matching the given patterns
+ -m --message TEXT         use text as commit message
+ -l --logfile FILE         read commit message from file
+ -d --date DATE            record datecode as commit date
+ -u --user USER            record the specified user as committer
+
+[+] marked option can be specified multiple times
 
 use "hg -v help record" to show global options
 % select no files
 diff --git a/empty-rw b/empty-rw
 new file mode 100644
-examine changes to 'empty-rw'? [Ynsfdaq?] no changes to record
+examine changes to 'empty-rw'? [Ynsfdaq?] 
+no changes to record
 
 changeset:   -1:000000000000
 tag:         tip
@@ -52,7 +57,8 @@
 % select files but no hunks
 diff --git a/empty-rw b/empty-rw
 new file mode 100644
-examine changes to 'empty-rw'? [Ynsfdaq?] abort: empty commit message
+examine changes to 'empty-rw'? [Ynsfdaq?] 
+abort: empty commit message
 
 changeset:   -1:000000000000
 tag:         tip
@@ -64,6 +70,7 @@
 diff --git a/empty-rw b/empty-rw
 new file mode 100644
 examine changes to 'empty-rw'? [Ynsfdaq?] 
+
 changeset:   0:c0708cf4e46e
 tag:         tip
 user:        test
@@ -71,11 +78,19 @@
 summary:     empty
 
 
+% summary shows we updated to the new cset
+parent: 0:c0708cf4e46e tip
+ empty
+branch: default
+commit: (clean)
+update: (current)
+
 % rename empty file
 diff --git a/empty-rw b/empty-rename
 rename from empty-rw
 rename to empty-rename
 examine changes to 'empty-rw' and 'empty-rename'? [Ynsfdaq?] 
+
 changeset:   1:d695e8dcb197
 tag:         tip
 user:        test
@@ -88,6 +103,7 @@
 copy from empty-rename
 copy to empty-copy
 examine changes to 'empty-rename' and 'empty-copy'? [Ynsfdaq?] 
+
 changeset:   2:1d4b90bea524
 tag:         tip
 user:        test
@@ -99,6 +115,7 @@
 diff --git a/empty-copy b/empty-copy
 deleted file mode 100644
 examine changes to 'empty-copy'? [Ynsfdaq?] 
+
 changeset:   3:b39a238f01a1
 tag:         tip
 user:        test
@@ -112,6 +129,7 @@
 new file mode 100644
 this is a binary file
 examine changes to 'tip.bundle'? [Ynsfdaq?] 
+
 changeset:   4:ad816da3711e
 tag:         tip
 user:        test
@@ -126,6 +144,7 @@
 diff --git a/tip.bundle b/tip.bundle
 this modifies a binary file (all or nothing)
 examine changes to 'tip.bundle'? [Ynsfdaq?] 
+
 changeset:   5:dccd6f3eb485
 tag:         tip
 user:        test
@@ -142,6 +161,7 @@
 rename to top.bundle
 this modifies a binary file (all or nothing)
 examine changes to 'tip.bundle' and 'top.bundle'? [Ynsfdaq?] 
+
 changeset:   6:7fa44105f5b3
 tag:         tip
 user:        test
@@ -157,6 +177,7 @@
 diff --git a/plain b/plain
 new file mode 100644
 examine changes to 'plain'? [Ynsfdaq?] 
+
 changeset:   7:11fb457c1be4
 tag:         tip
 user:        test
@@ -181,46 +202,55 @@
 % modify end of plain file
 diff --git a/plain b/plain
 1 hunks, 1 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -8,3 +8,4 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -8,3 +8,4 @@
  8
  9
  10
 +11
-record this change to 'plain'? [Ynsfdaq?] % modify end of plain file, no EOL
+record this change to 'plain'? [Ynsfdaq?] 
+% modify end of plain file, no EOL
 diff --git a/plain b/plain
 1 hunks, 1 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -9,3 +9,4 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -9,3 +9,4 @@
  9
  10
  11
 +7264f99c5f5ff3261504828afa4fb4d406c3af54
 \ No newline at end of file
-record this change to 'plain'? [Ynsfdaq?] % modify end of plain file, add EOL
+record this change to 'plain'? [Ynsfdaq?] 
+% modify end of plain file, add EOL
 diff --git a/plain b/plain
 1 hunks, 2 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -9,4 +9,4 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -9,4 +9,4 @@
  9
  10
  11
 -7264f99c5f5ff3261504828afa4fb4d406c3af54
 \ No newline at end of file
 +7264f99c5f5ff3261504828afa4fb4d406c3af54
-record this change to 'plain'? [Ynsfdaq?] % modify beginning, trim end, record both
+record this change to 'plain'? [Ynsfdaq?] 
+% modify beginning, trim end, record both
 diff --git a/plain b/plain
 2 hunks, 4 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -1,4 +1,4 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -1,4 +1,4 @@
 -1
 +2
  2
  3
  4
-record change 1/2 to 'plain'? [Ynsfdaq?] @@ -8,5 +8,3 @@
+record change 1/2 to 'plain'? [Ynsfdaq?] 
+@@ -8,5 +8,3 @@
  8
  9
  10
 -11
 -7264f99c5f5ff3261504828afa4fb4d406c3af54
 record change 2/2 to 'plain'? [Ynsfdaq?] 
+
 changeset:   11:efca65c9b09e
 tag:         tip
 user:        test
@@ -247,7 +277,8 @@
 % record end
 diff --git a/plain b/plain
 2 hunks, 5 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -1,9 +1,6 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -1,9 +1,6 @@
 -2
 -2
 -3
@@ -257,7 +288,8 @@
  7
  8
  9
-record change 1/2 to 'plain'? [Ynsfdaq?] @@ -4,7 +1,7 @@
+record change 1/2 to 'plain'? [Ynsfdaq?] 
+@@ -4,7 +1,7 @@
  4
  5
  6
@@ -267,6 +299,7 @@
 -10
 +10.new
 record change 2/2 to 'plain'? [Ynsfdaq?] 
+
 changeset:   12:7d1e66983c15
 tag:         tip
 user:        test
@@ -286,7 +319,8 @@
 % record beginning
 diff --git a/plain b/plain
 1 hunks, 3 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -1,6 +1,3 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -1,6 +1,3 @@
 -2
 -2
 -3
@@ -294,6 +328,7 @@
  5
  6
 record this change to 'plain'? [Ynsfdaq?] 
+
 changeset:   13:a09fc62a0e61
 tag:         tip
 user:        test
@@ -315,7 +350,8 @@
 % record end
 diff --git a/plain b/plain
 2 hunks, 4 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -1,6 +1,9 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -1,6 +1,9 @@
 +1
 +2
 +3
@@ -325,7 +361,8 @@
  7
  8
  9
-record change 1/2 to 'plain'? [Ynsfdaq?] @@ -1,7 +4,6 @@
+record change 1/2 to 'plain'? [Ynsfdaq?] 
+@@ -1,7 +4,6 @@
  4
  5
  6
@@ -333,17 +370,20 @@
  8
  9
 -10.new
-record change 2/2 to 'plain'? [Ynsfdaq?] % add to beginning, middle, end
+record change 2/2 to 'plain'? [Ynsfdaq?] 
+% add to beginning, middle, end
 % record beginning, middle
 diff --git a/plain b/plain
 3 hunks, 7 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -1,2 +1,5 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -1,2 +1,5 @@
 +1
 +2
 +3
  4
  5
-record change 1/3 to 'plain'? [Ynsfdaq?] @@ -1,6 +4,8 @@
+record change 1/3 to 'plain'? [Ynsfdaq?] 
+@@ -1,6 +4,8 @@
  4
  5
 +5.new
@@ -352,7 +392,8 @@
  7
  8
  9
-record change 2/3 to 'plain'? [Ynsfdaq?] @@ -3,4 +8,6 @@
+record change 2/3 to 'plain'? [Ynsfdaq?] 
+@@ -3,4 +8,6 @@
  6
  7
  8
@@ -360,6 +401,7 @@
 +10
 +11
 record change 3/3 to 'plain'? [Ynsfdaq?] 
+
 changeset:   15:7d137997f3a6
 tag:         tip
 user:        test
@@ -384,13 +426,15 @@
 % record end
 diff --git a/plain b/plain
 1 hunks, 2 lines changed
-examine changes to 'plain'? [Ynsfdaq?] @@ -9,3 +9,5 @@
+examine changes to 'plain'? [Ynsfdaq?] 
+@@ -9,3 +9,5 @@
  7
  8
  9
 +10
 +11
 record this change to 'plain'? [Ynsfdaq?] 
+
 changeset:   16:4959e3ff13eb
 tag:         tip
 user:        test
@@ -410,10 +454,12 @@
 adding subdir/a
 diff --git a/subdir/a b/subdir/a
 1 hunks, 1 lines changed
-examine changes to 'subdir/a'? [Ynsfdaq?] @@ -1,1 +1,2 @@
+examine changes to 'subdir/a'? [Ynsfdaq?] 
+@@ -1,1 +1,2 @@
  a
 +a
 record this change to 'subdir/a'? [Ynsfdaq?] 
+
 changeset:   18:40698cd490b2
 tag:         tip
 user:        test
@@ -430,7 +476,8 @@
 % help, quit
 diff --git a/subdir/f1 b/subdir/f1
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] y - record this change
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+y - record this change
 n - skip this change
 s - skip remaining changes to this file
 f - record remaining changes to this file
@@ -438,31 +485,38 @@
 a - record all changes to all remaining files
 q - quit, recording no changes
 ? - display help
-examine changes to 'subdir/f1'? [Ynsfdaq?] abort: user quit
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+abort: user quit
 % skip
 diff --git a/subdir/f1 b/subdir/f1
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+diff --git a/subdir/f2 b/subdir/f2
 1 hunks, 1 lines changed
 examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected
 % no
 diff --git a/subdir/f1 b/subdir/f1
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+diff --git a/subdir/f2 b/subdir/f2
 1 hunks, 1 lines changed
 examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected
 % f, quit
 diff --git a/subdir/f1 b/subdir/f1
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+diff --git a/subdir/f2 b/subdir/f2
 1 hunks, 1 lines changed
-examine changes to 'subdir/f2'? [Ynsfdaq?] abort: user quit
+examine changes to 'subdir/f2'? [Ynsfdaq?] 
+abort: user quit
 % s, all
 diff --git a/subdir/f1 b/subdir/f1
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+diff --git a/subdir/f2 b/subdir/f2
 1 hunks, 1 lines changed
 examine changes to 'subdir/f2'? [Ynsfdaq?] 
+
 changeset:   20:d2d8c25276a8
 tag:         tip
 user:        test
@@ -480,6 +534,7 @@
 diff --git a/subdir/f1 b/subdir/f1
 1 hunks, 1 lines changed
 examine changes to 'subdir/f1'? [Ynsfdaq?] 
+
 changeset:   21:1013f51ce32f
 tag:         tip
 user:        test
@@ -498,11 +553,13 @@
 old mode 100644
 new mode 100755
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -1,2 +1,3 @@
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+@@ -1,2 +1,3 @@
  a
  a
 +a
 record this change to 'subdir/f1'? [Ynsfdaq?] 
+
 changeset:   22:5df857735621
 tag:         tip
 user:        test
@@ -522,12 +579,14 @@
 % preserve execute permission on original
 diff --git a/subdir/f1 b/subdir/f1
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -1,3 +1,4 @@
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+@@ -1,3 +1,4 @@
  a
  a
  a
 +b
 record this change to 'subdir/f1'? [Ynsfdaq?] 
+
 changeset:   23:a4ae36a78715
 tag:         tip
 user:        test
@@ -548,12 +607,14 @@
 old mode 100755
 new mode 100644
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -2,3 +2,4 @@
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+@@ -2,3 +2,4 @@
  a
  a
  b
 +c
 record this change to 'subdir/f1'? [Ynsfdaq?] 
+
 changeset:   24:1460f6e47966
 tag:         tip
 user:        test
@@ -574,7 +635,6 @@
 % abort early when a merge is in progress
 1 files updated, 0 files merged, 5 files removed, 0 files unresolved
 marked working directory as branch thatbranch
-created new head
 5 files updated, 0 files merged, 2 files removed, 0 files unresolved
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
@@ -584,12 +644,14 @@
 % with win32ext
 diff --git a/subdir/f1 b/subdir/f1
 1 hunks, 1 lines changed
-examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -3,3 +3,4 @@
+examine changes to 'subdir/f1'? [Ynsfdaq?] 
+@@ -3,3 +3,4 @@
  a
  b
  c
 +d
 record this change to 'subdir/f1'? [Ynsfdaq?] 
+
 changeset:   26:5bacc1f6e9cf
 tag:         tip
 parent:      24:1460f6e47966
--- a/tests/test-relink.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-relink.out	Mon Jun 21 13:41:11 2010 -0500
@@ -12,10 +12,18 @@
 created new head
 % relink
 relinking .hg/store
+tip has 2 files, estimated total number of files: 3
+collecting: 00changelog.i 1/3 files (33.33%)
+collecting: 00manifest.i 2/3 files (66.67%)
+collecting: a.i 3/3 files (100.00%)
+collecting: b.i 4/3 files (133.33%)
+collecting: dummy.i 5/3 files (166.67%)
 collected 5 candidate storage files
 not linkable: 00changelog.i
 not linkable: 00manifest.i
+pruning: data/a.i 3/5  files (60.00%)
 not linkable: data/b.i
+pruning: data/dummy.i 5/5  files (100.00%)
 pruned down to 2 probably relinkable files
 relinking: data/a.i 1/2  files (50.00%)
 not linkable: data/dummy.i
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-remove-new	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# test that 'hg commit' does not crash if the user removes a 
+# newly added file
+
+hg init
+echo This is file a1 > a
+hg add a
+hg commit -m "commit #0" -d "1000000 0"
+touch b
+hg add b
+rm b
+hg commit -A -m"comment #1" -d "1000000 0"
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-remove-new.out	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,2 @@
+removing b
+nothing changed
--- a/tests/test-rename	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rename	Mon Jun 21 13:41:11 2010 -0500
@@ -12,6 +12,7 @@
 
 echo "# rename a single file"
 hg rename d1/d11/a1 d2/c
+hg sum
 hg status -C
 hg update -C
 rm d2/c
@@ -23,6 +24,17 @@
 hg update -C
 rm d2/c
 
+echo '# rename --after a single file when src and tgt already tracked'
+mv d1/d11/a1 d2/c
+hg addrem
+hg rename --after d1/d11/a1 d2/c
+hg status -C
+hg update -C
+rm d2/c
+
+echo "# rename --after a single file to a nonexistant target filename"
+hg rename --after d1/a dummy
+
 echo "# move a single file to an existing directory"
 hg rename d1/d11/a1 d2
 hg status -C
--- a/tests/test-rename-after-merge.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rename-after-merge.out	Mon Jun 21 13:41:11 2010 -0500
@@ -34,7 +34,7 @@
 (branch merge, don't forget to commit)
 % commit issue 1476
 copies:      c2 (c1)
-rolling back last transaction
+rolling back to revision 2 (undo commit)
 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
 % merge heads again
 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- a/tests/test-rename.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rename.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,4 +1,9 @@
 # rename a single file
+parent: 0:6f9914c7a010 tip
+ 1
+branch: default
+commit: 1 renamed
+update: (current)
 A d2/c
   d1/d11/a1
 R d1/d11/a1
@@ -8,6 +13,15 @@
   d1/d11/a1
 R d1/d11/a1
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+# rename --after a single file when src and tgt already tracked
+removing d1/d11/a1
+adding d2/c
+A d2/c
+  d1/d11/a1
+R d1/d11/a1
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+# rename --after a single file to a nonexistant target filename
+d1/a: not recording move - dummy does not exist
 # move a single file to an existing directory
 A d2/a1
   d1/d11/a1
@@ -170,6 +184,8 @@
 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
 # move --after some files under d1 to d2/d21 (glob)
 moving d1/a to d2/d21/a
+d1/b: not recording move - d2/d21/b does not exist
+d1/ba: not recording move - d2/d21/ba does not exist
 moving d1/d11/a1 to d2/d21/a1
 A d2/d21/a
   d1/a
--- a/tests/test-repair-strip	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-repair-strip	Mon Jun 21 13:41:11 2010 -0500
@@ -8,7 +8,7 @@
     echo % before update $1, strip $2
     hg parents
     chmod -$3 $4
-    hg strip $2 2>&1 | sed 's/\(saving bundle to \).*/\1/' | sed 's/Permission denied.*\.hg\/store\/\(.*\)/Permission denied \.hg\/store\/\1/'
+    hg strip $2 2>&1 | sed 's/\(bundle\).*/\1/' | sed 's/Permission denied.*\.hg\/store\/\(.*\)/Permission denied \.hg\/store\/\1/'
     echo % after update $1, strip $2
     chmod +$3 $4
     hg verify
--- a/tests/test-repair-strip.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-repair-strip.out	Mon Jun 21 13:41:11 2010 -0500
@@ -4,10 +4,11 @@
 date:        Thu Jan 01 00:00:00 1970 +0000
 summary:     a
 
-saving bundle to 
+saved backup bundle
 transaction abort!
 failed to truncate data/b.i
 rollback failed - please run hg recover
+strip failed, full bundle
 abort: Permission denied .hg/store/data/b.i
 % after update 0, strip 2
 abandoned transaction found - run hg recover
@@ -54,10 +55,11 @@
 date:        Thu Jan 01 00:00:00 1970 +0000
 summary:     a
 
-saving bundle to 
+saved backup bundle
 transaction abort!
 failed to truncate 00manifest.i
 rollback failed - please run hg recover
+strip failed, full bundle
 abort: Permission denied .hg/store/00manifest.i
 % after update 0, strip 2
 abandoned transaction found - run hg recover
--- a/tests/test-revlog-ancestry.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-revlog-ancestry.py	Mon Jun 21 13:41:11 2010 -0500
@@ -13,7 +13,7 @@
     f = open(name, 'w')
     f.write('%s\n' % name)
     f.close()
-    repo.add([name])
+    repo[None].add([name])
     commit(name, time)
 
 def update(rev):
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-revset	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+HGENCODING=utf-8
+export HGENCODING
+
+try() {
+	echo '% hg debugrevspec' $@
+	hg debugrevspec --debug $@
+}
+
+log() {
+    echo "% log '$1'"
+    hg log --template '{rev}\n' -r "$1"
+}
+
+hg init repo
+cd repo
+
+echo a > a
+hg branch a
+hg ci -Aqm0
+
+echo b > b
+hg branch b
+hg ci -Aqm1
+
+rm a
+hg branch a-b-c-
+hg ci -Aqm2 -u Bob
+
+hg co 1
+hg branch +a+b+c+
+hg ci -Aqm3
+
+hg co 2  # interleave
+echo bb > b
+hg branch -- -a-b-c-
+hg ci -Aqm4 -d "May 12 2005"
+
+hg co 3
+hg branch /a/b/c/
+hg ci -Aqm"5 bug"
+
+hg merge 4
+hg branch _a_b_c_
+hg ci -Aqm"6 issue619"
+
+hg branch .a.b.c.
+hg ci -Aqm7
+
+hg branch all
+hg ci --close-branch -Aqm8
+
+hg co 4
+hg branch é
+hg ci -Aqm9
+
+hg tag -r6 1.0
+
+# names that should work without quoting
+try a
+try b-a
+try _a_b_c_
+try _a_b_c_-a
+try .a.b.c.
+try .a.b.c.-a
+try -- '-a-b-c-' # complains
+log -a-b-c- # succeeds with fallback
+try -- -a-b-c--a # complains
+try é
+
+# quoting needed
+try '"-a-b-c-"-a'
+
+log '1 or 2'
+log '1|2'
+log '1 and 2'
+log '1&2'
+try '1&2|3' # precedence - and is higher
+try '1|2&3' 
+try '1&2&3' # associativity
+try '1|(2|3)'
+log '1.0' # tag
+log 'a' # branch
+log '2785f51ee' 
+log 'date(2005)'
+log 'date(this is a test)'
+log 'date()'
+log 'date'
+log 'date(' 
+log 'date(tip)'
+log '"date"'
+log 'date(2005) and 1::'
+
+log 'ancestor(1)'
+log 'ancestor(4,5)'
+log 'ancestors(5)'
+log 'author(bob)'
+log 'branch(é)'
+log 'children(ancestor(4,5))'
+log 'closed()'
+log 'contains(a)'
+log 'descendants(2 or 3)'
+log 'file(b)'
+log 'follow()'
+log 'grep("issue\d+")'
+log 'head()'
+log 'heads(6::)'
+log 'keyword(issue)'
+log 'limit(head(), 1)'
+log 'max(contains(a))'
+log 'merge()'
+log 'modifies(b)'
+log 'p1(merge())'
+log 'p2(merge())'
+log 'parents(merge())'
+log 'removes(a)'
+log 'roots(all())'
+log 'reverse(2 or 3 or 4 or 5)'
+log 'sort(limit(reverse(all()), 3))'
+log 'sort(2 or 3 or 4 or 5, date)'
+log 'tagged()'
+log 'user(bob)'
+
+log '4::8'
+log '4:8'
+
+log 'sort(!merge() & (modifies(b) | user(bob) | keyword(bug) | keyword(issue) & 1::9), "-date")'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-revset.out	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,200 @@
+marked working directory as branch a
+marked working directory as branch b
+marked working directory as branch a-b-c-
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+marked working directory as branch +a+b+c+
+0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+marked working directory as branch -a-b-c-
+2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+marked working directory as branch /a/b/c/
+1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+(branch merge, don't forget to commit)
+marked working directory as branch _a_b_c_
+marked working directory as branch .a.b.c.
+marked working directory as branch all
+abort: can only close branch heads
+0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+marked working directory as branch é
+% hg debugrevspec a
+('symbol', 'a')
+0
+% hg debugrevspec b-a
+('minus', ('symbol', 'b'), ('symbol', 'a'))
+1
+% hg debugrevspec _a_b_c_
+('symbol', '_a_b_c_')
+6
+% hg debugrevspec _a_b_c_-a
+('minus', ('symbol', '_a_b_c_'), ('symbol', 'a'))
+6
+% hg debugrevspec .a.b.c.
+('symbol', '.a.b.c.')
+7
+% hg debugrevspec .a.b.c.-a
+('minus', ('symbol', '.a.b.c.'), ('symbol', 'a'))
+7
+% hg debugrevspec -- -a-b-c-
+hg: parse error at 7: not a prefix: end
+% log '-a-b-c-'
+4
+% hg debugrevspec -- -a-b-c--a
+('minus', ('minus', ('minus', ('negate', ('symbol', 'a')), ('symbol', 'b')), ('symbol', 'c')), ('negate', ('symbol', 'a')))
+abort: unknown revision '-a'!
+% hg debugrevspec é
+('symbol', '\xc3\xa9')
+9
+% hg debugrevspec "-a-b-c-"-a
+('minus', ('string', '-a-b-c-'), ('symbol', 'a'))
+4
+% log '1 or 2'
+1
+2
+% log '1|2'
+1
+2
+% log '1 and 2'
+% log '1&2'
+% hg debugrevspec 1&2|3
+('or', ('and', ('symbol', '1'), ('symbol', '2')), ('symbol', '3'))
+3
+% hg debugrevspec 1|2&3
+('or', ('symbol', '1'), ('and', ('symbol', '2'), ('symbol', '3')))
+1
+% hg debugrevspec 1&2&3
+('and', ('and', ('symbol', '1'), ('symbol', '2')), ('symbol', '3'))
+% hg debugrevspec 1|(2|3)
+('or', ('symbol', '1'), ('group', ('or', ('symbol', '2'), ('symbol', '3'))))
+1
+2
+3
+% log '1.0'
+6
+% log 'a'
+0
+% log '2785f51ee'
+0
+% log 'date(2005)'
+4
+% log 'date(this is a test)'
+hg: parse error at 10: unexpected token: symbol
+% log 'date()'
+hg: parse error: date wants a string
+% log 'date'
+hg: parse error: can't use date here
+% log 'date('
+hg: parse error at 5: not a prefix: end
+% log 'date(tip)'
+abort: invalid date: 'tip' 
+% log '"date"'
+abort: unknown revision 'date'!
+% log 'date(2005) and 1::'
+4
+% log 'ancestor(1)'
+hg: parse error: ancestor wants two arguments
+% log 'ancestor(4,5)'
+1
+% log 'ancestors(5)'
+0
+1
+3
+5
+% log 'author(bob)'
+2
+% log 'branch(é)'
+8
+9
+% log 'children(ancestor(4,5))'
+2
+3
+% log 'closed()'
+% log 'contains(a)'
+0
+1
+3
+5
+% log 'descendants(2 or 3)'
+2
+3
+4
+5
+6
+7
+8
+9
+% log 'file(b)'
+1
+4
+% log 'follow()'
+0
+1
+2
+4
+8
+9
+% log 'grep("issue\d+")'
+6
+% log 'head()'
+0
+1
+2
+3
+4
+5
+6
+7
+9
+% log 'heads(6::)'
+7
+% log 'keyword(issue)'
+6
+% log 'limit(head(), 1)'
+0
+% log 'max(contains(a))'
+5
+% log 'merge()'
+6
+% log 'modifies(b)'
+4
+% log 'p1(merge())'
+5
+% log 'p2(merge())'
+4
+% log 'parents(merge())'
+4
+5
+% log 'removes(a)'
+2
+6
+% log 'roots(all())'
+0
+% log 'reverse(2 or 3 or 4 or 5)'
+5
+4
+3
+2
+% log 'sort(limit(reverse(all()), 3))'
+7
+8
+9
+% log 'sort(2 or 3 or 4 or 5, date)'
+2
+3
+5
+4
+% log 'tagged()'
+6
+% log 'user(bob)'
+2
+% log '4::8'
+4
+8
+% log '4:8'
+4
+5
+6
+7
+8
+% log 'sort(!merge() & (modifies(b) | user(bob) | keyword(bug) | keyword(issue) & 1::9), "-date")'
+4
+2
+5
--- a/tests/test-rollback.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-rollback.out	Mon Jun 21 13:41:11 2010 -0500
@@ -9,7 +9,7 @@
 date:        Mon Jan 12 13:46:40 1970 +0000
 summary:     test
 
-rolling back last transaction
+rolling back to revision -1 (undo commit)
 checking changesets
 checking manifests
 crosschecking files in changesets and manifests
@@ -18,14 +18,14 @@
 A a
 % Test issue 902
 marked working directory as branch test
-rolling back last transaction
+rolling back to revision -1 (undo commit)
 default
 % Test issue 1635 (commit message saved)
 .hg/last-message.txt:
 test2
 % Test rollback of hg before issue 902 was fixed
 marked working directory as branch test
-rolling back last transaction
+rolling back to revision -1 (undo commit)
 Named branch could not be reset, current branch still is: test
 test
 % rollback by pretxncommit saves commit message (issue 1635)
--- a/tests/test-serve	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-serve	Mon Jun 21 13:41:11 2010 -0500
@@ -2,8 +2,10 @@
 
 hgserve()
 {
-    hg serve -a localhost -p $HGPORT1 -d --pid-file=hg.pid -E errors.log -v $@ \
-        | sed -e 's/:[0-9][0-9]*//g' -e 's/http:\/\/[^/]*\//http:\/\/localhost\//'
+    hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \
+        | sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \
+              -e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \
+              -e 's/http:\/\/[^/]*\//http:\/\/localhost\//'
     cat hg.pid >> "$DAEMON_PIDS"
     echo % errors
     cat errors.log
@@ -17,6 +19,7 @@
 
 echo '[web]' > .hg/hgrc
 echo 'accesslog = access.log' >> .hg/hgrc
+echo "port = $HGPORT1" >> .hg/hgrc
 
 echo % Without -v
 hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log
@@ -30,6 +33,9 @@
 echo % With -v
 hgserve
 
+echo % With -v and -p HGPORT2
+hgserve -p "$HGPORT2"
+
 echo % With --prefix foo
 hgserve --prefix foo
 
--- a/tests/test-serve.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-serve.out	Mon Jun 21 13:41:11 2010 -0500
@@ -2,17 +2,20 @@
 access log created - .hg/hgrc respected
 % errors
 % With -v
-listening at http://localhost/ (bound to 127.0.0.1)
+listening at http://localhost/ (bound to 127.0.0.1:HGPORT1)
+% errors
+% With -v and -p HGPORT2
+listening at http://localhost/ (bound to 127.0.0.1:HGPORT2)
 % errors
 % With --prefix foo
-listening at http://localhost/foo/ (bound to 127.0.0.1)
+listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1)
 % errors
 % With --prefix /foo
-listening at http://localhost/foo/ (bound to 127.0.0.1)
+listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1)
 % errors
 % With --prefix foo/
-listening at http://localhost/foo/ (bound to 127.0.0.1)
+listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1)
 % errors
 % With --prefix /foo/
-listening at http://localhost/foo/ (bound to 127.0.0.1)
+listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1)
 % errors
--- a/tests/test-status-color	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-status-color	Mon Jun 21 13:41:11 2010 -0500
@@ -2,6 +2,8 @@
 
 echo "[extensions]" >> $HGRCPATH
 echo "color=" >> $HGRCPATH
+echo "[color]" >> $HGRCPATH
+echo "mode=ansi" >> $HGRCPATH
 
 hg init repo1
 cd repo1
--- a/tests/test-status-inprocess.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-status-inprocess.py	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,4 @@
 #!/usr/bin/python
-import os
 from mercurial.ui import ui
 from mercurial.localrepo import localrepository
 from mercurial.commands import add, commit, status
--- a/tests/test-strict.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-strict.out	Mon Jun 21 13:41:11 2010 -0500
@@ -18,10 +18,10 @@
  pull       pull changes from the specified source
  push       push changes to the specified destination
  remove     remove the specified files on the next commit
- serve      export the repository via HTTP
+ serve      start stand-alone webserver
  status     show changed files in the working directory
  summary    summarize working directory state
- update     update working directory
+ update     update working directory (or switch revisions)
 
 use "hg help" for the full list of commands or "hg -v" for details
 0: a
--- a/tests/test-strip-cross	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-strip-cross	Mon Jun 21 13:41:11 2010 -0500
@@ -2,17 +2,13 @@
 
 # test stripping of filelogs where the linkrev doesn't always increase
 
+. $TESTDIR/helpers.sh
 echo '[extensions]' >> $HGRCPATH
 echo 'hgext.mq =' >> $HGRCPATH
 
 hg init orig
 cd orig
 
-hidefilename()
-{
-    sed -e 's/saving bundle to .*strip-backup/saving bundle to strip-backup/'
-}
-
 commit()
 {
     hg up -qC null
@@ -60,7 +56,7 @@
 for i in 0 1 2 3 4; do
     hg clone -q -U --pull crossed $i
     echo "% Trying to strip revision $i"
-    hg --cwd $i strip $i 2>&1 | hidefilename
+    hg --cwd $i strip $i | hidebackup
     echo "% Verifying"
     hg --cwd $i verify
     echo
--- a/tests/test-strip-cross.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-strip-cross.out	Mon Jun 21 13:41:11 2010 -0500
@@ -48,13 +48,7 @@
      1         3       3      1       4 5d9299349fc0 000000000000 000000000000
 
 % Trying to strip revision 0
-saving bundle to strip-backup/cbb8c2f0a2e3-backup
-saving bundle to strip-backup/cbb8c2f0a2e3-temp
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 4 changesets with 15 changes to 7 files (+3 heads)
+saved backup bundle to 
 % Verifying
 checking changesets
 checking manifests
@@ -63,13 +57,7 @@
 7 files, 4 changesets, 15 total revisions
 
 % Trying to strip revision 1
-saving bundle to strip-backup/124ecc0cbec9-backup
-saving bundle to strip-backup/124ecc0cbec9-temp
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 12 changes to 7 files (+3 heads)
+saved backup bundle to 
 % Verifying
 checking changesets
 checking manifests
@@ -78,13 +66,7 @@
 7 files, 4 changesets, 14 total revisions
 
 % Trying to strip revision 2
-saving bundle to strip-backup/f6439b304a1a-backup
-saving bundle to strip-backup/f6439b304a1a-temp
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 8 changes to 6 files (+2 heads)
+saved backup bundle to 
 % Verifying
 checking changesets
 checking manifests
@@ -93,13 +75,7 @@
 7 files, 4 changesets, 14 total revisions
 
 % Trying to strip revision 3
-saving bundle to strip-backup/6e54ec5db740-backup
-saving bundle to strip-backup/6e54ec5db740-temp
-adding branch
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 2 files (+1 heads)
+saved backup bundle to 
 % Verifying
 checking changesets
 checking manifests
@@ -108,7 +84,7 @@
 7 files, 4 changesets, 19 total revisions
 
 % Trying to strip revision 4
-saving bundle to strip-backup/9147ea23c156-backup
+saved backup bundle to 
 % Verifying
 checking changesets
 checking manifests
--- a/tests/test-subrepo	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-subrepo	Mon Jun 21 13:41:11 2010 -0500
@@ -16,6 +16,7 @@
 hg init s
 echo a > s/a
 hg -R s ci -Ams0
+hg sum
 hg ci -m1
 
 echo % add sub sub
@@ -24,7 +25,9 @@
 echo a > s/ss/a
 hg -R s add s/.hgsub
 hg -R s/ss add s/ss/a
+hg sum
 hg ci -m2
+hg sum
 
 echo % bump sub rev
 echo b > s/a
@@ -78,7 +81,7 @@
 
 echo % clone
 cd ..
-hg clone t tc
+hg clone t tc | sed 's|from .*/sub|from .../sub|g'
 cd tc
 hg debugsub
 
@@ -102,7 +105,8 @@
 echo % pull
 cd ../tc
 hg pull | sed 's/ .*sub/ ...sub/g'
-hg up # should pull t
+# should pull t
+hg up | sed 's|from .*/sub|from .../sub|g'
 cat t/t
 
 echo % bogus subrepo path aborts
@@ -214,7 +218,7 @@
 hg -R repo/s ci -Am0
 echo s = s > repo/.hgsub
 hg -R repo ci -Am1
-hg clone repo repo2
+hg clone repo repo2 | sed 's|from .*/sub|from .../sub|g'
 hg -q -R repo2 pull -u
 echo 1 > repo2/s/a
 hg -R repo2/s ci -m2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-subrepo-deep-nested-change	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+echo % Preparing the subrepository 'sub2'
+hg init sub2
+echo sub2 > sub2/sub2
+hg add -R sub2
+hg commit -R sub2 -m "sub2 import"
+
+echo % Preparing the 'sub1' repo which depends on the subrepo 'sub2'
+hg init sub1
+echo sub1 > sub1/sub1
+echo "sub2 = ../sub2" > sub1/.hgsub
+hg clone sub2 sub1/sub2 | sed 's/ .*sub/ ...sub/g'
+hg add -R sub1
+hg commit -R sub1 -m "sub1 import"
+
+echo % Preparing the 'main' repo which depends on the subrepo 'sub1'
+hg init main
+echo main > main/main
+echo "sub1 = ../sub1" > main/.hgsub
+hg clone sub1 main/sub1  | sed 's/ .*sub/ ...sub/g'
+hg add -R main
+hg commit -R main -m "main import"
+
+echo % Cleaning both repositories, just as a clone -U
+hg up -C -R sub2 null
+hg up -C -R sub1 null
+hg up -C -R main null
+rm -rf main/sub1
+rm -rf sub1/sub2
+
+echo % Clone main
+hg clone main cloned | sed 's/ .*sub/ ...sub/g' 
+
+echo % Checking cloned repo ids
+printf "cloned " ; hg id -R cloned
+printf "cloned/sub1 " ; hg id -R cloned/sub1
+printf "cloned/sub1/sub2 " ; hg id -R cloned/sub1/sub2
+
+echo % debugsub output for main and sub1
+hg debugsub -R cloned
+hg debugsub -R cloned/sub1
+
+echo % Modifying deeply nested 'sub2'
+echo modified > cloned/sub1/sub2/sub2
+hg commit -m "deep nested modif should trigger a commit" -R cloned
+
+echo % Checking modified node ids
+printf "cloned " ; hg id -R cloned
+printf "cloned/sub1 " ; hg id -R cloned/sub1
+printf "cloned/sub1/sub2 " ; hg id -R cloned/sub1/sub2
+
+echo % debugsub output for main and sub1
+hg debugsub -R cloned
+hg debugsub -R cloned/sub1
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-subrepo-deep-nested-change.out	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,64 @@
+% Preparing the subrepository sub2
+adding sub2/sub2
+% Preparing the sub1 repo which depends on the subrepo sub2
+updating to branch default
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+adding sub1/.hgsub
+adding sub1/sub1
+committing subrepository sub2
+% Preparing the main repo which depends on the subrepo sub1
+updating to branch default
+pulling ...sub2
+requesting all changes
+adding changesets
+adding manifests
+adding file changes
+added 1 changesets with 1 changes to 1 files
+3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+adding main/.hgsub
+adding main/main
+committing subrepository sub1
+% Cleaning both repositories, just as a clone -U
+0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+% Clone main
+updating to branch default
+pulling ...sub1
+requesting all changes
+adding changesets
+adding manifests
+adding file changes
+added 1 changesets with 3 changes to 3 files
+pulling ...sub2
+requesting all changes
+adding changesets
+adding manifests
+adding file changes
+added 1 changesets with 1 changes to 1 files
+3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% Checking cloned repo ids
+cloned 7f491f53a367 tip
+cloned/sub1 fc3b4ce2696f tip
+cloned/sub1/sub2 c57a0840e3ba tip
+% debugsub output for main and sub1
+path sub1
+ source   ../sub1
+ revision fc3b4ce2696f7741438c79207583768f2ce6b0dd
+path sub2
+ source   ../sub2
+ revision c57a0840e3badd667ef3c3ef65471609acb2ba3c
+% Modifying deeply nested sub2
+committing subrepository sub1
+committing subrepository sub1/sub2
+% Checking modified node ids
+cloned ffe6649062fe tip
+cloned/sub1 2ecb03bf44a9 tip
+cloned/sub1/sub2 53dd3430bcaf tip
+% debugsub output for main and sub1
+path sub1
+ source   ../sub1
+ revision 2ecb03bf44a94e749e8669481dd9069526ce7cb9
+path sub2
+ source   ../sub2
+ revision 53dd3430bcaf5ab4a7c48262bcad6d441f510487
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-subrepo-relative-path	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+echo % Preparing the subrepository 'sub'
+hg init sub
+echo sub > sub/sub
+hg add -R sub
+hg commit -R sub -m "sub import"
+
+echo % Preparing the 'main' repo which depends on the subrepo 'sub'
+hg init main
+echo main > main/main
+echo "sub = ../sub" > main/.hgsub
+hg clone sub main/sub | sed 's/ .*sub/ ...sub/g'
+hg add -R main
+hg commit -R main -m "main import"
+
+echo % Cleaning both repositories, just as a clone -U
+hg up -C -R sub null
+hg up -C -R main null
+rm -rf main/sub
+
+echo % Serving them both using hgweb
+printf '[paths]\n/main = main\nsub = sub\n' > webdir.conf
+hg serve --webdir-conf webdir.conf -a localhost -p $HGPORT \
+   -A /dev/null -E /dev/null --pid-file hg.pid -d
+cat hg.pid >> $DAEMON_PIDS
+
+echo % Clone main from hgweb
+hg clone "http://localhost:$HGPORT/main" cloned | sed 's/ .*sub/ ...sub/g' 
+
+echo % Checking cloned repo ids
+hg id -R cloned
+hg id -R cloned/sub
+
+echo % subrepo debug for 'main' clone
+hg debugsub -R cloned
+
+"$TESTDIR/killdaemons.py"
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-subrepo-relative-path.out	Mon Jun 21 13:41:11 2010 -0500
@@ -0,0 +1,33 @@
+% Preparing the subrepository sub
+adding sub/sub
+% Preparing the main repo which depends on the subrepo sub
+updating to branch default
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+adding main/.hgsub
+adding main/main
+committing subrepository sub
+% Cleaning both repositories, just as a clone -U
+0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+% Serving them both using hgweb
+% Clone main from hgweb
+requesting all changes
+adding changesets
+adding manifests
+adding file changes
+added 1 changesets with 3 changes to 3 files
+updating to branch default
+pulling ...sub
+requesting all changes
+adding changesets
+adding manifests
+adding file changes
+added 1 changesets with 1 changes to 1 files
+3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% Checking cloned repo ids
+fdfeeb3e979e tip
+863c1745b441 tip
+% subrepo debug for main clone
+path sub
+ source   ../sub
+ revision 863c1745b441bd97a8c4a096e87793073f4fb215
--- a/tests/test-subrepo-svn	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-subrepo-svn	Mon Jun 21 13:41:11 2010 -0500
@@ -63,7 +63,8 @@
 echo % change file in svn and hg, commit
 echo a >> a
 echo alpha >> s/alpha
-hg commit -m 'Message!' | sed "$filterexternal"
+hg commit -m 'Message!' | sed "$filterexternal" \
+    | sed 's:Sending.*s/alpha:Sending        s/alpha:g'
 hg debugsub | sed "$filterpath"
 
 echo
--- a/tests/test-subrepo.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-subrepo.out	Mon Jun 21 13:41:11 2010 -0500
@@ -2,10 +2,25 @@
 adding a
 % add first sub
 adding a
+parent: 0:f7b1eb17ad24 tip
+ 0
+branch: default
+commit: 1 added, 1 subrepos
+update: (current)
 committing subrepository s
 % add sub sub
+parent: 1:7cf8cfea66e4 tip
+ 1
+branch: default
+commit: 1 subrepos
+update: (current)
 committing subrepository s
-committing subrepository ss
+committing subrepository s/ss
+parent: 2:df30734270ae tip
+ 2
+branch: default
+commit: (clean)
+update: (current)
 % bump sub rev
 committing subrepository s
 % leave sub dirty
@@ -108,19 +123,19 @@
 >>>>>>> other
 % clone
 updating to branch default
-pulling subrepo s
+pulling subrepo s from .../sub/t/s
 requesting all changes
 adding changesets
 adding manifests
 adding file changes
 added 4 changesets with 5 changes to 3 files
-pulling subrepo ss
+pulling subrepo s/ss from .../sub/t/s/ss
 requesting all changes
 adding changesets
 adding manifests
 adding file changes
 added 1 changesets with 1 changes to 1 files
-pulling subrepo t
+pulling subrepo t from .../sub/t/t
 requesting all changes
 adding changesets
 adding manifests
@@ -136,13 +151,13 @@
 % push
 committing subrepository t
 pushing ...sub/t
-pushing ...subrepo ss
+pushing ...sub/t/s/ss
 searching for changes
 no changes found
-pushing ...subrepo s
+pushing ...sub/t/s
 searching for changes
 no changes found
-pushing ...subrepo t
+pushing ...sub/t/t
 searching for changes
 adding changesets
 adding manifests
@@ -157,23 +172,23 @@
 committing subrepository s
 abort: push creates new remote heads on branch 'default'!
 pushing ...sub/t
-pushing ...subrepo ss
+pushing ...sub/t/s/ss
 searching for changes
 no changes found
-pushing ...subrepo s
+pushing ...sub/t/s
 searching for changes
 (did you forget to merge? use push -f to force)
 pushing ...sub/t
-pushing ...subrepo ss
+pushing ...sub/t/s/ss
 searching for changes
 no changes found
-pushing ...subrepo s
+pushing ...sub/t/s
 searching for changes
 adding changesets
 adding manifests
 adding file changes
 added 1 changesets with 1 changes to 1 files (+1 heads)
-pushing ...subrepo t
+pushing ...sub/t/t
 searching for changes
 no changes found
 searching for changes
@@ -192,7 +207,7 @@
 adding file changes
 added 1 changesets with 1 changes to 1 files
 (run 'hg update' to get a working copy)
-pulling subrepo t
+pulling subrepo t from .../sub/t/t
 searching for changes
 adding changesets
 adding manifests
@@ -207,13 +222,11 @@
 marked working directory as branch br
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 adding b
-created new head
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 adding c
-created new head
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
@@ -226,7 +239,6 @@
 committing subrepository s
 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 adding c
-created new head
 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
@@ -234,7 +246,6 @@
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 adding d
 committing subrepository s
-created new head
 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 adding e
@@ -260,13 +271,13 @@
 [paths]
 default = $HGTMP/test-subrepo/sub/mercurial/nested_absolute
 [paths]
-default = $HGTMP/test-subrepo/sub/mercurial/main/../nested_relative
+default = $HGTMP/test-subrepo/sub/mercurial/nested_relative
 % issue 1977
 adding a
 adding .hgsub
 committing subrepository s
 updating to branch default
-pulling subrepo s
+pulling subrepo s from .../sub/repo/s
 requesting all changes
 adding changesets
 adding manifests
--- a/tests/test-tag	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-tag	Mon Jun 21 13:41:11 2010 -0500
@@ -68,3 +68,18 @@
 cat .hgtags
 hg tag -d '1000000 0' newline
 cat .hgtags
+
+echo % tag and branch using same name
+hg branch tag-and-branch-same-name
+hg ci -m"discouraged"
+hg tag tag-and-branch-same-name
+
+echo '% test custom commit messages'
+cat > $HGTMP/editor <<'__EOF__'
+#!/bin/sh
+echo "custom tag message" > "$1"
+echo "second line" >> "$1"
+__EOF__
+chmod +x "$HGTMP"/editor
+HGEDITOR="'$HGTMP'"/editor hg tag custom-tag -e
+hg log -l1 --template "{desc}\n"
--- a/tests/test-tag.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-tag.out	Mon Jun 21 13:41:11 2010 -0500
@@ -49,9 +49,9 @@
 abort: ':' cannot be used in a tag name
 % cloning local tags
 changeset:   0:0acdaf898367
-tag:         foobar
 tag:         bleah
 tag:         bleah0
+tag:         foobar
 user:        test
 date:        Mon Jan 12 13:46:40 1970 +0000
 summary:     test
@@ -94,3 +94,9 @@
 f68b039e72eacbb2e68b0543e1f6e50990aa2bb5 localnewline
 0acdaf8983679e0aac16e811534eb49d7ee1f2b4 foobar0acdaf8983679e0aac16e811534eb49d7ee1f2b4 foobar
 6ae703d793c8b1f097116869275ecd97b2977a2b newline
+% tag and branch using same name
+marked working directory as branch tag-and-branch-same-name
+warning: tag tag-and-branch-same-name conflicts with existing branch name
+% test custom commit messages
+custom tag message
+second line
--- a/tests/test-tags.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-tags.out	Mon Jun 21 13:41:11 2010 -0500
@@ -111,7 +111,7 @@
 summary:     Removed tag bar
 
 % rollback undoes tag operation
-rolling back last transaction
+rolling back to revision 4 (undo commit)
 tip                                4:0c192d7d5e6b
 bar                                1:78391a272241
 tip                                4:0c192d7d5e6b
--- a/tests/test-trusted.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-trusted.py	Mon Jun 21 13:41:11 2010 -0500
@@ -180,10 +180,10 @@
 
 try:
     testui(user='abc', group='def', silent=True)
-except error.ConfigError, inst:
+except error.ParseError, inst:
     print inst
 
 try:
     testui(debug=True, silent=True)
-except error.ConfigError, inst:
+except error.ParseError, inst:
     print inst
--- a/tests/test-trusted.py.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-trusted.py.out	Mon Jun 21 13:41:11 2010 -0500
@@ -155,6 +155,6 @@
 # parse error
 # different user, different group
 Not trusting file .hg/hgrc from untrusted user abc, group def
-Ignored: config error at .hg/hgrc:1: 'foo'
+('foo', '.hg/hgrc:1')
 # same user, same group
-config error at .hg/hgrc:1: 'foo'
+('foo', '.hg/hgrc:1')
--- a/tests/test-ui-config.py	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-ui-config.py	Mon Jun 21 13:41:11 2010 -0500
@@ -11,6 +11,20 @@
     'lists.list2=foo bar baz',
     'lists.list3=alice, bob',
     'lists.list4=foo bar baz alice, bob',
+    'lists.list5=abc d"ef"g "hij def"',
+    'lists.list6="hello world", "how are you?"',
+    'lists.list7=Do"Not"Separate',
+    'lists.list8="Do"Separate',
+    'lists.list9="Do\\"NotSeparate"',
+    'lists.list10=string "with extraneous" quotation mark"',
+    'lists.list11=x, y',
+    'lists.list12="x", "y"',
+    'lists.list13=""" key = "x", "y" """',
+    'lists.list14=,,,,     ',
+    'lists.list15=" just with starting quotation',
+    'lists.list16="longer quotation" with "no ending quotation',
+    'lists.list17=this is \\" "not a quotation mark"',
+    'lists.list18=\n \n\nding\ndong',
 ])
 
 print repr(testui.configitems('values'))
@@ -36,6 +50,20 @@
 print repr(testui.configlist('lists', 'list3'))
 print repr(testui.configlist('lists', 'list4'))
 print repr(testui.configlist('lists', 'list4', ['foo']))
+print repr(testui.configlist('lists', 'list5'))
+print repr(testui.configlist('lists', 'list6'))
+print repr(testui.configlist('lists', 'list7'))
+print repr(testui.configlist('lists', 'list8'))
+print repr(testui.configlist('lists', 'list9'))
+print repr(testui.configlist('lists', 'list10'))
+print repr(testui.configlist('lists', 'list11'))
+print repr(testui.configlist('lists', 'list12'))
+print repr(testui.configlist('lists', 'list13'))
+print repr(testui.configlist('lists', 'list14'))
+print repr(testui.configlist('lists', 'list15'))
+print repr(testui.configlist('lists', 'list16'))
+print repr(testui.configlist('lists', 'list17'))
+print repr(testui.configlist('lists', 'list18'))
 print repr(testui.configlist('lists', 'unknown'))
 print repr(testui.configlist('lists', 'unknown', ''))
 print repr(testui.configlist('lists', 'unknown', 'foo'))
--- a/tests/test-ui-config.py.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-ui-config.py.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,5 @@
 [('string', 'string value'), ('bool1', 'true'), ('bool2', 'false')]
-[('list1', 'foo'), ('list2', 'foo bar baz'), ('list3', 'alice, bob'), ('list4', 'foo bar baz alice, bob')]
+[('list1', 'foo'), ('list2', 'foo bar baz'), ('list3', 'alice, bob'), ('list4', 'foo bar baz alice, bob'), ('list5', 'abc d"ef"g "hij def"'), ('list6', '"hello world", "how are you?"'), ('list7', 'Do"Not"Separate'), ('list8', '"Do"Separate'), ('list9', '"Do\\"NotSeparate"'), ('list10', 'string "with extraneous" quotation mark"'), ('list11', 'x, y'), ('list12', '"x", "y"'), ('list13', '""" key = "x", "y" """'), ('list14', ',,,,     '), ('list15', '" just with starting quotation'), ('list16', '"longer quotation" with "no ending quotation'), ('list17', 'this is \\" "not a quotation mark"'), ('list18', '\n \n\nding\ndong')]
 ---
 'string value'
 'true'
@@ -18,6 +18,20 @@
 ['alice', 'bob']
 ['foo', 'bar', 'baz', 'alice', 'bob']
 ['foo', 'bar', 'baz', 'alice', 'bob']
+['abc', 'd"ef"g', 'hij def']
+['hello world', 'how are you?']
+['Do"Not"Separate']
+['Do', 'Separate']
+['Do"NotSeparate']
+['string', 'with extraneous', 'quotation', 'mark"']
+['x', 'y']
+['x', 'y']
+['', ' key = ', 'x"', 'y', '', '"']
+[]
+['"', 'just', 'with', 'starting', 'quotation']
+['longer quotation', 'with', '"no', 'ending', 'quotation']
+['this', 'is', '"', 'not a quotation mark']
+['ding', 'dong']
 []
 []
 ['foo']
--- a/tests/test-url-rev.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-url-rev.out	Mon Jun 21 13:41:11 2010 -0500
@@ -75,7 +75,7 @@
 
 
 % rolling back
-rolling back last transaction
+rolling back to revision 1 (undo push)
 % incoming
 2:faba9097cad4
 % pull
@@ -104,7 +104,7 @@
 % no new revs, no update
 0:1f0dee641bb7
 % rollback
-rolling back last transaction
+rolling back to revision 1 (undo pull)
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 0:1f0dee641bb7
 % pull -u takes us back to branch foo
@@ -116,7 +116,7 @@
 summary:     new head of branch foo
 
 % rollback
-rolling back last transaction
+rolling back to revision 1 (undo pull)
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 % parents
 0:1f0dee641bb7
--- a/tests/test-webraw.out	Tue Jun 08 13:19:22 2010 +0200
+++ b/tests/test-webraw.out	Mon Jun 21 13:41:11 2010 -0500
@@ -1,5 +1,5 @@
 200 Script output follows
-content-type: text/plain
+content-type: text/plain; charset="ascii"
 content-length: 157
 content-disposition: inline; filename="some \"text\".txt"