Autogenerated HTML docs for v1.1.6-g5b766
authorJunio C Hamano <junio@hera.kernel.org>
Sun, 12 Feb 2006 13:31:39 +0000 (13:31 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Sun, 12 Feb 2006 13:31:39 +0000 (13:31 +0000)
git-repo-config.html
git-repo-config.txt
howto-index.html
howto-index.txt
howto/separating-topic-branches.txt [new file with mode: 0644]

index 23c55ae..3d36447 100644 (file)
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
 <head>\r
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 7.0.1" />\r
+<meta name="generator" content="AsciiDoc 7.0.2" />\r
 <style type="text/css">\r
 /* Debug borders */\r
 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
@@ -272,12 +272,12 @@ git-repo-config(1) Manual Page
 </div>\r
 <h2>SYNOPSIS</h2>\r
 <div class="sectionbody">\r
-<p><em>git-repo-config</em> name [value [value_regex]]\r
-<em>git-repo-config</em> --replace-all name [value [value_regex]]\r
-<em>git-repo-config</em> --get name [value_regex]\r
-<em>git-repo-config</em> --get-all name [value_regex]\r
-<em>git-repo-config</em> --unset name [value_regex]\r
-<em>git-repo-config</em> --unset-all name [value_regex]</p>\r
+<p><em>git-repo-config</em> [type] name [value [value_regex]]\r
+<em>git-repo-config</em> [type] --replace-all name [value [value_regex]]\r
+<em>git-repo-config</em> [type] --get name [value_regex]\r
+<em>git-repo-config</em> [type] --get-all name [value_regex]\r
+<em>git-repo-config</em> [type] --unset name [value_regex]\r
+<em>git-repo-config</em> [type] --unset-all name [value_regex]</p>\r
 </div>\r
 <h2>DESCRIPTION</h2>\r
 <div class="sectionbody">\r
@@ -288,6 +288,11 @@ escaped.</p>
 should provide a POSIX regex for the value. If you want to handle the lines\r
 <strong>not</strong> matching the regex, just prepend a single exclamation mark in front\r
 (see EXAMPLES).</p>\r
+<p>The type specifier can be either <em>--int</em> or <em>--bool</em>, which will make\r
+<em>git-repo-config</em> ensure that the variable(s) are of the given type and\r
+convert the value to the canonical form (simple decimal number for int,\r
+a "true" or "false" string for bool). If no type specifier is passed,\r
+no checks or transformations are performed on the value.</p>\r
 <p>This command will fail if</p>\r
 <ol>\r
 <li>\r
@@ -476,7 +481,7 @@ i.e. the one without a "for &#8230;" postfix, do something like this:</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 06-Jan-2006 17:12:42 PDT\r
+Last updated 12-Feb-2006 13:31:35 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 3069464..33fcde4 100644 (file)
@@ -8,12 +8,12 @@ git-repo-config - Get and set options in .git/config.
 
 SYNOPSIS
 --------
-'git-repo-config' name [value [value_regex]]
-'git-repo-config' --replace-all name [value [value_regex]]
-'git-repo-config' --get name [value_regex]
-'git-repo-config' --get-all name [value_regex]
-'git-repo-config' --unset name [value_regex]
-'git-repo-config' --unset-all name [value_regex]
+'git-repo-config' [type] name [value [value_regex]]
+'git-repo-config' [type] --replace-all name [value [value_regex]]
+'git-repo-config' [type] --get name [value_regex]
+'git-repo-config' [type] --get-all name [value_regex]
+'git-repo-config' [type] --unset name [value_regex]
+'git-repo-config' [type] --unset-all name [value_regex]
 
 DESCRIPTION
 -----------
@@ -26,6 +26,12 @@ should provide a POSIX regex for the value. If you want to handle the lines
 *not* matching the regex, just prepend a single exclamation mark in front
 (see EXAMPLES).
 
+The type specifier can be either '--int' or '--bool', which will make
+'git-repo-config' ensure that the variable(s) are of the given type and
+convert the value to the canonical form (simple decimal number for int,
+a "true" or "false" string for bool). If no type specifier is passed,
+no checks or transformations are performed on the value.
+
 This command will fail if
 
 . .git/config is invalid,
index b7056b0..77ecab2 100644 (file)
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
 <head>\r
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 7.0.1" />\r
+<meta name="generator" content="AsciiDoc 7.0.2" />\r
 <style type="text/css">\r
 /* Debug borders */\r
 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
@@ -332,6 +332,14 @@ and easier sanity checking.</p>
 <ul>\r
 <li>\r
 <p>\r
+<a href="howto/separating-topic-branches.txt">separating-topic-branches</a> by Junio C Hamano &lt;junkio@cox.net&gt;\r
+</p>\r
+</li>\r
+</ul>\r
+<p>In this article, JC describes how to separate topic branches.</p>\r
+<ul>\r
+<li>\r
+<p>\r
 <a href="howto/update-hook-example.txt">update-hook-example</a> by Junio C Hamano &lt;junkio@cox.net&gt; and Carl Baldwin &lt;cnb@fc.hp.com&gt;\r
 </p>\r
 </li>\r
@@ -352,7 +360,7 @@ as a Linux subsystem maintainer.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 20-Jan-2006 23:50:28 PDT\r
+Last updated 12-Feb-2006 13:31:35 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 7487e4f..f9b0d64 100644 (file)
@@ -50,6 +50,11 @@ In this article, JC gives a small real-life example of using
 and easier sanity checking.
 
 
+* link:howto/separating-topic-branches.txt[separating-topic-branches] by Junio C Hamano <junkio@cox.net>
+
+In this article, JC describes how to separate topic branches.
+
+
 * link:howto/update-hook-example.txt[update-hook-example] by Junio C Hamano <junkio@cox.net> and Carl Baldwin <cnb@fc.hp.com>
 
 An example hooks/update script is presented to
diff --git a/howto/separating-topic-branches.txt b/howto/separating-topic-branches.txt
new file mode 100644 (file)
index 0000000..090e2c9
--- /dev/null
@@ -0,0 +1,91 @@
+From: Junio C Hamano <junkio@cox.net>
+Subject: Separating topic branches
+Abstract: In this article, JC describes how to separate topic branches.
+
+This text was originally a footnote to a discussion about the
+behaviour of the git diff commands.
+
+Often I find myself doing that [running diff against something other
+than HEAD] while rewriting messy development history.  For example, I
+start doing some work without knowing exactly where it leads, and end
+up with a history like this:
+
+            "master"
+        o---o
+             \                    "topic" 
+              o---o---o---o---o---o
+
+At this point, "topic" contains something I know I want, but it
+contains two concepts that turned out to be completely independent.
+And often, one topic component is larger than the other.  It may
+contain more than two topics.
+
+In order to rewrite this mess to be more manageable, I would first do
+"diff master..topic", to extract the changes into a single patch, start
+picking pieces from it to get logically self-contained units, and
+start building on top of "master":
+
+        $ git diff master..topic >P.diff
+        $ git checkout -b topicA master
+        ... pick and apply pieces from P.diff to build
+        ... commits on topicA branch.
+                      
+              o---o---o
+             /        "topicA"
+        o---o"master"
+             \                    "topic" 
+              o---o---o---o---o---o
+
+Before doing each commit on "topicA" HEAD, I run "diff HEAD"
+before update-index the affected paths, or "diff --cached HEAD"
+after.  Also I would run "diff --cached master" to make sure
+that the changes are only the ones related to "topicA".  Usually
+I do this for smaller topics first.
+
+After that, I'd do the remainder of the original "topic", but
+for that, I do not start from the patchfile I extracted by
+comparing "master" and "topic" I used initially.  Still on
+"topicA", I extract "diff topic", and use it to rebuild the
+other topic:
+
+        $ git diff -R topic >P.diff ;# --cached also would work fine
+        $ git checkout -b topicB master
+        ... pick and apply pieces from P.diff to build
+        ... commits on topicB branch.
+
+                                "topicB"
+               o---o---o---o---o
+              /
+             /o---o---o
+            |/        "topicA"
+        o---o"master"
+             \                    "topic" 
+              o---o---o---o---o---o
+
+After I am done, I'd try a pretend-merge between "topicA" and
+"topicB" in order to make sure I have not missed anything:
+
+        $ git pull . topicA ;# merge it into current "topicB"
+        $ git diff topic
+                                "topicB"
+               o---o---o---o---o---* (pretend merge)
+              /                   /
+             /o---o---o----------'
+            |/        "topicA"
+        o---o"master"
+             \                    "topic" 
+              o---o---o---o---o---o
+
+The last diff better not to show anything other than cleanups
+for crufts.  Then I can finally clean things up:
+
+        $ git branch -D topic
+        $ git reset --hard HEAD^ ;# nuke pretend merge
+
+                                "topicB"
+               o---o---o---o---o
+              / 
+             /o---o---o
+            |/        "topicA"
+        o---o"master"
+