Browse Source

Add option to select diff algorithm for diff command

The diff command in the pgm package was enhanced to allow
choosing the diff algorithm (currently myers or histogram)

Change-Id: I72083e78fb5c92868eb5d8ec512277d212a39349
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
tags/v0.10.1
Christian Halstrick 13 years ago
parent
commit
e10808e658

+ 1
- 0
org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties View File

usage_deleteBranchEvenIfNotMerged=delete branch (even if not merged) usage_deleteBranchEvenIfNotMerged=delete branch (even if not merged)
usage_deleteFullyMergedBranch=delete fully merged branch usage_deleteFullyMergedBranch=delete fully merged branch
usage_detectRenames=detect renamed files usage_detectRenames=detect renamed files
usage_diffAlgorithm=the diff algorithm to use
usage_directoriesToExport=directories to export usage_directoriesToExport=directories to export
usage_disableTheServiceInAllRepositories=disable the service in all repositories usage_disableTheServiceInAllRepositories=disable the service in all repositories
usage_displayAListOfAllRegisteredJgitCommands=Display a list of all registered jgit commands usage_displayAListOfAllRegisteredJgitCommands=Display a list of all registered jgit commands

+ 18
- 0
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Diff.java View File

import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.List; import java.util.List;


import org.eclipse.jgit.diff.DiffAlgorithm;
import org.eclipse.jgit.diff.DiffEntry; import org.eclipse.jgit.diff.DiffEntry;
import org.eclipse.jgit.diff.DiffFormatter; import org.eclipse.jgit.diff.DiffFormatter;
import org.eclipse.jgit.diff.HistogramDiff;
import org.eclipse.jgit.diff.MyersDiff;
import org.eclipse.jgit.diff.RawTextComparator; import org.eclipse.jgit.diff.RawTextComparator;
import org.eclipse.jgit.diff.RenameDetector; import org.eclipse.jgit.diff.RenameDetector;
import org.eclipse.jgit.dircache.DirCacheIterator; import org.eclipse.jgit.dircache.DirCacheIterator;
detectRenames = Boolean.FALSE; detectRenames = Boolean.FALSE;
} }


enum SupportedAlgorithm {
myers(MyersDiff.INSTANCE), histogram(new HistogramDiff());

public DiffAlgorithm algorithm;

SupportedAlgorithm(DiffAlgorithm a) {
algorithm = a;
}
};

@Option(name = "--algorithm", usage = "usage_diffAlgorithm")
void setAlgorithm(SupportedAlgorithm s) {
diffFmt.setDiffAlgorithm(s.algorithm);
}

@Option(name = "-l", usage = "usage_renameLimit") @Option(name = "-l", usage = "usage_renameLimit")
private Integer renameLimit; private Integer renameLimit;



Loading…
Cancel
Save