Gentoo Archives: gentoo-dev

From: Nirbheek Chauhan <nirbheek@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [git migration] Proposition for tags supported by git hooks
Date: Tue, 06 Apr 2010 08:01:01
Message-Id: l2r8b4c83ad1004060100g38e1376dh6f95311f1d7824b3@mail.gmail.com
In Reply to: Re: [gentoo-dev] [git migration] Proposition for tags supported by git hooks by Maciej Mrozowski
1 On Tue, Apr 6, 2010 at 12:58 PM, Maciej Mrozowski <reavertm@×××××.com> wrote:
2 >> ========
3 >> Solutions:
4 >> ========
5 >> * Do not re-generate the existing ChangeLog; rather make the ChangeLog
6 >> generation script smart enough to only append
7 >>   - Solves the "messages not same" problem for existing commits
8 >
9 > I don't think its' good idea, changelog should reflect state of remote
10 > repository, not the state of local clone. Besides storing Changelog is simply
11 > redundant and would increase repository size unnecessarily. It already
12 > increases rsync size considerably.
13 >
14
15 I think you've misunderstood this; ChangeLog appending would be done
16 entirely on the rsync server side. ChangeLog would be irrelevant for
17 the local clone. Also, the content of the old ChangeLog would anyway
18 already be in the history; so it doesn't take much space locally.
19
20 >> * Use a separator in the commit message like "== \n" to denote that
21 >> everything after this is dev-only information and should be skipped
22 >> from the user ChangeLog
23 >>   - Solves the problem for people who like to add extra dev-only info
24 >> in the CVS commit message
25 >> * Ignore commits with "[$tag][trivial]" in the tag[2] from being added
26 >> to ChangeLog
27 >>   - Keeps the wishes of the developer and does not pollute ChangeLog
28 >> with such info
29 >
30 > Both would work fine, maybe tag syntax could be improved - certainly we want
31 > it error prone and relatively simple to use - I've moved it to separate
32 > subthread.
33 >
34
35 If you see the link "[2]" which was
36 http://live.gnome.org/Git/CommitMessages you'll see that by that tag;
37 I meant the one inside the subject itself. Tags in the commit message
38 however are a good idea that I haven't thought about, and are used
39 extensively in other projects :)
40
41 > Maybe something like this: (modeled a bit after KDE tags allowed in svn
42 > messages):
43 > Each entry in its own line in commit message:
44 >
45 > BUG: <bugnumber>
46 >        Marks the bug as RESO/FIXED, as comment adding full git commit message
47 >        with tags removed and just below gitweb URL corresponding to this
48 >        particular commit. For bugzilla, instead of full gitweb URL, maybe make
49 >        bugzilla aware of hashes in comments and expand gitweb links
50 >        automatically
51 >
52 > CCBUG: <bugnumber>
53 >        Adds comment to the bugreport containing full git commit message with
54 >        tags removed and just below gitweb URL corresponding to this particular
55 >        commit. For bugzilla, instead of full gitweb URL, maybe make
56 >        bugzilla aware of hashes in comments and expand gitweb links
57 >        automatically
58 >
59 > CCMAIL: <one-email-address>
60 >        Sends email to given address containing full git commit message with
61 >        tags removed and just below gitweb URL corresponding to this particular
62 >        commit
63 >
64 > SILENT:
65 >        Marks entire commit message as "silent" by adding "(silent)" to the
66 >        subject of the mail or adding some mail header to allow filtering out
67 >        trivial commits. (like those containing typo fixes in comments and
68 >        such). Such commits could also be skipped by ChangeLog generator.
69 >
70 > I specifically don't like [tag][sth] format, because I'd suggest to impose
71 > some guidelines to git commit messages:
72 > - put [$CATEGORY/$PN] in first line of commit message for git commits
73 >  related to packages
74 > - same with [$profile] for profiles or [package.mask] for p.mask,
75 > [eclass/$ECLASS] etc
76 >
77
78 ++, we do something similar in the gnome overlay, and this change is
79 *very* much required because commit messages in git are quite
80 different from CVS.
81
82 cat/pkg-ver: I changed foo because of bar
83 eclass/gnome2: Fix stupid USE=doc behaviour
84
85 What you're proposing is also covered in the same link:
86 http://live.gnome.org/Git/CommitMessages
87
88 On an offtopic note; I would love to see git bz[1] work with our
89 bugzilla once the migration is done ;)
90
91 1. http://blog.fishsoup.net/2009/09/05/git-bz-push/
92 --
93 ~Nirbheek Chauhan
94
95 Gentoo GNOME+Mozilla Team