Example usage for org.eclipse.jgit.lib Repository shortenRefName

List of usage examples for org.eclipse.jgit.lib Repository shortenRefName

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib Repository shortenRefName.

Prototype

@NonNull
public static String shortenRefName(String refName) 

Source Link

Document

Get a shortened more user friendly ref name

Usage

From source file:com.gitblit.plugin.glip.GlipReceiveHook.java

License:Apache License

/**
 * Sends a Glip message when a branch or a tag is deleted.
 *
 * @param receivePack//from ww  w .  ja va2 s.  co  m
 * @param cmd
 * @param rType
 */
protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);

    String activity = String.format("%s has pushed to %s", user.getDisplayName(),
            StringUtils.stripDotGit(repo.name));

    String msg = String.format("**%s** has deleted %s **%s** from [%s](%s)", user.getDisplayName(),
            rType.name().toLowerCase(), shortRef, StringUtils.stripDotGit(repo.name), repoUrl);

    Payload payload = new Payload().icon(getIconUrl(user)).activity(activity).body(msg);

    glip.setConversation(repo, payload);
    glip.sendAsync(payload);
}

From source file:com.gitblit.plugin.hipchat.HipChatReceiveHook.java

License:Apache License

/**
 * Sends a HipChat message when a branch or a tag is created.
 *
 * @param receivePack/*w w w.j  a  v  a  2 s. c o m*/
 * @param cmd
 * @param rType
 */
protected void sendCreate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);
    String logUrl = getUrl(repo.name, shortRef, null);

    String msg = String.format("<b>%s</b> has created %s <a href=\"%s\">%s</a> in <a href=\"%s\">%s</a>",
            user.getDisplayName(), rType.name().toLowerCase(), logUrl, shortRef, repoUrl,
            StringUtils.stripDotGit(repo.name));

    Payload payload = Payload.html(msg);
    payload.setColor(Color.gray);
    hipChatter.setRoom(repo, payload);
    hipChatter.sendAsync(payload);
}

From source file:com.gitblit.plugin.hipchat.HipChatReceiveHook.java

License:Apache License

/**
 * Sends a HipChat message when a branch or a tag has been updated.
 *
 * @param receivePack//from  w  w w . j a v a 2  s  .c  o m
 * @param cmd
 * @param rType
 * @param isFF
 */
protected void sendUpdate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType, boolean isFF)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);

    List<RevCommit> commits = null;
    String action;
    String url;
    switch (rType) {
    case TAG:
        // commit link
        url = getUrl(repo.name, null, shortRef);
        action = "<b>MOVED</b> tag";
        break;
    default:
        // log link
        url = getUrl(repo.name, shortRef, null);
        if (isFF) {
            commits = getCommits(receivePack, cmd.getOldId().name(), cmd.getNewId().name());
            if (commits.size() == 1) {
                action = "pushed 1 commit to";
            } else {
                action = String.format("pushed %d commits to", commits.size());
            }
        } else {
            action = "<b>REWRITTEN</b>";
        }
        break;
    }

    StringBuilder sb = new StringBuilder();
    String msg = String.format("<b>%s</b> has %s <a href=\"%s\">%s</a> in <a href=\"%s\">%s</a>",
            user.getDisplayName(), action, url, shortRef, repoUrl, StringUtils.stripDotGit(repo.name));
    sb.append(msg);

    if (commits != null) {
        // abbreviated commit list
        int shortIdLen = receivePack.getGitblit().getSettings().getInteger(Keys.web.shortCommitIdLength, 6);
        int maxCommits = Integer.MAX_VALUE;
        sb.append("\n<table><tbody>\n");
        for (int i = 0; i < Math.min(maxCommits, commits.size()); i++) {
            RevCommit commit = commits.get(i);
            String username = "";
            String email = "";
            if (commit.getAuthorIdent().getEmailAddress() != null) {
                username = commit.getAuthorIdent().getName();
                email = commit.getAuthorIdent().getEmailAddress().toLowerCase();
                if (StringUtils.isEmpty(username)) {
                    username = email;
                }
            } else {
                username = commit.getAuthorIdent().getName();
                email = username.toLowerCase();
            }
            String gravatarUrl = ActivityUtils.getGravatarThumbnailUrl(email, 16);
            String commitUrl = getUrl(repo.name, null, commit.getName());
            String shortId = commit.getName().substring(0, shortIdLen);
            String shortMessage = StringUtils.escapeForHtml(commit.getFullMessage(), false);
            String row = String.format(
                    "<tr><td><img src=\"%s\"/></td><td><pre><a href=\"%s\">%s</a></pre></td><td>%s</td></tr>\n",
                    gravatarUrl, commitUrl, shortId, shortMessage);
            sb.append(row);
        }
        sb.append("</tbody></table>");

        // compare link
        if (commits.size() > 1) {
            String compareUrl = getUrl(repo.name, cmd.getOldId().getName(), cmd.getNewId().getName());
            String compareText;
            if (commits.size() > maxCommits) {
                int diff = commits.size() - maxCommits;
                if (diff == 1) {
                    compareText = "1 more commit";
                } else {
                    compareText = String.format("%d more commits", diff);
                }
            } else {
                compareText = String.format("view comparison of these %s commits", commits.size());
            }
            sb.append(String.format("<a href=\"%s\">%s</a>", compareUrl, compareText));
        }
    }

    Payload payload = Payload.html(sb.toString());
    payload.setColor(Color.gray);
    hipChatter.setRoom(repo, payload);
    hipChatter.sendAsync(payload);
}

