Record version control information to the workflow log directory on installation.

If the workflow source directory is a supported repository/working copy (git or svn), information about the working copy will be saved in <run-dir>/log/version/vcs.json.

An example of this information for a git repo:

    "version control system": "git",
    "repository version": "2.8.0-dirty",
    "commit": "e5dc6573dd70cabd8f973d1535c17c29c026d553",
    "working copy root path": "~/cylc-src/my-workflow-git",
    "status": [
        " M flow.cylc",
        "M  bin/"

And for an svn working copy:

    "version control system": "svn",
    "working copy root path": "~/cylc-src/my-workflow-svn",
    "url": "file:///home/my-workflow-svn/trunk",
    "repository uuid": "219f5687-8eb8-44b1-beb6-e8220fa964d3",
    "revision": "14",
    "status": [
        "M       readme.txt"

Any uncommitted changes will also be saved as a diff in <run-dir>/log/version/uncommitted.diff.


Git does not include untracked files in the diff.