Package com.gitblit.models

Examples of com.gitblit.models.RefModel


      // no HEAD
      // perhaps non-standard repository, try local branches
      List<RefModel> branchModels = getLocalBranches(repository, true, -1);
      if (branchModels.size() > 0) {
        // use most recently updated branch
        RefModel branch = null;
        Date lastDate = new Date(0);
        for (RefModel branchModel : branchModels) {
          if (branchModel.getDate().after(lastDate)) {
            branch = branchModel;
            lastDate = branch.getDate();
          }
        }
        object = branch.getReferencedObjectId();
      }
    }
    return object;
  }
View Full Code Here


        RevObject object = rw.parseAny(ref.getObjectId());
        String name = entry.getKey();
        if (fullName && !StringUtils.isEmpty(refs)) {
          name = refs + name;
        }
        list.add(new RefModel(name, ref, object));
      }
      rw.dispose();
      Collections.sort(list);
      Collections.reverse(list);
      if (maxCount > 0 && list.size() > maxCount) {
View Full Code Here

   *
   * @param repository
   * @return a refmodel for the branch or null
   */
  public static RefModel getBranch(Repository repository, String name) {
    RefModel branch = null;
    try {
      // search for the branch in local heads
      for (RefModel ref : JGitUtils.getLocalBranches(repository, false, -1)) {
        if (ref.reference.getName().endsWith(name)) {
          branch = ref;
View Full Code Here

      // flat notes list
      String notePath = commit.getName();
      String text = getStringContent(repository, notesTree, notePath);
      if (!StringUtils.isEmpty(text)) {
        List<RevCommit> history = getRevLog(repository, notesRef.getName(), notePath, 0, -1);
        RefModel noteRef = new RefModel(notesRef.displayName, null, history.get(history
            .size() - 1));
        GitNote gitNote = new GitNote(noteRef, text);
        list.add(gitNote);
        continue;
      }

      // folder structure
      StringBuilder sb = new StringBuilder(commit.getName());
      sb.insert(2, '/');
      notePath = sb.toString();
      text = getStringContent(repository, notesTree, notePath);
      if (!StringUtils.isEmpty(text)) {
        List<RevCommit> history = getRevLog(repository, notesRef.getName(), notePath, 0, -1);
        RefModel noteRef = new RefModel(notesRef.displayName, null, history.get(history
            .size() - 1));
        GitNote gitNote = new GitNote(noteRef, text);
        list.add(gitNote);
      }
    }
View Full Code Here

    if (getRepositoryModel().isCollectingGarbage) {
      error(MessageFormat.format(getString("gb.busyCollectingGarbage"), getRepositoryModel().name), true);
    }

    if (objectId != null) {
      RefModel branch = null;
      if ((branch = JGitUtils.getBranch(getRepository(), objectId)) != null) {
        UserModel user = GitBlitWebSession.get().getUser();
        if (user == null) {
          // workaround until get().getUser() is reviewed throughout the app
          user = UserModel.ANONYMOUS;
View Full Code Here

  public static boolean deleteRef(UserModel user, Repository repository, Ref ref) {
    try {
      if (ref == null) {
        return false;
      }
      RefModel reflogBranch = getRefLogBranch(repository);
      if (reflogBranch == null) {
        return false;
      }

      List<RevCommit> log = JGitUtils.getRevLog(repository, reflogBranch.getName(), ref.getName(), 0, 1);
      if (log.isEmpty()) {
        // this ref is not in the reflog branch
        return false;
      }
      ReceiveCommand cmd = new ReceiveCommand(ref.getObjectId(), ObjectId.zeroId(), ref.getName());
View Full Code Here

    if (filteredCommands.isEmpty()) {
      // nothing to log
      return true;
    }

    RefModel reflogBranch = getRefLogBranch(repository);
    if (reflogBranch == null) {
      JGitUtils.createOrphanBranch(repository, GB_REFLOG, null);
    }

    boolean success = false;
View Full Code Here

   * @return a list of reflog entries
   */
  public static List<RefLogEntry> getRefLog(String repositoryName, Repository repository,
      Date minimumDate, int offset, int maxCount) {
    List<RefLogEntry> list = new ArrayList<RefLogEntry>();
    RefModel ref = getRefLogBranch(repository);
    if (ref == null) {
      return list;
    }
    if (maxCount == 0) {
      return list;
View Full Code Here

      private static final long serialVersionUID = 1L;
      int counter;

      @Override
      public void populateItem(final Item<RefModel> item) {
        RefModel entry = item.getModelObject();

        item.add(WicketUtils.createDateLabel("tagDate", entry.getDate(), getTimeZone(), getTimeUtils()));

        Class<? extends WebPage> linkClass;
        switch (entry.getReferencedObjectType()) {
        case Constants.OBJ_BLOB:
          linkClass = BlobPage.class;
          break;
        case Constants.OBJ_TREE:
          linkClass = TreePage.class;
          break;
        case Constants.OBJ_COMMIT:
        default:
          linkClass = CommitPage.class;
          break;
        }
        item.add(new LinkPanel("tagName", "list name", entry.displayName, linkClass,
            WicketUtils.newObjectParameter(repositoryName, entry
                .getReferencedObjectId().getName())));

        // workaround for RevTag returning a lengthy shortlog. :(
        String message = StringUtils.trimString(entry.getShortMessage(),
            com.gitblit.Constants.LEN_SHORTLOG);

        if (linkClass.equals(BlobPage.class)) {
          // Blob Tag Object
          item.add(WicketUtils.newImage("tagIcon", "file_16x16.png"));
          LinkPanel messageLink = new LinkPanel("tagDescription", "list", message, TagPage.class,
              WicketUtils.newObjectParameter(repositoryName, entry.getObjectId()
                  .getName()));
          if (!entry.getShortMessage().equals(message)) {
            messageLink.setTooltip(entry.getShortMessage());
          }
          item.add(messageLink);

          Fragment fragment = new Fragment("tagLinks", "blobLinks", this);
          fragment.add(new BookmarkablePageLink<Void>("tag", TagPage.class, WicketUtils
              .newObjectParameter(repositoryName, entry.getObjectId().getName()))
              .setEnabled(entry.isAnnotatedTag()));

          fragment.add(new BookmarkablePageLink<Void>("blob", linkClass, WicketUtils
              .newObjectParameter(repositoryName, entry.getReferencedObjectId()
                  .getName())));

          String contextUrl = RequestCycle.get().getRequest().getRelativePathPrefixToContextRoot();
          String rawUrl = RawServlet.asLink(contextUrl, repositoryName, entry.displayName,
              entry.getReferencedObjectId().getName());
          fragment.add(new ExternalLink("raw", rawUrl));
          item.add(fragment);
        } else {
          // TODO Tree Tag Object
          // Standard Tag Object
          if (entry.isAnnotatedTag()) {
            item.add(WicketUtils.newImage("tagIcon", "tag_16x16.png"));
            LinkPanel messageLink = new LinkPanel("tagDescription", "list", message, TagPage.class,
                WicketUtils.newObjectParameter(repositoryName, entry.getObjectId()
                    .getName()));
            if (!message.equals(entry.getShortMessage())) {
              messageLink.setTooltip(entry.getShortMessage());
            }
            item.add(messageLink);

            Fragment fragment = new Fragment("tagLinks", "annotatedLinks", this);
            fragment.add(new BookmarkablePageLink<Void>("tag", TagPage.class,
                WicketUtils.newObjectParameter(repositoryName, entry.getObjectId()
                    .getName())).setEnabled(entry.isAnnotatedTag()));

            fragment.add(new BookmarkablePageLink<Void>("commit", linkClass,
                WicketUtils.newObjectParameter(repositoryName, entry
                    .getReferencedObjectId().getName())));

            fragment.add(new BookmarkablePageLink<Void>("log", LogPage.class,
                WicketUtils.newObjectParameter(repositoryName, entry.getName())));
            item.add(fragment);
          } else {
            item.add(WicketUtils.newBlankImage("tagIcon"));
            item.add(new LinkPanel("tagDescription", "list", message, CommitPage.class,
                WicketUtils.newObjectParameter(repositoryName, entry.getObjectId()
                    .getName())));
            Fragment fragment = new Fragment("tagLinks", "lightweightLinks", this);
            fragment.add(new BookmarkablePageLink<Void>("commit", CommitPage.class,
                WicketUtils.newObjectParameter(repositoryName, entry
                    .getReferencedObjectId().getName())));
            fragment.add(new BookmarkablePageLink<Void>("log", LogPage.class,
                WicketUtils.newObjectParameter(repositoryName, entry.getName())));
            item.add(fragment);
          }
        }

        WicketUtils.setAlternatingBackground(item, counter);
View Full Code Here

    Repository r = getRepository();

    // Find tag in repository
    List<RefModel> tags = JGitUtils.getTags(r, true, -1);
    RefModel tagRef = null;
    for (RefModel tag : tags) {
      if (tag.getName().equals(objectId) || tag.getObjectId().getName().equals(objectId)) {
        tagRef = tag;
        break;
      }
    }

    // Failed to find tag!
    if (tagRef == null) {
      error(MessageFormat.format(getString("gb.couldNotFindTag"), objectId), true);
    }

    // Display tag.
    Class<? extends WebPage> linkClass;
    PageParameters linkParameters = newCommitParameter(tagRef.getReferencedObjectId().getName());
    String typeKey;
    switch (tagRef.getReferencedObjectType()) {
    case Constants.OBJ_BLOB:
      typeKey = "gb.blob";
      linkClass = BlobPage.class;
      break;
    case Constants.OBJ_TREE:
      typeKey = "gb.tree";
      linkClass = TreePage.class;
      break;
    case Constants.OBJ_COMMIT:
    default:
      typeKey = "gb.commit";
      linkClass = CommitPage.class;
      break;
    }
    add(new GravatarImage("taggerAvatar", tagRef.getAuthorIdent()));

    add(new RefsPanel("tagName", repositoryName, Arrays.asList(tagRef)));
    add(new Label("tagId", tagRef.getObjectId().getName()));
    add(new LinkPanel("taggedObject", "list", tagRef.getReferencedObjectId().getName(),
        linkClass, linkParameters));
    add(new Label("taggedObjectType", getString(typeKey)));

    add(createPersonPanel("tagger", tagRef.getAuthorIdent(), com.gitblit.Constants.SearchType.AUTHOR));
    Date when = new Date(0);
    if (tagRef.getAuthorIdent() != null) {
      when = tagRef.getAuthorIdent().getWhen();
    }
    add(WicketUtils.createTimestampLabel("tagDate", when, getTimeZone(), getTimeUtils()));

    addFullText("fullMessage", tagRef.getFullMessage());
  }
View Full Code Here

TOP

Related Classes of com.gitblit.models.RefModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.