changeset 9939:251812d34c08 stable

Merge stable heads
author Matt Mackall <mpm@selenic.com>
date Wed, 25 Nov 2009 21:54:18 -0600
parents a0680daed7b2 (current diff) b22ff29a3fbb (diff)
children 2d0f1cde217b 11d7ee94b56a
files tests/run-tests.py
diffstat 11 files changed, 178 insertions(+), 170 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/win32/mercurial.iss	Tue Nov 24 13:55:13 2009 -0200
+++ b/contrib/win32/mercurial.iss	Wed Nov 25 21:54:18 2009 -0600
@@ -62,6 +62,7 @@
 Source: dist\add_path.exe; DestDir: {app}
 Source: doc\*.html; DestDir: {app}\Docs
 Source: doc\style.css; DestDir: {app}\Docs
+Source: help\*.txt; DestDir: {app}\help
 Source: locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs
 Source: templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
 Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
--- a/hgext/inotify/client.py	Tue Nov 24 13:55:13 2009 -0200
+++ b/hgext/inotify/client.py	Wed Nov 25 21:54:18 2009 -0600
@@ -27,8 +27,8 @@
             autostart = self.ui.configbool('inotify', 'autostart', True)
 
             if err[0] == errno.ECONNREFUSED:
-                self.ui.warn(_('(found dead inotify server socket; '
-                               'removing it)\n'))
+                self.ui.warn(_('inotify-client: found dead inotify server '
+                               'socket; removing it\n'))
                 os.unlink(os.path.join(self.root, '.hg', 'inotify.sock'))
             if err[0] in (errno.ECONNREFUSED, errno.ENOENT) and autostart:
                 self.ui.debug('(starting inotify server)\n')
@@ -41,20 +41,20 @@
                         # inotify server while this one was starting.
                         self.ui.debug(str(inst))
                 except Exception, inst:
-                    self.ui.warn(_('could not start inotify server: '
-                                   '%s\n') % inst)
+                    self.ui.warn(_('inotify-client: could not start inotify '
+                                   'server: %s\n') % inst)
                 else:
                     try:
                         return function(self, *args)
                     except socket.error, err:
-                        self.ui.warn(_('could not talk to new inotify '
-                                       'server: %s\n') % err[-1])
+                        self.ui.warn(_('inotify-client: could not talk to new '
+                                       'inotify server: %s\n') % err[-1])
             elif err[0] in (errno.ECONNREFUSED, errno.ENOENT):
                 # silently ignore normal errors if autostart is False
                 self.ui.debug('(inotify server not running)\n')
             else:
-                self.ui.warn(_('failed to contact inotify server: %s\n')
-                         % err[-1])
+                self.ui.warn(_('inotify-client: failed to contact inotify '
+                               'server: %s\n') % err[-1])
 
         self.ui.traceback()
         raise QueryFailed('inotify query failed')
@@ -97,7 +97,8 @@
             version = ord(cs.read(1))
         except TypeError:
             # empty answer, assume the server crashed
-            self.ui.warn(_('received empty answer from inotify server'))
+            self.ui.warn(_('inotify-client: received empty answer from inotify '
+                           'server'))
             raise QueryFailed('server crashed')
 
         if version != common.version:
--- a/hgext/inotify/server.py	Tue Nov 24 13:55:13 2009 -0200
+++ b/hgext/inotify/server.py	Wed Nov 25 21:54:18 2009 -0600
@@ -691,9 +691,13 @@
             self.sock.bind(self.sockpath)
         except socket.error, err:
             if err[0] == errno.EADDRINUSE:
-                raise AlreadyStartedException(_('could not start server: %s')
-                                              % err[1])
+                raise AlreadyStartedException( _('cannot start: socket is '
+                                                 'already bound'))
             if err[0] == "AF_UNIX path too long":
+                if os.path.islink(self.sockpath) and \
+                        not os.path.exists(self.sockpath):
+                    raise util.Abort('inotify-server: cannot start: '
+                                    '.hg/inotify.sock is a broken symlink')
                 tempdir = tempfile.mkdtemp(prefix="hg-inotify-")
                 self.realsockpath = os.path.join(tempdir, "inotify.sock")
                 try:
@@ -706,8 +710,9 @@
                         pass
                     os.rmdir(tempdir)
                     if inst.errno == errno.EEXIST:
-                        raise AlreadyStartedException(_('could not start server: %s')
-                                                      % inst.strerror)
+                        raise AlreadyStartedException(_('cannot start: tried '
+                            'linking .hg/inotify.sock to a temporary socket but'
+                            ' .hg/inotify.sock already exists'))
                     raise
             else:
                 raise
@@ -841,7 +846,7 @@
             try:
                 self.master = master(ui, dirstate, root, timeout)
             except AlreadyStartedException, inst:
