{"thread":{"id":"32758","subject":"A note from the maintainer","startedAt":"2013-01-28T20:48:19Z","lastAt":"2013-01-28T20:48:19Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"208119","messageId":"7v38xlvxt8.fsf@alter.siamese.dyndns.org","threadId":"32758","inReplyTo":null,"subject":"A note from the maintainer","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-01-28T20:48:19Z","receivedAt":"2013-01-28T20:48:19Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Welcome to the Git development community.\n\nThis message is written by the maintainer and talks about how Git\nproject is managed, and how you can work with it.\n\n* Mailing list and the community\n\nThe development is primarily done on the Git mailing list. Help\nrequests, feature proposals, bug reports and patches should be sent to\nthe list address <git@vger.kernel.org>.  You don't have to be\nsubscribed to send messages.  The convention on the list is to keep\neverybody involved on Cc:, so it is unnecessary to say \"Please Cc: me,\nI am not subscribed\".\n\nBefore sending patches, please read Documentation/SubmittingPatches\nand Documentation/CodingGuidelines to familiarize yourself with the\nproject convention.\n\nIf you sent a patch and you did not hear any response from anybody for\nseveral days, it could be that your patch was totally uninteresting,\nbut it also is possible that it was simply lost in the noise.  Please\ndo not hesitate to send a reminder message in such a case.  Messages\ngetting lost in the noise is a sign that people involved don't have\nenough mental/time bandwidth to process them right at the moment, and\nit often helps to wait until the list traffic becomes calmer before\nsending such a reminder.\n\nThe list archive is available at a few public sites:\n\n        http://news.gmane.org/gmane.comp.version-control.git/\n        http://marc.theaimsgroup.com/?l=git\n        http://www.spinics.net/lists/git/\n\nFor those who prefer to read it over NNTP (including the maintainer):\n\n        nntp://news.gmane.org/gmane.comp.version-control.git\n\nWhen you point at a message in a mailing list archive, using\ngmane is often the easiest to follow by readers, like this:\n\n        http://thread.gmane.org/gmane.comp.version-control.git/27/focus=217\n\nas it also allows people who subscribe to the mailing list as gmane\nnewsgroup to \"jump to\" the article.\n\nSome members of the development community can sometimes also be found\non the #git IRC channel on Freenode.  Its log is available at:\n\n        http://colabti.org/irclogger/irclogger_log/git\n\n* Reporting bugs\n\nWhen you think git does not behave as you expect, please do not stop\nyour bug report with just \"git does not work\".  \"I used git in this\nway, but it did not work\" is not much better, neither is \"I used git\nin this way, and X happend, which is broken\".  It often is that git is\ncorrect to cause X happen in such a case, and it is your expectation\nthat is broken. People would not know what other result Y you expected\nto see instead of X, if you left it unsaid.\n\nPlease remember to always state\n\n - what you wanted to achieve;\n\n - what you did (the version of git and the command sequence to reproduce\n   the behavior);\n\n - what you saw happen (X above);\n\n - what you expected to see (Y above); and\n\n - how the last two are different.\n\nSee http://www.chiark.greenend.org.uk/~sgtatham/bugs.html for further\nhints.\n\n* Repositories, branches and documentation.\n\nMy public git.git repositories are at:\n\n        git://git.kernel.org/pub/scm/git/git.git/\n\tgit://repo.or.cz/alt-git.git/\n\thttps://github.com/git/git/\n\thttps://code.google.com/p/git-core/\n\tgit://git.sourceforge.jp/gitroot/git-core/git.git/\n\tgit://git-core.git.sourceforge.net/gitroot/git-core/git-core/\n\nA few gitweb interfaces are found at:\n\n        http://git.kernel.org/?p=git/git.git\n        http://repo.or.cz/w/alt-git.git\n\nPreformatted documentation from the tip of the \"master\" branch can be\nfound in:\n\n        git://git.kernel.org/pub/scm/git/git-{htmldocs,manpages}.git/\n        git://repo.or.cz/git-{htmldocs,manpages}.git/\n        https://code.google.com/p/git-{htmldocs,manpages}.git/\n        https://github.com/gitster/git-{htmldocs,manpages}.git/\n\nYou can browse the HTML manual pages at:\n\n\thttp://git-htmldocs.googlecode.com/git/git.html\n\nThere are four branches in git.git repository that track the source tree\nof git: \"master\", \"maint\", \"next\", and \"pu\".\n\nThe \"master\" branch is meant to contain what are very well tested and\nready to be used in a production setting.  Every now and then, a\n\"feature release\" is cut from the tip of this branch and they\ntypically are named with three dotted decimal digits.  The last such\nrelease was 1.8.1 done on Dec 31, 2012 (or Jan 1, 2013, depending on\nwhere you were when it happened). You can expect that the tip of the\n\"master\" branch is always more stable than any of the released\nversions.\n\nWhenever a feature release is made, \"maint\" branch is forked off from\n\"master\" at that point.  Obvious, safe and urgent fixes after a feature\nrelease are applied to this branch and maintenance releases are cut from\nit.  The maintenance releases are named with four dotted decimal, named\nafter the feature release they are updates to; the last such release was\n1.8.1.2.  New features never go to this branch.  This branch is also\nmerged into \"master\" to propagate the fixes forward as needed.\n\nA new development does not usually happen on \"master\". When you send a\nseries of patches, after review on the mailing list, a separate topic\nbranch is forked from the tip of \"master\" and your patches are queued\nthere, and kept out of \"master\" while people test it out. The quality of\ntopic branches are judged primarily by the mailing list discussions.\n\nTopic branches that are in good shape are merged to the \"next\" branch. In\ngeneral, the \"next\" branch always contains the tip of \"master\".  It might\nnot be quite rock-solid, but is expected to work more or less without major\nbreakage. The \"next\" branch is where new and exciting things take place. A\ntopic that is in \"next\" is expected to be polished to perfection before it\nis merged to \"master\".\n\nThe \"pu\" (proposed updates) branch bundles all the remaining topic branches.\nThe topics on the branch are not complete, well tested, nor well documented\nand need further work. When a topic that was in \"pu\" proves to be in a\ntestable shape, it is merged to \"next\".\n\nYou can run \"git log --first-parent master..pu\" to see what topics are\ncurrently in flight.  Sometimes, an idea that looked promising turns out\nto be not so good and the topic can be dropped from \"pu\" in such a case.\n\nThe two branches \"master\" and \"maint\" are never rewound, and \"next\"\nusually will not be either.  After a feature release is made from\n\"master\", however, \"next\" will be rebuilt from the tip of \"master\"\nusing the topics that didn't make the cut in the feature release.\n\nNote that being in \"next\" is not a guarantee to appear in the next\nrelease, nor even in any future release.  There were cases that topics\nneeded reverting a few commits in them before graduating to \"master\",\nor a topic that already was in \"next\" was reverted from \"next\" because\nfatal flaws were found in it after it was merged.\n\n\n* Other people's trees, trusted lieutenants and credits.\n\nDocumentation/SubmittingPatches outlines to whom your proposed changes\nshould be sent.  As described in contrib/README, I would delegate fixes\nand enhancements in contrib/ area to the primary contributors of them.\n\nAlthough the following are included in git.git repository, they have their\nown authoritative repository and maintainers:\n\n - git-gui/ comes from git-gui project, maintained by Pat Thoyts:\n\n        git://repo.or.cz/git-gui.git\n\n - gitk-git/ comes from Paul Mackerras's gitk project:\n\n        git://ozlabs.org/~paulus/gitk\n\n - po/ comes from the localization coordinator, Jiang Xin:\n\n\thttps://github.com/git-l10n/git-po/\n\nI would like to thank everybody who helped to raise git into the current\nshape.  Especially I would like to thank the git list regulars whose help\nI have relied on and expect to continue relying on heavily:\n\n - Linus Torvalds, Shawn Pearce, Johannes Schindelin, Nicolas Pitre,\n   René Scharfe, Jeff King, Jonathan Nieder, Johan Herland, Johannes\n   Sixt, Sverre Rabbelier, Michael J Gruber, Nguyễn Thái Ngọc Duy,\n   Ævar Arnfjörð Bjarmason and Thomas Rast for helping with general\n   design and implementation issues and reviews on the mailing list.\n\n - Shawn and Nicolas Pitre for helping with packfile design and\n   implementation issues.\n\n - Martin Langhoff, Frank Lichtenheld and Ævar Arnfjörð Bjarmason for\n   cvsserver and cvsimport.\n\n - Paul Mackerras for gitk.\n\n - Eric Wong, David D. Kilzer and Sam Vilain for git-svn.\n\n - Simon Hausmann, Pete Wyckoff and Luke Diamond for git-p4.\n\n - Jakub Narebski, John Hawley, Petr Baudis, Luben Tuikov, Giuseppe\n   Bilotta for maintaining and enhancing gitweb.\n\n - Ævar Arnfjörð Bjarmason for kicking off the i18n effort, and Jiang\n   Xin for volunteering to be the l10n coordinator.\n\n - Jens Lehmann, Heiko Voigt and Lars Hjemli for submodule related\n   Porcelains.\n\n - J. Bruce Fields, Jonathan Nieder, Michael J Gruber and Thomas Rast for\n   documentation (and countless others for proofreading and fixing).\n\n - Alexandre Julliard for Emacs integration.\n\n - David Aguilar and Charles Bailey for taking good care of git-mergetool\n   (and Theodore Ts'o for creating it in the first place) and git-difftool.\n\n - Johannes Schindelin, Johannes Sixt, Erik Faye-Lund, Pat Thoyts and others\n   for their effort to move things forward on the Windows front.\n\n - People on non-Linux platforms for keeping their eyes on portability;\n   especially, Randal Schwartz, Theodore Ts'o, Jason Riedy, Thomas Glanzmann,\n   Brandon Casey, Jeff King, Alex Riesen and countless others.\n"}]}