user-manual: discourage shared repository
authorJ. Bruce Fields <bfields@citi.umich.edu>
Tue, 15 May 2007 04:30:58 +0000 (00:30 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Sat, 19 May 2007 05:00:45 +0000 (01:00 -0400)
I don't really want to look like we're encouraging the shared repository
thing. Take down some of the argument for using purely
single-developer-owned repositories and collaborating using patches and
pulls instead.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Documentation/user-manual.txt
index f4843f4e907f9467f6bbdfc519763d789bc20520..1ab3d4b87fb3f061cf7fdc11d188ace5de326795 100644 (file)
@@ -1857,6 +1857,27 @@ all push to and pull from a single shared repository.  See
 link:cvs-migration.txt[git for CVS users] for instructions on how to
 set this up.
 
+However, while there is nothing wrong with git's support for shared
+repositories, this mode of operation is not generally recommended,
+simply because the mode of collaboration that git supports--by
+exchanging patches and pulling from public repositories--has so many
+advantages over the central shared repository:
+
+       - Git's ability to quickly import and merge patches allows a
+         single maintainer to process incoming changes even at very
+         high rates.  And when that becomes too much, git-pull provides
+         an easy way for that maintainer to delegate this job to other
+         maintainers while still allowing optional review of incoming
+         changes.
+       - Since every developer's repository has the same complete copy
+         of the project history, no repository is special, and it is
+         trivial for another developer to take over maintenance of a
+         project, either by mutual agreement, or because a maintainer
+         becomes unresponsive or difficult to work with.
+       - The lack of a central group of "committers" means there is
+         less need for formal decisions about who is "in" and who is
+         "out".
+
 [[setting-up-gitweb]]
 Allowing web browsing of a repository
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~