Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-4638

Implement --ignore-space-change in JavaHL API

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: all
    • Fix Version/s: None
    • Component/s: bindings_javahl
    • Labels:
      None

      Description

      JavaHL doesn't seem to expose some necessary merge options. From the CLI:

        -x [--extensions] ARG    : Specify differencing options for external diff or
                                   internal diff or blame. Default: '-u'. Options are
                                   separated by spaces. Internal diff and blame take:
                                     -u, --unified: Show 3 lines of unified context
                                     -b, --ignore-space-change: Ignore changes in
                                       amount of white space
                                     -w, --ignore-all-space: Ignore all white space
                                     --ignore-eol-style: Ignore changes in EOL style
                                     -U ARG, --context ARG: Show ARG lines of context
                                     -p, --show-c-function: Show C function name
      

      The option I'm particularly interested in is --ignore-space-change, which doesn't seem to exist in . TortoiseSVN, for instance, makes easy work of merges that involve lots of, say, indentation changes; whereas in Java clients, there can be loads more confusing/manual conflict editing, due to the reduced merge support in JavaHL.

      I use Subclipse (an SVN client for Eclipse), which leverages JavaHL.

      This is from Mark Phippard, creator of Subclipse:

      The main thing would be to look at ISVNClient as that exposes the methods we use:

      http://subversion.apache.org/docs/javahl/1.9/org/apache/subversion/javahl/ISVNClient.html

      So in this case, you want Merge to ignore whitespace. When you look at the merge methods exposed, none of those seem to support passing flags that tell merge to ignoreWhitespace.

      The diff method has been enhanced (seemingly in the 1.8 release) to accept this new DiffOptions class with these flags, but I do not see that merge has the same. That is what we would need to be able to expose UI options for the same.

      For reference, here was my post on the Subversion users mailing list: http://svn.haxx.se/users/archive-2016-04/0050.shtml

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              jamiejackson Jamie Jackson
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: