• Show log

    Commit

  • Hash : 7d55bee6
    Author : Patrick Steinhardt
    Date : 2020-01-10T12:44:51

    win32: fix relative symlinks pointing into dirs
    
    On Windows platforms, we need some logic to emulate symlink(3P) defined
    by POSIX. As unprivileged symlinks on Windows are a rather new feature,
    our current implementation is comparatively new and still has some
    rough edges in special cases.
    
    One such case is relative symlinks. While relative symlinks to files in
    the same directory work as expected, libgit2 currently fails to create
    reltaive symlinks pointing into other directories. This is due to the
    fact that we forgot to translate the Unix-style target path to
    Windows-style. Most importantly, we are currently not converting
    directory separators from "/" to "\".
    
    Fix the issue by calling `git_win32_path_canonicalize` on the target.
    Add a test that verifies our ability to create such relative links
    across directories.