-                raise util.Abort(str(inst))
+                raise util.Abort("inotify-server: %s" % inst)
 
         def run(self):
             try:
--- a/i18n/pt_BR.po	Tue Nov 24 13:55:13 2009 -0200
+++ b/i18n/pt_BR.po	Wed Nov 25 21:54:18 2009 -0600
@@ -152,75 +152,74 @@
 "- 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"
-"  \"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"
-"  \"Dec 6\" (midnight)\n"
-"  \"13:18\" (today assumed)\n"
-"  \"3:39\" (3:39AM assumed)\n"
-"  \"3:39pm\" (15:39)\n"
-"  \"2006-12-06 13:18:29\" (ISO 8601 format)\n"
-"  \"2006-12-6 13:18\"\n"
-"  \"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"
+"Many date formats are valid. Here are some examples:\n"
+"\n"
+"- ``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"
+"- ``Dec 6`` (midnight)\n"
+"- ``13:18`` (today assumed)\n"
+"- ``3:39`` (3:39AM assumed)\n"
+"- ``3:39pm`` (15:39)\n"
+"- ``2006-12-06 13:18:29`` (ISO 8601 format)\n"
+"- ``2006-12-6 13:18``\n"
+"- ``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"
+"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"
-"  \"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\n"
-"  fornecida)\n"
-"  \"Dec 6 13:18 UTC\" (UTC e GMT são apelidos para +0000)\n"
-"  \"Dec 6\" (meia noite)\n"
-"  \"13:18\" (data corrente assumida)\n"
-"  \"3:39\" (hora assumida 3:39AM)\n"
-"  \"3:39pm\" (15:39)\n"
-"  \"2006-12-06 13:18:29\" (formato ISO 8601)\n"
-"  \"2006-12-6 13:18\"\n"
-"  \"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"
+"Muitos formatos de data são válidos. Eis alguns exemplos:\n"
+"\n"
+"- ``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"
+"- ``Dec 6`` (meia noite)\n"
+"- ``13:18`` (data corrente assumida)\n"
+"- ``3:39`` (hora assumida 3:39AM)\n"
+"- ``3:39pm`` (15:39)\n"
+"- ``2006-12-06 13:18:29`` (formato ISO 8601)\n"
+"- ``2006-12-6 13:18``\n"
+"- ``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"
 "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"
-"  \"<{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"
-"  \"-{days}\" - dentro de um certo número de dias contados de hoje\n"
+"O comando log também aceita intervalos de data:\n"
+"\n"
+"- ``<{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"
+"- ``-{days}`` - dentro de um certo número de dias contados de hoje\n"
 
 msgid ""
 "Mercurial's default format for showing changes between two versions of\n"
@@ -2303,7 +2302,7 @@
 "        especifica a revisão inicial do Perforce.\n"
 "\n"
 "    Destino Mercurial\n"
-"    ---------------------\n"
+"    -----------------\n"
 "\n"
 "    --config convert.hg.clonebranches=False   (booleana)\n"
 "        separa ramos da origem em diferentes clones.\n"
@@ -2685,14 +2684,6 @@
 
 msgid ""
 "svn: cannot probe remote repository, assume it could be a subversion "
-"repository. Use --source 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 se "
-"necessário.\n"
-
-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 "
@@ -3483,23 +3474,23 @@
 msgid "hg inserve [OPTION]..."
 msgstr "hg inserve [OPÇÃO]..."
 
-msgid "(found dead inotify server socket; removing it)\n"
-msgstr "(encontrado socket de um servidor inotify morto; removendo-o)\n"
-
-#, python-format
-msgid "could not start inotify server: %s\n"
-msgstr "não foi possível iniciar servidor inotify: %s\n"
-
-#, python-format
-msgid "could not talk to new inotify server: %s\n"
-msgstr "não foi possível falar com o novo servidor inotify: %s\n"
-
-#, python-format
-msgid "failed to contact inotify server: %s\n"
-msgstr "falha ao contatar servidor inotify: %s\n"
-
-msgid "received empty answer from inotify server"
-msgstr "resposta vazia recebida do servidor inotify"
+msgid "inotify-client: found dead inotify server socket; removing it\n"
+msgstr "inotify-client: encontrado socket de um servidor inotify morto; removendo\n"
+
+#, python-format
+msgid "inotify-client: could not start inotify server: %s\n"
+msgstr "inotify-client: não foi possível iniciar servidor inotify: %s\n"
+
+#, python-format
+msgid "inotify-client: could not talk to new inotify server: %s\n"
+msgstr "inotify-client: não foi possível falar com o novo servidor inotify: %s\n"
+
+#, python-format
+msgid "inotify-client: failed to contact inotify server: %s\n"
+msgstr "inotify-client: falha ao contatar servidor inotify: %s\n"
+
+msgid "inotify-client: received empty answer from inotify server"
+msgstr "inotify-client: resposta vazia recebida do servidor inotify"
 
 #, python-format
 msgid "(inotify: received response from incompatible server version %d)\n"
