Skip to content
  • Michael Haggerty's avatar
    longest_ancestor_length(): require prefix list entries to be normalized · 9e2326c7
    Michael Haggerty authored
    
    
    Move the responsibility for normalizing prefixes from
    longest_ancestor_length() to its callers. Use slightly different
    normalizations at the two callers:
    
    In setup_git_directory_gently_1(), use the old normalization, which
    ignores paths that are not usable.  In the next commit we will change
    this caller to also resolve symlinks in the paths from
    GIT_CEILING_DIRECTORIES as part of the normalization.
    
    In "test-path-utils longest_ancestor_length", use the old
    normalization, but die() if any paths are unusable.  Also change t0060
    to only pass normalized paths to the test program (no empty entries or
    non-absolute paths, strip trailing slashes from the paths, and remove
    tests that thereby become redundant).
    
    The point of this change is to reduce the scope of the ancestor_length
    tests in t0060 from testing normalization+longest_prefix to testing
    only mostly longest_prefix.  This is necessary because when
    setup_git_directory_gently_1() starts resolving symlinks as part of
    its normalization, it will not be reasonable to do the same in the
    test suite, because that would make the test results depend on the
    contents of the root directory of the filesystem on which the test is
    run.  HOWEVER: under Windows, bash mangles arguments that look like
    absolute POSIX paths into DOS paths.  So we have to retain the level
    of normalization done by normalize_path_copy() to convert the
    bash-mangled DOS paths (which contain backslashes) into paths that use
    forward slashes.
    
    Signed-off-by: default avatarMichael Haggerty <mhagger@alum.mit.edu>
    Signed-off-by: default avatarJeff King <peff@peff.net>
    9e2326c7