From source file:com.gitblit.plugin.hipchat.HipChatReceiveHook.java

License:Apache License

/**
 * Sends a HipChat message when a branch or a tag is deleted.
 *
 * @param receivePack//w w  w.j  a  va  2 s. co m
 * @param cmd
 * @param rType
 */
protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);

    String msg = String.format("<b>%s</b> has deleted %s <b>%s</b> from <a href=\"%s\">%s</a>",
            user.getDisplayName(), rType.name().toLowerCase(), shortRef, repoUrl,
            StringUtils.stripDotGit(repo.name));

    Payload payload = Payload.html(msg);
    payload.setColor(Color.gray);
    hipChatter.setRoom(repo, payload);
    hipChatter.sendAsync(payload);
}

From source file:com.gitblit.plugin.jabber.JabberReceiveHook.java

License:Apache License

/**
 * Sends a Jabber chat message when a branch or a tag is created.
 *
 * @param receivePack/*from  w  ww. ja v a  2  s. co m*/
 * @param cmd
 * @param rType
 */
protected void sendCreate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);
    String logUrl = getUrl(repo.name, shortRef, null);

    String msg = String.format("%s has created %s %s %s in %s %s", user.getDisplayName(),
            rType.name().toLowerCase(), logUrl, shortRef, repoUrl, StringUtils.stripDotGit(repo.name));

    Message message = Message.text(msg);
    jabber.setRoom(receivePack.getRepositoryModel(), message);
    jabber.sendAsync(message);
}

From source file:com.gitblit.plugin.jabber.JabberReceiveHook.java

License:Apache License

/**
 * Sends a Jabber chat message when a branch or a tag has been updated.
 *
 * @param receivePack//  w w w. j a v a  2  s . c om
 * @param cmd
 * @param rType
 * @param isFF
 */
