Update MaintNotes

Junio C Hamano committed Feb 16, 2008 at 23:17 UTC 151d4dc932b765b285ec5674eab0878a8019b28f
2 files changed +159 -31
MaintNotes
+41 -31
@@ -1,6 +1,7 @@
1 -Now a new feature release is out, it's a good time to welcome new
2 -people to the list. This message talks about how git.git is managed,
3 -and how you can work with it.
1 +Welcome to git community.
2 +
3 +This message talks about how git.git is managed, and how you can work
4 +with it.
5
6 * IRC and Mailing list
7
@@ -9,9 +10,9 @@ IRC channel on Freenode. Its log is available at:
10
11 http://colabti.de/irclogger/irclogger_log/git
12
12 -The development however is primarily done on this mailing list
13 -you are reading right now. If you have patches, please send
14 -them to the list, following Documentation/SubmittingPatches.
13 +The development however is primarily done on the git mailing list
14 +(git@vger.kernel.org). If you have patches, please send them to the
15 +list, following Documentation/SubmittingPatches.
16
17 I usually try to read all patches posted to the list, and follow
18 almost all the discussions on the list, unless the topic is about an
@@ -59,7 +60,7 @@ Their gitweb interfaces are found at:
60 There are three branches in git.git repository that are not
61 about the source tree of git: "todo", "html" and "man". The
62 first one was meant to contain TODO list for me, but I am not
62 -good at maintaining such a list so it is not as often updated as
63 +good at maintaining such a list and it is not as often updated as
64 it could/should be. It also contains some helper scripts I use
65 to maintain git.
66
@@ -79,10 +80,10 @@ a task.
80
81 There are four branches in git.git repository that track the
82 source tree of git: "master", "maint", "next", and "pu". I may
82 -add more maintenance branches (e.g. "maint-1.5.1") if we have
83 +add more maintenance branches (e.g. "maint-1.5.3") if we have
84 hugely backward incompatible feature updates in the future to keep
85 an older release alive; I may not, but the distributed nature of
85 -git means any volunteer can run a stable-tree like that himself.
86 +git means any volunteer can run a stable-tree like that herself.
87
88 The "master" branch is meant to contain what are very well
89 tested and ready to be used in a production setting. There
@@ -91,7 +92,7 @@ but they are not expected to be anything major, and more
92 importantly quickly and trivially fixable. Every now and
93 then, a "feature release" is cut from the tip of this branch and
94 they typically are named with three dotted decimal digits. The
94 -last such release was v1.5.4 done on Feb 2nd this year. You
95 +last such release was 1.5.4 done on Feb 2nd this year. You
96 can expect that the tip of the "master" branch is always more
97 stable than any of the released versions.
98
@@ -100,7 +101,7 @@ from "master" at that point. Obvious, safe and urgent fixes
101 after a feature release are applied to this branch and
102 maintenance releases are cut from it. The maintenance releases
103 are named with four dotted decimal, named after the feature
103 -release they are updates to; the last such release was v1.5.3.8.
104 +release they are updates to; the last such release was 1.5.4.2.
105 New features never go to this branch. This branch is also
106 merged into "master" to propagate the fixes forward.
107
@@ -116,13 +117,13 @@ tip of these branches in my public repository, however, partly
117 to keep the number of branches that downstream developers need
118 to worry about low, and primarily because I am lazy.
119
119 -I judge the quality of topic branches, taking advices from the
120 -mailing list discussions. Some of them start out as "good idea
121 -but obviously is broken in some areas (e.g. breaks the existing
122 -testsuite)" and then with some more work (either by the original
123 -contributor or help from other people on the list) becomes "more
124 -or less done and can now be tested by wider audience". Luckily,
125 -most of them start out in the latter, better shape.
120 +The quality of topic branches are judged primarily by the mailing list
121 +discussions. Some of them start out as "good idea but obviously is
122 +broken in some areas (e.g. breaks the existing testsuite)" and then
123 +with some more work (either by the original contributor's effort or
124 +help from other people on the list) becomes "more or less done and can
125 +now be tested by wider audience". Luckily, most of them start out in
126 +the latter, better shape.
127
128 The "next" branch is to merge and test topic branches in the
129 latter category. In general, the branch always contains the tip
@@ -132,11 +133,19 @@ usually use "next" version of git for my own work, so it cannot
133 be _that_ broken to prevent me from pushing the changes out.
134 The "next" branch is where new and exciting things take place.
135
135 -The above three branches, "master", "maint" and "next" are never
136 -rewound, so you should be able to safely track them (this
137 -automatically means the topics that have been merged into "next"
138 -are never rebased, and you can find the tip of topic branches you
139 -are interested in from the output of "git log next").
136 +The two branches "master" and "maint" are never rewound, and
137 +"next" usually will not be either (this automatically means the
138 +topics that have been merged into "next" are usually not
139 +rebased, and you can find the tip of topic branches you are
140 +interested in from the output of "git log next"). You should be
141 +able to safely track them.
142 +
143 +After a feature release is made from "master", however, "next"
144 +will be rebuilt from the tip of "master" using the surviving
145 +topics. The commit that replaces the tip of the "next" will
146 +have the identical tree, but it will have different ancestry
147 +from the tip of "master". An announcement will be made to warn
148 +people about such a rebasing.
149
150 The "pu" (proposed updates) branch bundles all the remainder of
151 topic branches. The "pu" branch, and topic branches that are
@@ -186,14 +195,13 @@ of them.
195 Although the following are included in git.git repository, they
196 have their own authoritative repository and maintainers:
197
189 - git-gui/ -- this subdirectory comes from Shawn Pearce's git-gui
190 - project, which is found at:
198 + - git-gui/ comes from Shawn Pearce's git-gui project:
199
192 - git://repo.or.cz/git-gui.git
200 + git://repo.or.cz/git-gui.git
201
194 - gitk -- this file is maintained by Paul Mackerras, at:
202 + - gitk-git/ comes from Paul Mackerras's gitk project:
203
196 - git://git.kernel.org/pub/scm/gitk/gitk.git
204 + git://git.kernel.org/pub/scm/gitk/gitk.git
205
206 I would like to thank everybody who helped to raise git into the
207 current shape. Especially I would like to thank the git list
@@ -203,7 +211,7 @@ relying on heavily:
211 - Linus on general design issues.
212
213 - Linus, Shawn Pearce, Johannes Schindelin, Nicolas Pitre,
206 - Réne Scharfe and Jeff King on general implementation issues.
214 + René Scharfe and Jeff King on general implementation issues.
215
216 - Shawn and Nicolas Pitre on pack issues.
217
@@ -213,12 +221,14 @@ relying on heavily:
221
222 - Eric Wong on git-svn.
223
224 + - Simon Hausmann on git-p4.
225 +
226 - Jakub Narebski, Petr Baudis, and Luben Tuikov on gitweb.
227
228 - J. Bruce Fields on documentaton issues.
229
220 - - Johannes Schindelin and Johannes Sixt for their effort to
221 - move things forward on the Windows front. Although my
230 + - Johannes Schindelin, Johannes Sixt and others for their effort
231 + to move things forward on the Windows front. Although my
232 repository does not have much from the effort of MinGW team,
233 I expect a merge into mainline will happen so that everybody
234 can work from the same codebase.
genMaintNotes.perl new
+118
@@ -0,0 +1,118 @@
1 +#!/usr/bin/perl -w
2 +
3 +print <<'EOF' ;
4 +<html>
5 +<head>
6 +<style>
7 +div.inset {
8 +background: #aff;
9 +color: #888;
10 +margin-left: 10%;
11 +margin-top: 2em;
12 +margin-bottom: 2em;
13 +width: 60%;
14 +padding: 1.2em;
15 +}
16 +div.inset {
17 +color: #444;
18 +}
19 +div.inset a {
20 +color: #444;
21 +}
22 +div.inset a:hover {
23 +color: #00f;
24 +}
25 +h2 {
26 +text-decoration: underline;
27 +color: #888;
28 +}
29 +span.tt {
30 +font-family: monospace;
31 +}
32 +img#ohloh-badge, img#git {
33 +border: none;
34 +float: right;
35 +}
36 +</style>
37 +</head>
38 +<body>
39 +<img src="http://members.cox.net/junkio/git.png" id="git"
40 +width="80" height="80" />
41 +<h1>A Message from the Git Maintainer</h1>
42 +EOF
43 +
44 +sub show_links {
45 + local ($_) = @_;
46 + my $br = '';
47 + for (split(/\n/, $_)) {
48 + s/^\s*//;
49 + s/\s*\Z//;
50 + my $url = $_;
51 + my $comment = $_;
52 + $url =~ s/ .*//;
53 + if ($url =~ /^http:/) {
54 + print "$br<a href=\"$url\"\n>$comment</a>";
55 + } else {
56 + print "$br$comment";
57 + }
58 + $br = "<br />\n";
59 + }
60 + print "\n";
61 +}
62 +
63 +sub show_commands {
64 + local ($_) = @_;
65 + my $br = '';
66 + for (split(/\n/, $_)) {
67 + s/^\s*//;
68 + s/\s*\Z//;
69 + print "$br<span class=\"tt\">$_</span>";
70 + $br = "<br />\n";
71 + }
72 + print "\n";
73 +}
74 +
75 +my $in_ul;
76 +$/ = "";
77 +while (<>) {
78 + $_ =~ s/\n+$//s;
79 +
80 + if (/^ - /) {
81 + if (!$in_ul) {
82 + $in_ul = 1;
83 + print "<ul>\n";
84 + }
85 + s/^ - //;
86 + print "<li>$_</li>\n";
87 + next;
88 + }
89 +
90 + if ($in_ul) {
91 + $in_ul = undef;
92 + print "</ul>\n\n";
93 + }
94 +
95 + if (s/^\*\s*//) {
96 + print "<h2>$_</h2>\n\n";
97 + } elsif (s/^ {4,}//) {
98 + print "<div class=\"inset\">\n";
99 + if (/^(http|git|nntp):\/\//) {
100 + show_links($_);
101 + } else {
102 + show_commands($_);
103 + }
104 + print "</div>\n\n";
105 + } else {
106 + print "<p>$_</p>\n\n";
107 + }
108 +}
109 +
110 +print <<'EOF' ;
111 +<a href="http://www.ohloh.net/accounts/5439?ref=Detailed">
112 +<img height='35' width='191' id='ohloh-badge'
113 +src='http://www.ohloh.net/accounts/5439/widgets/account_detailed.gif'
114 +alt="ohloh profile for Junio C Hamano" />
115 +</a>
116 +</body>
117 +</html>
118 +EOF