Merge branch 'da/p4merge-mktemp-fix' into maint
[gitweb.git] / Documentation / howto / maintain-git.txt
index aaa0c5407a9227821766ff22e6be9d5f83ba33ab..816c791502f99cdb2f2ca996e30d1b73cb95a6ac 100644 (file)
@@ -5,6 +5,13 @@ Abstract: Imagine that git development is racing along as usual, when our friend
  neighborhood maintainer is struck down by a wayward bus. Out of the
  hordes of suckers (loyal developers), you have been tricked (chosen) to
  step up as the new maintainer. This howto will show you "how to" do it.
+Content-type: text/asciidoc
+
+How to maintain Git
+===================
+
+Activities
+----------
 
 The maintainer's git time is spent on three activities.
 
@@ -25,12 +32,13 @@ The maintainer's git time is spent on three activities.
 
    Scratching my own itch and sending proposed patch series out.
 
+The Policy
+----------
+
 The policy on Integration is informally mentioned in "A Note
 from the maintainer" message, which is periodically posted to
 this mailing list after each feature release is made.
 
-The policy.
-
  - Feature releases are numbered as vX.Y.Z and are meant to
    contain bugfixes and enhancements in any area, including
    functionality, performance and usability, without regression.
@@ -79,6 +87,9 @@ The policy.
    are found before new topics are merged to 'master'.
 
 
+A Typical Git Day
+-----------------
+
 A typical git day for the maintainer implements the above policy
 by doing the following:
 
@@ -203,8 +214,8 @@ by doing the following:
    The result is a script that lists topics to be merged in order to
    rebuild 'pu' as the input to Meta/Reintegrate script.  Remove
    later topics that should not be in 'jch' yet.  Add a line that
-   consists of '###' before the name of the first topic in the output
-   that should be in 'jch' but not in 'next' yet.
+   consists of '### match next' before the name of the first topic
+   in the output that should be in 'jch' but not in 'next' yet.
 
  - Now we are ready to start merging topics to 'next'.  For each
    branch whose tip is not merged to 'next', one of three things can
@@ -226,7 +237,8 @@ by doing the following:
      $ Meta/redo-jch.sh -c1
 
    to rebuild the 'jch' branch from scratch.  "-c1" tells the script
-   to stop merging at the '###' line you added earlier.
+   to stop merging at the first line that begins with '###'
+   (i.e. the "### match next" line you added earlier).
 
    At this point, build-test the result.  It may reveal semantic
    conflicts (e.g. a topic renamed a variable, another added a new
@@ -254,8 +266,8 @@ by doing the following:
      $ sh Meta/redo-jch.sh -u
 
    This removes topics listed in the script that have already been
-   merged to 'master'.  This unfortunately loses the "###" marker,
-   so add it again to the appropriate place.
+   merged to 'master'.  This may lose '### match next' marker;
+   add it again to the appropriate place when it happens.
 
  - Rebuild 'pu'.
 
@@ -320,6 +332,9 @@ by doing the following:
  - Push the integration branches out to public places; Meta/pushall
    script may aid this step.
 
+Observations
+------------
+
 Some observations to be made.
 
  * Each topic is tested individually, and also together with other
@@ -353,9 +368,11 @@ Some observations to be made.
    'master' branch typically is.
 
 
-[Appendix]
+Appendix
+--------
 
 Preparing a "merge-fix"
+~~~~~~~~~~~~~~~~~~~~~~~
 
 A merge of two topics may not textually conflict but still have
 conflict at the semantic level. A classic example is for one topic