Hi Mark, Mark H Weaver <m...@netris.org> writes:
[...] >>> Occasionally, large numbers of commits are pushed in a single operation, >>> possibly more than 30. Even if you check the RSS feed every second, I'm >>> not sure that would ensure that nothing was missed. >> >> Did you see my reply to Tomas earlier? Forgejo/Codeberg provides a RSS >> feed exactly made for the purpose of tracking commits to a branch; you >> can test it for the master branch in Guix using the following url: >> >> https://codeberg.org/guix/guix/rss/branch/master >> >> I've been using it, and it works well. I don't think you can 'loose' >> notifications with RSS (that seemed to be a concern). It doesn't show >> the diff in the messages but includes an URL to visit that does. > > I looked at your earlier reply to Tomas, and the gitea pull request that > you linked to. I didn't see any comments there addressing the potential > issue that Tomas raised. Apologies if I missed it. > > To clarify, the issue is this: > > By design, RSS feeds only publish the most recent entries, i.e. there is > no *flow control*. There is only the heuristic that if users check the > RSS feed sufficiently often, they will hopefully not miss any entries. > > Tomas indicated that the RSS feed for Guix commits includes only 30 > entries at any given time. So what happens if 40+ commits are pushed at > once? Do you have reason to believe that no commits will be missed in > the RSS feed in this scenario? That was for the atom feed, I believe. The one I shared above is even more limited, including only the 10 most recent commits. The source that is responsible to do that is [0]: --8<---------------cut here---------------start------------->8--- // 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 } --8<---------------cut here---------------end--------------->8--- My understanding of RSS was naive, but now I see this could be a problem. I guess it depends of what we use the guix-commits mailing list for. Is it just for casually keeping track of what goes in the repo in near real time? Or is it because we want to review everything that was pushed for security or other reasons? If the former, I think that RSS feed is good enough. If the later, it isn't but then I'd argue that 'git log -p' is a better tool, as you never know with email if a message may have been lost in transit (as you had mentioned). Thoughts? [0] https://codeberg.org/forgejo/forgejo/src/branch/forgejo/routers/web/feed/branch.go#L17-L51 -- Maxim