protected void OnButtonBranchClicked(object sender, System.EventArgs e) { Stash s = GetSelected(); if (s != null) { var dlg = new EditBranchDialog(repository, null, true); try { if (MessageService.RunCustomDialog(dlg) == (int)ResponseType.Ok) { ObjectId commit = repository.RootRepository.Resolve(s.CommitId); var rw = new RevWalk(repository.RootRepository); RevCommit c = rw.ParseCommit(commit); RevCommit old = c.GetParent(0); rw.ParseHeaders(old); repository.CreateBranchFromCommit(dlg.BranchName, old); GitService.SwitchToBranch(repository, dlg.BranchName); ApplyStashAndRemove(s); } } finally { dlg.Destroy(); } Respond(ResponseType.Ok); } }
protected void OnButtonBranchClicked(object sender, System.EventArgs e) { Stash s = GetSelected(); int stashIndex = GetSelectedIndex(); if (s != null) { var dlg = new EditBranchDialog(repository); try { if (MessageService.RunCustomDialog(dlg) == (int)ResponseType.Ok) { repository.CreateBranchFromCommit(dlg.BranchName, s.Base); GitService.SwitchToBranch(repository, dlg.BranchName); ApplyStashAndRemove(stashIndex); } } finally { dlg.Destroy(); dlg.Dispose(); } Respond(ResponseType.Ok); } }