diff options
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java index b8984a59fa..855dcf2fde 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java @@ -14,6 +14,8 @@ import java.io.IOException; import org.eclipse.egit.ui.Activator; import org.eclipse.egit.ui.UIText; +import org.eclipse.egit.ui.internal.GitLabelProvider; +import org.eclipse.jgit.lib.BranchTrackingStatus; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; @@ -56,4 +58,20 @@ public class DecoratableResourceHelper { return repository.getBranch(); } + + static String getBranchStatus(Repository repo) throws IOException { + String branchName = repo.getBranch(); + if (branchName == null) + return null; + + BranchTrackingStatus status = BranchTrackingStatus.of(repo, branchName); + if (status == null) + return null; + + if (status.getAheadCount() == 0 && status.getBehindCount() == 0) + return null; + + String formattedStatus = GitLabelProvider.formatBranchTrackingStatus(status); + return formattedStatus; + } } |