@@ -69,8 +69,6 @@ protected Git getLocalGit(String folder) throws Exception {
69
69
.setDirectory (new File (folder ))
70
70
.setURI (repo .getRepoUrl ())
71
71
.setCredentialsProvider (credentials )
72
- .setNoCheckout (false )
73
- .setCloneAllBranches (true )
74
72
.call ()
75
73
.close ();
76
74
}
@@ -374,6 +372,7 @@ void checkout(Git git, Repository gitRepo, String branchName, String revision) t
374
372
.setCredentialsProvider (credentials )
375
373
.call ();
376
374
if (revision == null ) {
375
+
377
376
cmd
378
377
.setStartPoint ("origin/" + bn )
379
378
.setCreateBranch (gitRepo .exactRef ("refs/heads/" + bn ) == null )
@@ -450,18 +449,19 @@ public Set<String> getBranches(String path) {
450
449
try (IVCSLockedWorkingCopy wc = repo .getVCSLockedWorkingCopy ();
451
450
Git git = getLocalGit (wc );
452
451
Repository gitRepo = git .getRepository ()) {
453
- // checkout conflict with files in releaser
454
- // git
455
- // .fetch()
456
- // .setRefSpecs(new RefSpec("+refs/heads/*:refs/heads/*"))
457
- // .setRemoveDeletedRefs(true)
458
- // .setCredentialsProvider(credentials)
459
- // .call();
460
452
461
453
git
462
454
.pull ()
463
455
.setCredentialsProvider (credentials )
464
456
.call ();
457
+ git
458
+ .fetch ()
459
+ .setRefSpecs (new RefSpec ("+refs/heads/*:refs/heads/*" ))
460
+ .setRemoveDeletedRefs (true )
461
+ .setCredentialsProvider (credentials )
462
+ .call ();
463
+
464
+
465
465
466
466
Collection <Ref > refs = gitRepo .getRefDatabase ().getRefs (REFS_REMOTES_ORIGIN ).values ();
467
467
Set <String > res = new HashSet <>();
@@ -614,23 +614,21 @@ public List<VCSCommit> getCommitsRange(String branchName, String startFromCommit
614
614
RevWalk rw = new RevWalk (gitRepo )) {
615
615
616
616
checkout (git , gitRepo , branchName , null );
617
-
618
617
String bn = getRealBranchName (branchName );
619
618
620
619
List <VCSCommit > res = new ArrayList <>();
621
620
RevCommit startCommit ;
622
621
RevCommit endCommit ;
623
622
if (direction == WalkDirection .ASC ) {
624
- Ref ref = gitRepo .exactRef ("refs/heads/" + bn );
625
- ObjectId headCommitId = ref .getObjectId ();
623
+ ObjectId headCommitId = gitRepo .exactRef ("refs/remotes/origin/" + bn ).getObjectId ();
626
624
startCommit = rw .parseCommit ( headCommitId );
627
625
ObjectId sinceCommit = startFromCommitId == null ?
628
626
getInitialCommit (gitRepo , bn ).getId () :
629
627
ObjectId .fromString (startFromCommitId );
630
628
endCommit = rw .parseCommit (sinceCommit );
631
629
} else {
632
630
ObjectId sinceCommit = startFromCommitId == null ?
633
- gitRepo .exactRef ("refs/heads /" + bn ).getObjectId () :
631
+ gitRepo .exactRef ("refs/remotes/origin /" + bn ).getObjectId () :
634
632
ObjectId .fromString (startFromCommitId );
635
633
startCommit = rw .parseCommit ( sinceCommit );
636
634
endCommit = getInitialCommit (gitRepo , bn );
@@ -839,23 +837,24 @@ public List<VCSTag> getTagsOnRevision(String revision) {
839
837
updateLocalTags (git );
840
838
841
839
List <VCSTag > res = new ArrayList <>();
842
-
843
- Collection <Ref > refs = gitRepo .getAllRefsByPeeledObjectId ().get (gitRepo .resolve (revision ));
840
+
841
+ // getAllRefsByPeeledObject does not work. Does not return newelly created tag
842
+ Collection <Ref > tagRefs = gitRepo .getTags ().values ();
843
+
844
844
RevCommit revCommit ;
845
- for (Ref ref : refs == null ? new ArrayList <Ref >() : refs ) {
846
- if (!ref .getName ().contains ("refs/tags/" )) {
847
- continue ;
848
- }
845
+ for (Ref ref : tagRefs ) {
849
846
ObjectId relatedCommitObjectId = ref .getPeeledObjectId () == null ? ref .getObjectId () : ref .getPeeledObjectId ();
850
847
revCommit = rw .parseCommit (relatedCommitObjectId );
851
- VCSCommit relatedCommit = getVCSCommit (revCommit );
852
- RevObject revObject = rw .parseAny (ref .getObjectId ());
853
- if (revObject instanceof RevTag ) {
854
- RevTag revTag = (RevTag ) revObject ;
855
- res .add (new VCSTag (revTag .getTagName (), revTag .getFullMessage (), revTag .getTaggerIdent ().getName (), relatedCommit ));
856
- } else {
857
- res .add (new VCSTag (ref .getName ().replace ("refs/tags/" , "" ), null , null , relatedCommit ));
858
- }
848
+ if (revCommit .getName ().equals (revision )) {
849
+ VCSCommit relatedCommit = getVCSCommit (revCommit );
850
+ RevObject revObject = rw .parseAny (ref .getObjectId ());
851
+ if (revObject instanceof RevTag ) {
852
+ RevTag revTag = (RevTag ) revObject ;
853
+ res .add (new VCSTag (revTag .getTagName (), revTag .getFullMessage (), revTag .getTaggerIdent ().getName (), relatedCommit ));
854
+ } else {
855
+ res .add (new VCSTag (ref .getName ().replace ("refs/tags/" , "" ), null , null , relatedCommit ));
856
+ }
857
+ }
859
858
}
860
859
861
860
return res ;
0 commit comments