for (DiffEntry ent : files) {
switch (ent.getChangeType()) {
case ADD:
- out.println("A\t" + ent.getNewName());
+ out.println("A\t" + ent.getNewPath());
break;
case DELETE:
- out.println("D\t" + ent.getOldName());
+ out.println("D\t" + ent.getOldPath());
break;
case MODIFY:
- out.println("M\t" + ent.getNewName());
+ out.println("M\t" + ent.getNewPath());
break;
case COPY:
out.format("C%1$03d\t%2$s\t%3$s", ent.getScore(), //
- ent.getOldName(), ent.getNewName());
+ ent.getOldPath(), ent.getNewPath());
out.println();
break;
case RENAME:
out.format("R%1$03d\t%2$s\t%3$s", ent.getScore(), //
- ent.getOldName(), ent.getNewName());
+ ent.getOldPath(), ent.getNewPath());
out.println();
break;
}
String oldPath = ((FollowFilter) pathFilter).getPath();
for (DiffEntry ent : files) {
if (ent.getChangeType() == ChangeType.ADD
- && ent.getNewName().equals(oldPath))
+ && ent.getNewPath().equals(oldPath))
return true;
}
return false;
private List<DiffEntry> updateFollowFilter(List<DiffEntry> files) {
String oldPath = ((FollowFilter) pathFilter).getPath();
for (DiffEntry ent : files) {
- if (isRename(ent) && ent.getNewName().equals(oldPath)) {
- pathFilter = FollowFilter.create(ent.getOldName());
+ if (isRename(ent) && ent.getNewPath().equals(oldPath)) {
+ pathFilter = FollowFilter.create(ent.getOldPath());
return Collections.singletonList(ent);
}
}
for (final FileHeader fh : p.getFiles()) {
final String fileName;
if (fh.getChangeType() != FileHeader.ChangeType.DELETE)
- fileName = fh.getNewName();
+ fileName = fh.getNewPath();
else
- fileName = fh.getOldName();
+ fileName = fh.getOldPath();
final StatInfo s = files.remove(fileName);
final String nid = fileName + " in " + cid;
assertNotNull("No " + nid, s);
assertEquals(1, entries.size());
DiffEntry modify = entries.get(0);
- assertEquals(m.oldName, modify.oldName);
+ assertEquals(m.oldPath, modify.oldPath);
assertEquals(m.oldId, modify.oldId);
assertEquals(m.oldMode, modify.oldMode);
- assertEquals(m.newName, modify.newName);
+ assertEquals(m.newPath, modify.newPath);
assertEquals(m.newId, modify.newId);
assertEquals(m.newMode, modify.newMode);
assertEquals(m.changeType, modify.changeType);
DiffEntry rename) {
assertEquals(ChangeType.RENAME, rename.getChangeType());
- assertEquals(o.getOldName(), rename.getOldName());
- assertEquals(n.getNewName(), rename.getNewName());
+ assertEquals(o.getOldPath(), rename.getOldPath());
+ assertEquals(n.getNewPath(), rename.getNewPath());
assertEquals(o.getOldMode(), rename.getOldMode());
assertEquals(n.getNewMode(), rename.getNewMode());
DiffEntry copy) {
assertEquals(ChangeType.COPY, copy.getChangeType());
- assertEquals(o.getOldName(), copy.getOldName());
- assertEquals(n.getNewName(), copy.getNewName());
+ assertEquals(o.getOldPath(), copy.getOldPath());
+ assertEquals(n.getNewPath(), copy.getNewPath());
assertEquals(o.getOldMode(), copy.getOldMode());
assertEquals(n.getNewMode(), copy.getNewMode());
private static void assertAdd(String newName, ObjectId newId,
FileMode newMode, DiffEntry add) {
- assertEquals(DiffEntry.DEV_NULL, add.oldName);
+ assertEquals(DiffEntry.DEV_NULL, add.oldPath);
assertEquals(DiffEntry.A_ZERO, add.oldId);
assertEquals(FileMode.MISSING, add.oldMode);
assertEquals(ChangeType.ADD, add.changeType);
- assertEquals(newName, add.newName);
+ assertEquals(newName, add.newPath);
assertEquals(AbbreviatedObjectId.fromObjectId(newId), add.newId);
assertEquals(newMode, add.newMode);
}
final FileHeader fh = header(name);
assertEquals(gitLine(name).length(), fh.parseGitFileName(0,
fh.buf.length));
- assertEquals(name, fh.getOldName());
- assertSame(fh.getOldName(), fh.getNewName());
+ assertEquals(name, fh.getOldPath());
+ assertSame(fh.getOldPath(), fh.getNewPath());
assertFalse(fh.hasMetaDataChanges());
}
public void testParseGitFileName_FailFooBar() {
final FileHeader fh = data("a/foo b/bar\n-");
assertTrue(fh.parseGitFileName(0, fh.buf.length) > 0);
- assertNull(fh.getOldName());
- assertNull(fh.getNewName());
+ assertNull(fh.getOldPath());
+ assertNull(fh.getNewPath());
assertFalse(fh.hasMetaDataChanges());
}
final FileHeader fh = header(name);
assertEquals(gitLine(name).length(), fh.parseGitFileName(0,
fh.buf.length));
- assertEquals(name, fh.getOldName());
- assertSame(fh.getOldName(), fh.getNewName());
+ assertEquals(name, fh.getOldPath());
+ assertSame(fh.getOldPath(), fh.getNewPath());
assertFalse(fh.hasMetaDataChanges());
}
final FileHeader fh = dqHeader(dqName);
assertEquals(dqGitLine(dqName).length(), fh.parseGitFileName(0,
fh.buf.length));
- assertEquals(name, fh.getOldName());
- assertSame(fh.getOldName(), fh.getNewName());
+ assertEquals(name, fh.getOldPath());
+ assertSame(fh.getOldPath(), fh.getNewPath());
assertFalse(fh.hasMetaDataChanges());
}
final FileHeader fh = dqHeader(dqName);
assertEquals(dqGitLine(dqName).length(), fh.parseGitFileName(0,
fh.buf.length));
- assertEquals(name, fh.getOldName());
- assertSame(fh.getOldName(), fh.getNewName());
+ assertEquals(name, fh.getOldPath());
+ assertSame(fh.getOldPath(), fh.getNewPath());
assertFalse(fh.hasMetaDataChanges());
}
final FileHeader fh = header(name);
assertEquals(gitLine(name).length(), fh.parseGitFileName(0,
fh.buf.length));
- assertEquals(name, fh.getOldName());
- assertSame(fh.getOldName(), fh.getNewName());
+ assertEquals(name, fh.getOldPath());
+ assertSame(fh.getOldPath(), fh.getNewPath());
assertFalse(fh.hasMetaDataChanges());
}
final String header = "project-v-1.0/" + name + " mydev/" + name + "\n";
final FileHeader fh = data(header + "-");
assertEquals(header.length(), fh.parseGitFileName(0, fh.buf.length));
- assertEquals(name, fh.getOldName());
- assertSame(fh.getOldName(), fh.getNewName());
+ assertEquals(name, fh.getOldPath());
+ assertSame(fh.getOldPath(), fh.getNewPath());
assertFalse(fh.hasMetaDataChanges());
}
+ "@@ -0,0 +1 @@\n" + "+a\n");
assertParse(fh);
- assertEquals("/dev/null", fh.getOldName());
- assertSame(DiffEntry.DEV_NULL, fh.getOldName());
- assertEquals("\u00c5ngstr\u00f6m", fh.getNewName());
+ assertEquals("/dev/null", fh.getOldPath());
+ assertSame(DiffEntry.DEV_NULL, fh.getOldPath());
+ assertEquals("\u00c5ngstr\u00f6m", fh.getNewPath());
assertSame(FileHeader.ChangeType.ADD, fh.getChangeType());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
+ "@@ -1 +0,0 @@\n" + "-a\n");
assertParse(fh);
- assertEquals("\u00c5ngstr\u00f6m", fh.getOldName());
- assertEquals("/dev/null", fh.getNewName());
- assertSame(DiffEntry.DEV_NULL, fh.getNewName());
+ assertEquals("\u00c5ngstr\u00f6m", fh.getOldPath());
+ assertEquals("/dev/null", fh.getNewPath());
+ assertSame(DiffEntry.DEV_NULL, fh.getNewPath());
assertSame(FileHeader.ChangeType.DELETE, fh.getChangeType());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
final FileHeader fh = data("diff --git a/a b b/a b\n"
+ "old mode 100644\n" + "new mode 100755\n");
assertParse(fh);
- assertEquals("a b", fh.getOldName());
- assertEquals("a b", fh.getNewName());
+ assertEquals("a b", fh.getOldPath());
+ assertEquals("a b", fh.getNewPath());
assertSame(FileHeader.ChangeType.MODIFY, fh.getChangeType());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
+ "rename to \" c/\\303\\205ngstr\\303\\266m\"\n");
int ptr = fh.parseGitFileName(0, fh.buf.length);
assertTrue(ptr > 0);
- assertNull(fh.getOldName()); // can't parse names on a rename
- assertNull(fh.getNewName());
+ assertNull(fh.getOldPath()); // can't parse names on a rename
+ assertNull(fh.getNewPath());
ptr = fh.parseGitHeaders(ptr, fh.buf.length);
assertTrue(ptr > 0);
- assertEquals("a", fh.getOldName());
- assertEquals(" c/\u00c5ngstr\u00f6m", fh.getNewName());
+ assertEquals("a", fh.getOldPath());
+ assertEquals(" c/\u00c5ngstr\u00f6m", fh.getNewPath());
assertSame(FileHeader.ChangeType.RENAME, fh.getChangeType());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
+ "rename new \" c/\\303\\205ngstr\\303\\266m\"\n");
int ptr = fh.parseGitFileName(0, fh.buf.length);
assertTrue(ptr > 0);
- assertNull(fh.getOldName()); // can't parse names on a rename
- assertNull(fh.getNewName());
+ assertNull(fh.getOldPath()); // can't parse names on a rename
+ assertNull(fh.getNewPath());
ptr = fh.parseGitHeaders(ptr, fh.buf.length);
assertTrue(ptr > 0);
- assertEquals("a", fh.getOldName());
- assertEquals(" c/\u00c5ngstr\u00f6m", fh.getNewName());
+ assertEquals("a", fh.getOldPath());
+ assertEquals(" c/\u00c5ngstr\u00f6m", fh.getNewPath());
assertSame(FileHeader.ChangeType.RENAME, fh.getChangeType());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
+ "copy to \" c/\\303\\205ngstr\\303\\266m\"\n");
int ptr = fh.parseGitFileName(0, fh.buf.length);
assertTrue(ptr > 0);
- assertNull(fh.getOldName()); // can't parse names on a copy
- assertNull(fh.getNewName());
+ assertNull(fh.getOldPath()); // can't parse names on a copy
+ assertNull(fh.getNewPath());
ptr = fh.parseGitHeaders(ptr, fh.buf.length);
assertTrue(ptr > 0);
- assertEquals("a", fh.getOldName());
- assertEquals(" c/\u00c5ngstr\u00f6m", fh.getNewName());
+ assertEquals("a", fh.getOldPath());
+ assertEquals(" c/\u00c5ngstr\u00f6m", fh.getNewPath());
assertSame(FileHeader.ChangeType.COPY, fh.getChangeType());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
+ ".." + nid + " 100644\n" + "--- a/a\n" + "+++ b/a\n");
assertParse(fh);
- assertEquals("a", fh.getOldName());
- assertEquals("a", fh.getNewName());
+ assertEquals("a", fh.getOldPath());
+ assertEquals("a", fh.getNewPath());
assertSame(FileMode.REGULAR_FILE, fh.getOldMode());
assertSame(FileMode.REGULAR_FILE, fh.getNewMode());
+ ".." + nid + "\n" + "--- a/a\n" + "+++ b/a\n");
assertParse(fh);
- assertEquals("a", fh.getOldName());
- assertEquals("a", fh.getNewName());
+ assertEquals("a", fh.getOldPath());
+ assertEquals("a", fh.getNewPath());
assertFalse(fh.hasMetaDataChanges());
assertNull(fh.getOldMode());
+ " 100644\n" + "--- a/a\n" + "+++ b/a\n");
assertParse(fh);
- assertEquals("a", fh.getOldName());
- assertEquals("a", fh.getNewName());
+ assertEquals("a", fh.getOldPath());
+ assertEquals("a", fh.getNewPath());
assertSame(FileMode.REGULAR_FILE, fh.getOldMode());
assertSame(FileMode.REGULAR_FILE, fh.getNewMode());
+ "\n" + "--- a/a\n" + "+++ b/a\n");
assertParse(fh);
- assertEquals("a", fh.getOldName());
- assertEquals("a", fh.getNewName());
+ assertEquals("a", fh.getOldPath());
+ assertEquals("a", fh.getNewPath());
assertNull(fh.getOldMode());
assertNull(fh.getNewMode());
final CombinedFileHeader cfh = (CombinedFileHeader) p.getFiles().get(0);
assertEquals("org.spearce.egit.ui/src/org/spearce/egit/ui/UIText.java",
- cfh.getNewName());
- assertEquals(cfh.getNewName(), cfh.getOldName());
+ cfh.getNewPath());
+ assertEquals(cfh.getNewPath(), cfh.getOldPath());
assertEquals(98, cfh.startOffset);
final CombinedFileHeader cfh = (CombinedFileHeader) p.getFiles().get(0);
- assertSame(DiffEntry.DEV_NULL, cfh.getOldName());
- assertEquals("d", cfh.getNewName());
+ assertSame(DiffEntry.DEV_NULL, cfh.getOldPath());
+ assertEquals("d", cfh.getNewPath());
assertEquals(187, cfh.startOffset);
final CombinedFileHeader cfh = (CombinedFileHeader) p.getFiles().get(0);
- assertEquals("a", cfh.getOldName());
- assertSame(DiffEntry.DEV_NULL, cfh.getNewName());
+ assertEquals("a", cfh.getOldPath());
+ assertSame(DiffEntry.DEV_NULL, cfh.getNewPath());
assertEquals(187, cfh.startOffset);
final FileHeader fh = p.getFiles().get(0);
assertEquals(
"org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java",
- fh.getNewName());
+ fh.getNewPath());
assertEquals(1, fh.getHunks().size());
}
final FileHeader fh = p.getFiles().get(0);
assertEquals(
"org.eclipse.jgit.test/tst/org/spearce/jgit/lib/RepositoryConfigTest.java",
- fh.getNewName());
+ fh.getNewPath());
assertEquals(1, fh.getHunks().size());
}
{
final FileHeader fh = p.getFiles().get(1);
assertEquals(
"org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java",
- fh.getNewName());
+ fh.getNewPath());
assertEquals(1, fh.getHunks().size());
}
{
final FileHeader fh = p.getFiles().get(0);
assertEquals("org.spearce.egit.ui/icons/toolbar/fetchd.png", fh
- .getNewName());
+ .getNewPath());
assertSame(FileHeader.PatchType.GIT_BINARY, fh.getPatchType());
assertTrue(fh.getHunks().isEmpty());
assertNull(fh.getForwardBinaryHunk());
{
final FileHeader fh = p.getFiles().get(1);
assertEquals("org.spearce.egit.ui/icons/toolbar/fetche.png", fh
- .getNewName());
+ .getNewPath());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
assertTrue(fh.getHunks().isEmpty());
assertNull(fh.getForwardBinaryHunk());
assertEquals(
"org.eclipse.jgit.test/tst/org/spearce/jgit/lib/RepositoryConfigTest.java",
- fRepositoryConfigTest.getNewName());
+ fRepositoryConfigTest.getNewPath());
assertEquals(
"org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java",
- fRepositoryConfig.getNewName());
+ fRepositoryConfig.getNewPath());
assertEquals(572, fRepositoryConfigTest.startOffset);
assertEquals(1490, fRepositoryConfig.startOffset);
assertEquals("0000000", fh.getOldId().name());
assertSame(FileMode.MISSING, fh.getOldMode());
assertSame(FileMode.REGULAR_FILE, fh.getNewMode());
- assertTrue(fh.getNewName().startsWith(
+ assertTrue(fh.getNewPath().startsWith(
"org.spearce.egit.ui/icons/toolbar/"));
assertSame(FileHeader.PatchType.BINARY, fh.getPatchType());
assertTrue(fh.getHunks().isEmpty());
}
final FileHeader fh = p.getFiles().get(4);
- assertEquals("org.spearce.egit.ui/plugin.xml", fh.getNewName());
+ assertEquals("org.spearce.egit.ui/plugin.xml", fh.getNewPath());
assertSame(FileHeader.ChangeType.MODIFY, fh.getChangeType());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
assertFalse(fh.hasMetaDataChanges());
assertNotNull(fh.getNewId());
assertEquals(ObjectId.zeroId().name(), fh.getOldId().name());
assertSame(FileMode.REGULAR_FILE, fh.getNewMode());
- assertTrue(fh.getNewName().startsWith(
+ assertTrue(fh.getNewPath().startsWith(
"org.spearce.egit.ui/icons/toolbar/"));
assertSame(FileHeader.PatchType.GIT_BINARY, fh.getPatchType());
assertTrue(fh.getHunks().isEmpty());
}
final FileHeader fh = p.getFiles().get(4);
- assertEquals("org.spearce.egit.ui/plugin.xml", fh.getNewName());
+ assertEquals("org.spearce.egit.ui/plugin.xml", fh.getNewPath());
assertSame(FileHeader.ChangeType.MODIFY, fh.getChangeType());
assertSame(FileHeader.PatchType.UNIFIED, fh.getPatchType());
assertFalse(fh.hasMetaDataChanges());
assertTrue(p.getErrors().isEmpty());
final FileHeader fh = p.getFiles().get(0);
- assertTrue(fh.getNewName().startsWith("zero.bin"));
+ assertTrue(fh.getNewPath().startsWith("zero.bin"));
assertSame(FileHeader.ChangeType.MODIFY, fh.getChangeType());
assertSame(FileHeader.PatchType.GIT_BINARY, fh.getPatchType());
assertSame(FileMode.REGULAR_FILE, fh.getNewMode());
final FileHeader f = p.getFiles().get(0);
- assertEquals("a", f.getNewName());
+ assertEquals("a", f.getNewPath());
assertEquals(252, f.startOffset);
assertEquals("2e65efe", f.getOldId().name());
final FileHeader f = p.getFiles().get(0);
- assertEquals("a", f.getNewName());
+ assertEquals("a", f.getNewPath());
assertEquals(256, f.startOffset);
assertEquals("f2ad6c7", f.getOldId().name());
entry.oldMode = walk.getFileMode(0);
entry.newMode = walk.getFileMode(1);
- entry.newName = entry.oldName = walk.getPathString();
+ entry.newPath = entry.oldPath = walk.getPathString();
if (entry.oldMode == FileMode.MISSING) {
- entry.oldName = DiffEntry.DEV_NULL;
+ entry.oldPath = DiffEntry.DEV_NULL;
entry.changeType = ChangeType.ADD;
r.add(entry);
} else if (entry.newMode == FileMode.MISSING) {
- entry.newName = DiffEntry.DEV_NULL;
+ entry.newPath = DiffEntry.DEV_NULL;
entry.changeType = ChangeType.DELETE;
r.add(entry);
DiffEntry e = new DiffEntry();
e.oldId = A_ZERO;
e.oldMode = FileMode.MISSING;
- e.oldName = DEV_NULL;
+ e.oldPath = DEV_NULL;
e.newId = AbbreviatedObjectId.fromObjectId(id);
e.newMode = FileMode.REGULAR_FILE;
- e.newName = path;
+ e.newPath = path;
e.changeType = ChangeType.ADD;
return e;
}
DiffEntry e = new DiffEntry();
e.oldId = AbbreviatedObjectId.fromObjectId(id);
e.oldMode = FileMode.REGULAR_FILE;
- e.oldName = path;
+ e.oldPath = path;
e.newId = A_ZERO;
e.newMode = FileMode.MISSING;
- e.newName = DEV_NULL;
+ e.newPath = DEV_NULL;
e.changeType = ChangeType.DELETE;
return e;
}
static DiffEntry modify(String path) {
DiffEntry e = new DiffEntry();
e.oldMode = FileMode.REGULAR_FILE;
- e.oldName = path;
+ e.oldPath = path;
e.newMode = FileMode.REGULAR_FILE;
- e.newName = path;
+ e.newPath = path;
e.changeType = ChangeType.MODIFY;
return e;
}
DiffEntry del = new DiffEntry();
del.oldId = entry.getOldId();
del.oldMode = entry.getOldMode();
- del.oldName = entry.getOldName();
+ del.oldPath = entry.getOldPath();
del.newId = A_ZERO;
del.newMode = FileMode.MISSING;
- del.newName = DiffEntry.DEV_NULL;
+ del.newPath = DiffEntry.DEV_NULL;
del.changeType = ChangeType.DELETE;
DiffEntry add = new DiffEntry();
add.oldId = A_ZERO;
add.oldMode = FileMode.MISSING;
- add.oldName = DiffEntry.DEV_NULL;
+ add.oldPath = DiffEntry.DEV_NULL;
add.newId = entry.getNewId();
add.newMode = entry.getNewMode();
- add.newName = entry.getNewName();
+ add.newPath = entry.getNewPath();
add.changeType = ChangeType.ADD;
return Arrays.asList(del, add);
}
r.oldId = src.oldId;
r.oldMode = src.oldMode;
- r.oldName = src.oldName;
+ r.oldPath = src.oldPath;
r.newId = dst.newId;
r.newMode = dst.newMode;
- r.newName = dst.newName;
+ r.newPath = dst.newPath;
r.changeType = changeType;
r.score = score;
}
/** File name of the old (pre-image). */
- protected String oldName;
+ protected String oldPath;
/** File name of the new (post-image). */
- protected String newName;
+ protected String newPath;
/** Old mode of the file, if described by the patch, else null. */
protected FileMode oldMode;
* of this patch:
* <ul>
* <li><i>file add</i>: always <code>/dev/null</code></li>
- * <li><i>file modify</i>: always {@link #getNewName()}</li>
+ * <li><i>file modify</i>: always {@link #getNewPath()}</li>
* <li><i>file delete</i>: always the file being deleted</li>
* <li><i>file copy</i>: source file the copy originates from</li>
* <li><i>file rename</i>: source file the rename originates from</li>
*
* @return old name for this file.
*/
- public String getOldName() {
- return oldName;
+ public String getOldPath() {
+ return oldPath;
}
/**
* of this patch:
* <ul>
* <li><i>file add</i>: always the file being created</li>
- * <li><i>file modify</i>: always {@link #getOldName()}</li>
+ * <li><i>file modify</i>: always {@link #getOldPath()}</li>
* <li><i>file delete</i>: always <code>/dev/null</code></li>
* <li><i>file copy</i>: destination file the copy ends up at</li>
* <li><i>file rename</i>: destination file the rename ends up at/li>
*
* @return new name for this file.
*/
- public String getNewName() {
- return newName;
+ public String getNewPath() {
+ return newPath;
}
/** @return the old file mode, if described in the patch */
return newMode;
}
- /** @return the type of change this patch makes on {@link #getNewName()} */
+ /** @return the type of change this patch makes on {@link #getNewPath()} */
public ChangeType getChangeType() {
return changeType;
}
/**
- * @return similarity score between {@link #getOldName()} and
- * {@link #getNewName()} if {@link #getChangeType()} is
+ * @return similarity score between {@link #getOldPath()} and
+ * {@link #getNewPath()} if {@link #getChangeType()} is
* {@link ChangeType#COPY} or {@link ChangeType#RENAME}.
*/
public int getScore() {
buf.append(" ");
switch (changeType) {
case ADD:
- buf.append(newName);
+ buf.append(newPath);
break;
case COPY:
- buf.append(oldName + "->" + newName);
+ buf.append(oldPath + "->" + newPath);
break;
case DELETE:
- buf.append(oldName);
+ buf.append(oldPath);
break;
case MODIFY:
- buf.append(oldName);
+ buf.append(oldPath);
break;
case RENAME:
- buf.append(oldName + "->" + newName);
+ buf.append(oldPath + "->" + newPath);
break;
}
buf.append("]");
private void writeDiffHeader(OutputStream o, DiffEntry ent)
throws IOException {
- String oldName = quotePath("a/" + ent.getOldName());
- String newName = quotePath("b/" + ent.getNewName());
+ String oldName = quotePath("a/" + ent.getOldPath());
+ String newName = quotePath("b/" + ent.getNewPath());
o.write(encode("diff --git " + oldName + " " + newName + "\n"));
switch (ent.getChangeType()) {
o.write(encodeASCII("similarity index " + ent.getScore() + "%"));
o.write('\n');
- o.write(encode("rename from " + quotePath(ent.getOldName())));
+ o.write(encode("rename from " + quotePath(ent.getOldPath())));
o.write('\n');
- o.write(encode("rename to " + quotePath(ent.getNewName())));
+ o.write(encode("rename to " + quotePath(ent.getNewPath())));
o.write('\n');
break;
o.write(encodeASCII("similarity index " + ent.getScore() + "%"));
o.write('\n');
- o.write(encode("copy from " + quotePath(ent.getOldName())));
+ o.write(encode("copy from " + quotePath(ent.getOldPath())));
o.write('\n');
- o.write(encode("copy to " + quotePath(ent.getNewName())));
+ o.write(encode("copy to " + quotePath(ent.getNewPath())));
o.write('\n');
if (!ent.getOldMode().equals(ent.getNewMode())) {
// the old name.
//
if (ent.changeType == ChangeType.DELETE)
- return ent.oldName;
- return ent.newName;
+ return ent.oldPath;
+ return ent.newPath;
}
private int sortOf(ChangeType changeType) {
+ deleted.size());
for (DiffEntry src : deleted) {
- nameMap.put(src.oldName, src);
+ nameMap.put(src.oldPath, src);
pm.update(1);
}
for (DiffEntry dst : added) {
- DiffEntry src = nameMap.remove(dst.newName);
+ DiffEntry src = nameMap.remove(dst.newPath);
if (src != null) {
if (sameType(src.oldMode, dst.newMode)) {
entries.add(DiffEntry.pair(ChangeType.MODIFY, src, dst,
src.score));
} else {
- nameMap.put(src.oldName, src);
+ nameMap.put(src.oldPath, src);
newAdded.add(dst);
}
} else {
long[] matrix = new long[dels.size() * adds.size()];
int mNext = 0;
for (int addIdx = 0; addIdx < adds.size(); addIdx++) {
- String addedName = adds.get(addIdx).newName;
+ String addedName = adds.get(addIdx).newPath;
for (int delIdx = 0; delIdx < dels.size(); delIdx++) {
- String deletedName = dels.get(delIdx).oldName;
+ String deletedName = dels.get(delIdx).oldPath;
int score = SimilarityRenameDetector.nameScore(addedName, deletedName);
matrix[mNext] = SimilarityRenameDetector.encode(score, addIdx, delIdx);
}
private static String path(DiffEntry de) {
- return de.changeType == ChangeType.DELETE ? de.oldName : de.newName;
+ return de.changeType == ChangeType.DELETE ? de.oldPath : de.newPath;
}
private static FileMode mode(DiffEntry de) {
// nameScore returns a value between 0 and 100, but we want it
// to be in the same range as the content score. This allows it
// to be dropped into the pretty formula for the final score.
- int nameScore = nameScore(srcEnt.oldName, dstEnt.newName) * 100;
+ int nameScore = nameScore(srcEnt.oldPath, dstEnt.newPath) * 100;
int score = (contentScore * 99 + nameScore * 1) / 10000;
if (buf[sp - 2] != '"') {
return eol;
}
- oldName = QuotedString.GIT_PATH.dequote(buf, bol, sp - 1);
- oldName = p1(oldName);
+ oldPath = QuotedString.GIT_PATH.dequote(buf, bol, sp - 1);
+ oldPath = p1(oldPath);
} else {
- oldName = decode(Constants.CHARSET, buf, aStart, sp - 1);
+ oldPath = decode(Constants.CHARSET, buf, aStart, sp - 1);
}
- newName = oldName;
+ newPath = oldPath;
return eol;
}
parseNewFileMode(ptr, eol);
} else if (match(buf, ptr, COPY_FROM) >= 0) {
- oldName = parseName(oldName, ptr + COPY_FROM.length, eol);
+ oldPath = parseName(oldPath, ptr + COPY_FROM.length, eol);
changeType = ChangeType.COPY;
} else if (match(buf, ptr, COPY_TO) >= 0) {
- newName = parseName(newName, ptr + COPY_TO.length, eol);
+ newPath = parseName(newPath, ptr + COPY_TO.length, eol);
changeType = ChangeType.COPY;
} else if (match(buf, ptr, RENAME_OLD) >= 0) {
- oldName = parseName(oldName, ptr + RENAME_OLD.length, eol);
+ oldPath = parseName(oldPath, ptr + RENAME_OLD.length, eol);
changeType = ChangeType.RENAME;
} else if (match(buf, ptr, RENAME_NEW) >= 0) {
- newName = parseName(newName, ptr + RENAME_NEW.length, eol);
+ newPath = parseName(newPath, ptr + RENAME_NEW.length, eol);
changeType = ChangeType.RENAME;
} else if (match(buf, ptr, RENAME_FROM) >= 0) {
- oldName = parseName(oldName, ptr + RENAME_FROM.length, eol);
+ oldPath = parseName(oldPath, ptr + RENAME_FROM.length, eol);
changeType = ChangeType.RENAME;
} else if (match(buf, ptr, RENAME_TO) >= 0) {
- newName = parseName(newName, ptr + RENAME_TO.length, eol);
+ newPath = parseName(newPath, ptr + RENAME_TO.length, eol);
changeType = ChangeType.RENAME;
} else if (match(buf, ptr, SIMILARITY_INDEX) >= 0) {
}
void parseOldName(int ptr, final int eol) {
- oldName = p1(parseName(oldName, ptr + OLD_NAME.length, eol));
- if (oldName == DEV_NULL)
+ oldPath = p1(parseName(oldPath, ptr + OLD_NAME.length, eol));
+ if (oldPath == DEV_NULL)
changeType = ChangeType.ADD;
}
void parseNewName(int ptr, final int eol) {
- newName = p1(parseName(newName, ptr + NEW_NAME.length, eol));
- if (newName == DEV_NULL)
+ newPath = p1(parseName(newPath, ptr + NEW_NAME.length, eol));
+ if (newPath == DEV_NULL)
changeType = ChangeType.DELETE;
}
TreeFilter newFilter = oldFilter;
for (DiffEntry ent : files) {
- if (isRename(ent) && ent.getNewName().equals(oldFilter.getPath())) {
- newFilter = FollowFilter.create(ent.getOldName());
+ if (isRename(ent) && ent.getNewPath().equals(oldFilter.getPath())) {
+ newFilter = FollowFilter.create(ent.getOldPath());
break;
}
}