changeset 25288:947771ad5174

copies: document hack for adding '' to set of dirs The root directory is not normally added to 'dirs' instances (although I think it should be). In copies.mergecopies, we call dirname() to get the directory of a path and then check for containment in the 'dirs' instances ('d1' and 'd2'). In order to easily handle files in the root directory, '/' is added to d1/d2. This results in the empty string being added to the sets, since what comes before the slash in '/' is an empty string. This seems less than obvious, so let's document it.
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 22 May 2015 14:02:04 -0700
parents 56eed3923dbc
children 6ac860f700b5
files mercurial/copies.py
diffstat 1 files changed, 1 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/copies.py	Tue May 26 23:14:50 2015 +0900
+++ b/mercurial/copies.py	Fri May 22 14:02:04 2015 -0700
@@ -370,6 +370,7 @@
 
     # generate a directory move map
     d1, d2 = c1.dirs(), c2.dirs()
+    # Hack for adding '', which is not otherwise added, to d1 and d2
     d1.addpath('/')
     d2.addpath('/')
     invalid = set()