To prevent potential resource leaks. Change-Id: I2039af04d9fb75405f8e13abf508623b7d4ef324 Signed-off-by: David Pursehouse <david.pursehouse@sonymobile.com>tags/v4.2.0.201511101648-m1
@@ -74,46 +74,47 @@ class DiffTree extends TextBuiltin { | |||
@Override | |||
protected void run() throws Exception { | |||
final TreeWalk walk = new TreeWalk(db); | |||
walk.setRecursive(recursive); | |||
for (final AbstractTreeIterator i : trees) | |||
walk.addTree(i); | |||
walk.setFilter(AndTreeFilter.create(TreeFilter.ANY_DIFF, pathFilter)); | |||
try (final TreeWalk walk = new TreeWalk(db)) { | |||
walk.setRecursive(recursive); | |||
for (final AbstractTreeIterator i : trees) | |||
walk.addTree(i); | |||
walk.setFilter(AndTreeFilter.create(TreeFilter.ANY_DIFF, pathFilter)); | |||
final int nTree = walk.getTreeCount(); | |||
while (walk.next()) { | |||
for (int i = 1; i < nTree; i++) | |||
outw.print(':'); | |||
for (int i = 0; i < nTree; i++) { | |||
final FileMode m = walk.getFileMode(i); | |||
final String s = m.toString(); | |||
for (int pad = 6 - s.length(); pad > 0; pad--) | |||
outw.print('0'); | |||
outw.print(s); | |||
outw.print(' '); | |||
} | |||
final int nTree = walk.getTreeCount(); | |||
while (walk.next()) { | |||
for (int i = 1; i < nTree; i++) | |||
outw.print(':'); | |||
for (int i = 0; i < nTree; i++) { | |||
final FileMode m = walk.getFileMode(i); | |||
final String s = m.toString(); | |||
for (int pad = 6 - s.length(); pad > 0; pad--) | |||
outw.print('0'); | |||
outw.print(s); | |||
outw.print(' '); | |||
} | |||
for (int i = 0; i < nTree; i++) { | |||
outw.print(walk.getObjectId(i).name()); | |||
outw.print(' '); | |||
} | |||
for (int i = 0; i < nTree; i++) { | |||
outw.print(walk.getObjectId(i).name()); | |||
outw.print(' '); | |||
} | |||
char chg = 'M'; | |||
if (nTree == 2) { | |||
final int m0 = walk.getRawMode(0); | |||
final int m1 = walk.getRawMode(1); | |||
if (m0 == 0 && m1 != 0) | |||
chg = 'A'; | |||
else if (m0 != 0 && m1 == 0) | |||
chg = 'D'; | |||
else if (m0 != m1 && walk.idEqual(0, 1)) | |||
chg = 'T'; | |||
} | |||
outw.print(chg); | |||
char chg = 'M'; | |||
if (nTree == 2) { | |||
final int m0 = walk.getRawMode(0); | |||
final int m1 = walk.getRawMode(1); | |||
if (m0 == 0 && m1 != 0) | |||
chg = 'A'; | |||
else if (m0 != 0 && m1 == 0) | |||
chg = 'D'; | |||
else if (m0 != m1 && walk.idEqual(0, 1)) | |||
chg = 'T'; | |||
} | |||
outw.print(chg); | |||
outw.print('\t'); | |||
outw.print(walk.getPathString()); | |||
outw.println(); | |||
outw.print('\t'); | |||
outw.print(walk.getPathString()); | |||
outw.println(); | |||
} | |||
} | |||
} | |||
} |
@@ -72,27 +72,28 @@ class LsTree extends TextBuiltin { | |||
@Override | |||
protected void run() throws Exception { | |||
final TreeWalk walk = new TreeWalk(db); | |||
walk.reset(); // drop the first empty tree, which we do not need here | |||
if (paths.size() > 0) | |||
walk.setFilter(PathFilterGroup.createFromStrings(paths)); | |||
walk.setRecursive(recursive); | |||
walk.addTree(tree); | |||
try (final TreeWalk walk = new TreeWalk(db)) { | |||
walk.reset(); // drop the first empty tree, which we do not need here | |||
if (paths.size() > 0) | |||
walk.setFilter(PathFilterGroup.createFromStrings(paths)); | |||
walk.setRecursive(recursive); | |||
walk.addTree(tree); | |||
while (walk.next()) { | |||
final FileMode mode = walk.getFileMode(0); | |||
if (mode == FileMode.TREE) | |||
outw.print('0'); | |||
outw.print(mode); | |||
outw.print(' '); | |||
outw.print(Constants.typeString(mode.getObjectType())); | |||
while (walk.next()) { | |||
final FileMode mode = walk.getFileMode(0); | |||
if (mode == FileMode.TREE) | |||
outw.print('0'); | |||
outw.print(mode); | |||
outw.print(' '); | |||
outw.print(Constants.typeString(mode.getObjectType())); | |||
outw.print(' '); | |||
outw.print(walk.getObjectId(0).name()); | |||
outw.print(' '); | |||
outw.print(walk.getObjectId(0).name()); | |||
outw.print('\t'); | |||
outw.print(QuotedString.GIT_PATH.quote(walk.getPathString())); | |||
outw.println(); | |||
outw.print('\t'); | |||
outw.print(QuotedString.GIT_PATH.quote(walk.getPathString())); | |||
outw.println(); | |||
} | |||
} | |||
} | |||
} |
@@ -207,12 +207,13 @@ class Merge extends TextBuiltin { | |||
private boolean isMergedInto(Ref oldHead, AnyObjectId src) | |||
throws IOException { | |||
RevWalk revWalk = new RevWalk(db); | |||
ObjectId oldHeadObjectId = oldHead.getPeeledObjectId(); | |||
if (oldHeadObjectId == null) | |||
oldHeadObjectId = oldHead.getObjectId(); | |||
RevCommit oldHeadCommit = revWalk.lookupCommit(oldHeadObjectId); | |||
RevCommit srcCommit = revWalk.lookupCommit(src); | |||
return revWalk.isMergedInto(oldHeadCommit, srcCommit); | |||
try (RevWalk revWalk = new RevWalk(db)) { | |||
ObjectId oldHeadObjectId = oldHead.getPeeledObjectId(); | |||
if (oldHeadObjectId == null) | |||
oldHeadObjectId = oldHead.getObjectId(); | |||
RevCommit oldHeadCommit = revWalk.lookupCommit(oldHeadObjectId); | |||
RevCommit srcCommit = revWalk.lookupCommit(src); | |||
return revWalk.isMergedInto(oldHeadCommit, srcCommit); | |||
} | |||
} | |||
} |
@@ -251,16 +251,17 @@ class Show extends TextBuiltin { | |||
private void show(RevTree obj) throws MissingObjectException, | |||
IncorrectObjectTypeException, CorruptObjectException, IOException { | |||
final TreeWalk walk = new TreeWalk(db); | |||
walk.reset(); | |||
walk.addTree(obj); | |||
while (walk.next()) { | |||
outw.print(walk.getPathString()); | |||
final FileMode mode = walk.getFileMode(0); | |||
if (mode == FileMode.TREE) | |||
outw.print("/"); //$NON-NLS-1$ | |||
outw.println(); | |||
try (final TreeWalk walk = new TreeWalk(db)) { | |||
walk.reset(); | |||
walk.addTree(obj); | |||
while (walk.next()) { | |||
outw.print(walk.getPathString()); | |||
final FileMode mode = walk.getFileMode(0); | |||
if (mode == FileMode.TREE) | |||
outw.print("/"); //$NON-NLS-1$ | |||
outw.println(); | |||
} | |||
} | |||
} | |||
@@ -85,8 +85,9 @@ class Tag extends TextBuiltin { | |||
.setMessage(message).setName(tagName); | |||
if (object != null) { | |||
RevWalk walk = new RevWalk(db); | |||
command.setObjectId(walk.parseAny(object)); | |||
try (RevWalk walk = new RevWalk(db)) { | |||
command.setObjectId(walk.parseAny(object)); | |||
} | |||
} | |||
try { | |||
command.call(); |
@@ -173,9 +173,9 @@ class DiffAlgorithms extends TextBuiltin { | |||
int maxN = 0; | |||
AbbreviatedObjectId startId; | |||
try (ObjectReader or = db.newObjectReader()) { | |||
try (ObjectReader or = db.newObjectReader(); | |||
RevWalk rw = new RevWalk(or)) { | |||
final MutableObjectId id = new MutableObjectId(); | |||
RevWalk rw = new RevWalk(or); | |||
TreeWalk tw = new TreeWalk(or); | |||
tw.setFilter(TreeFilter.ANY_DIFF); | |||
tw.setRecursive(true); |
@@ -75,7 +75,10 @@ class ShowPackDelta extends TextBuiltin { | |||
@Override | |||
protected void run() throws Exception { | |||
ObjectReader reader = db.newObjectReader(); | |||
RevObject obj = new RevWalk(reader).parseAny(objectId); | |||
RevObject obj; | |||
try (RevWalk rw = new RevWalk(reader)) { | |||
obj = rw.parseAny(objectId); | |||
} | |||
byte[] delta = getDelta(reader, obj); | |||
// We're crossing our fingers that this will be a delta. Double |
@@ -300,10 +300,10 @@ class TextHashFunctions extends TextBuiltin { | |||
long fileCnt = 0; | |||
long lineCnt = 0; | |||
try (ObjectReader or = db.newObjectReader()) { | |||
final MutableObjectId id = new MutableObjectId(); | |||
try (ObjectReader or = db.newObjectReader(); | |||
RevWalk rw = new RevWalk(or); | |||
TreeWalk tw = new TreeWalk(or); | |||
TreeWalk tw = new TreeWalk(or)) { | |||
final MutableObjectId id = new MutableObjectId(); | |||
tw.reset(rw.parseTree(db.resolve(Constants.HEAD))); | |||
tw.setRecursive(true); | |||