From: Josh Triplett <josh@joshtriplett.org>
To: Michael J Gruber <git@drmicha.warpmail.net>
Cc: git@vger.kernel.org
Subject: Re: Pretty format specifier for commit count?
Date: Mon, 19 Jan 2015 17:17:25 -0800 [thread overview]
Message-ID: <20150120011724.GA1944@thin> (raw)
In-Reply-To: <54BD0C85.1070001@drmicha.warpmail.net>
On Mon, Jan 19, 2015 at 02:54:13PM +0100, Michael J Gruber wrote:
> Josh Triplett schrieb am 19.01.2015 um 02:29:
> > I'd like to use git-log to generate a Debian changelog file (with one
> > entry per commit), which has entries like this:
> >
> > package-name (version-number) unstable; urgency=low
> >
> > * ...
> >
> > -- Example Person <person@example.org> RFC822-date
> >
> > Since I'm intentionally generating one entry per commit, I can generate
> > *almost* all of this with git log:
> >
> > git log --pretty='format:packagename (FIXME) unstable; urgency=low%n%n * %s%n%w(0,4,4)%+b%w(0,0,0)%n -- %an <%ae> %aD%n'
> >
> > This produces entries like this:
> >
> > packagename (FIXME) unstable; urgency=low
> >
> > * Example change
> >
> > Long description of example change.
> >
> > -- Josh Triplett <josh@joshtriplett.org> Thu, 8 Jan 2015 16:36:52 -0800
> >
> > packagename (FIXME) unstable; urgency=low
> >
> > * Initial version
> >
> > -- Josh Triplett <josh@joshtriplett.org> Thu, 8 Jan 2015 16:36:51 -0800
> >
> > Would it be possible to add a format specifier producing a commit count,
> > similar to that provided by git-describe? Such a specifier would allow
> > filling in the version number in the format above (replacing the FIXME).
> > (Note that the version numbers need to monotonically increase; otherwise
> > I would just use the commit hash as the version numer.)
> >
> > - Josh Triplett
> >
>
> Can you be a bit more specific about the type count that you are after?
> "git describe" counts commits since the most recent tag (possibly within
> a specific subset of all tags). Is that your desired format?
That might work, since the repository in question has no tags; I'd
actually like "commits since root commit".
I could imagine scenarios in which both "most recent tag" and "commits
since most recent tag" would be useful format specifiers; however, for
this use case, I'm looking for "commits since root commit".
> (I won't suggest scripting around rev-list, describe and log -1 because
> you know that already...)
Right. Though as far as I can tell, git describe doesn't actually do
what I'm looking for. rev-list --count $commit does (though that'd be
N**2), as would something like rev-list --reverse HEAD | nl | while read
count hash ; do ..., but I'd like to do better than that.
- Josh Triplett
next prev parent reply other threads:[~2015-01-20 1:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-19 1:29 Pretty format specifier for commit count? Josh Triplett
2015-01-19 13:54 ` Michael J Gruber
2015-01-20 1:17 ` Josh Triplett [this message]
2015-01-20 21:49 ` Jeff King
2015-01-20 23:11 ` josh
2015-01-22 10:10 ` Michael J Gruber
2015-01-22 12:52 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150120011724.GA1944@thin \
--to=josh@joshtriplett.org \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.