• 
      

    Strip symlink mode information from files on Git-style Mercurial diffs.

    Review Request #12061 — Created Feb. 17, 2022 and submitted — Latest diff uploaded

    Information

    Review Board
    release-4.0.x

    Reviewers

    Git-style Mercurial diffs, like normal Git diffs, contain symlink mode
    information. We've hit issues in the past with the server applying
    patches containing symlink modes.

    Since a Git-style diff otherwise represents a symlink change as a
    standard file change, with the content being the old/new target names,
    we addressed this problem by stripping out the symlink mode and treating
    it as a normal file when patching for display in the diff viewer.

    This is by no means a perfect solution (that is in development, with
    initial steps having been done in Review Board 4.0.5), but it addresses
    the issue in Git.

    This change brings that fix over to Mercurial when working with
    Git-style diffs. The code in Git has been split out into a common
    function that both can call, simplifying maintenance and allowing both
    to benefit from any future bug fixes.

    Unit tests pass.

    Tested with a customer who hit this problem. Verified that they were able to
    review symlinks in Mercurial.

    Commits

    Files