A script to generate Atom feeds for git commit logs.
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin add Build.PL and move git-feed to a bin dir Jun 13, 2018
Build.PL add Build.PL and move git-feed to a bin dir Jun 13, 2018
COPYING initial commit - import from userland-book Oct 28, 2014
README.pod better docs Oct 28, 2014
sample_feed.xml sample feed Oct 28, 2014



git-feed - generate an Atom feed of git commits in the current repository


git-feed [ --project_url=... ]


I keep a lot of projects in git, and I like to provide feeds for things I'm working on. This script wraps git and XML::Atom::SimpleFeed to generate a basic Atom feed of commits. It tries to use information already available in the environment, but needs to be given a URL for your project (and probably for the feed itself).

It can be configured for a given repository by doing something like the following:

git config feed.projecturl https://p1k3.com/userland-book/
git config feed.url https://p1k3.com/userland-book/feed.xml
echo 'userland: a book about the command line for human beings' > .git/description

I have no idea whether this sort of thing is considered an acceptable use of git configuration, but it seems to work.

...or you can supply various options on the command line.


    Set a URL for the project.


    Set an explicit URL for the feed itself.


    Set an explicit title for the feed. Will otherwise be read from .git/description, if available.


    Explicitly request n entries. Defaults to 10.


    Explicitly set an author string. Defaults to git config's current idea of user.name.


git feed --project_url=https://p1k3.com/userland-book/ > feed.xml


I'll wrap this in a module and add a build script. For now, install XML::Atom::SimpleFeed first. I would probably do that either with:

cpanp -i XML::Atom::SimpleFeed


apt-get install libxml-atom-simplefeed-perl

...depending on which one gave me less static on a given system. I don't really know what I'm doing in the Perl ecosystem any more, though.


Brennen Bearnes <bbearnes@gmail.com>


This utility is free software, licensed under the terms of the GPL, v2. See COPYING for a complete copy of the license.