mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-30 22:06:11 +01:00
f766b00293
For my specific use case, I'd like to get all commits that are on one branch but NOT on the other branch. For instance, I'd like to get all the commits on `Branch1` that are not also on `master` (I.e. all commits that were made after `Branch1` was created). This PR adds a `not` query param that gets passed down to the `git log` command to allow the user to exclude items from `GetAllCommits`. See [git documentation](https://git-scm.com/docs/git-log#Documentation/git-log.txt---not) --------- Co-authored-by: Giteabot <teabot@gitea.io>
51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
// Copyright 2022 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package feed
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"time"
|
|
|
|
"code.gitea.io/gitea/models/repo"
|
|
"code.gitea.io/gitea/modules/context"
|
|
|
|
"github.com/gorilla/feeds"
|
|
)
|
|
|
|
// ShowBranchFeed shows tags and/or releases on the repo as RSS / Atom feed
|
|
func ShowBranchFeed(ctx *context.Context, repo *repo.Repository, formatType string) {
|
|
commits, err := ctx.Repo.Commit.CommitsByRange(0, 10, "")
|
|
if err != nil {
|
|
ctx.ServerError("ShowBranchFeed", err)
|
|
return
|
|
}
|
|
|
|
title := fmt.Sprintf("Latest commits for branch %s", ctx.Repo.BranchName)
|
|
link := &feeds.Link{Href: repo.HTMLURL() + "/" + ctx.Repo.BranchNameSubURL()}
|
|
|
|
feed := &feeds.Feed{
|
|
Title: title,
|
|
Link: link,
|
|
Description: repo.Description,
|
|
Created: time.Now(),
|
|
}
|
|
|
|
for _, commit := range commits {
|
|
feed.Items = append(feed.Items, &feeds.Item{
|
|
Id: commit.ID.String(),
|
|
Title: strings.TrimSpace(strings.Split(commit.Message(), "\n")[0]),
|
|
Link: &feeds.Link{Href: repo.HTMLURL() + "/commit/" + commit.ID.String()},
|
|
Author: &feeds.Author{
|
|
Name: commit.Author.Name,
|
|
Email: commit.Author.Email,
|
|
},
|
|
Description: commit.Message(),
|
|
Content: commit.Message(),
|
|
})
|
|
}
|
|
|
|
writeFeed(ctx, feed, formatType)
|
|
}
|