2009/6/17 Michael G Schwern <schw...@pobox.com>: > Eric Wilhelm wrote: >> # from Michael G Schwern >> # on Saturday 13 June 2009 21:33: >> >>> +MAX_INT >>> >>> I can do it, I've done it often enough and I think the MB repo is >>> pretty simple >> >> My concern is still for the release process. I need to be able to >> easily pull a sequential log of commit messages since the last release >> tag > > List all tags: > git tag -l
-l is optional. > > Get the latest tag: > git describe --abbrev=0 --tags > > Show all changes from a $tag to now: > git log $tag..HEAD add -p for the diff. > > >> (to check/update the Changes file) and the release tool needs to >> know how to: >> >> 1. verify that the working directory is current *and* committed > > svn up git pull > > svn st git status (returns non-zero if nothing to commit) Note that this wont show unadded files. You need to be more creative then, and its actually a pita, unless you have a trick. In which case share. :-) > Check that you're on the master branch: > `git describe --all` eq "heads/master\n" Neat. Didnt know that one. :-) Although it assumes that the master branch is master, which it may not be, and does not have to be. > > >> 2. create a tag > > svn cp repo/trunk repo/tags/$tag git tag $tag -m 'Optional message' Er, be careful here. if you omit the -m then you create a lite tag not meant for sharing. If you want to create a real tag without -m you need the -a (-m implies -a) > > >> (and all of this needs to be atomically/cleanly sync'd to the "global" >> repository before sending a tarball to the CPAN) > > git push origin git push, dont make assumptions about what the upstream repo is called. Cheers, yves -- perl -Mre=debug -e "/just|another|perl|hacker/"