@@ -3601,9 +3592,13 @@
 msgid "%s hooking back up with %d bytes readable\n"
 msgstr "%s registrando novamente com %d bytes legíveis\n"
 
-#, python-format
-msgid "could not start server: %s"
-msgstr "não foi possível iniciar servidor: %s"
+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"
 
 #, python-format
 msgid "answering query for %r\n"
@@ -7106,14 +7101,14 @@
 "    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"
-"      \"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"
+"    types are:\n"
+"\n"
+"    :``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"
@@ -7130,14 +7125,14 @@
 "    -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"
-"      \"files\" (padrão): um diretório cheio de arquivos\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"
+"    Tipos válidos são:\n"
+"\n"
+"    :``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"
 "    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"
@@ -7460,11 +7455,11 @@
 "\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"
+"    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"
 "    "
 msgstr ""
 "mostra o conteúdo de um arquivo na revisão atual ou pedida\n"
@@ -7475,12 +7470,11 @@
 "\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\n"
-"           repositório\n"
-"      %p   caminho do arquivo impresso relativo à raiz\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"
+"    :``%p``: caminho do arquivo impresso relativo à raiz\n"
 "    "
 
 msgid ""
@@ -7505,9 +7499,9 @@
 "    will be the null changeset). Otherwise, clone will initially check\n"
 "    out (in order of precedence):\n"
 "\n"
-"      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"
+"    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"
 "    Use 'hg clone -u . src dst' to checkout the source repository's\n"
 "    parent changeset (applicable for local source repositories only).\n"
@@ -7567,9 +7561,9 @@
 "    (o pai do diretório de trabalho será a revisão null). De outro modo,\n"
 "    o comando clone irá obter inicialmente (em ordem de precedência):\n"
 "\n"
-"      a) a revisão, etiqueta ou ramo especificados com -u/--updaterev\n"
-"      b) a revisão, etiqueta ou ramo especificados com o primeiro -r/--rev\n"
-"      c) a cabeça do ramo default\n"
+"    a) a revisão, etiqueta ou ramo especificados com -u/--updaterev\n"
+"    b) a revisão, etiqueta ou ramo especificados com o primeiro -r/--rev\n"
+"    c) a cabeça do ramo default\n"
 "\n"
 "    Use 'hg clone -u . origem destino' para atualizar para a revisão\n"
 "    pai do diretório de trabalho do repositório de origem (aplicável\n"
@@ -7952,16 +7946,16 @@
 "    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"
-"      %%   literal \"%\" character\n"
-"      %H   changeset hash (40 bytes of hexadecimal)\n"
-"      %N   number of patches being generated\n"
-"      %R   changeset revision number\n"
-"      %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"
+"    given using a format string. The formatting rules are as follows:\n"
+"\n"
+"    :``%%``: literal \"%\" character\n"
+"    :``%H``: changeset hash (40 bytes of hexadecimal)\n"
+"    :``%N``: number of patches being generated\n"
+"    :``%R``: changeset revision number\n"
+"    :``%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"
@@ -7988,16 +7982,16 @@
 "\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"
-"      %%   caractere \"%\" literal\n"
-"      %H   hash da revisão (40 bytes hexadecimais)\n"
-"      %N   número de patches gerados\n"
-"      %R   número de ordem da revisão\n"
-"      %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"
+"    formatação são como segue:\n"
+"\n"
+"    :``%%``: caractere \"%\" literal\n"
+"    :``%H``: hash da revisão (40 bytes hexadecimais)\n"
+"    :``%N``: número de patches gerados\n"
+"    :``%R``: número de ordem da revisão\n"
+"    :``%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"
 "    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"
@@ -9054,13 +9048,13 @@
 "    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"
+"    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"
@@ -9083,11 +9077,11 @@
 "    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"
+"    - 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"
@@ -9787,8 +9781,8 @@
 msgid "revision, tag or branch to check out"
 msgstr "revisão, etiqueta ou ramo a ser obtido"
 
-msgid "a changeset you would like to have after cloning"
-msgstr "uma revisão que você gostaria de ter após a clonagem"
+msgid "clone only the specified revisions and ancestors"
+msgstr "clona apenas as revisões especificadas e seus ancestrais"
 
 msgid "[OPTION]... SOURCE [DEST]"
 msgstr "[OPÇÃO]... ORIGEM [DEST]"
--- a/mercurial/hgweb/hgwebdir_mod.py	Tue Nov 24 13:55:13 2009 -0200
+++ b/mercurial/hgweb/hgwebdir_mod.py	Wed Nov 25 21:54:18 2009 -0600
@@ -48,6 +48,7 @@
         self.conf = conf
         self.baseui = baseui
         self.lastrefresh = 0
