Autogenerated man pages for v1.5.0-rc4-345-gb4d2
authorJunio C Hamano <junio@hera.kernel.org>
Mon, 12 Feb 2007 07:15:56 +0000 (07:15 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Mon, 12 Feb 2007 07:15:56 +0000 (07:15 +0000)
man1/git-am.1
man1/git-fast-import.1
man1/git-rebase.1
man1/git-tag.1

index d8b585c75506cb0ed634d85190dbd30b05960ac2..a6b8084a5326aea07e62a07b6af2050ba0d6304a 100644 (file)
@@ -13,7 +13,8 @@ git\-am \- Apply a series of patches from a mailbox
 .sp
 .nf
 \fIgit\-am\fR [\-\-signoff] [\-\-dotest=<dir>] [\-\-utf8 | \-\-no\-utf8] [\-\-binary] [\-\-3way]
-         [\-\-interactive] [\-\-whitespace=<option>] <mbox>\&...
+         [\-\-interactive] [\-\-whitespace=<option>] [\-C<n>] [\-p<n>]
+         <mbox>\&...
 \fIgit\-am\fR [\-\-skip | \-\-resolved]
 .fi
 .SH "DESCRIPTION"
@@ -52,8 +53,8 @@ Skip the current patch. This is only meaningful when restarting an aborted patch
 \-\-whitespace=<option>
 This flag is passed to the git\-apply program that applies the patch.
 .TP
-\-C<n>
-This flag is passed to the git\-apply program that applies the patch.
+\-C<n>, \-p<n>
+These flag are passed to the git\-apply program that applies the patch.
 .TP
 \-\-interactive
 Run interactively, just like git\-applymbox.
index 42d1b20fcaf7a331616b9192b2d7dd8fb5e7d48e..2c926117ab642a3a196a82a2794bba7fd278f221 100644 (file)
@@ -2,7 +2,7 @@
 .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-FAST\-IMPORT" "1" "02/09/2007" "" ""
+.TH "GIT\-FAST\-IMPORT" "1" "02/12/2007" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -37,6 +37,9 @@ Maximum number of branches to maintain active at once. See \(lqMemory Utilizatio
 \-\-export\-marks=<file>
 Dumps the internal marks table to <file> when complete. Marks are written one per line as :markid SHA\-1. Frontends can use this file to validate imports after they have been completed.
 .TP
+\-\-export\-pack\-edges=<file>
+After creating a packfile, print a line of data to <file> listing the filename of the packfile and the last commit on each branch that was written to that packfile. This information may be useful after importing projects whose total object set exceeds the 4 GiB packfile limit, as these commits can be used as edge points during calls to \fBgit\-pack\-objects\fR(1).
+.TP
 \-\-quiet
 Disable all non\-fatal output, making fast\-import silent when it is successful. This option disables the output shown by \-\-stats.
 .TP
@@ -397,6 +400,8 @@ Coming from a system such as Perforce or Subversion this should be quite simple,
 Don't bother trying to optimize the frontend to stick to one branch at a time during an import. Although doing so might be slightly faster for fast\-import, it tends to increase the complexity of the frontend code considerably.
 
 The branch LRU builtin to fast\-import tends to behave very well, and the cost of activating an inactive branch is so low that bouncing around between branches has virtually no impact on import performance.
+.SS "Handling Renames"
+When importing a renamed file or directory, simply delete the old name(s) and modify the new name(s) during the corresponding commit. Git performs rename detection after\-the\-fact, rather than explicitly during a commit.
 .SS "Use Tag Fixup Branches"
 Some other SCM systems let the user create a tag from multiple files which are not from the same commit/changeset. Or to create tags which are a subset of the files available in the repository.
 
index 09580264a2a8e208b6460a9a16ab5c6c7a878c5a..9996f230c5f9abb1db614918f4f3660e7a3ab27f 100644 (file)
@@ -2,7 +2,7 @@
 .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-REBASE" "1" "02/09/2007" "" ""
+.TH "GIT\-REBASE" "1" "02/12/2007" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -10,7 +10,7 @@
 .SH "NAME"
 git\-rebase \- Forward\-port local commits to the updated upstream head
 .SH "SYNOPSIS"
-\fIgit\-rebase\fR [\-v] [\-\-merge] [\-CNUM] [\-\-onto <newbase>] <upstream> [<branch>]
+\fIgit\-rebase\fR [\-v] [\-\-merge] [\-C<n>] [\-\-onto <newbase>] <upstream> [<branch>]
 
 \fIgit\-rebase\fR \-\-continue | \-\-skip | \-\-abort
 .SH "DESCRIPTION"
index 416acd0bee10e61c8e6fc6e35db7228cb24a38f4..c66fa295b0911d8be3d3adc58a70da077c5be93b 100644 (file)
@@ -2,7 +2,7 @@
 .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
 .\" Instead of manually editing it, you probably should edit the DocBook XML
 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-TAG" "1" "01/28/2007" "" ""
+.TH "GIT\-TAG" "1" "02/12/2007" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
@@ -66,6 +66,71 @@ By default, git\-tag in sign\-with\-default mode (\-s) will use your committer i
 .nf
 signingkey = <gpg\-key\-id>
 .fi
+.SH "DISCUSSION"
+.SS "On Re\-tagging"
+What should you do when you tag a wrong commit and you would want to re\-tag?
+
+If you never pushed anything out, just re\-tag it. Use "\-f" to replace the old one. And you're done.
+
+But if you have pushed things out (or others could just read your repository directly), then others will have already seen the old tag. In that case you can do one of two things:
+.TP 3
+1.
+The sane thing. Just admit you screwed up, and use a different name. Others have already seen one tag\-name, and if you keep the same name, you may be in the situation that two people both have "version X", but they actually have \fIdifferent\fR "X"'s. So just call it "X.1" and be done with it.
+.TP
+2.
+The insane thing. You really want to call the new version "X" too, \fIeven though\fR others have already seen the old one. So just use "git tag \-f" again, as if you hadn't already published the old one.
+
+However, Git does \fBnot\fR (and it should not)change tags behind users back. So if somebody already got the old tag, doing a "git pull" on your tree shouldn't just make them overwrite the old one.
+
+If somebody got a release tag from you, you cannot just change the tag for them by updating your own one. This is a big security issue, in that people MUST be able to trust their tag\-names. If you really want to do the insane thing, you need to just fess up to it, and tell people that you messed up. You can do that by making a very public announcement saying:
+.sp
+.nf
+Ok, I messed up, and I pushed out an earlier version tagged as X. I
+then fixed something, and retagged the *fixed* tree as X again.
+
+If you got the wrong tag, and want the new one, please delete
+the old one and fetch the new one by doing:
+
+        git tag \-d X
+        git fetch origin tag X
+
+to get my updated tag.
+
+You can test which tag you have by doing
+
+        git rev\-parse X
+
+which should return 0123456789abcdef.. if you have the new version.
+
+Sorry for inconvenience.
+.fi
+Does this seem a bit complicated? It \fBshould\fR be. There is no way that it would be correct to just "fix" it behind peoples backs. People need to know that their tags might have been changed.
+.SS "On Automatic following"
+If you are following somebody else's tree, you are most likely using tracking branches (refs/heads/origin in traditional layout, or refs/remotes/origin/master in the separate\-remote layout). You usually want the tags from the other end.
+
+On the other hand, if you are fetching because you would want a one\-shot merge from somebody else, you typically do not want to get tags from there. This happens more often for people near the toplevel but not limited to them. Mere mortals when pulling from each other do not necessarily want to automatically get private anchor point tags from the other person.
+
+You would notice "please pull" messages on the mailing list says repo URL and branch name alone. This is designed to be easily cut&pasted to "git fetch" command line:
+.sp
+.nf
+Linus, please pull from
+
+        git://git..../proj.git master
+
+to get the following updates...
+.fi
+becomes:
+.sp
+.nf
+$ git pull git://git..../proj.git master
+.fi
+In such a case, you do not want to automatically follow other's tags.
+
+One important aspect of git is it is distributed, and being distributed largely means there is no inherent "upstream" or "downstream" in the system. On the face of it, the above example might seem to indicate that the tag namespace is owned by upper echelon of people and tags only flow downwards, but that is not the case. It only shows that the usage pattern determines who are interested in whose tags.
+
+A one\-shot pull is a sign that a commit history is now crossing the boundary between one circle of people (e.g. "people who are primarily interested in networking part of the kernel") who may have their own set of tags (e.g. "this is the third release candidate from the networking group to be proposed for general consumption with 2.6.21 release") to another circle of people (e.g. "people who integrate various subsystem improvements"). The latter are usually not interested in the detailed tags used internally in the former group (that is what "internal" means). That is why it is desirable not to follow tags automatically in this case.
+
+It may well be that among networking people, they may want to exchange the tags internal to their group, but in that workflow they are most likely tracking with each other's progress by having tracking branches. Again, the heuristic to automatically follow such tags is a good thing.
 .SH "AUTHOR"
 Written by Linus Torvalds <torvalds@osdl.org>, Junio C Hamano <junkio@cox.net> and Chris Wright <chrisw@osdl.org>.
 .SH "DOCUMENTATION"