Changes between Version 5 and Version 6 of Ticket #1377

09/23/2014 09:14:50 AM (5 years ago)

In addition to the circumstances explained in the ticket description, there are also a few more cases that may need to be addressed:

  • When only one of the dependency versions is available (e.g. during development, when testing an upgrade to a more recent version or when waiting for the HG=>Git sync), it's possible that the script uses e.g. the Git dependencies although the root repository has been cloned via Mercurial (or vice-versa). In that case, the Mercurial mechanism of ignoring directories that feature a .hg sub-directory is circumvented, of course.
  • When working with both Mercurial and Git in the same directory (quite common, even in our office), it's actually the Python hashing algorithm that will decide whether the Mercurial or Git versions of the dependencies are preferred when updating. Thus, one may consider converting the repo_types variable into an ordered set or similar (it's currently a hash, although there's no need for string-associative access anywhere in the script).

Note that the first item is addressed in the first patch-set for review - in addition to the ticket's general changes -, while the latter is currently just a side-note to consider.