protected void sendUpdate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType, boolean isFF)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);

    List<RevCommit> commits = null;
    String action;
    String url;
    switch (rType) {
    case TAG:
        // commit link
        url = getUrl(repo.name, null, shortRef);
        action = "MOVED tag";
        break;
    default:
        // log link
        url = getUrl(repo.name, shortRef, null);
        if (isFF) {
            commits = getCommits(receivePack, cmd.getOldId().name(), cmd.getNewId().name());
            if (commits.size() == 1) {
                action = "pushed 1 commit to";
            } else {
                action = String.format("pushed %d commits to", commits.size());
            }
        } else {
            action = "REWRITTEN";
        }
        break;
    }

    StringBuilder sb = new StringBuilder();
    StringBuilder html = new StringBuilder("<body xmlns=\"http://www.w3.org/1999/xhtml\">");

    String msg = String.format("%s has %s %s %s in %s %s", user.getDisplayName(), action, url, shortRef,
            repoUrl, StringUtils.stripDotGit(repo.name));
    sb.append(msg);

    String htmlMsg = String.format("<b>%s</b> has %s <a href=\"%s\">%s</a> in <a href=\"%s\">%s</a>",
            user.getDisplayName(), action, StringUtils.escapeForHtml(url, false), shortRef,
            StringUtils.escapeForHtml(repoUrl, false), StringUtils.stripDotGit(repo.name));
    html.append(htmlMsg);

    if (commits != null) {
        // abbreviated commit list
        int shortIdLen = receivePack.getGitblit().getSettings().getInteger(Keys.web.shortCommitIdLength, 6);
        int maxCommits = 5;
        sb.append("\n");
        html.append("<br/><ol>");
        for (int i = 0; i < Math.min(maxCommits, commits.size()); i++) {
            RevCommit commit = commits.get(i);
            String commitUrl = getUrl(repo.name, null, commit.getName());
            String shortId = commit.getName().substring(0, shortIdLen);
            String shortMessage = StringUtils.escapeForHtml(
                    StringUtils.trimString(commit.getShortMessage(), Constants.LEN_SHORTLOG), false);
            String row = String.format("%s %s %s\n", commitUrl, shortId, shortMessage);
            sb.append(row);

            String htmlRow = String.format("<li><a href=\"%s\">%s</a> %s</li>\n",
                    StringUtils.escapeForHtml(commitUrl, false), shortId, shortMessage);

            html.append(htmlRow);
        }
        html.append("</ol>");

        // compare link
        if (commits.size() > 1) {
            String compareUrl = getUrl(repo.name, cmd.getOldId().getName(), cmd.getNewId().getName());
            String compareText;
            if (commits.size() > maxCommits) {
                int diff = commits.size() - maxCommits;
                if (diff == 1) {
                    compareText = "1 more commit";
                } else {
                    compareText = String.format("%d more commits", diff);
                }
            } else {
                compareText = String.format("view comparison of these %s commits", commits.size());
            }
            sb.append(String.format("%s %s", compareUrl, compareText));
            html.append(String.format("<a href=\"%s\">%s</a>", StringUtils.escapeForHtml(compareUrl, false),
                    compareText));
        }
    }

    html.append("</body>");

    Message message = Message.create(sb.toString(), html.toString());
    jabber.setRoom(receivePack.getRepositoryModel(), message);
    jabber.sendAsync(message);
}

From source file:com.gitblit.plugin.jabber.JabberReceiveHook.java

License:Apache License

/**
 * Sends a Jabber chat message when a branch or a tag is deleted.
 *
 * @param receivePack//from  w  w  w.  j a v a  2  s .c  o m
 * @param cmd
 * @param rType
 */
protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);

    String msg = String.format("%s has deleted %s %s from %s %s", user.getDisplayName(),
            rType.name().toLowerCase(), shortRef, repoUrl, StringUtils.stripDotGit(repo.name));

    Message message = Message.text(msg);
    jabber.setRoom(receivePack.getRepositoryModel(), message);
    jabber.sendAsync(message);
}

From source file:com.gitblit.plugin.slack.SlackReceiveHook.java

License:Apache License

/**
 * Sends a Slack message when a branch or a tag is created.
 *
 * @param receivePack//from   www .java2  s . c o m
 * @param cmd
 * @param rType
 */
protected void sendCreate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);
    String logUrl = getUrl(repo.name, shortRef, null);
    boolean postAsUser = receivePack.getGitblit().getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true);

    String author;
    if (postAsUser) {
        // posting as user, do not BOLD username
        author = user.getDisplayName();
    } else {
        // posting as Gitblit, BOLD username to draw attention
        author = "*" + user.getDisplayName() + "*";
    }

    String msg = String.format("%s has created %s <%s|%s> in <%s|%s>", author, rType.name().toLowerCase(),
            logUrl, shortRef, repoUrl, StringUtils.stripDotGit(repo.name));

    Payload payload = Payload.instance(msg);
    attribute(payload, user);

    slacker.setChannel(repo, payload);
    slacker.sendAsync(payload);
}

From source file:com.gitblit.plugin.slack.SlackReceiveHook.java

