close resources
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java
index 502bdf9..f330157 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java
@@ -133,31 +133,33 @@
File compareWithFile = getTestFile( "/src/test/resources/git/blame/git-blame-2.orig" );
Assert.assertNotNull( compareWithFile );
- BufferedReader r = new BufferedReader( new FileReader( compareWithFile ) );
-
- String line;
- SimpleDateFormat blameDateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
- blameDateFormat.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
-
- int lineNr = 0;
-
- while ( ( line = r.readLine() ) != null && line.trim().length() > 0 )
+ try ( BufferedReader r = new BufferedReader( new FileReader( compareWithFile ) ) )
{
- if ( !consumerLineIt.hasNext() )
+ String line;
+ SimpleDateFormat blameDateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
+ blameDateFormat.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
+
+ int lineNr = 0;
+
+ while ( ( line = r.readLine() ) != null && line.trim().length() > 0 )
{
- fail( "GitBlameConsumer lines do not match the original output!" );
+ if ( !consumerLineIt.hasNext() )
+ {
+ fail( "GitBlameConsumer lines do not match the original output!" );
+ }
+ BlameLine blameLine = consumerLineIt.next();
+ Assert.assertNotNull( blameLine );
+
+ String[] parts = line.split( "\t" );
+ Assert.assertEquals( 3, parts.length );
+
+ Assert.assertEquals( "error in line " + lineNr, parts[0], blameLine.getRevision() );
+ Assert.assertEquals( "error in line " + lineNr, parts[1], blameLine.getAuthor() );
+ Assert.assertEquals( "error in line " + lineNr, parts[2],
+ blameDateFormat.format( blameLine.getDate() ) );
+
+ lineNr++;
}
- BlameLine blameLine = consumerLineIt.next();
- Assert.assertNotNull( blameLine );
-
- String[] parts = line.split( "\t" );
- Assert.assertEquals( 3, parts.length );
-
- Assert.assertEquals( "error in line " + lineNr, parts[0], blameLine.getRevision() );
- Assert.assertEquals( "error in line " + lineNr, parts[1], blameLine.getAuthor() );
- Assert.assertEquals( "error in line " + lineNr, parts[2], blameDateFormat.format( blameLine.getDate() ) );
-
- lineNr++;
}
if ( consumerLineIt.hasNext() )
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
index 32ada25..6ad56ba 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
@@ -236,19 +236,20 @@
List<ScmFile> list = new ArrayList<ScmFile>();
if ( JGitUtils.hasCommits( repository ) )
{
- RevWalk rw = new RevWalk( repository );
- RevCommit realParant = commit.getParentCount() > 0 ? commit.getParent( 0 ) : commit;
- RevCommit parent = rw.parseCommit( realParant.getId() );
- DiffFormatter df = new DiffFormatter( DisabledOutputStream.INSTANCE );
- df.setRepository( repository );
- df.setDiffComparator( RawTextComparator.DEFAULT );
- df.setDetectRenames( true );
- List<DiffEntry> diffs = df.scan( parent.getTree(), commit.getTree() );
- for ( DiffEntry diff : diffs )
- {
- list.add( new ScmFile( diff.getNewPath(), ScmFileStatus.CHECKED_IN ) );
+
+ try ( RevWalk rw = new RevWalk( repository );
+ DiffFormatter df = new DiffFormatter( DisabledOutputStream.INSTANCE ) ) {
+ RevCommit realParent = commit.getParentCount() > 0 ? commit.getParent( 0 ) : commit;
+ RevCommit parent = rw.parseCommit( realParent.getId() );
+ df.setRepository( repository );
+ df.setDiffComparator( RawTextComparator.DEFAULT );
+ df.setDetectRenames( true );
+ List<DiffEntry> diffs = df.scan( parent.getTree(), commit.getTree() );
+ for ( DiffEntry diff : diffs )
+ {
+ list.add( new ScmFile( diff.getNewPath(), ScmFileStatus.CHECKED_IN ) );
+ }
}
- rw.close();
}
return list;
}
@@ -369,7 +370,6 @@
{
List<RevCommit> revs = new ArrayList<RevCommit>();
- RevWalk walk = new RevWalk( repo );
ObjectId fromRevId = fromRev != null ? repo.resolve( fromRev ) : null;
ObjectId toRevId = toRev != null ? repo.resolve( toRev ) : null;
@@ -379,82 +379,84 @@
sortings = new RevSort[]{ RevSort.TOPO, RevSort.COMMIT_TIME_DESC };
}
- for ( final RevSort s : sortings )
- {
- walk.sort( s, true );
- }
-
- if ( fromDate != null && toDate != null )
- {
- //walk.setRevFilter( CommitTimeRevFilter.between( fromDate, toDate ) );
- walk.setRevFilter( new RevFilter()
+ try ( RevWalk walk = new RevWalk( repo ) ) {
+ for ( final RevSort s : sortings )
{
- @Override
- public boolean include( RevWalk walker, RevCommit cmit )
- throws StopWalkException, MissingObjectException, IncorrectObjectTypeException, IOException
+ walk.sort( s, true );
+ }
+
+ if ( fromDate != null && toDate != null )
+ {
+ //walk.setRevFilter( CommitTimeRevFilter.between( fromDate, toDate ) );
+ walk.setRevFilter( new RevFilter()
{
- int cmtTime = cmit.getCommitTime();
-
- return ( cmtTime >= ( fromDate.getTime() / 1000 ) ) && ( cmtTime <= ( toDate.getTime() / 1000 ) );
- }
-
- @Override
- public RevFilter clone()
+ @Override
+ public boolean include( RevWalk walker, RevCommit cmit )
+ throws StopWalkException, MissingObjectException, IncorrectObjectTypeException, IOException
+ {
+ int cmtTime = cmit.getCommitTime();
+
+ return ( cmtTime >= ( fromDate.getTime() / 1000 ) ) && ( cmtTime <= ( toDate.getTime() / 1000 ) );
+ }
+
+ @Override
+ public RevFilter clone()
+ {
+ return this;
+ }
+ } );
+ }
+ else
+ {
+ if ( fromDate != null )
{
- return this;
+ walk.setRevFilter( CommitTimeRevFilter.after( fromDate ) );
}
- } );
- }
- else
- {
- if ( fromDate != null )
- {
- walk.setRevFilter( CommitTimeRevFilter.after( fromDate ) );
+ if ( toDate != null )
+ {
+ walk.setRevFilter( CommitTimeRevFilter.before( toDate ) );
+ }
}
- if ( toDate != null )
+
+ if ( fromRevId != null )
{
- walk.setRevFilter( CommitTimeRevFilter.before( toDate ) );
+ RevCommit c = walk.parseCommit( fromRevId );
+ c.add( RevFlag.UNINTERESTING );
+ RevCommit real = walk.parseCommit( c );
+ walk.markUninteresting( real );
}
- }
-
- if ( fromRevId != null )
- {
- RevCommit c = walk.parseCommit( fromRevId );
- c.add( RevFlag.UNINTERESTING );
- RevCommit real = walk.parseCommit( c );
- walk.markUninteresting( real );
- }
-
- if ( toRevId != null )
- {
- RevCommit c = walk.parseCommit( toRevId );
- c.remove( RevFlag.UNINTERESTING );
- RevCommit real = walk.parseCommit( c );
- walk.markStart( real );
- }
- else
- {
- final ObjectId head = repo.resolve( Constants.HEAD );
- if ( head == null )
+
+ if ( toRevId != null )
{
- throw new RuntimeException( "Cannot resolve " + Constants.HEAD );
+ RevCommit c = walk.parseCommit( toRevId );
+ c.remove( RevFlag.UNINTERESTING );
+ RevCommit real = walk.parseCommit( c );
+ walk.markStart( real );
}
- RevCommit real = walk.parseCommit( head );
- walk.markStart( real );
- }
-
- int n = 0;
- for ( final RevCommit c : walk )
- {
- n++;
- if ( maxLines != -1 && n > maxLines )
+ else
{
- break;
+ final ObjectId head = repo.resolve( Constants.HEAD );
+ if ( head == null )
+ {
+ throw new RuntimeException( "Cannot resolve " + Constants.HEAD );
+ }
+ RevCommit real = walk.parseCommit( head );
+ walk.markStart( real );
}
-
- revs.add( c );
+
+ int n = 0;
+ for ( final RevCommit c : walk )
+ {
+ n++;
+ if ( maxLines != -1 && n > maxLines )
+ {
+ break;
+ }
+
+ revs.add( c );
+ }
+ return revs;
}
- return revs;
}
}
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java
index d699a44..5601670 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java
@@ -123,15 +123,12 @@
throw new IllegalArgumentException( name );
}
final CanonicalTreeParser p = new CanonicalTreeParser();
- final ObjectReader or = repo.newObjectReader();
- try
+
+ try ( ObjectReader or = repo.newObjectReader();
+ RevWalk revWalk = new RevWalk( repo ) )
{
- p.reset( or, new RevWalk( repo ).parseTree( id ) );
+ p.reset( or, revWalk.parseTree( id ) );
return p;
}
- finally
- {
- or.close();
- }
}
}