git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[EGIT PATCH 6/9] Add branch and StGit patch to decorator

From
Robin Rosenberg <robin.rosenberg@dewire.com>
Date
Feb 28, 2007, 22:26 UTC
Message-ID
<20070228222637.12021.63285.stgit@lathund.dewire.com>
In-Reply-To
<20070228222355.12021.13029.stgit@lathund.dewire.com>
This makes it easier to see in what context you are working.
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
---
 .../internal/decorators/GitResourceDecorator.java  |   20 ++++++++++++++++----
 .../src/org/spearce/jgit/lib/Repository.java       |   22 ++++++++++++++++++++++
 2 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/decorators/GitResourceDecorator.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/decorators/GitResourceDecorator.java
index bde6182..da2e256 100644
--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/decorators/GitResourceDecorator.java
+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/decorators/GitResourceDecorator.java
@@ -16,6 +16,8 @@
  */
 package org.spearce.egit.ui.internal.decorators;
 
+import java.io.IOException;
+
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IAdaptable;
@@ -30,6 +32,7 @@ import org.spearce.egit.core.project.RepositoryMapping;
 import org.spearce.egit.ui.UIIcons;
 import org.spearce.egit.ui.UIText;
 import org.spearce.jgit.lib.MergedTree;
+import org.spearce.jgit.lib.Repository;
 import org.spearce.jgit.lib.TreeEntry;
 
 /**
@@ -110,10 +113,19 @@ public class GitResourceDecorator extends LabelProvider implements
 			final MergedTree diff = mapped.getActiveDiff();
 			if (diff != null && diff.isModified())
 				decoration.addPrefix(">");
-			if (mapped.getRepository().isStGitMode())
-				decoration.addSuffix(" [StGit]");
-			else
-				decoration.addSuffix(" [Git]");
+			Repository repo = mapped.getRepository();
+			try {
+				String branch = repo.getBranch();
+				if (repo.isStGitMode()) {
+					String patch = repo.getPatch();
+					decoration.addSuffix(" [StGit " + patch + "@" + branch +"]");
+				} else {
+					decoration.addSuffix(" [Git @ "+ branch + "]");
+				}
+			} catch (IOException e) {
+				e.printStackTrace();
+				decoration.addSuffix(" [Git ?]");
+			}
 			decoration.addOverlay(UIIcons.OVR_SHARED);
 			return;
 		}
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
index 5e0e89a..d2943c3 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
@@ -342,6 +342,27 @@ public class Repository {
 		return "Repository[" + getDirectory() + "]";
 	}
 
+	public String getPatch() throws IOException {
+		final File ptr = new File(getDirectory(),"patches/"+getBranch()+"/current");
+		final BufferedReader br = new BufferedReader(new FileReader(ptr));
+		final String line = br.readLine();
+		return line;
+	}
+	public String getBranch() throws IOException {
+		final File ptr = new File(getDirectory(),"HEAD");
+		final BufferedReader br = new BufferedReader(new FileReader(ptr));
+		final String line = br.readLine();
+		
+		String ref;
+		if (line.startsWith("ref: "))
+			ref = line.substring(5);
+		else
+			ref = line; 
+		if (ref.startsWith("refs/heads/"))
+			ref = ref.substring(11);
+		return ref;
+	}
+
 	public Collection getBranches() {
 		return listFilesRecursively(new File(refsDir, "heads"), null);
 	}
@@ -391,4 +412,5 @@ public class Repository {
 		}
 		return ret;
 	}
+
 }
Previous: Robin RosenbergNext: Shawn O. Pearce
Message 7 of 12 in “Misc minor fixes”
  1. 0/9 Misc minor fixesRobin Rosenberg, Feb 28, 2007
  2. 1/9 Minor fix.Robin Rosenberg, Feb 28, 2007
  3. 2/9 Catch mmap errors and retry.Robin Rosenberg, Feb 28, 2007
  4. 3/9 Use mmap per default.Robin Rosenberg, Feb 28, 2007
  5. 4/9 Add .qualifier to the plugin version.Robin Rosenberg, Feb 28, 2007
  6. 5/9 Force full checkpoint for CheckpointOperation.Robin Rosenberg, Feb 28, 2007
  7. 6/9 Add branch and StGit patch to decoratorRobin Rosenberg, Feb 28, 2007
  8. Shawn O. PearceMar 1, 2007
  9. Robin RosenbergMar 1, 2007
  10. 7/9 Support tag objectsRobin Rosenberg, Feb 28, 2007
  11. 8/9 Handle odd tag formats created by tools such as cvsimport.Robin Rosenberg, Feb 28, 2007
  12. 9/9 Performance test for jgit.Robin Rosenberg, Feb 28, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.