License:Apache License

/**
 * Sends a Slack message when a branch or a tag has been updated.
 *
 * @param receivePack/*from   w  w w  . j  a va 2s.  c o  m*/
 * @param cmd
 * @param rType
 * @param isFF
 */
protected void sendUpdate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType, boolean isFF)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);
    boolean postAsUser = receivePack.getGitblit().getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true);

    String author;
    if (postAsUser) {
        // posting as user, do not BOLD username
        author = user.getDisplayName();
    } else {
        // posting as Gitblit, BOLD username to draw attention
        author = "*" + user.getDisplayName() + "*";
    }

    List<RevCommit> commits = null;
    String action;
    String url;
    switch (rType) {
    case TAG:
        url = getUrl(repo.name, null, shortRef);
        action = "*MOVED* tag";
        break;
    default:
        // log url
        url = getUrl(repo.name, shortRef, null);
        if (isFF) {
            commits = getCommits(receivePack, cmd.getOldId().name(), cmd.getNewId().name());
            if (commits.size() == 1) {
                action = "pushed 1 commit to";
            } else {
                action = String.format("pushed %d commits to", commits.size());
            }
        } else {
            action = "*REWRITTEN*";
        }
        break;
    }

    StringBuilder sb = new StringBuilder();
    String msg = String.format("%s has %s <%s|%s> in <%s|%s>", author, action, url, shortRef, repoUrl,
            StringUtils.stripDotGit(repo.name));
    sb.append(msg);

    if (commits != null) {
        // abbreviated commit list
        sb.append("\n\n");
        int shortIdLen = receivePack.getGitblit().getSettings().getInteger(Keys.web.shortCommitIdLength, 6);
        int maxCommits = 5;
        for (int i = 0; i < Math.min(maxCommits, commits.size()); i++) {
            RevCommit commit = commits.get(i);
            String commitUrl = getUrl(repo.name, null, commit.getName());
            String shortId = commit.getName().substring(0, shortIdLen);
            String shortMessage = StringUtils.trimString(commit.getShortMessage(), Constants.LEN_SHORTLOG);
            String row = String.format("<%s|`%s`> %s\n", commitUrl, shortId, shortMessage);
            sb.append(row);
        }

        // compare link
        if (commits.size() > 1) {
            String compareUrl = getUrl(repo.name, cmd.getOldId().getName(), cmd.getNewId().getName());
            String compareText;
            if (commits.size() > maxCommits) {
                int diff = commits.size() - maxCommits;
                if (diff == 1) {
                    compareText = "1 more commit";
                } else {
                    compareText = String.format("%d more commits", diff);
                }
            } else {
                compareText = String.format("view comparison of these %s commits", commits.size());
            }
            sb.append(String.format("<%s|%s>", compareUrl, compareText));
        }
    }

    Payload payload = Payload.instance(sb.toString());
    attribute(payload, user);

    slacker.setChannel(repo, payload);
    slacker.sendAsync(payload);
}

From source file:com.gitblit.plugin.slack.SlackReceiveHook.java

License:Apache License

/**
 * Sends a Slack message when a branch or a tag is deleted.
 *
 * @param receivePack/*ww  w .  j av a  2  s . c o  m*/
 * @param cmd
 * @param rType
 */
protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType)
        throws IOException {
    UserModel user = receivePack.getUserModel();
    RepositoryModel repo = receivePack.getRepositoryModel();
    String shortRef = Repository.shortenRefName(cmd.getRefName());
    String repoUrl = getUrl(repo.name, null, null);
    boolean postAsUser = receivePack.getGitblit().getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true);

    String author;
    if (postAsUser) {
        // posting as user, do not BOLD username
        author = user.getDisplayName();
    } else {
        // posting as Gitblit, BOLD username to draw attention
        author = "*" + user.getDisplayName() + "*";
    }

    String msg = String.format("%s has deleted %s *%s* from <%s|%s>", author, rType.name().toLowerCase(),
            shortRef, repoUrl, StringUtils.stripDotGit(repo.name));

    Payload payload = Payload.instance(msg);
    attribute(payload, user);

    slacker.setChannel(repo, payload);
    slacker.sendAsync(payload);
}