• Julien Muchembled's avatar
    tests: check hardlinking in case of local download from Git working copy · 03a41274
    Julien Muchembled authored
    The download recipe relies on buildout's download, which uses hardlinking for
    performance reasons in 2 cases: downloading from cache or from local file.
    This means 2 things:
    - the user shall not modify downloaded files without first making sure
      that st_nlink == 1
    - the source file shall not be modified in-place, which is reasable to assume
      for both cache and local file
    In-place modification of files is more and more rare because it has many
    drawbacks and it tends to be limited to things like logs and databases.
    This commit adds a test to check that Git does not do that when managing
    working copies: and actually, this may be our only use case of local download.
    This commit does not mean that the current way of hardlinking is fully fine.
    There remains at least the issue that file permissions may be changed at the
    end of the recipe, either with `shared=true` or with `mode` option.
README.rst 32.1 KB