diff options
author | Tobias Pfeifer <to.pfeifer@sap.com> | 2013-01-17 14:45:00 +0100 |
---|---|---|
committer | Tobias Pfeifer <to.pfeifer@sap.com> | 2013-01-30 13:27:50 +0100 |
commit | 0d09b1cab7bcadd43be6c023028f7aca579944ab (patch) | |
tree | f872dcf22e2872002a764333e3df37ad95c260f5 | |
parent | eb6093293022e468c2aea93a11f63b366e0d3891 (diff) | |
download | jgit-0d09b1cab7bcadd43be6c023028f7aca579944ab.tar.gz jgit-0d09b1cab7bcadd43be6c023028f7aca579944ab.zip |
Extract method to output the first header line of a git diff
In order to be able to determine the range of the first header line
(e.g. "diff --git a/file1 b/file2") in subclasses, the code that formats
the first header line is extracted.
Required by egit's change: Ia61398146c0336ab332234f24d341561292554db
Change-Id: I9dd5eb964ed8b6869745c3162159b7425ac2c44a
Signed-off-by: Tobias Pfeifer <to.pfeifer@sap.com>
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java b/org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java index 4af1084bf4..fe0db33d3a 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java @@ -299,7 +299,7 @@ public class DiffFormatter { /** * Get the prefix applied in front of new file paths. - * + * * @return the prefix * @since 2.0 */ @@ -1008,6 +1008,31 @@ public class DiffFormatter { return false; } + /** + * Output the first header line + * + * @param o + * The stream the formatter will write the first header line to + * @param type + * The {@link ChangeType} + * @param oldPath + * old path to the file + * @param newPath + * new path to the file + * @throws IOException + * the stream threw an exception while writing to it. + */ + protected void formatGitDiffFirstHeaderLine(ByteArrayOutputStream o, + final ChangeType type, final String oldPath, final String newPath) + throws IOException { + o.write(encodeASCII("diff --git ")); //$NON-NLS-1$ + o.write(encode(quotePath(oldPrefix + (type == ADD ? newPath : oldPath)))); + o.write(' '); + o.write(encode(quotePath(newPrefix + + (type == DELETE ? oldPath : newPath)))); + o.write('\n'); + } + private void formatHeader(ByteArrayOutputStream o, DiffEntry ent) throws IOException { final ChangeType type = ent.getChangeType(); @@ -1016,11 +1041,7 @@ public class DiffFormatter { final FileMode oldMode = ent.getOldMode(); final FileMode newMode = ent.getNewMode(); - o.write(encodeASCII("diff --git ")); //$NON-NLS-1$ - o.write(encode(quotePath(oldPrefix + (type == ADD ? newp : oldp)))); - o.write(' '); - o.write(encode(quotePath(newPrefix + (type == DELETE ? oldp : newp)))); - o.write('\n'); + formatGitDiffFirstHeaderLine(o, type, oldp, newp); switch (type) { case ADD: |