MaintNotes: 2007-04-04 edition
Junio C Hamano committed
Apr 4, 2007 at 11:26 UTC
0ee949b815802b2f76096feddf922d2aeb4feffb
1 file changed
+48
-56
MaintNotes
+48
-56
@@ -1,23 +1,13 @@
1
-It has been a while since I sent this message out the last time,
2
-so it may be a good time to send it with updates again. There
3
-seem to be some new people on the git list, especially now the
4
-big release is out.
5
-
6
-This message talks about how git.git is managed, and how you can
7
-work with it.
8
-
1
+Now a new feature release is out, it's time to welcome new
2
+people to the list. This message talks about how git.git is
3
+managed, and how you can work with it.
4
5
* IRC and Mailing list
6
7
Many active members of development community hang around on #git
8
IRC channel. Its log is available at:
9
15
- http://colabti.de/irclogger/irclogger_logs/git
16
-
17
-[jc: Does anybody know a shortcut for "Today's" page on this
18
- site? It irritates me having to click the latest link on this
19
- page to get to the latest.]
20
-
10
+ http://colabti.de/irclogger/irclogger_log/git
11
12
The development however is primarily done on this mailing list
13
you are reading right now. If you have patches, please send
@@ -33,36 +23,35 @@ me.
23
24
The list archive is available at a few public sites as well:
25
36
- http://marc.theaimsgroup.com/?l=git
37
- http://news.gmane.org/gmane.comp.version-control.git
26
+ http://marc.theaimsgroup.com/?l=git
27
+ http://news.gmane.org/gmane.comp.version-control.git
28
29
and some people seem to prefer to read it over NNTP:
30
41
- nntp://news.gmane.org/gmane.comp.version-control.git
31
+ nntp://news.gmane.org/gmane.comp.version-control.git
32
33
34
* Repositories, branches and documentation.
35
36
My public git.git repository is at:
37
48
- git://git.kernel.org/pub/scm/git/git.git/
38
+ git://git.kernel.org/pub/scm/git/git.git/
39
40
This is mirrored at Pasky's site at
41
52
- git://repo.or.cz/git.git/
42
+ git://repo.or.cz/git.git/
43
44
but the first has a few hours mirroring delay after I publish
45
updates, and the latter, being a mirror of former, lags behind
46
it further. Immediately after I publish to the primary
47
repository at kernel.org, I also push into an alternate here:
48
59
- git://repo.or.cz/alt-git.git/
49
+ git://repo.or.cz/alt-git.git/
50
61
-Impatient people would have better lack with the last one (but
51
+Impatient people would have better luck with the last one (but
52
the last repository does not have "html", "man" and "todo"
53
branches, described next).
54
65
-
55
There are three branches in git.git repository that are not
56
about the source tree of git: "todo", "html" and "man". The
57
first one was meant to contain TODO list for me, but I am not
@@ -74,10 +63,10 @@ The "html" and "man" are autogenerated documentation from the
63
tip of the "master" branch; the tip of "html" is extracted to be
64
visible at kernel.org at:
65
77
- http://www.kernel.org/pub/software/scm/git/docs/
66
+ http://www.kernel.org/pub/software/scm/git/docs/
67
79
-Starting from 1.5.0, the top-level documentation page has links
80
-to documentation of older releases.
68
+The above URL is the top-level documentation page, and it has
69
+links to documentation of older releases.
70
71
The script to maintain these two documentation branches are
72
found in "todo" branch as dodoc.sh, if you are interested. It
@@ -87,37 +76,34 @@ a task.
76
There are four branches in git.git repository that track the
77
source tree of git: "master", "maint", "next", and "pu".
78
90
-The "master" branch is meant to contain what are reasonably
79
+The "master" branch is meant to contain what are very well
80
tested and ready to be used in a production setting. There
81
could occasionally be minor breakages or brown paper bag bugs
82
but they are not expected to be anything major. Every now and
83
then, a "feature release" is cut from the tip of this branch and
84
they typically are named with three dotted decimal digits. The
96
-last such release was v1.5.0 done on Feb 14th this year. The
97
-codename for that release is not "snog".
85
+last such release was v1.5.1 done on April 4th this year.
86
87
Whenever a feature release is made, "maint" branch is forked off
88
from "master" at that point. Obvious, safe and urgent fixes
89
after a feature release are applied to this branch and
90
maintenance releases are cut from it. The maintenance releases
103
-are typically named with four dotted decimal, named after the
104
-feature release they are updates to; the last such release was
105
-v1.4.4.4, and I am expecting to cut v1.5.0.1 sometime soon.
106
-Usually new development will never go to this branch. This
107
-branch is also merged into "master" to propagate the fixes
108
-forward.
91
+are named with four dotted decimal, named after the feature
92
+release they are updates to; the last such release was v1.5.0.7.
93
+New features never goes to this branch. This branch is also
94
+merged into "master" to propagate the fixes forward.
95
96
A trivial and safe enhancement goes directly on top of "master".
97
A new development, either initiated by myself or more often by
98
somebody who found his or her own itch to scratch, does not
113
-usually happen on "master", however. Instead, it is forked into
114
-a separate topic branch from the tip of "master", and first
99
+usually happen on "master", however. Instead, a separate topic
100
+branch is forked from the tip of "master", and it first is
101
tested in isolation; I may make minimum fixups at this point.
102
Usually there are a handful such topic branches that are running
103
ahead of "master" in git.git repository. I do not publish the
104
tip of these branches in my public repository, however, partly
105
to keep the number of branches that downstream developers need
120
-to worry about and primarily because I am lazy.
106
+to worry about low, and primarily because I am lazy.
107
108
I judge the quality of topic branches, taking advices from the
109
mailing list discussions. Some of them start out as "good idea
@@ -128,16 +114,18 @@ or less done and can now be tested by wider audience". Luckily,
114
most of them start out in the latter, better shape.
115
116
The "next" branch is to merge and test topic branches in the
131
-latter category. In general it should always contain the tip of
132
-"master". They might not be quite production ready, but are
133
-expected to work more or less without major breakage. I usually
134
-use "next" version of git for my own work, so it cannot be
135
-_that_ broken to prevent me from pushing the changes out.
117
+latter category. In general, the branch always contains the tip
118
+of "master". It might not be quite rock-solid production ready,
119
+but is expected to work more or less without major breakage. I
120
+usually use "next" version of git for my own work, so it cannot
121
+be _that_ broken to prevent me from pushing the changes out.
122
The "next" branch is where new and exciting things take place.
123
124
The above three branches, "master", "maint" and "next" are never
139
-rewound, so you should be able to safely track them (that means
140
-the topics that have been merged into "next" are not rebased).
125
+rewound, so you should be able to safely track them (this
126
+automatically means the topics that have been merged into "next"
127
+are not rebased, and you can find the tip of topic branches you
128
+are interested in out of "git log next" output).
129
130
The "pu" (proposed updates) branch bundles all the remainder of
131
topic branches. The "pu" branch, and topic branches that are
@@ -146,21 +134,27 @@ only in "pu", are subject to rebasing in general.
134
When a topic that was in "pu" proves to be in testable shape, it
135
graduates to "next". I do this with:
136
149
- git checkout next
137
+ git checkout next
138
git merge that-topic-branch
139
140
Sometimes, an idea that looked promising turns out to be not so
141
hot and the topic can be dropped from "pu" in such a case.
142
143
A topic that is in "next" is expected to be tweaked and fixed to
156
-perfection before it is merged to "master". However, being in
157
-"next" is not a guarantee to appear in the next release (being
158
-in "master" is such a guarantee, unless it is later found
159
-seriously broken and reverted), or even in any future release.
160
-There even were cases that topics needed a few reverting before
161
-graduating to "master", or a topic that already was in "next"
162
-were reverted from "next" because fatal flaws were found in them
163
-later.
144
+perfection before it is merged to "master". Similarly to the
145
+above I do it with this:
146
+
147
+ git checkout master
148
+ git merge that-topic-branch
149
+ git branch -d that-topic-branch
150
+
151
+However, being in "next" is not a guarantee to appear in the
152
+next release (being in "master" is such a guarantee, unless it
153
+is later found seriously broken and reverted), or even in any
154
+future release. There even were cases that topics needed a few
155
+reverting before graduating to "master", or a topic that already
156
+was in "next" were reverted from "next" because fatal flaws were
157
+found in them later.
158
159
Starting from v1.5.0, "master" and "maint" have release notes
160
for the next release in Documentation/RelNotes-* files, so that
@@ -185,7 +179,7 @@ have their own authoritative repository and maintainers:
179
180
gitk -- this file is maintained by Paul Packerras, at:
181
188
- git://git.kernel.org/pub/scm/gitk/gitk.git
182
+ git://git.kernel.org/pub/scm/gitk/gitk.git
183
184
I would like to thank everybody who helped to raise git into the
185
current shape. Especially I would like to thank the git list
@@ -208,5 +202,3 @@ relying on heavily:
202
- Jakub Narebski and Luben Tuikov on gitweb.
203
204
- J. Bruce Fields on documentaton issues.
211
-
212
-