hgbook
diff en/collab.tex @ 205:c76a3e2a600c
Brief update.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Mon Apr 23 13:52:15 2007 -0700 (2007-04-23) |
parents | 7b812c428074 |
children | 8b599dcca584 |
line diff
1.1 --- a/en/collab.tex Thu Apr 05 23:28:06 2007 -0700 1.2 +++ b/en/collab.tex Mon Apr 23 13:52:15 2007 -0700 1.3 @@ -257,6 +257,35 @@ 1.4 of development is astounding. And yet Linux is a highly successful, 1.5 well-regarded piece of software. 1.6 1.7 +\subsection{Pull-only versus shared-push collaboration} 1.8 + 1.9 +A perpetual source of heat in the open source community is whether a 1.10 +development model in which people only ever pull changes from others 1.11 +is ``better than'' one in which multiple people can push changes to a 1.12 +shared repository. 1.13 + 1.14 +Typically, the backers of the shared-push model use tools that 1.15 +actively enforce this approach. If you're using a centralised 1.16 +revision control tool such as Subversion, there's no way to make a 1.17 +choice over which model you'll use: the tool gives you shared-push, 1.18 +and if you want to do anything else, you'll have to roll your own 1.19 +approach on top (such as applying a patch by hand). 1.20 + 1.21 +A good distributed revision control tool, such as Mercurial, will 1.22 +support both models. You and your collaborators can then structure 1.23 +how you work together based on your own needs and preferences, not on 1.24 +what contortions your tools force you into. 1.25 + 1.26 +\subsection{Where collaboration meets branch management} 1.27 + 1.28 +Once you and your team set up some shared repositories and start 1.29 +propagating changes back and forth between local and shared repos, you 1.30 +begin to face a related, but slightly different challenge: that of 1.31 +managing the multiple directions in which your team may be moving at 1.32 +once. Even though this subject is intimately related to how your team 1.33 +collaborates, it's dense enough to merit treatment of its own, in 1.34 +chapter~\ref{chap:branch}. 1.35 + 1.36 \section{The technical side of sharing} 1.37 1.38 \subsection{Informal sharing with \hgcmd{serve}}