+        self.motd = None
         self.refresh()
 
     def refresh(self):
@@ -72,7 +73,6 @@
 
         encoding.encoding = self.ui.config('web', 'encoding',
                                            encoding.encoding)
-        self.motd = self.ui.config('web', 'motd')
         self.style = self.ui.config('web', 'style', 'paper')
         self.stripecount = self.ui.config('web', 'stripes', 1)
         if self.stripecount:
--- a/tests/run-tests.py	Tue Nov 24 13:55:13 2009 -0200
+++ b/tests/run-tests.py	Wed Nov 25 21:54:18 2009 -0600
@@ -31,8 +31,10 @@
 #      ./run-tests.py -j2 --local test-s*
 #  7) parallel, coverage, temp install:
 #      ./run-tests.py -j2 -c test-s*          # currently broken
-#  8) parallel, coverage, local install
+#  8) parallel, coverage, local install:
 #      ./run-tests.py -j2 -c --local test-s*  # unsupported (and broken)
+#  9) parallel, custom tmp dir:
+#      ./run-tests.py -j2 --tmpdir /tmp/myhgtests
 #
 # (You could use any subset of the tests: test-s* happens to match
 # enough that it's worth doing parallel runs, few enough that it
@@ -639,6 +641,8 @@
             continue
         rfd, wfd = os.pipe()
         childopts = ['--child=%d' % wfd, '--port=%d' % (options.port + j * 3)]
+        childtmp = os.path.join(HGTMP, 'child%d' % j)
+        childopts += ['--tmpdir', childtmp]
         cmdline = [PYTHON, sys.argv[0]] + opts + childopts + job
         vlog(' '.join(cmdline))
         fps[os.spawnvp(os.P_NOWAIT, cmdline[0], cmdline)] = os.fdopen(rfd, 'r')
@@ -781,6 +785,7 @@
     os.environ['TZ'] = 'GMT'
     os.environ["EMAIL"] = "Foo Bar <foo.bar@example.com>"
     os.environ['CDPATH'] = ''
+    os.environ['COLUMNS'] = '80'
 
     global TESTDIR, HGTMP, INST, BINDIR, PYTHONDIR, COVERAGE_FILE
     TESTDIR = os.environ["TESTDIR"] = os.getcwd()
--- a/tests/test-churn	Tue Nov 24 13:55:13 2009 -0200
+++ b/tests/test-churn	Wed Nov 25 21:54:18 2009 -0600
@@ -3,8 +3,6 @@
 echo "[extensions]" >> $HGRCPATH
 echo "churn=" >> $HGRCPATH
 
-COLUMNS=80; export COLUMNS
-
 echo % create test repository
 hg init repo
 cd repo
--- a/tests/test-inotify	Tue Nov 24 13:55:13 2009 -0200
+++ b/tests/test-inotify	Wed Nov 25 21:54:18 2009 -0600
@@ -33,6 +33,10 @@
 
 # let the daemon finish its stuff
 sleep 1
+
+echo % cannot start, already bound
+hg inserve
+
 # issue907
 hg status
 echo % clean
--- a/tests/test-inotify-issue1208.out	Tue Nov 24 13:55:13 2009 -0200
+++ b/tests/test-inotify-issue1208.out	Wed Nov 25 21:54:18 2009 -0600
@@ -1,7 +1,7 @@
 % fail
-abort: could not start server: File exists
-could not talk to new inotify server: No such file or directory
-abort: could not start server: File exists
+abort: inotify-server: cannot start: .hg/inotify.sock is a broken symlink
+inotify-client: could not talk to new inotify server: No such file or directory
+abort: inotify-server: cannot start: .hg/inotify.sock is a broken symlink
 % inserve
 % status
 ? hg.pid
--- a/tests/test-inotify.out	Tue Nov 24 13:55:13 2009 -0200
+++ b/tests/test-inotify.out	Wed Nov 25 21:54:18 2009 -0600
@@ -10,6 +10,8 @@
 8 files updated, 0 files merged, 0 files removed, 0 files unresolved
 M a
 % inserve
+% cannot start, already bound
+abort: inotify-server: cannot start: socket is already bound
 ? hg.pid
 % clean
 C a
--- a/tests/test-patchbomb	Tue Nov 24 13:55:13 2009 -0200
+++ b/tests/test-patchbomb	Wed Nov 25 21:54:18 2009 -0600
@@ -12,8 +12,6 @@
 echo "[extensions]" >> $HGRCPATH
 echo "patchbomb=" >> $HGRCPATH
 
-COLUMNS=80; export COLUMNS
-
 hg init t
 cd t
 echo a > a