##// END OF EJS Templates
copies: add more details to the documentation of mergecopies()...
Pulkit Goyal -
r33821:42ad7cc6 default
parent child Browse files
Show More
@@ -304,6 +304,28 b' def _combinecopies(copyfrom, copyto, fin'
304
304
305 def mergecopies(repo, c1, c2, base):
305 def mergecopies(repo, c1, c2, base):
306 """
306 """
307 The basic algorithm for copytracing. Copytracing is used in commands like
308 rebase, merge, unshelve, etc to merge files that were moved/ copied in one
309 merge parent and modified in another. For example:
310
311 o ---> 4 another commit
312 |
313 | o ---> 3 commit that modifies a.txt
314 | /
315 o / ---> 2 commit that moves a.txt to b.txt
316 |/
317 o ---> 1 merge base
318
319 If we try to rebase revision 3 on revision 4, since there is no a.txt in
320 revision 4, and if user have copytrace disabled, we prints the following
321 message:
322
323 ```other changed <file> which local deleted```
324
325 If copytrace is enabled, this function finds all the new files that were
326 added from merge base up to the top commit (here 4), and for each file it
327 checks if this file was copied from another file (a.txt in the above case).
328
307 Find moves and copies between context c1 and c2 that are relevant
329 Find moves and copies between context c1 and c2 that are relevant
308 for merging. 'base' will be used as the merge base.
330 for merging. 'base' will be used as the merge base.
309
331
General Comments 0
You need to be logged in to leave comments. Login now