##// END OF EJS Templates
merge with stable
Matt Mackall -
r16699:d947e1da merge default
parent child Browse files
Show More
@@ -2137,12 +2137,11 b' def qimport(ui, repo, *filename, **opts)'
2137 rev=opts.get('rev'), git=opts.get('git'))
2137 rev=opts.get('rev'), git=opts.get('git'))
2138 finally:
2138 finally:
2139 q.savedirty()
2139 q.savedirty()
2140
2141
2142 if imported and opts.get('push') and not opts.get('rev'):
2143 return q.push(repo, imported[-1])
2144 finally:
2140 finally:
2145 lock.release()
2141 lock.release()
2142
2143 if imported and opts.get('push') and not opts.get('rev'):
2144 return q.push(repo, imported[-1])
2146 return 0
2145 return 0
2147
2146
2148 def qinit(ui, repo, create):
2147 def qinit(ui, repo, create):
@@ -3110,13 +3110,13 b' msgid "http authentication with factotum'
3110 msgstr "autenticação http com factotum"
3110 msgstr "autenticação http com factotum"
3111
3111
3112 msgid ""
3112 msgid ""
3113 "This extension allows the factotum facility on Plan 9 from Bell Labs platforms\n"
3113 "This extension allows the factotum(4) facility on Plan 9 from Bell Labs\n"
3114 "to provide authentication information for HTTP access. Configuration entries\n"
3114 "platforms to provide authentication information for HTTP access. Configuration\n"
3115 "specified in the auth section as well as authentication information provided\n"
3115 "entries specified in the auth section as well as authentication information\n"
3116 "in the repository URL are fully supported. If no prefix is specified, a value\n"
3116 "provided in the repository URL are fully supported. If no prefix is specified,\n"
3117 "of ``*`` will be assumed."
3117 "a value of \"*\" will be assumed."
3118 msgstr ""
3118 msgstr ""
3119 "Esta extensão permite que o recurso factotum nas plataformas\n"
3119 "Esta extensão permite que o recurso factotum(4) nas plataformas\n"
3120 "Plan 9 from Bell Labs forneçam informação de autenticação para\n"
3120 "Plan 9 from Bell Labs forneçam informação de autenticação para\n"
3121 "acesso HTTP. Entradas de configuração especificadas na seção\n"
3121 "acesso HTTP. Entradas de configuração especificadas na seção\n"
3122 "auth bem como informações de autenticação fornecidas na URL do\n"
3122 "auth bem como informações de autenticação fornecidas na URL do\n"
@@ -12139,6 +12139,13 b' msgstr ""'
12139 " Veja :hg:`help revisions` e :hg:`help revsets` para mais\n"
12139 " Veja :hg:`help revisions` e :hg:`help revsets` para mais\n"
12140 " informações sobre a especificação de revisões."
12140 " informações sobre a especificação de revisões."
12141
12141
12142 msgid ""
12143 " See :hg:`help templates` for more about pre-packaged styles and\n"
12144 " specifying custom templates."
12145 msgstr ""
12146 " Veja :hg:`help templates` para mais informações sobre estilos\n"
12147 " pré-existentes e especificação de modelos personalizados."
12148
12142 msgid "revision to display"
12149 msgid "revision to display"
12143 msgstr "revisão a ser exibida"
12150 msgstr "revisão a ser exibida"
12144
12151
@@ -14826,9 +14833,7 b' msgid ""'
14826 " keys contain PATH-like strings, every part of which must reference\n"
14833 " keys contain PATH-like strings, every part of which must reference\n"
14827 " a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will\n"
14834 " a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will\n"
14828 " be read. Mercurial checks each of these locations in the specified\n"
14835 " be read. Mercurial checks each of these locations in the specified\n"
14829 " order until one or more configuration files are detected. If the\n"
14836 " order until one or more configuration files are detected."
14830 " pywin32 extensions are not installed, Mercurial will only look for\n"
14831 " site-wide configuration in ``C:\\Mercurial\\Mercurial.ini``."
14832 msgstr ""
14837 msgstr ""
14833 " Arquivos de configuração por instalação e sistema, para o sistema\n"
14838 " Arquivos de configuração por instalação e sistema, para o sistema\n"
14834 " no qual o Mercurial está instalado.\n"
14839 " no qual o Mercurial está instalado.\n"
@@ -14839,10 +14844,7 b' msgstr ""'
14839 " diretório do qual arquivos ``*.rc`` serão lidos.\n"
14844 " diretório do qual arquivos ``*.rc`` serão lidos.\n"
14840 " O Mercurial verifica cada uma destas localizações na ordem\n"
14845 " O Mercurial verifica cada uma destas localizações na ordem\n"
14841 " especificada até que um ou mais arquivos de configuração sejam\n"
14846 " especificada até que um ou mais arquivos de configuração sejam\n"
14842 " encontrados.\n"
14847 " encontrados."
14843 " Se as extensões pywin32 não estiverem instaladas, o Mercurial\n"
14844 " procurará por arquivos de configuração de sistema apenas em\n"
14845 " ``C:\\Mercurial\\Mercurial.ini``."
14846
14848
14847 msgid ""
14849 msgid ""
14848 "Syntax\n"
14850 "Syntax\n"
@@ -17599,6 +17601,27 b' msgstr ""'
17599 " Habilita suporte a cache na interface hgweb. O padrão é True."
17601 " Habilita suporte a cache na interface hgweb. O padrão é True."
17600
17602
17601 msgid ""
17603 msgid ""
17604 "``collapse``\n"
17605 " With ``descend`` enabled, repositories in subdirectories are shown at\n"
17606 " a single level alongside repositories in the current path. With\n"
17607 " ``collapse`` also enabled, repositories residing at a deeper level than\n"
17608 " the current path are grouped behind navigable directory entries that\n"
17609 " lead to the locations of these repositories. In effect, this setting\n"
17610 " collapses each collection of repositories found within a subdirectory\n"
17611 " into a single entry for that subdirectory. Default is False."
17612 msgstr ""
17613 "``collapse``\n"
17614 " Com ``descend`` habilitado, repositórios em subdiretórios são\n"
17615 " exibidos em um único nível junto com repositórios no caminho\n"
17616 " atual. Com ``collapse`` também habilitado, repositórios que\n"
17617 " residam em um nível mais profundo que o caminho atual são\n"
17618 " agrupados atrás de entradas de diretório navegáveis que levam\n"
17619 " às localizações desses repositórios. Ou seja, esta\n"
17620 " configuração colapsa cada coleção de repositórios encontrada\n"
17621 " em um subdiretório em uma única entrada para esse\n"
17622 " subdiretório. O padrão é False."
17623
17624 msgid ""
17602 "``contact``\n"
17625 "``contact``\n"
17603 " Name or email address of the person in charge of the repository.\n"
17626 " Name or email address of the person in charge of the repository.\n"
17604 " Defaults to ui.username or ``$EMAIL`` or \"unknown\" if unset or empty."
17627 " Defaults to ui.username or ``$EMAIL`` or \"unknown\" if unset or empty."
@@ -22727,6 +22750,12 b' msgid "subrepo spec file %s not found"'
22727 msgstr "arquivo spec de sub-repositório %s não encontrado"
22750 msgstr "arquivo spec de sub-repositório %s não encontrado"
22728
22751
22729 #, python-format
22752 #, python-format
22753 msgid "invalid subrepository revision specifier in .hgsubstate line %d"
22754 msgstr ""
22755 "especificador de revisão de sub-repositório inválido na linha %d do arquivo "
22756 ".hgsubstate"
22757
22758 #, python-format
22730 msgid "bad subrepository pattern in %s: %s"
22759 msgid "bad subrepository pattern in %s: %s"
22731 msgstr "padrão ruim de sub-repositório em %s: %s"
22760 msgstr "padrão ruim de sub-repositório em %s: %s"
22732
22761
@@ -910,7 +910,10 b' def show_changeset(ui, repo, opts, buffe'
910 if not (tmpl or style):
910 if not (tmpl or style):
911 tmpl = ui.config('ui', 'logtemplate')
911 tmpl = ui.config('ui', 'logtemplate')
912 if tmpl:
912 if tmpl:
913 tmpl = templater.parsestring(tmpl)
913 try:
914 tmpl = templater.parsestring(tmpl)
915 except SyntaxError:
916 tmpl = templater.parsestring(tmpl, quoted=False)
914 else:
917 else:
915 style = util.expandpath(ui.config('ui', 'style', ''))
918 style = util.expandpath(ui.config('ui', 'style', ''))
916
919
@@ -390,7 +390,7 b' class localrepository(repo.repository):'
390 # ignore tags to unknown nodes
390 # ignore tags to unknown nodes
391 self.changelog.rev(v)
391 self.changelog.rev(v)
392 t[k] = v
392 t[k] = v
393 except error.LookupError:
393 except (error.LookupError, ValueError):
394 pass
394 pass
395 return t
395 return t
396
396
@@ -906,6 +906,8 b' class localrepository(repo.repository):'
906 l = self._lockref and self._lockref()
906 l = self._lockref and self._lockref()
907 if l:
907 if l:
908 l.postrelease.append(callback)
908 l.postrelease.append(callback)
909 else:
910 callback()
909
911
910 def lock(self, wait=True):
912 def lock(self, wait=True):
911 '''Lock the repository store (.hg/store) and return a weak reference
913 '''Lock the repository store (.hg/store) and return a weak reference
@@ -1195,7 +1197,9 b' class localrepository(repo.repository):'
1195 finally:
1197 finally:
1196 wlock.release()
1198 wlock.release()
1197
1199
1198 self.hook("commit", node=hex(ret), parent1=hookp1, parent2=hookp2)
1200 def commithook(node=hex(ret), parent1=hookp1, parent2=hookp2):
1201 self.hook("commit", node=node, parent1=parent1, parent2=parent2)
1202 self._afterlock(commithook)
1199 return ret
1203 return ret
1200
1204
1201 def commitctx(self, ctx, error=False):
1205 def commitctx(self, ctx, error=False):
@@ -785,7 +785,7 b' static PyObject *index_getitem(indexObje'
785 if (PyInt_Check(value))
785 if (PyInt_Check(value))
786 return index_get(self, PyInt_AS_LONG(value));
786 return index_get(self, PyInt_AS_LONG(value));
787
787
788 if (PyString_AsStringAndSize(value, &node, &nodelen) == -1)
788 if (node_check(value, &node, &nodelen) == -1)
789 return NULL;
789 return NULL;
790 rev = index_find_node(self, node, nodelen);
790 rev = index_find_node(self, node, nodelen);
791 if (rev >= -1)
791 if (rev >= -1)
@@ -868,12 +868,15 b' static PyObject *index_partialmatch(inde'
868
868
869 static PyObject *index_m_get(indexObject *self, PyObject *args)
869 static PyObject *index_m_get(indexObject *self, PyObject *args)
870 {
870 {
871 Py_ssize_t nodelen;
872 PyObject *val;
871 char *node;
873 char *node;
872 int nodelen, rev;
874 int rev;
873
875
874 if (!PyArg_ParseTuple(args, "s#", &node, &nodelen))
876 if (!PyArg_ParseTuple(args, "O", &val))
875 return NULL;
877 return NULL;
876
878 if (node_check(val, &node, &nodelen) == -1)
879 return NULL;
877 rev = index_find_node(self, node, nodelen);
880 rev = index_find_node(self, node, nodelen);
878 if (rev == -3)
881 if (rev == -3)
879 return NULL;
882 return NULL;
@@ -892,11 +895,8 b' static int index_contains(indexObject *s'
892 return rev >= -1 && rev < index_length(self);
895 return rev >= -1 && rev < index_length(self);
893 }
896 }
894
897
895 if (!PyString_Check(value))
898 if (node_check(value, &node, &nodelen) == -1)
896 return 0;
899 return -1;
897
898 node = PyString_AS_STRING(value);
899 nodelen = PyString_GET_SIZE(value);
900
900
901 switch (index_find_node(self, node, nodelen)) {
901 switch (index_find_node(self, node, nodelen)) {
902 case -3:
902 case -3:
@@ -45,6 +45,15 b' Second branch starting at nullrev:'
45 $ hg mv second fourth
45 $ hg mv second fourth
46 $ hg commit -m third -d "2020-01-01 10:01"
46 $ hg commit -m third -d "2020-01-01 10:01"
47
47
48 Quoting for ui.logtemplate
49
50 $ hg tip --config "ui.logtemplate={rev}\n"
51 8
52 $ hg tip --config "ui.logtemplate='{rev}\n'"
53 8
54 $ hg tip --config 'ui.logtemplate="{rev}\n"'
55 8
56
48 Make sure user/global hgrc does not affect tests
57 Make sure user/global hgrc does not affect tests
49
58
50 $ echo '[ui]' > .hg/hgrc
59 $ echo '[ui]' > .hg/hgrc
@@ -101,9 +101,9 b' tag hooks can see env vars'
101 precommit hook: HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
101 precommit hook: HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
102 pretxncommit hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2 HG_PENDING=$TESTTMP/a
102 pretxncommit hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2 HG_PENDING=$TESTTMP/a
103 4:539e4b31b6dc
103 4:539e4b31b6dc
104 tag hook: HG_LOCAL=0 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_TAG=a
104 commit hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
105 commit hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
105 commit.b hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
106 commit.b hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
106 tag hook: HG_LOCAL=0 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_TAG=a
107 $ hg tag -l la
107 $ hg tag -l la
108 pretag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=la
108 pretag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=la
109 tag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=la
109 tag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=la
@@ -300,3 +300,16 b' tagging on an uncommitted merge (issue25'
300 t3 1:c3adabd1a5f4 local
300 t3 1:c3adabd1a5f4 local
301
301
302 $ cd ..
302 $ cd ..
303
304 commit hook on tag used to be run without write lock - issue3344
305
306 $ hg init repo-tag
307 $ hg init repo-tag-target
308 $ hg -R repo-tag --config hooks.commit="hg push \"`pwd`/repo-tag-target\"" tag tag
309 pushing to $TESTTMP/repo-tag-target
310 searching for changes
311 adding changesets
312 adding manifests
313 adding file changes
314 added 1 changesets with 1 changes to 1 files
315
General Comments 0
You need to be logged in to leave comments. Login now