From 5030bb4f66fc5b47582436bfeec39e1ebd9688d7 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 15 May 2013 16:00:11 -0400
Subject: [PATCH] Include username in push log, along with display name and email address
---
src/main/java/com/gitblit/models/PushLogEntry.java | 9 +++++++++
src/main/java/com/gitblit/utils/PushLogUtils.java | 24 ++++++++++++++++++++----
2 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/gitblit/models/PushLogEntry.java b/src/main/java/com/gitblit/models/PushLogEntry.java
index f625c2a..8323073 100644
--- a/src/main/java/com/gitblit/models/PushLogEntry.java
+++ b/src/main/java/com/gitblit/models/PushLogEntry.java
@@ -28,6 +28,7 @@
import java.util.Set;
import org.eclipse.jgit.lib.Constants;
+import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.ReceiveCommand;
@@ -183,6 +184,14 @@
Collections.sort(list);
return list;
}
+
+ public PersonIdent getCommitterIdent() {
+ return new PersonIdent(user.getDisplayName(), user.emailAddress == null ? user.username : user.emailAddress);
+ }
+
+ public PersonIdent getAuthorIdent() {
+ return getCommitterIdent();
+ }
@Override
public int compareTo(PushLogEntry o) {
diff --git a/src/main/java/com/gitblit/utils/PushLogUtils.java b/src/main/java/com/gitblit/utils/PushLogUtils.java
index 665533b..5b06506 100644
--- a/src/main/java/com/gitblit/utils/PushLogUtils.java
+++ b/src/main/java/com/gitblit/utils/PushLogUtils.java
@@ -132,8 +132,9 @@
DirCache index = createIndex(repository, headId, commands);
ObjectId indexTreeId = index.writeTree(odi);
- PersonIdent ident = new PersonIdent(user.getDisplayName(),
- user.emailAddress == null ? user.username:user.emailAddress);
+ PersonIdent ident =
+ new PersonIdent(MessageFormat.format("{0}/{1}", user.getDisplayName(), user.username),
+ user.emailAddress == null ? user.username : user.emailAddress);
// Create a commit object
CommitBuilder commit = new CommitBuilder();
@@ -312,9 +313,24 @@
// skip gitblit/internal commits
continue;
}
+
+ String name = push.getAuthorIdent().getName();
+ String username;
+ String displayname;
+ if (name.indexOf('/') > -1) {
+ int slash = name.indexOf('/');
+ displayname = name.substring(0, slash);
+ username = name.substring(slash + 1);
+ } else {
+ displayname = name;
+ username = push.getAuthorIdent().getEmailAddress();
+ }
+
+ UserModel user = new UserModel(username);
+ user.displayName = displayname;
+ user.emailAddress = push.getAuthorIdent().getEmailAddress();
+
Date date = push.getAuthorIdent().getWhen();
- UserModel user = new UserModel(push.getAuthorIdent().getEmailAddress());
- user.displayName = push.getAuthorIdent().getName();
PushLogEntry log = new PushLogEntry(repositoryName, date, user);
list.add(log);
List<PathChangeModel> changedRefs = JGitUtils.getFilesInCommit(repository, push);
--
Gitblit v1.9.1