copies: document hack for adding '' to set of dirs
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 22 May 2015 14:02:04 -0700
changeset 25288 947771ad5174
parent 25287 56eed3923dbc
child 25289 6ac860f700b5
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.
mercurial/copies.py
--- 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()