Show More
@@ -89,3 +89,4 b' 3f83fc5cfe715d292069ee8417c83804f6c6c1e4' | |||
|
89 | 89 | 564f55b251224f16508dd1311452db7780dafe2b 0 iQIVAwUAU1BmFSBXgaxoKi1yAQJ2Aw//bjK++xJuZCIdktg/i5FxBwoxdbipfTkKsN/YjUwrEmroYM8IkqIsO+U54OGCYWr3NPJ3VS8wUQeJ+NF3ffcjmjC297R9J+X0c5G90DdQUYX44jG/tP8Tqpev4Q7DLCXT26aRwEMdJQpq0eGaqv55E5Cxnyt3RrLCqe7RjPresZFg7iYrro5nq8TGYwBhessHXnCix9QI0HtXiLpms+0UGz8Sbi9nEYW+M0OZCyO1TvykCpFzEsLNwqqtFvhOMD/AMiWcTKNUpjmOn3V83xjWl+jnDUt7BxJ7n1efUnlwl4IeWlSUb73q/durtaymb97cSdKFmXHv4pdAShQEuEpVVGO1WELsKoXmbj30ItTW2V3KvNbjFsvIdDo7zLCpXyTq1HC56W7QCIMINX2qT+hrAMWC12tPQ05f89Cv1+jpk6eOPFqIHFdi663AjyrnGll8nwN7HJWwtA5wTXisu3bec51FAq4yJTzPMtOE9spz36E+Go2hZ1cAv9oCSceZcM0wB8KiMfaZJKNZNZk1jvsdiio4CcdASOFQPOspz07GqQxVP7W+F1Oz32LgwcNAEAS/f3juwDj45GYfAWJrTh3dnJy5DTD2LVC7KtkxxUVkWkqxivnDB9anj++FN9eyekxzut5eFED+WrCfZMcSPW0ai7wbslhKUhCwSf/v3DgGwsM= |
|
90 | 90 | 2195ac506c6ababe86985b932f4948837c0891b5 0 iQIVAwUAU2LO/CBXgaxoKi1yAQI/3w/7BT/VRPyxey6tYp7i5cONIlEB3gznebGYwm0SGYNE6lsvS2VLh6ztb+j4eqOadr8Ssna6bslBx+dVsm+VuJ+vrNLMucD5Uc+fhn6dAfVqg+YBzUEaedI5yNsJizcJUDI7hUVsxiPiiYd9hchCWJ+z2tVt2jCyG2lMV2rbW36AM89sgz/wn5/AaAFsgoS6up/uzA3Tmw+qZSO6dZChb4Q8midIUWEbNzVhokgYcw7/HmjmvkvV9RJYiG8aBnMdQmxTE69q2dTjnnDL6wu61WU2FpTN09HRFbemUqzAfoJp8MmXq6jWgfLcm0cI3kRo7ZNpnEkmVKsfKQCXXiaR4alt9IQpQ6Jl7LSYsYI+D4ejpYysIsZyAE8qzltYhBKJWqO27A5V4WdJsoTgA/RwKfPRlci4PY8I4N466S7PBXVz/Cc5EpFkecvrgceTmBafb8JEi+gPiD2Po4vtW3bCeV4xldiEXHeJ77byUz7fZU7jL78SjJVOCCQTJfKZVr36kTz3KlaOz3E700RxzEFDYbK7I41mdANeQBmNNbcvRTy5ma6W6I3McEcAH4wqM5fFQ8YS+QWJxk85Si8KtaDPqoEdC/0dQPavuU/jAVjhV8IbmmkOtO7WvOHQDBtrR15yMxGMnUwMrPHaRNKdHNYRG0LL7lpCtdMi1mzLQgHYY9SRYvI= |
|
91 | 91 | 269c80ee5b3cb3684fa8edc61501b3506d02eb10 0 iQIVAwUAU4uX5CBXgaxoKi1yAQLpdg/+OxulOKwZN+Nr7xsRhUijYjyAElRf2mGDvMrbAOA2xNf85DOXjOrX5TKETumf1qANA5cHa1twA8wYgxUzhx30H+w5EsLjyeSsOncRnD5WZNqSoIq2XevT0T4c8xdyNftyBqK4h/SC/t2h3vEiSCUaGcfNK8yk4XO45MIk4kk9nlA9jNWdA5ZMLgEFBye2ggz0JjEAPUkVDqlr9sNORDEbnwZxGPV8CK9HaL/I8VWClaFgjKQmjqV3SQsNFe2XPffzXmIipFJ+ODuXVxYpAsvLiGmcfuUfSDHQ4L9QvjBsWe1PgYMr/6CY/lPYmR+xW5mJUE9eIdN4MYcXgicLrmMpdF5pToNccNCMtfa6CDvEasPRqe2bDzL/Q9dQbdOVE/boaYBlgmYLL+/u+dpqip9KkyGgbSo9uJzst1mLTCzJmr5bw+surul28i9HM+4+Lewg4UUdHLz46no1lfTlB5o5EAhiOZBTEVdoBaKfewVpDa/aBRvtWX7UMVRG5qrtA0sXwydN00Jaqkr9m20W0jWjtc1ZC72QCrynVHOyfIb2rN98rnuy2QN4bTvjNpNjHOhhhPTOoVo0YYPdiUupm46vymUTQCmWsglU4Rlaa3vXneP7JenL5TV8WLPs9J28lF0IkOnyBXY7OFcpvYO1euu7iR1VdjfrQukMyaX18usymiA= |
|
92 | 2d8cd3d0e83c7336c0cb45a9f88638363f993848 0 iQIVAwUAU7OLTCBXgaxoKi1yAQJ+pw/+M3yOesgf55eo3PUTZw02QZxDyEg9ElrRc6664/QFXaJuYdz8H3LGG/NYs8uEdYihiGpS1Qc70jwd1IoUlrCELsaSSZpzWQ+VpQFX29aooBoetfL+8WgqV8zJHCtY0E1EBg/Z3ZL3n2OS++fVeWlKtp5mwEq8uLTUmhIS7GseP3bIG/CwF2Zz4bzhmPGK8V2s74aUvELZLCfkBE1ULNs7Nou1iPDGnhYOD53eq1KGIPlIg1rnLbyYw5bhS20wy5IxkWf2eCaXfmQBTG61kO5m3nkzfVgtxmZHLqYggISTJXUovfGsWZcp5a71clCSMVal+Mfviw8L/UPHG0Ie1c36djJiFLxM0f2HlwVMjegQOZSAeMGg1YL1xnIys2zMMsKgEeR+JISTal1pJyLcT9x5mr1HCnUczSGXE5zsixN+PORRnZOqcEZTa2mHJ1h5jJeEm36B/eR57BMJG+i0QgZqTpLzYTFrp2eWokGMjFB1MvgAkL2YoRsw9h6TeIwqzK8mFwLi28bf1c90gX9uMbwY/NOqGzfQKBR9bvCjs2k/gmJ+qd5AbC3DvOxHnN6hRZUqNq76Bo4F+CUVcjQ/NXnfnOIVNbILpl5Un5kl+8wLFM+mNxDxduajaUwLhSHZofKmmCSLbuuaGmQTC7a/4wzhQM9e5dX0X/8sOo8CptW7uw4= |
@@ -102,3 +102,4 b' 3f83fc5cfe715d292069ee8417c83804f6c6c1e4' | |||
|
102 | 102 | 564f55b251224f16508dd1311452db7780dafe2b 3.0-rc |
|
103 | 103 | 2195ac506c6ababe86985b932f4948837c0891b5 3.0 |
|
104 | 104 | 269c80ee5b3cb3684fa8edc61501b3506d02eb10 3.0.1 |
|
105 | 2d8cd3d0e83c7336c0cb45a9f88638363f993848 3.0.2 |
@@ -343,7 +343,16 b' def rebase(ui, repo, **opts):' | |||
|
343 | 343 | 'resolve, then hg rebase --continue)')) |
|
344 | 344 | finally: |
|
345 | 345 | ui.setconfig('ui', 'forcemerge', '', 'rebase') |
|
346 | if collapsef: | |
|
346 | 347 | cmdutil.duplicatecopies(repo, rev, target) |
|
348 | else: | |
|
349 | # If we're not using --collapse, we need to | |
|
350 | # duplicate copies between the revision we're | |
|
351 | # rebasing and its first parent, but *not* | |
|
352 | # duplicate any copies that have already been | |
|
353 | # performed in the destination. | |
|
354 | p1rev = repo[rev].p1().rev() | |
|
355 | cmdutil.duplicatecopies(repo, rev, p1rev, skiprev=target) | |
|
347 | 356 | if not collapsef: |
|
348 | 357 | newrev = concludenode(repo, rev, p1, p2, extrafn=extrafn, |
|
349 | 358 | editor=editor) |
@@ -149,8 +149,8 b' msgid ""' | |||
|
149 | 149 | msgstr "" |
|
150 | 150 | "Project-Id-Version: Mercurial\n" |
|
151 | 151 | "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n" |
|
152 |
"POT-Creation-Date: 2014-0 |
|
|
153 |
"PO-Revision-Date: 2014-0 |
|
|
152 | "POT-Creation-Date: 2014-06-30 18:45+0900\n" | |
|
153 | "PO-Revision-Date: 2014-06-30 19:03+0900\n" | |
|
154 | 154 | "Last-Translator: Japanese translation team <mercurial-ja@googlegroups.com>\n" |
|
155 | 155 | "Language-Team: Japanese\n" |
|
156 | 156 | "Language: ja\n" |
@@ -15297,6 +15297,10 b' msgid "no definition for alias \'%s\'\\n"' | |||
|
15297 | 15297 | msgstr "別名コマンド '%s' には実行対象の記述がありません\n" |
|
15298 | 15298 | |
|
15299 | 15299 | #, python-format |
|
15300 | msgid "error in definition for alias '%s': %s\n" | |
|
15301 | msgstr "別名コマンド '%s' の定義が不正です: %s\n" | |
|
15302 | ||
|
15303 | #, python-format | |
|
15300 | 15304 | msgid "" |
|
15301 | 15305 | "error in definition for alias '%s': %s may only be given on the command " |
|
15302 | 15306 | "line\n" |
@@ -25204,8 +25208,8 b' msgid "default path for subrepository no' | |||
|
25204 | 25208 | msgstr "サブリポジトリの連携先が見つかりません" |
|
25205 | 25209 | |
|
25206 | 25210 | #, python-format |
|
25207 |
msgid "warning: removing potentially hostile |
|
|
25208 | msgstr "警告: '%s' 中の .hg/hgrc は潜在的な問題となりえるため破棄します" | |
|
25211 | msgid "warning: removing potentially hostile 'hgrc' in '%s'\n" | |
|
25212 | msgstr "警告: 潜在的な問題となりえる '%s' 中の hgrc ファイルを破棄します\n" | |
|
25209 | 25213 | |
|
25210 | 25214 | #, python-format |
|
25211 | 25215 | msgid "unknown subrepo type %s" |
@@ -8265,13 +8265,13 b' msgstr "n\xc3\xa3o se pode especificar ao mesmo tempo uma revis\xc3\xa3o e uma origem"' | |||
|
8265 | 8265 | msgid "empty \"rev\" revision set - nothing to rebase\n" |
|
8266 | 8266 | msgstr "conjunto de revisões \"rev\" vazio - nada para rebasear\n" |
|
8267 | 8267 | |
|
8268 | msgid "empty \"source\" revision set - nothing to rebase" | |
|
8269 | msgstr "conjunto de revisões \"fonte\" vazio - nada para rebasear" | |
|
8270 | ||
|
8271 | msgid "empty \"base\" revision set - can't compute rebase set" | |
|
8268 | msgid "empty \"source\" revision set - nothing to rebase\n" | |
|
8269 | msgstr "conjunto de revisões \"fonte\" vazio - nada para rebasear\n" | |
|
8270 | ||
|
8271 | msgid "empty \"base\" revision set - can't compute rebase set\n" | |
|
8272 | 8272 | msgstr "" |
|
8273 | 8273 | "conjunto de revisões \"base\" vazio - não é possível calcular o conjunto de " |
|
8274 | "rebaseamento" | |
|
8274 | "rebaseamento\n" | |
|
8275 | 8275 | |
|
8276 | 8276 | #, python-format |
|
8277 | 8277 | msgid "nothing to rebase - %s is both \"base\" and destination\n" |
@@ -15604,6 +15604,10 b' msgid "no definition for alias \'%s\'\\n"' | |||
|
15604 | 15604 | msgstr "nenhuma definição para o apelido '%s'\n" |
|
15605 | 15605 | |
|
15606 | 15606 | #, python-format |
|
15607 | msgid "error in definition for alias '%s': %s\n" | |
|
15608 | msgstr "erro na definição do apelido '%s': %s\n" | |
|
15609 | ||
|
15610 | #, python-format | |
|
15607 | 15611 | msgid "" |
|
15608 | 15612 | "error in definition for alias '%s': %s may only be given on the command " |
|
15609 | 15613 | "line\n" |
@@ -24133,31 +24137,35 b' msgstr "nota: poss\xc3\xadvel conflito - %s foi renomeado m\xc3\xbaltiplas vezes para:\\n"' | |||
|
24133 | 24137 | msgid "note: possible conflict - %s was deleted and renamed to:\n" |
|
24134 | 24138 | msgstr "nota: possível conflito - %s foi apagado e renomeado para:\n" |
|
24135 | 24139 | |
|
24136 |
#, |
|
|
24140 | #, python-format | |
|
24137 | 24141 | msgid "note: merging %s and %s using bids from ancestors %s\n" |
|
24138 | msgstr "" | |
|
24142 | msgstr "nota: mesclando %s e %s usando lances dos ancestrais %s\n" | |
|
24139 | 24143 | |
|
24140 | 24144 | #, python-format |
|
24141 | 24145 | msgid "" |
|
24142 | 24146 | "\n" |
|
24143 | 24147 | "calculating bids for ancestor %s\n" |
|
24144 | 24148 | msgstr "" |
|
24149 | "\n" | |
|
24150 | "calculando lances para o ancestral %s\n" | |
|
24145 | 24151 | |
|
24146 | 24152 | msgid "" |
|
24147 | 24153 | "\n" |
|
24148 | 24154 | "auction for merging merge bids\n" |
|
24149 | 24155 | msgstr "" |
|
24156 | "\n" | |
|
24157 | "leilão para mesclar lances de mesclagem\n" | |
|
24150 | 24158 | |
|
24151 | 24159 | #, python-format |
|
24152 | 24160 | msgid " %s: multiple bids for merge action:\n" |
|
24153 | msgstr "" | |
|
24161 | msgstr " %s: múltiplos lances para ação de mesclagem:\n" | |
|
24154 | 24162 | |
|
24155 | 24163 | #, python-format |
|
24156 | 24164 | msgid " %s: ambiguous merge - picked %s action\n" |
|
24157 | msgstr "" | |
|
24165 | msgstr " %s: mesclagem ambígua - escolhida a ação %s\n" | |
|
24158 | 24166 | |
|
24159 | 24167 | msgid "end of auction" |
|
24160 | msgstr "" | |
|
24168 | msgstr "fim do leilão" | |
|
24161 | 24169 | |
|
24162 | 24170 | #, python-format |
|
24163 | 24171 | msgid "" |
@@ -25737,8 +25745,8 b' msgid "default path for subrepository no' | |||
|
25737 | 25745 | msgstr "o caminho padrão para o sub-repositório não foi encontrado" |
|
25738 | 25746 | |
|
25739 | 25747 | #, python-format |
|
25740 |
msgid "warning: removing potentially hostile |
|
|
25741 |
msgstr "aviso: removendo |
|
|
25748 | msgid "warning: removing potentially hostile 'hgrc' in '%s'\n" | |
|
25749 | msgstr "aviso: removendo 'hgrc' potencialmente hostil em '%s'\n" | |
|
25742 | 25750 | |
|
25743 | 25751 | #, python-format |
|
25744 | 25752 | msgid "unknown subrepo type %s" |
@@ -1944,11 +1944,22 b' def cat(ui, repo, ctx, matcher, prefix, ' | |||
|
1944 | 1944 | |
|
1945 | 1945 | return err |
|
1946 | 1946 | |
|
1947 | def duplicatecopies(repo, rev, fromrev): | |
|
1948 |
'''reproduce copies from fromrev to rev in the dirstate |
|
|
1947 | def duplicatecopies(repo, rev, fromrev, skiprev=None): | |
|
1948 | '''reproduce copies from fromrev to rev in the dirstate | |
|
1949 | ||
|
1950 | If skiprev is specified, it's a revision that should be used to | |
|
1951 | filter copy records. Any copies that occur between fromrev and | |
|
1952 | skiprev will not be duplicated, even if they appear in the set of | |
|
1953 | copies between fromrev and rev. | |
|
1954 | ''' | |
|
1955 | exclude = {} | |
|
1956 | if skiprev is not None: | |
|
1957 | exclude = copies.pathcopies(repo[fromrev], repo[skiprev]) | |
|
1949 | 1958 | for dst, src in copies.pathcopies(repo[fromrev], repo[rev]).iteritems(): |
|
1950 | 1959 | # copies.pathcopies returns backward renames, so dst might not |
|
1951 | 1960 | # actually be in the dirstate |
|
1961 | if dst in exclude: | |
|
1962 | continue | |
|
1952 | 1963 | if repo.dirstate[dst] in "nma": |
|
1953 | 1964 | repo.dirstate.copy(src, dst) |
|
1954 | 1965 |
@@ -73,6 +73,15 b' def readlocaltags(ui, repo, alltags, tag' | |||
|
73 | 73 | filetags = _readtags( |
|
74 | 74 | ui, repo, data.splitlines(), "localtags", |
|
75 | 75 | recode=encoding.fromlocal) |
|
76 | ||
|
77 | # remove tags pointing to invalid nodes | |
|
78 | cl = repo.changelog | |
|
79 | for t in filetags.keys(): | |
|
80 | try: | |
|
81 | cl.rev(filetags[t][0]) | |
|
82 | except (LookupError, ValueError): | |
|
83 | del filetags[t] | |
|
84 | ||
|
76 | 85 | _updatetags(filetags, "local", alltags, tagtypes) |
|
77 | 86 | |
|
78 | 87 | def _readtags(ui, repo, lines, fn, recode=None): |
@@ -907,3 +907,15 b' Test that a local tag blocks a changeset' | |||
|
907 | 907 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
908 | 908 | summary: A |
|
909 | 909 | |
|
910 | Test that removing a local tag does not cause some commands to fail | |
|
911 | ||
|
912 | $ hg tag -l -r tip tiptag | |
|
913 | $ hg tags | |
|
914 | tiptag 2:3816541e5485 | |
|
915 | tip 2:3816541e5485 | |
|
916 | visible 0:193e9254ce7e | |
|
917 | $ hg --config extensions.strip= strip -r tip --no-backup | |
|
918 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
|
919 | $ hg tags | |
|
920 | visible 0:193e9254ce7e | |
|
921 | tip 0:193e9254ce7e |
@@ -240,3 +240,84 b' Test rebase across repeating renames:' | |||
|
240 | 240 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
241 | 241 | |
|
242 | 242 | $ cd .. |
|
243 | ||
|
244 | Verify that copies get preserved (issue4192). | |
|
245 | $ hg init copy-gets-preserved | |
|
246 | $ cd copy-gets-preserved | |
|
247 | ||
|
248 | $ echo a > a | |
|
249 | $ hg add a | |
|
250 | $ hg commit --message "File a created" | |
|
251 | $ hg copy a b | |
|
252 | $ echo b > b | |
|
253 | $ hg commit --message "File b created as copy of a and modified" | |
|
254 | $ hg copy b c | |
|
255 | $ echo c > c | |
|
256 | $ hg commit --message "File c created as copy of b and modified" | |
|
257 | $ hg copy c d | |
|
258 | $ echo d > d | |
|
259 | $ hg commit --message "File d created as copy of c and modified" | |
|
260 | ||
|
261 | Note that there are four entries in the log for d | |
|
262 | $ hg tglog --follow d | |
|
263 | @ 3: 'File d created as copy of c and modified' | |
|
264 | | | |
|
265 | o 2: 'File c created as copy of b and modified' | |
|
266 | | | |
|
267 | o 1: 'File b created as copy of a and modified' | |
|
268 | | | |
|
269 | o 0: 'File a created' | |
|
270 | ||
|
271 | Update back to before we performed copies, and inject an unrelated change. | |
|
272 | $ hg update 0 | |
|
273 | 0 files updated, 0 files merged, 3 files removed, 0 files unresolved | |
|
274 | ||
|
275 | $ echo unrelated > unrelated | |
|
276 | $ hg add unrelated | |
|
277 | $ hg commit --message "Unrelated file created" | |
|
278 | created new head | |
|
279 | $ hg update 4 | |
|
280 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
281 | ||
|
282 | Rebase the copies on top of the unrelated change. | |
|
283 | $ hg rebase --source 1 --dest 4 | |
|
284 | saved backup bundle to $TESTTMP/copy-gets-preserved/.hg/*.hg (glob) | |
|
285 | $ hg update 4 | |
|
286 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
287 | ||
|
288 | There should still be four entries in the log for d | |
|
289 | $ hg tglog --follow d | |
|
290 | @ 4: 'File d created as copy of c and modified' | |
|
291 | | | |
|
292 | o 3: 'File c created as copy of b and modified' | |
|
293 | | | |
|
294 | o 2: 'File b created as copy of a and modified' | |
|
295 | | | |
|
296 | o 0: 'File a created' | |
|
297 | ||
|
298 | Same steps as above, but with --collapse on rebase to make sure the | |
|
299 | copy records collapse correctly. | |
|
300 | $ hg co 1 | |
|
301 | 0 files updated, 0 files merged, 3 files removed, 0 files unresolved | |
|
302 | $ echo more >> unrelated | |
|
303 | $ hg ci -m 'unrelated commit is unrelated' | |
|
304 | created new head | |
|
305 | $ hg rebase -s 2 --dest 5 --collapse | |
|
306 | merging b and c to c | |
|
307 | merging c and d to d | |
|
308 | saved backup bundle to $TESTTMP/copy-gets-preserved/.hg/*.hg (glob) | |
|
309 | $ hg co tip | |
|
310 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
311 | ||
|
312 | This should show both revision 3 and 0 since 'd' was transitively a | |
|
313 | copy of 'a'. | |
|
314 | ||
|
315 | $ hg tglog --follow d | |
|
316 | @ 3: 'Collapsed revision | |
|
317 | | * File b created as copy of a and modified | |
|
318 | | * File c created as copy of b and modified | |
|
319 | | * File d created as copy of c and modified' | |
|
320 | o 0: 'File a created' | |
|
321 | ||
|
322 | ||
|
323 | $ cd .. |
General Comments 0
You need to be logged in to leave comments.
Login now