From 478ba80a807868f1775fdf4df665b596248fbeea Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 27 Mar 2014 09:25:36 -0400
Subject: [PATCH] Fix repository mailing list editing which prevented field reset
---
src/main/java/com/gitblit/models/DailyLogEntry.java | 31 +++++++++++++++++++++++++++----
1 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/gitblit/models/DailyLogEntry.java b/src/main/java/com/gitblit/models/DailyLogEntry.java
index db60526..a6bc6a4 100644
--- a/src/main/java/com/gitblit/models/DailyLogEntry.java
+++ b/src/main/java/com/gitblit/models/DailyLogEntry.java
@@ -19,15 +19,16 @@
import java.util.Date;
import org.eclipse.jgit.lib.PersonIdent;
+import org.eclipse.jgit.transport.ReceiveCommand;
/**
* Model class to simulate a push for presentation in the push log news feed
* for a repository that does not have a Gitblit push log. Commits are grouped
* by date and may be additionally split by ref.
- *
+ *
* @author James Moger
*/
-public class DailyLogEntry extends PushLogEntry implements Serializable {
+public class DailyLogEntry extends RefLogEntry implements Serializable {
private static final long serialVersionUID = 1L;
@@ -44,7 +45,7 @@
if (getAuthorCount() == 1) {
return getCommits().get(0).getCommitterIdent();
}
-
+
return super.getCommitterIdent();
}
@@ -53,7 +54,29 @@
if (getAuthorCount() == 1) {
return getCommits().get(0).getAuthorIdent();
}
-
+
return super.getAuthorIdent();
}
+
+ /**
+ * Tracks the change type for the specified ref.
+ *
+ * @param ref
+ * @param type
+ * @param oldId
+ * @param newId
+ */
+ @Override
+ public void updateRef(String ref, ReceiveCommand.Type type, String oldId, String newId) {
+ // daily digests are filled from most recent to oldest
+ String preservedNewId = getNewId(ref);
+ if (preservedNewId == null) {
+ // no preserved new id, this is newest commit
+ // for this ref
+ preservedNewId = newId;
+ }
+ refUpdates.put(ref, type);
+ refIdChanges.put(ref, oldId + "-" + preservedNewId);
+ }
+
}
--
Gitblit v1.9.1