So, trying to plan out a out what mails we want sent when changes get pushed to git.gnome.org. What's below is a rough proposal for the subject line and body for pretty much each possible of "ref" (branch or tag) update that might be made.
Each time you do 'git push' you can update multipe refs, so a single push might end out multiple emails. Would appreciate detailed feedback about the below, and how it would fit into your usage of [svn-]commits-list. - Owen Single commit to master ======================= Subject: [gnome-shell] Bug 570579: Redo the layout of overlay components <output of git show -p --stat> The idea here is to keep the common case of a single commit to master as clean as possible. Single commit to another branch =============================== Subject: [gnome-shell/gnome-2-28] Bug 570579: Redo the layout of overlay components <output of git show -p --stat> The only difference from the commit to master is the subject line. Should there be something in the body as well? Multiple commits ================ Subject: [gnome-shell] (3 commits) Merge branch 'statusmenu'... Summary of changes: b7a0a5e... Merge branch 'statusmenu' de1c150... Add librsvg-devel to the OpenSuSE dependency list <output of git show -p --stat for each commit> The detailed 'git show' output would be omitted for any commit "previously in the repository". "previously in the repository" is actually impossible to figure out 100% reliably, but you can do a reasonable job as long as you aren't concerned that someone determined could fake it out. Another possibility is that we want to send out separate mails for each commit in a case like the above, and never have multiple patches combined into a single mail. So, you might have mails Subject: [gnome-shell] [1/3] Add librsvg-devel to the OpenSuSE dependency list ... Subject: [gnome-shell] [3/3] Merge branch 'statusmenu'... Though I'm not quite sure how to properly represent the relationship between the commits in the mails. Branch creation ================ Subject: [gnome-shell] Created branch statusmenu Summary of new commits: 2d3988c... Bug 570579: Redo the layout of overlay components de1c150... Add librsvg-devel to the OpenSuSE dependency list <output of git show -p --stat for each commit> Branch deletion =============== Subject: [gnome-shell] Deleted branch statusmenu The branch 'statusmenu' was deleted. Non fast-forward update to branch ================================= Subject: [gnome-shell] Non-fast-forward updated to branch master The branch 'master' was changed in a way that was not a fast-forward update. This may cause problems for people pulling from the branch. For more information, please see: http://live.gnome.org/GitNonFastForward Commits removed from the branch: 2d3988c... Bug 570579: Redo the layout of overlay components de1c150... Add librsvg-devel to the OpenSuSE dependency list Commits added to the branch: 85dae56... Bug 571203 - Handle spaces in overlay search <output of git show -p --stat for each new commit> Maybe we just hard forbid this in all cases, but it might make sense to allow as a (sysadmin-only?) option in recovery-from-stupidity cases. If someone acccidentally merges a huge experimental branch to master and pushes it, it's probably better to cause a bit of temporary pain for people who pulled the bad version. Annotated tag created ===================== Subject: [gnome-shell] Created tag GNOME_SHELL_2_28_0 The tag 'GNOME_SHELL_2_28_0' was created. Tagger: Owen W. Taylor <[email protected]> Date: Thu Jan 29 18:36:24 2009 -0500 Release gnome-shell-2.28 Changes since the last tag 'GNOME-2.25.90': 2d3988c... Bug 570579: Redo the layout of overlay components de1c150... Add librsvg-devel to the OpenSuSE dependency list ... Annotated tag updated ===================== Subject: [gnome-shell] Created tag GNOME_SHELL_2_28_0 The tag 'GNOME_SHELL_2_28_0' was replaced with a new tag. It previously pointed to: de1c150... Add librsvg-devel to the OpenSuSE dependency list New tag information: Tagger: Owen W. Taylor <[email protected]> Date: Thu Jan 29 18:36:24 2009 -0500 ------- Message ------- Release gnome-shell-2.28 ----------------------- Changes since the last tag 'GNOME-2.25.90': 2d3988c... Bug 570579: Redo the layout of overlay components de1c150... Add librsvg-devel to the OpenSuSE dependency list ... Annotated tag deleted ===================== Subject: [gnome-shell] Deleted tag GNOME_SHELL_2_28_0 The tag 'GNOME_SHELL_2_28_0' was deleted. It previously pointed to: de1c150... Add librsvg-devel to the OpenSuSE dependency list Lightweight tag created ======================= Subject: [gnome-shell] Created tag GNOME_SHELL_2_28_0 The lightweight tag 'GNOME_SHELL_2_28_0' was created pointing to: 2d3988c... Bug 570579: Redo the layout of overlay components Lightweight tag updated ======================= Subject: [gnome-shell] Updated tag GNOME_SHELL_2_28_0 The lightweight tag 'GNOME_SHELL_2_28_0' updated to point to: de1c150... Add librsvg-devel to the OpenSuSE dependency list Lightweight tag deleted ======================= Subject: [gnome-shell] Deleted tag GNOME_SHELL_2_28_0 The lightweight tag 'GNOME_SHELL_2_28_0' was deleted. It previously pointed to: de1c150... Add librsvg-devel to the OpenSuSE dependency list Anything else ============= Subject: [gnome-shell] Update to refs/weirdref/foo refs/weirdref/foo was updated: Old: 0000000000000000000000000000000000000000 New: 6ccdd4bfa29612137c3e6ea56ca2e925158e2ccf Things falling into this: - Deleting an invalid reference that points to nowhere (maybe should be special cased) x Pushing a remote tracking branch (refs/remotes/*) to the server x Creating a reference not in refs/heads or refs/tags x Tagging something not a commit or tag object - Bugs in git - Bugs in the mail script The things marked 'x' should be blocked in the pre-push checks. _______________________________________________ Gnome-infrastructure mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-infrastructure
