none
[openafs-wiki.git] / AFSLore / GitTools.mdwn
1 # <a name="Tooling required for git"></a> Tooling required for git
2
3 ## <a name="Release building script"></a> Release building script
4
5 Required for our first release (not switchover)
6
7 - Take SHA1 of tag point
8 - Need to tag tree
9 - But, need to have option to run without tagging
10 - Need to preserve difference between doc and source tree (generate tarballs for both)
11 - Generate diff between two tags
12 - Generates changelog from complete commit log on every patch
13
14 ## <a name="cvs commit emails"></a> cvs commit emails
15
16 Required for switchover
17
18 We need to preserve the existing cvs commits mailing list. A couple of ways of doing this have been proposed. Either get gerrit to CC the commit list with every "Change submitted" email that it sends, or set up a clone of the gerrit repository which has a commit hook that sends email. That clone would then be pushed to whenever gerrit makes a change, and would handle the sending of emails (and be the repo that end users pull from)
19
20 ## <a name="deltas"></a> deltas
21
22 Initial Hack required for switchover
23
24 Initial hack: Build a web page which takes the SHA1 of the commit, and the delta name to be applied, and runs git update-refs on the server.
25
26 Ideal solution: Add support to gerrit to prompt for the delta name as part of the submit action.
27
28 ## <a name="persistent repository clone in a"></a> persistent repository clone in afs
29
30 Not required for the switch
31
32 Build a persistent clone &amp; checkout of the master in AFS. Get gerrit and/or cron to keep this constantly up to date.
33
34 ## <a name="pullups"></a> pullups
35
36 Required for the switch
37
38 Write a script which takes the master delta name, the branch target, and cherrypicks the change to the branch. This should bypass gerrit if the cherrypick succeeds (This should probably use a different SSH key than the one normally used for head commits). For commits which require manual changes, there should be a choice between directly applying the massaged change to the branch, and submitting it via gerrit.
39
40 -- [[SimonWilkinson]] - 06 Jun 2009