James Moger
2014-03-07 4affd0a3a4fe086b31a87d56616f74093d2ac715
src/main/java/com/gitblit/wicket/pages/TicketPage.java
@@ -731,15 +731,36 @@
       *  PATCHSET TAB
       */
      if (currentPatchset == null) {
         // no patchset yet, show propose fragment
         String repoUrl = getRepositoryUrl(user, repository);
         Fragment changeIdFrag = new Fragment("patchset", "proposeFragment", this);
         changeIdFrag.add(new Label("proposeInstructions", MarkdownUtils.transformMarkdown(getString("gb.proposeInstructions"))).setEscapeModelStrings(false));
         changeIdFrag.add(new Label("ptWorkflow", MessageFormat.format(getString("gb.proposeWith"), "Barnum")));
         changeIdFrag.add(new Label("ptWorkflowSteps", getProposeWorkflow("propose_pt.md", repoUrl, ticket.number)).setEscapeModelStrings(false));
         changeIdFrag.add(new Label("gitWorkflow", MessageFormat.format(getString("gb.proposeWith"), "Git")));
         changeIdFrag.add(new Label("gitWorkflowSteps", getProposeWorkflow("propose_git.md", repoUrl, ticket.number)).setEscapeModelStrings(false));
         add(changeIdFrag);
         // no patchset available
         if (ticket.isOpen() && app().tickets().isAcceptingNewPatchsets(repository)) {
            // ticket & repo will accept a proposal patchset
            // show the instructions for proposing a patchset
            String repoUrl = getRepositoryUrl(user, repository);
            Fragment changeIdFrag = new Fragment("patchset", "proposeFragment", this);
            changeIdFrag.add(new Label("proposeInstructions", MarkdownUtils.transformMarkdown(getString("gb.proposeInstructions"))).setEscapeModelStrings(false));
            changeIdFrag.add(new Label("ptWorkflow", MessageFormat.format(getString("gb.proposeWith"), "Barnum")));
            changeIdFrag.add(new Label("ptWorkflowSteps", getProposeWorkflow("propose_pt.md", repoUrl, ticket.number)).setEscapeModelStrings(false));
            changeIdFrag.add(new Label("gitWorkflow", MessageFormat.format(getString("gb.proposeWith"), "Git")));
            changeIdFrag.add(new Label("gitWorkflowSteps", getProposeWorkflow("propose_git.md", repoUrl, ticket.number)).setEscapeModelStrings(false));
            add(changeIdFrag);
         } else {
            // explain why you can't propose a patchset
            Fragment fragment = new Fragment("patchset", "canNotProposeFragment", this);
            String reason = "";
            if (ticket.isClosed()) {
               reason = getString("gb.ticketIsClosed");
            } else if (repository.isMirror) {
               reason = getString("gb.repositoryIsMirror");
            } else if (repository.isFrozen) {
               reason = getString("gb.repositoryIsFrozen");
            } else if (!repository.acceptNewPatchsets) {
               reason = getString("gb.repositoryDoesNotAcceptPatchsets");
            } else {
               reason = getString("gb.serverDoesNotAcceptPatchsets");
            }
            fragment.add(new Label("reason", reason));
            add(fragment);
         }
      } else {
         // show current patchset
         Fragment patchsetFrag = new Fragment("patchset", "patchsetFragment", this);
@@ -1254,16 +1275,13 @@
   }
   protected void addGitReviewInstructions(UserModel user, RepositoryModel repository, MarkupContainer panel) {
      String repoUrl = getRepositoryUrl(user, repository);
      panel.add(new Label("gitStep1", MessageFormat.format(getString("gb.stepN"), 1)));
      panel.add(new Label("gitStep2", MessageFormat.format(getString("gb.stepN"), 2)));
      String ticketBranch  = Repository.shortenRefName(PatchsetCommand.getTicketBranch(ticket.number));
      String reviewBranch = PatchsetCommand.getReviewBranch(ticket.number);
      String step1 = MessageFormat.format("git fetch {0} {1}", repoUrl, ticketBranch);
      String step2 = MessageFormat.format("git checkout -B {0} FETCH_HEAD", reviewBranch);
      String step1 = "git fetch";
      String step2 = MessageFormat.format("git checkout {0} && git pull --ff-only\nOR\ngit checkout {0} && git reset --hard origin/{0}", ticketBranch);
      panel.add(new Label("gitPreStep1", step1));
      panel.add(new Label("gitPreStep2", step2));
@@ -1417,7 +1435,6 @@
   protected Component getMergeInstructions(UserModel user, RepositoryModel repository, String markupId, String infoKey) {
      Fragment cmd = new Fragment(markupId, "commandlineMergeFragment", this);
      cmd.add(new Label("instructions", MessageFormat.format(getString(infoKey), ticket.mergeTo)));
      String repoUrl = getRepositoryUrl(user, repository);
      // git instructions
      cmd.add(new Label("mergeStep1", MessageFormat.format(getString("gb.stepN"), 1)));
@@ -1427,9 +1444,9 @@
      String ticketBranch = Repository.shortenRefName(PatchsetCommand.getTicketBranch(ticket.number));
      String reviewBranch = PatchsetCommand.getReviewBranch(ticket.number);
      String step1 = MessageFormat.format("git checkout -B {0} {1}", reviewBranch, ticket.mergeTo);
      String step2 = MessageFormat.format("git pull {0} {1}", repoUrl, ticketBranch);
      String step3 = MessageFormat.format("git checkout {0}\ngit merge {1}\ngit push origin {0}", ticket.mergeTo, reviewBranch);
      String step1 = MessageFormat.format("git checkout -b {0} {1}", reviewBranch, ticket.mergeTo);
      String step2 = MessageFormat.format("git pull origin {0}", ticketBranch);
      String step3 = MessageFormat.format("git checkout {0}\ngit merge {1}\ngit push origin {0}\ngit branch -d {1}", ticket.mergeTo, reviewBranch);
      cmd.add(new Label("mergePreStep1", step1));
      cmd.add(new Label("mergePreStep2", step2));