Merge "Show submodule difference as a hunk"
This commit is contained in:
commit
6715c36100
|
@ -241,8 +241,7 @@ public void testCreateFileHeader_GitLink() throws Exception {
|
|||
ObjectId bId = blob("b\n");
|
||||
|
||||
String diffHeader = makeDiffHeaderModeChange(PATH_A, PATH_A, aId, bId,
|
||||
GITLINK, REGULAR_FILE)
|
||||
+ "-Subproject commit " + aId.name() + "\n";
|
||||
GITLINK, REGULAR_FILE);
|
||||
|
||||
DiffEntry ad = DiffEntry.delete(PATH_A, aId);
|
||||
ad.oldMode = FileMode.GITLINK;
|
||||
|
@ -257,7 +256,7 @@ public void testCreateFileHeader_GitLink() throws Exception {
|
|||
assertEquals(1, fh.getHunks().size());
|
||||
|
||||
HunkHeader hh = fh.getHunks().get(0);
|
||||
assertEquals(0, hh.toEditList().size());
|
||||
assertEquals(1, hh.toEditList().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -665,16 +665,10 @@ public void format(DiffEntry ent) throws IOException {
|
|||
format(res.header, res.a, res.b);
|
||||
}
|
||||
|
||||
private static void writeGitLinkDiffText(OutputStream o, DiffEntry ent)
|
||||
private static byte[] writeGitLinkText(AbbreviatedObjectId id)
|
||||
throws IOException {
|
||||
if (ent.getOldMode() == GITLINK) {
|
||||
o.write(encodeASCII("-Subproject commit " + ent.getOldId().name() //$NON-NLS-1$
|
||||
+ "\n")); //$NON-NLS-1$
|
||||
}
|
||||
if (ent.getNewMode() == GITLINK) {
|
||||
o.write(encodeASCII("+Subproject commit " + ent.getNewId().name() //$NON-NLS-1$
|
||||
+ "\n")); //$NON-NLS-1$
|
||||
}
|
||||
return encodeASCII("Subproject commit " + id.name() //$NON-NLS-1$
|
||||
+ "\n");
|
||||
}
|
||||
|
||||
private String format(AbbreviatedObjectId id) {
|
||||
|
@ -938,13 +932,7 @@ private FormatResult createFormatResult(DiffEntry ent) throws IOException,
|
|||
|
||||
formatHeader(buf, ent);
|
||||
|
||||
if (ent.getOldMode() == GITLINK || ent.getNewMode() == GITLINK) {
|
||||
formatOldNewPaths(buf, ent);
|
||||
writeGitLinkDiffText(buf, ent);
|
||||
editList = new EditList();
|
||||
type = PatchType.UNIFIED;
|
||||
|
||||
} else if (ent.getOldId() == null || ent.getNewId() == null) {
|
||||
if (ent.getOldId() == null || ent.getNewId() == null) {
|
||||
// Content not changed (e.g. only mode, pure rename)
|
||||
editList = new EditList();
|
||||
type = PatchType.UNIFIED;
|
||||
|
@ -952,8 +940,15 @@ private FormatResult createFormatResult(DiffEntry ent) throws IOException,
|
|||
} else {
|
||||
assertHaveRepository();
|
||||
|
||||
byte[] aRaw = open(OLD, ent);
|
||||
byte[] bRaw = open(NEW, ent);
|
||||
byte[] aRaw, bRaw;
|
||||
|
||||
if (ent.getOldMode() == GITLINK || ent.getNewMode() == GITLINK) {
|
||||
aRaw = writeGitLinkText(ent.getOldId());
|
||||
bRaw = writeGitLinkText(ent.getNewId());
|
||||
} else {
|
||||
aRaw = open(OLD, ent);
|
||||
bRaw = open(NEW, ent);
|
||||
}
|
||||
|
||||
if (aRaw == BINARY || bRaw == BINARY //
|
||||
|| RawText.isBinary(aRaw) || RawText.isBinary(bRaw)) {
|
||||
|
|
Loading…
Reference in New Issue