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 Lab |
|
3113 | "This extension allows the factotum(4) facility on Plan 9 from Bell Labs\n" | |
3114 |
"to provide authentication information for HTTP access. Configuration |
|
3114 | "platforms to provide authentication information for HTTP access. Configuration\n" | |
3115 |
"specified in the auth section as well as authentication information |
|
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, |
|
3116 | "provided in the repository URL are fully supported. If no prefix is specified,\n" | |
3117 |
" |
|
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. |
|
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. |
|
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 |
|
|
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 ( |
|
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 |
|
874 | int rev; | |
873 |
|
875 | |||
874 |
if (!PyArg_ParseTuple(args, " |
|
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 |
|
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