提交 42677a68 编写于 作者: M Mislav Marohnić

Add merged date information to `hub pr list`

上级 d89b5c6f
......@@ -332,15 +332,6 @@ func formatIssuePlaceholders(issue github.Issue, colorize bool) map[string]strin
assignees = append(assignees, assignee.Login)
}
var requestedReviewers []string
for _, requestedReviewer := range issue.RequestedReviewers {
requestedReviewers = append(requestedReviewers, requestedReviewer.Login)
}
for _, requestedTeam := range issue.RequestedTeams {
teamSlug := fmt.Sprintf("%s/%s", issue.Base.Repo.Owner.Login, requestedTeam.Slug)
requestedReviewers = append(requestedReviewers, teamSlug)
}
var milestoneNumber, milestoneTitle string
if issue.Milestone != nil {
milestoneNumber = fmt.Sprintf("%d", issue.Milestone.Number)
......@@ -380,7 +371,6 @@ func formatIssuePlaceholders(issue github.Issue, colorize bool) map[string]strin
"b": issue.Body,
"au": issue.User.Login,
"as": strings.Join(assignees, ", "),
"rs": strings.Join(requestedReviewers, ", "),
"Mn": milestoneNumber,
"Mt": milestoneTitle,
"NC": numComments,
......@@ -396,6 +386,41 @@ func formatIssuePlaceholders(issue github.Issue, colorize bool) map[string]strin
}
}
func formatPullRequestPlaceholders(pr github.PullRequest) map[string]string {
base := pr.Base.Ref
head := pr.Head.Label
if pr.IsSameRepo() {
head = pr.Head.Ref
}
var requestedReviewers []string
for _, requestedReviewer := range pr.RequestedReviewers {
requestedReviewers = append(requestedReviewers, requestedReviewer.Login)
}
for _, requestedTeam := range pr.RequestedTeams {
teamSlug := fmt.Sprintf("%s/%s", pr.Base.Repo.Owner.Login, requestedTeam.Slug)
requestedReviewers = append(requestedReviewers, teamSlug)
}
var mergedDate, mergedAtISO8601, mergedAtUnix, mergedAtRelative string
if !pr.MergedAt.IsZero() {
mergedDate = pr.MergedAt.Format("02 Jan 2006")
mergedAtISO8601 = pr.MergedAt.Format(time.RFC3339)
mergedAtUnix = fmt.Sprintf("%d", pr.MergedAt.Unix())
mergedAtRelative = utils.TimeAgo(pr.MergedAt)
}
return map[string]string{
"B": base,
"H": head,
"rs": strings.Join(requestedReviewers, ", "),
"mD": mergedDate,
"mI": mergedAtISO8601,
"mt": mergedAtUnix,
"mr": mergedAtRelative,
}
}
func formatIssue(issue github.Issue, format string, colorize bool) string {
placeholders := formatIssuePlaceholders(issue, colorize)
return ui.Expand(format, placeholders, colorize)
......
......@@ -98,6 +98,14 @@ pr checkout <PR-NUMBER> [<BRANCH>]
%uI: updated date, ISO 8601 format
%mD: merged date-only (no time of day)
%mr: merged date, relative
%mt: merged date, UNIX timestamp
%mI: merged date, ISO 8601 format
-o, --sort <SORT_KEY>
Sort displayed issues by "created" (default), "updated", "popularity", or "long-running".
......@@ -229,15 +237,9 @@ func checkoutPr(command *Command, args *Args) {
}
func formatPullRequest(pr github.PullRequest, format string, colorize bool) string {
base := pr.Base.Ref
head := pr.Head.Label
if pr.IsSameRepo() {
head = pr.Head.Ref
}
placeholders := formatIssuePlaceholders(github.Issue(pr), colorize)
placeholders["B"] = base
placeholders["H"] = head
for key, value := range formatPullRequestPlaceholders(pr) {
placeholders[key] = value
}
return ui.Expand(format, placeholders, colorize)
}
......@@ -550,6 +550,7 @@ type Issue struct {
Milestone *Milestone `json:"milestone"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
MergedAt time.Time `json:"merged_at"`
RequestedReviewers []User `json:"requested_reviewers"`
RequestedTeams []Team `json:"requested_teams"`
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册