From fabe060d3a435f116128851f828e35c2af5fde67 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 10 Sep 2012 16:26:27 -0400
Subject: [PATCH] Strip folder name and .git from repo links in the project view

---
 src/com/gitblit/utils/PatchFormatter.java |   58 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 45 insertions(+), 13 deletions(-)

diff --git a/src/com/gitblit/utils/PatchFormatter.java b/src/com/gitblit/utils/PatchFormatter.java
index 15c1f94..90b3fb1 100644
--- a/src/com/gitblit/utils/PatchFormatter.java
+++ b/src/com/gitblit/utils/PatchFormatter.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2011 gitblit.com.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.gitblit.utils;
 
 import java.io.IOException;
@@ -15,13 +30,19 @@
 
 import com.gitblit.Constants;
 
+/**
+ * A diff formatter that outputs standard patch content.
+ * 
+ * @author James Moger
+ * 
+ */
 public class PatchFormatter extends DiffFormatter {
 
 	private final OutputStream os;
 
-	private PatchTouple currentTouple = null;
+	private Map<String, PatchTouple> changes = new HashMap<String, PatchTouple>();
 
-	Map<String, PatchTouple> changes = new HashMap<String, PatchTouple>();
+	private PatchTouple currentTouple;
 
 	public PatchFormatter(OutputStream os) {
 		super(os);
@@ -35,7 +56,8 @@
 	}
 
 	@Override
-	protected void writeLine(final char prefix, final RawText text, final int cur) throws IOException {
+	protected void writeLine(final char prefix, final RawText text, final int cur)
+			throws IOException {
 		switch (prefix) {
 		case '+':
 			currentTouple.insertions++;
@@ -53,9 +75,11 @@
 		// I have no idea why that is there. it seems to be a constant.
 		patch.append("From " + commit.getName() + " Mon Sep 17 00:00:00 2001" + "\n");
 		patch.append("From: " + JGitUtils.getDisplayName(commit.getAuthorIdent()) + "\n");
-		patch.append("Date: " + (new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z").format(new Date(commit.getCommitTime() * 1000l))) + "\n");
+		patch.append("Date: "
+				+ (new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z").format(new Date(commit
+						.getCommitTime() * 1000L))) + "\n");
 		patch.append("Subject: [PATCH] " + commit.getShortMessage() + "\n");
-		patch.append("\n");
+		patch.append('\n');
 		patch.append("---");
 		int maxPathLen = 0;
 		int files = 0;
@@ -78,26 +102,34 @@
 		}
 		for (String path : changes.keySet()) {
 			PatchTouple touple = changes.get(path);
-			patch.append("\n " + StringUtils.rightPad(path, maxPathLen, ' ') + " | " + StringUtils.leftPad("" + touple.total(), 4, ' ') + " " + touple.relativeScale(unit));
+			patch.append("\n " + StringUtils.rightPad(path, maxPathLen, ' ') + " | "
+					+ StringUtils.leftPad("" + touple.total(), 4, ' ') + " "
+					+ touple.relativeScale(unit));
 		}
-		patch.append(MessageFormat.format("\n {0} files changed, {1} insertions(+), {2} deletions(-)\n\n", files, insertions, deletions));
+		patch.append(MessageFormat.format(
+				"\n {0} files changed, {1} insertions(+), {2} deletions(-)\n\n", files, insertions,
+				deletions));
 		patch.append(os.toString());
 		patch.append("\n--\n");
-		patch.append(Constants.getRunningVersion());
+		patch.append(Constants.getGitBlitVersion());
 		return patch.toString();
 	}
 
-	private class PatchTouple {
-		int insertions = 0;
-		int deletions = 0;
+	/**
+	 * Class that represents the number of insertions and deletions from a
+	 * chunk.
+	 */
+	private static class PatchTouple {
+		int insertions;
+		int deletions;
 
 		int total() {
 			return insertions + deletions;
 		}
 
 		String relativeScale(int unit) {
-			int plus = (insertions / unit);
-			int minus = (deletions / unit);
+			int plus = insertions / unit;
+			int minus = deletions / unit;
 			StringBuilder sb = new StringBuilder();
 			for (int i = 0; i < plus; i++) {
 				sb.append('+');

--
Gitblit v1.9.1