Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
e10808e658

+ 1
- 0
org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties Dosyayı Görüntüle

@@ -147,6 +147,7 @@ usage_configureTheServiceInDaemonServicename=configure the service in daemon.ser
usage_deleteBranchEvenIfNotMerged=delete branch (even if not merged)
usage_deleteFullyMergedBranch=delete fully merged branch
usage_detectRenames=detect renamed files
usage_diffAlgorithm=the diff algorithm to use
usage_directoriesToExport=directories to export
usage_disableTheServiceInAllRepositories=disable the service in all repositories
usage_displayAListOfAllRegisteredJgitCommands=Display a list of all registered jgit commands

+ 18
- 0
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Diff.java Dosyayı Görüntüle

@@ -53,8 +53,11 @@ import java.io.PrintWriter;
import java.text.MessageFormat;
import java.util.List;

import org.eclipse.jgit.diff.DiffAlgorithm;
import org.eclipse.jgit.diff.DiffEntry;
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.RenameDetector;
import org.eclipse.jgit.dircache.DirCacheIterator;
@@ -98,6 +101,21 @@ class Diff extends TextBuiltin {
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")
private Integer renameLimit;


Loading…
İptal
Kaydet