What's cooking (2015/05 #04)
[alt-git.git] / MaintNotes
blob57abf8986e788058a3bd3068631eeaf2c8b8b668
1 Subject: A note from the maintainer
3 Welcome to the Git development community.
5 This message is written by the maintainer and talks about how Git
6 project is managed, and how you can work with it.
8 * Mailing list and the community
10 The development is primarily done on the Git mailing list. Help
11 requests, feature proposals, bug reports and patches should be sent to
12 the list address <git@vger.kernel.org>.  You don't have to be
13 subscribed to send messages.  The convention on the list is to keep
14 everybody involved on Cc:, so it is unnecessary to say "Please Cc: me,
15 I am not subscribed".
17 Before sending patches, please read Documentation/SubmittingPatches
18 and Documentation/CodingGuidelines to familiarize yourself with the
19 project convention.
21 If you sent a patch and you did not hear any response from anybody for
22 several days, it could be that your patch was totally uninteresting,
23 but it also is possible that it was simply lost in the noise.  Please
24 do not hesitate to send a reminder message in such a case.  Messages
25 getting lost in the noise may be a sign that those who can evaluate
26 your patch don't have enough mental/time bandwidth to process them
27 right at the moment, and it often helps to wait until the list traffic
28 becomes calmer before sending such a reminder.
30 The list archive is available at a few public sites:
32         http://news.gmane.org/gmane.comp.version-control.git/
33         http://marc.theaimsgroup.com/?l=git
34         http://www.spinics.net/lists/git/
36 For those who prefer to read it over NNTP:
38         nntp://news.gmane.org/gmane.comp.version-control.git
40 When you point at a message in a mailing list archive, using
41 gmane is often the easiest to follow by readers, like this:
43         http://thread.gmane.org/gmane.comp.version-control.git/27/focus=217
45 as it also allows people who subscribe to the mailing list as gmane
46 newsgroup to "jump to" the article.
48 Some members of the development community can sometimes be found on
49 the #git and #git-devel IRC channels on Freenode.  Their logs are
50 available at:
52         http://colabti.org/irclogger/irclogger_log/git
53         http://colabti.org/irclogger/irclogger_log/git-devel
55 There is a volunteer-run newsletter to serve our community (visit
56 http://git.github.io/ to find "Git Rev News").  If you want to help
57 its publication, please contact Christian and/or Thomas.
59 Git is a member project of software freedom conservancy, a non-profit
60 organization (https://sfconservancy.org/).  To reach a committee of
61 liaisons to the conservancy, contact them at <git@sfconservancy.org>.
64 * Reporting bugs
66 When you think git does not behave as you expect, please do not stop
67 your bug report with just "git does not work".  "I used git in this
68 way, but it did not work" is not much better, neither is "I used git
69 in this way, and X happend, which is broken".  It often is that git is
70 correct to cause X happen in such a case, and it is your expectation
71 that is broken. People would not know what other result Y you expected
72 to see instead of X, if you left it unsaid.
74 Please remember to always state
76  - what you wanted to achieve;
78  - what you did (the version of git and the command sequence to reproduce
79    the behavior);
81  - what you saw happen (X above);
83  - what you expected to see (Y above); and
85  - how the last two are different.
87 See http://www.chiark.greenend.org.uk/~sgtatham/bugs.html for further
88 hints.
90 If you think you found a security-sensitive issue and want to disclose
91 it to us without announcing it to wider public, please contact us at
92 our security mailing list <git-security@googlegroups.com>.
95 * Repositories, branches and documentation.
97 My public git.git repositories are at:
99         git://git.kernel.org/pub/scm/git/git.git/
100         https://kernel.googlesource.com/pub/scm/git/git
101         git://repo.or.cz/alt-git.git/
102         https://github.com/git/git/
103         https://code.google.com/p/git-core/
104         git://git.sourceforge.jp/gitroot/git-core/git.git/
105         git://git-core.git.sourceforge.net/gitroot/git-core/git-core/
107 A few web interfaces are found at:
109         http://git.kernel.org/?p=git/git.git
110         https://kernel.googlesource.com/pub/scm/git/git
111         http://repo.or.cz/w/alt-git.git
113 Preformatted documentation from the tip of the "master" branch can be
114 found in:
116         git://git.kernel.org/pub/scm/git/git-{htmldocs,manpages}.git/
117         git://repo.or.cz/git-{htmldocs,manpages}.git/
118         https://code.google.com/p/git-{htmldocs,manpages}.git/
119         https://github.com/gitster/git-{htmldocs,manpages}.git/
121 Also GitHub shows the manual pages formatted in HTML (with a
122 formatting backend different from the one that is used to create the
123 above) at:
125         http://git-scm.com/docs/git
127 There are four branches in git.git repository that track the source tree
128 of git: "master", "maint", "next", and "pu".
130 The "master" branch is meant to contain what are very well tested and
131 ready to be used in a production setting.  Every now and then, a
132 "feature release" is cut from the tip of this branch.  They used to be
133 named with three dotted decimal digits (e.g. "1.8.5"), but recently we
134 switched the versioning scheme and "feature releases" are named with
135 three-dotted decimal digits that ends with ".0" (e.g. "1.9.0").
137 The last such release was 2.4.0 done on Apr 30th, 2015. You can expect
138 that the tip of the "master" branch is always more stable than any of
139 the released versions.
141 Whenever a feature release is made, "maint" branch is forked off from
142 "master" at that point.  Obvious, safe and urgent fixes after a
143 feature release are applied to this branch and maintenance releases
144 are cut from it.  The maintenance releases used to be named with four
145 dotted decimal, named after the feature release they are updates to
146 (e.g. "1.8.5.1" was the first maintenance release for "1.8.5" feature
147 release).  These days, maintenance releases are named by incrementing
148 the last digit of three-dotted decimal name (e.g. "2.3.4" is the
149 fourth maintenance release for the "2.3" series).
151 New features never go to the 'maint' branch.  This branch is also
152 merged into "master" to propagate the fixes forward as needed.
154 A new development does not usually happen on "master". When you send a
155 series of patches, after review on the mailing list, a separate topic
156 branch is forked from the tip of "master" and your patches are queued
157 there, and kept out of "master" while people test it out. The quality of
158 topic branches are judged primarily by the mailing list discussions.
160 Topic branches that are in good shape are merged to the "next" branch. In
161 general, the "next" branch always contains the tip of "master".  It might
162 not be quite rock-solid, but is expected to work more or less without major
163 breakage. The "next" branch is where new and exciting things take place. A
164 topic that is in "next" is expected to be polished to perfection before it
165 is merged to "master".
167 The "pu" (proposed updates) branch bundles all the remaining topic
168 branches the maintainer happens to have.  There is no guarantee that
169 the maintainer has enough bandwidth to pick up any and all topics that
170 are remotely promising from the list traffic, so please do not read
171 too much into a topic being on (or not on) the "pu" branch.  This
172 branch is mainly to remind the maintainer that the topics in them may
173 turn out to be interesting when they are polished, nothing more.  The
174 topics on this branch aren't usually complete, well tested, or well
175 documented and they often need further work.  When a topic that was
176 in "pu" proves to be in a testable shape, it is merged to "next".
178 You can run "git log --first-parent master..pu" to see what topics are
179 currently in flight.  Sometimes, an idea that looked promising turns out
180 to be not so good and the topic can be dropped from "pu" in such a case.
182 The two branches "master" and "maint" are never rewound, and "next"
183 usually will not be either.  After a feature release is made from
184 "master", however, "next" will be rebuilt from the tip of "master"
185 using the topics that didn't make the cut in the feature release.
187 Note that being in "next" is not a guarantee to appear in the next
188 release, nor even in any future release.  There were cases that topics
189 needed reverting a few commits in them before graduating to "master",
190 or a topic that already was in "next" was reverted from "next" because
191 fatal flaws were found in it after it was merged to "next".
194 * Other people's trees, trusted lieutenants and credits.
196 Documentation/SubmittingPatches outlines to whom your proposed changes
197 should be sent.  As described in contrib/README, I would delegate fixes
198 and enhancements in contrib/ area to the primary contributors of them.
200 Although the following are included in git.git repository, they have their
201 own authoritative repository and maintainers:
203  - git-gui/ comes from git-gui project, maintained by Pat Thoyts:
205         git://repo.or.cz/git-gui.git
207  - gitk-git/ comes from Paul Mackerras's gitk project:
209         git://ozlabs.org/~paulus/gitk
211  - po/ comes from the localization coordinator, Jiang Xin:
213         https://github.com/git-l10n/git-po/