Git repository mail notifications

Geert Janssens janssens-geert at telenet.be
Tue May 28 09:36:15 EDT 2013


You may have noticed that the mail notifications for gnucash-htdocs have a new format with 
the repository switched to pure git.

The new notifications are generated by a script I found on the internet with some gnucash 
project-specific modifications. Most of the format has been discussed before on this list.

As we are now using it for the first time on a live, pure git repo some small new things have 
come up which I would like to point out and ask feedback on.

1. There seems to be an encoding issue somewhere. This is visible in the notification mail for 
the "svn_last" tag I generated:
Andreas Köhler is displayed as Andreas Köhler
I'll see if I can fix this.

2. I created a tag "svn_last" to mark the last commit in history that is still in sync with our 
now read-only svn repository. An unexpected side effect of this is that each subsequent 
notification message now starts with this tag in the subject line. Before, the subject started 
with the last commit's hashref.
I do actually prefer the tag usage. It gives an idea of what base the commit is starting from. 
On the other hand "svn_last" is not really descriptive for the current state of the website. So I 
probably should add two more tags (on on the master branch and one on the beta branch). 
I'm just wondering what would make sensible tags for the website ? We don't really do 
"releases" there. So a v2.4.x doesn't really make sense. What would ? "stable" ? "prod" ? 
"main" ? ...

3. Similar things will happen when we fully migrate gnucash and gnucash-docs to git. Both 
repositories already have a number of tags (for each release), but due to the way the svn-git 
bridge works none of these tags is actually on the trunk of 2.4 branch. Instead each tag is a 
separate branch with one commit and the (git) tag attached to it. In itself this doesn't really 
matter.

4. But it will affect the first real tags we add to the pure git repository. My understanding of 
the notification script is that when we add a tag to the repo it will search for the most recent 
previous tag on the same branch. It will then summarize the changes since that tag. Again, 
due to how the git-svn bridge works, we don't have any tags (yet) on our primary 
development branch (trunk/master). So the summary will be monstrous: all commits starting 
from the very first commit in cvs will be in there. I've seen this happen with each release 
since I added the git notification script (I had set up the system to send mails to me privatly). 
To avoid that, I would propose to add initial tags to each branch we consider active once we 
fully switch to git. At the minimum, we should add a tag for the most recent release on the 
trunk branch. That will likely be a future 2.5.x release or the 2.6 release (depending on when 
we do the last release of the 2.4 series). The one caveat: we can't add the same tag to two 
different commits. So if we want to tag releases that are tagged in svn as well, we can't use 
the same tag name. I don't know what would be best, but this is something we should keep in 
mind when we fully switch to git.

Geert


More information about the gnucash-devel mailing list