From d4bcd183760072d974bb977b7388615a92677704 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 27 Dec 2005 00:24:05 -0800 Subject: [PATCH 1/1] Autogenerated man pages for 36de72aa9dc3b7daf8cf2770c840f39bb0d2ae70 --- man1/git-add.1 | 86 +++ man1/git-am.1 | 102 ++++ man1/git-apply.1 | 93 +++ man1/git-applymbox.1 | 82 +++ man1/git-applypatch.1 | 64 ++ man1/git-archimport.1 | 105 ++++ man1/git-bisect.1 | 130 ++++ man1/git-branch.1 | 90 +++ man1/git-cat-file.1 | 83 +++ man1/git-check-ref-format.1 | 68 +++ man1/git-checkout-index.1 | 121 ++++ man1/git-checkout.1 | 87 +++ man1/git-cherry-pick.1 | 67 ++ man1/git-cherry.1 | 61 ++ man1/git-clone-pack.1 | 67 ++ man1/git-clone.1 | 107 ++++ man1/git-commit-tree.1 | 127 ++++ man1/git-commit.1 | 90 +++ man1/git-convert-objects.1 | 47 ++ man1/git-count-objects.1 | 47 ++ man1/git-cvsexportcommit.1 | 73 +++ man1/git-cvsimport.1 | 124 ++++ man1/git-daemon.1 | 94 +++ man1/git-diff-files.1 | 306 ++++++++++ man1/git-diff-index.1 | 388 ++++++++++++ man1/git-diff-stages.1 | 300 +++++++++ man1/git-diff-tree.1 | 398 ++++++++++++ man1/git-diff.1 | 123 ++++ man1/git-fetch-pack.1 | 76 +++ man1/git-fetch.1 | 203 +++++++ man1/git-fmt-merge-msg.1 | 55 ++ man1/git-format-patch.1 | 109 ++++ man1/git-fsck-objects.1 | 146 +++++ man1/git-get-tar-commit-id.1 | 50 ++ man1/git-grep.1 | 61 ++ man1/git-hash-object.1 | 61 ++ man1/git-http-fetch.1 | 73 +++ man1/git-http-push.1 | 100 +++ man1/git-index-pack.1 | 53 ++ man1/git-init-db.1 | 74 +++ man1/git-local-fetch.1 | 69 +++ man1/git-log.1 | 78 +++ man1/git-lost-found.1 | 85 +++ man1/git-ls-files.1 | 221 +++++++ man1/git-ls-remote.1 | 77 +++ man1/git-ls-tree.1 | 89 +++ man1/git-mailinfo.1 | 69 +++ man1/git-mailsplit.1 | 69 +++ man1/git-merge-base.1 | 50 ++ man1/git-merge-index.1 | 103 ++++ man1/git-merge-one-file.1 | 47 ++ man1/git-merge.1 | 169 ++++++ man1/git-mktag.1 | 67 ++ man1/git-mv.1 | 72 +++ man1/git-name-rev.1 | 79 +++ man1/git-pack-objects.1 | 87 +++ man1/git-pack-redundant.1 | 72 +++ man1/git-parse-remote.1 | 58 ++ man1/git-patch-id.1 | 59 ++ man1/git-peek-remote.1 | 61 ++ man1/git-prune-packed.1 | 67 ++ man1/git-prune.1 | 68 +++ man1/git-pull.1 | 281 +++++++++ man1/git-push.1 | 190 ++++++ man1/git-read-tree.1 | 268 ++++++++ man1/git-rebase.1 | 57 ++ man1/git-receive-pack.1 | 106 ++++ man1/git-relink.1 | 57 ++ man1/git-repack.1 | 76 +++ man1/git-repo-config.1 | 187 ++++++ man1/git-request-pull.1 | 61 ++ man1/git-reset.1 | 168 +++++ man1/git-resolve.1 | 50 ++ man1/git-rev-list.1 | 133 ++++ man1/git-rev-parse.1 | 166 +++++ man1/git-revert.1 | 67 ++ man1/git-send-email.1 | 86 +++ man1/git-send-pack.1 | 120 ++++ man1/git-sh-setup.1 | 49 ++ man1/git-shell.1 | 50 ++ man1/git-shortlog.1 | 47 ++ man1/git-show-branch.1 | 126 ++++ man1/git-show-index.1 | 50 ++ man1/git-ssh-fetch.1 | 73 +++ man1/git-ssh-upload.1 | 73 +++ man1/git-status.1 | 55 ++ man1/git-stripspace.1 | 53 ++ man1/git-svnimport.1 | 150 +++++ man1/git-symbolic-ref.1 | 54 ++ man1/git-tag.1 | 88 +++ man1/git-tar-tree.1 | 50 ++ man1/git-unpack-file.1 | 53 ++ man1/git-unpack-objects.1 | 57 ++ man1/git-update-index.1 | 207 +++++++ man1/git-update-ref.1 | 68 +++ man1/git-update-server-info.1 | 71 +++ man1/git-upload-pack.1 | 56 ++ man1/git-var.1 | 89 +++ man1/git-verify-pack.1 | 80 +++ man1/git-verify-tag.1 | 53 ++ man1/git-whatchanged.1 | 91 +++ man1/git-write-tree.1 | 59 ++ man1/gitk.1 | 67 ++ man7/git.7 | 1076 +++++++++++++++++++++++++++++++++ 104 files changed, 11425 insertions(+) create mode 100755 man1/git-add.1 create mode 100755 man1/git-am.1 create mode 100755 man1/git-apply.1 create mode 100755 man1/git-applymbox.1 create mode 100755 man1/git-applypatch.1 create mode 100755 man1/git-archimport.1 create mode 100755 man1/git-bisect.1 create mode 100755 man1/git-branch.1 create mode 100755 man1/git-cat-file.1 create mode 100755 man1/git-check-ref-format.1 create mode 100755 man1/git-checkout-index.1 create mode 100755 man1/git-checkout.1 create mode 100755 man1/git-cherry-pick.1 create mode 100755 man1/git-cherry.1 create mode 100755 man1/git-clone-pack.1 create mode 100755 man1/git-clone.1 create mode 100755 man1/git-commit-tree.1 create mode 100755 man1/git-commit.1 create mode 100755 man1/git-convert-objects.1 create mode 100755 man1/git-count-objects.1 create mode 100755 man1/git-cvsexportcommit.1 create mode 100755 man1/git-cvsimport.1 create mode 100755 man1/git-daemon.1 create mode 100755 man1/git-diff-files.1 create mode 100755 man1/git-diff-index.1 create mode 100755 man1/git-diff-stages.1 create mode 100755 man1/git-diff-tree.1 create mode 100755 man1/git-diff.1 create mode 100755 man1/git-fetch-pack.1 create mode 100755 man1/git-fetch.1 create mode 100755 man1/git-fmt-merge-msg.1 create mode 100755 man1/git-format-patch.1 create mode 100755 man1/git-fsck-objects.1 create mode 100755 man1/git-get-tar-commit-id.1 create mode 100755 man1/git-grep.1 create mode 100755 man1/git-hash-object.1 create mode 100755 man1/git-http-fetch.1 create mode 100755 man1/git-http-push.1 create mode 100755 man1/git-index-pack.1 create mode 100755 man1/git-init-db.1 create mode 100755 man1/git-local-fetch.1 create mode 100755 man1/git-log.1 create mode 100755 man1/git-lost-found.1 create mode 100755 man1/git-ls-files.1 create mode 100755 man1/git-ls-remote.1 create mode 100755 man1/git-ls-tree.1 create mode 100755 man1/git-mailinfo.1 create mode 100755 man1/git-mailsplit.1 create mode 100755 man1/git-merge-base.1 create mode 100755 man1/git-merge-index.1 create mode 100755 man1/git-merge-one-file.1 create mode 100755 man1/git-merge.1 create mode 100755 man1/git-mktag.1 create mode 100755 man1/git-mv.1 create mode 100755 man1/git-name-rev.1 create mode 100755 man1/git-pack-objects.1 create mode 100755 man1/git-pack-redundant.1 create mode 100755 man1/git-parse-remote.1 create mode 100755 man1/git-patch-id.1 create mode 100755 man1/git-peek-remote.1 create mode 100755 man1/git-prune-packed.1 create mode 100755 man1/git-prune.1 create mode 100755 man1/git-pull.1 create mode 100755 man1/git-push.1 create mode 100755 man1/git-read-tree.1 create mode 100755 man1/git-rebase.1 create mode 100755 man1/git-receive-pack.1 create mode 100755 man1/git-relink.1 create mode 100755 man1/git-repack.1 create mode 100755 man1/git-repo-config.1 create mode 100755 man1/git-request-pull.1 create mode 100755 man1/git-reset.1 create mode 100755 man1/git-resolve.1 create mode 100755 man1/git-rev-list.1 create mode 100755 man1/git-rev-parse.1 create mode 100755 man1/git-revert.1 create mode 100755 man1/git-send-email.1 create mode 100755 man1/git-send-pack.1 create mode 100755 man1/git-sh-setup.1 create mode 100755 man1/git-shell.1 create mode 100755 man1/git-shortlog.1 create mode 100755 man1/git-show-branch.1 create mode 100755 man1/git-show-index.1 create mode 100755 man1/git-ssh-fetch.1 create mode 100755 man1/git-ssh-upload.1 create mode 100755 man1/git-status.1 create mode 100755 man1/git-stripspace.1 create mode 100755 man1/git-svnimport.1 create mode 100755 man1/git-symbolic-ref.1 create mode 100755 man1/git-tag.1 create mode 100755 man1/git-tar-tree.1 create mode 100755 man1/git-unpack-file.1 create mode 100755 man1/git-unpack-objects.1 create mode 100755 man1/git-update-index.1 create mode 100755 man1/git-update-ref.1 create mode 100755 man1/git-update-server-info.1 create mode 100755 man1/git-upload-pack.1 create mode 100755 man1/git-var.1 create mode 100755 man1/git-verify-pack.1 create mode 100755 man1/git-verify-tag.1 create mode 100755 man1/git-whatchanged.1 create mode 100755 man1/git-write-tree.1 create mode 100755 man1/gitk.1 create mode 100755 man7/git.7 diff --git a/man1/git-add.1 b/man1/git-add.1 new file mode 100755 index 000000000..ebacf16ed --- /dev/null +++ b/man1/git-add.1 @@ -0,0 +1,86 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-ADD" 1 "" "" "" +.SH NAME +git-add \- Add files to the index file. +.SH "SYNOPSIS" + + +git\-add [\-n] [\-v] ... + +.SH "DESCRIPTION" + + +A simple wrapper for git\-update\-index to add files to the index, for people used to do "cvs add"\&. + +.SH "OPTIONS" + +.TP +... +Files to add to the index\&. + +.TP +\-n +Don't actually add the file(s), just show if they exist\&. + +.TP +\-v +Be verbose\&. + +.SH "DISCUSSION" + + +The list of given to the command is fed to git\-ls\-files command to list files that are not registerd in the index and are not ignored/excluded by $GIT_DIR/info/exclude file or \&.gitignore file in each directory\&. This means two things: + +.TP 3 +1. +You can put the name of a directory on the command line, and the command will add all files in it and its subdirectories; +.TP +2. +Giving the name of a file that is already in index does not run git\-update\-index on that path\&. +.LP + +.SH "EXAMPLES" + +.TP +git\-add Documentation/\\*\&.txt +Adds all *\&.txt files that are not in the index under Documentation directory and its subdirectories\&. + +Note that the asterisk * is quoted from the shell in this example; this lets the command to include the files from subdirectories of Documentation/ directory\&. + +.TP +git\-add git\-*\&.sh +Adds all git\-*\&.sh scripts that are not in the index\&. Because this example lets shell expand the asterisk (i\&.e\&. you are listing the files explicitly), it does not add subdir/git\-foo\&.sh to the index\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-am.1 b/man1/git-am.1 new file mode 100755 index 000000000..4193b3acc --- /dev/null +++ b/man1/git-am.1 @@ -0,0 +1,102 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-AM" 1 "" "" "" +.SH NAME +git-am \- Apply a series of patches in a mailbox +.SH "SYNOPSIS" + + +git\-am [\-\-signoff] [\-\-dotest=] [\-\-utf8] [\-\-binary] [\-\-3way] ... git\-am [\-\-skip | \-\-resolved] + +.SH "DESCRIPTION" + + +Splits mail messages in a mailbox into commit log message, authorship information and patches, and applies them to the current branch\&. + +.SH "OPTIONS" + +.TP +\-\-signoff +Add Signed\-off\-by: line to the commit message, using the committer identity of yourself\&. + +.TP +\-\-dotest= +Instead of \&.dotest directory, use as a working area to store extracted patches\&. + +.TP +\-\-utf8, \-\-keep +Pass \-u and \-k flags to git\-mailinfo (see \fBgit\-mailinfo\fR(1))\&. + +.TP +\-\-binary +Pass \-\-allow\-binary\-replacement flag to git\-apply (see \fBgit\-apply\fR(1))\&. + +.TP +\-\-3way +When the patch does not apply cleanly, fall back on 3\-way merge, if the patch records the identity of blobs it is supposed to apply to, and we have those blobs locally\&. + +.TP +\-\-skip +Skip the current patch\&. This is only meaningful when restarting an aborted patch\&. + +.TP +\-\-interactive +Run interactively, just like git\-applymbox\&. + +.TP +\-\-resolved +After a patch failure (e\&.g\&. attempting to apply conflicting patch), the user has applied it by hand and the index file stores the result of the application\&. Make a commit using the authorship and commit log extracted from the e\-mail message and the current index file, and continue\&. + +.SH "DISCUSSION" + + +When initially invoking it, you give it names of the mailboxes to crunch\&. Upon seeing the first patch that does not apply, it aborts in the middle, just like git\-applymbox does\&. You can recover from this in one of two ways: + +.TP 3 +1. +skip the current one by re\-running the command with \-\-skip option\&. +.TP +2. +hand resolve the conflict in the working directory, and update the index file to bring it in a state that the patch should have produced\&. Then run the command with \-\-resolved option\&. +.LP + + +The command refuses to process new mailboxes while \&.dotest directory exists, so if you decide to start over from scratch, run rm \-f \&.dotest before running the command with mailbox names\&. + +.SH "SEE ALSO" + + +\fBgit\-applymbox\fR(1), \fBgit\-applypatch\fR(1)\&. + +.SH "AUTHOR" + + +Written by Junio C Hamano + +.SH "DOCUMENTATION" + + +Documentation by Petr Baudis, Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-apply.1 b/man1/git-apply.1 new file mode 100755 index 000000000..aca1a7195 --- /dev/null +++ b/man1/git-apply.1 @@ -0,0 +1,93 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-APPLY" 1 "" "" "" +.SH NAME +git-apply \- Apply patch on a git index file and a work tree +.SH "SYNOPSIS" + + +git\-apply [\-\-stat] [\-\-numstat] [\-\-summary] [\-\-check] [\-\-index] [\-\-apply] [\-\-no\-add] [\-\-index\-info] [\-\-allow\-binary\-replacement] [\-z] [...] + +.SH "DESCRIPTION" + + +Reads supplied diff output and applies it on a git index file and a work tree\&. + +.SH "OPTIONS" + +.TP +... +The files to read patch from\&. \- can be used to read from the standard input\&. + +.TP +\-\-stat +Instead of applying the patch, output diffstat for the input\&. Turns off "apply"\&. + +.TP +\-\-numstat +Similar to \-\-stat, but shows number of added and deleted lines in decimal notation and pathname without abbreviation, to make it more machine friendly\&. Turns off "apply"\&. + +.TP +\-\-summary +Instead of applying the patch, output a condensed summary of information obtained from git diff extended headers, such as creations, renames and mode changes\&. Turns off "apply"\&. + +.TP +\-\-check +Instead of applying the patch, see if the patch is applicable to the current work tree and/or the index file and detects errors\&. Turns off "apply"\&. + +.TP +\-\-index +When \-\-check is in effect, or when applying the patch (which is the default when none of the options that disables it is in effect), make sure the patch is applicable to what the current index file records\&. If the file to be patched in the work tree is not up\-to\-date, it is flagged as an error\&. This flag also causes the index file to be updated\&. + +.TP +\-\-index\-info +Newer git\-diff output has embedded index information for each blob to help identify the original version that the patch applies to\&. When this flag is given, and if the original version of the blob is available locally, outputs information about them to the standard output\&. + +.TP +\-z +When showing the index information, do not munge paths, but use NUL terminated machine readable format\&. Without this flag, the pathnames output will have TAB, LF, and backslash characters replaced with \\t, \\n, and \\\\, respectively\&. + +.TP +\-\-apply +If you use any of the options marked “Turns off "apply"” above, git\-apply reads and outputs the information you asked without actually applying the patch\&. Give this flag after those flags to also apply the patch\&. + +.TP +\-\-no\-add +When applying a patch, ignore additions made by the patch\&. This can be used to extract common part between two files by first running diff on them and applying the result with this option, which would apply the deletion part but not addition part\&. + +.TP +\-\-allow\-binary\-replacement +When applying a patch, which is a git\-enhanced patch that was prepared to record the pre\- and post\-image object name in full, and the path being patched exactly matches the object the patch applies to (i\&.e\&. "index" line's pre\-image object name is what is in the working tree), and the post\-image object is available in the object database, use the post\-image object as the patch result\&. This allows binary files to be patched in a very limited way\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-applymbox.1 b/man1/git-applymbox.1 new file mode 100755 index 000000000..498f0302d --- /dev/null +++ b/man1/git-applymbox.1 @@ -0,0 +1,82 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-APPLYMBOX" 1 "" "" "" +.SH NAME +git-applymbox \- Apply a series of patches in a mailbox +.SH "SYNOPSIS" + + +git\-applymbox [\-u] [\-k] [\-q] [\-m] ( \-c \&.dotest/ | ) [ ] + +.SH "DESCRIPTION" + + +Splits mail messages in a mailbox into commit log message, authorship information and patches, and applies them to the current branch\&. + +.SH "OPTIONS" + +.TP +\-q +Apply patches interactively\&. The user will be given opportunity to edit the log message and the patch before attempting to apply it\&. + +.TP +\-k +Usually the program cleans up the Subject: header line to extract the title line for the commit log message, among which (1) remove Re: or re:, (2) leading whitespaces, (3) [ up to ], typically [PATCH], and then prepends "[PATCH] "\&. This flag forbids this munging, and is most useful when used to read back git format\-patch \-\-mbox output\&. + +.TP +\-m +Patches are applied with git\-apply command, and unless it cleanly applies without fuzz, the processing fails\&. With this flag, if a tree that the patch applies cleanly is found in a repository, the patch is applied to the tree and then a 3\-way merge between the resulting tree and the current tree\&. + +.TP +\-u +By default, the commit log message, author name and author email are taken from the e\-mail without any charset conversion, after minimally decoding MIME transfer encoding\&. This flag causes the resulting commit to be encoded in utf\-8 by transliterating them\&. Note that the patch is always used as is without charset conversion, even with this flag\&. + +.TP +\-c \&.dotest/ +When the patch contained in an e\-mail does not cleanly apply, the command exits with an error message\&. The patch and extracted message are found in \&.dotest/, and you could re\-run git applymbox with \-c \&.dotest/ flag to restart the process after inspecting and fixing them\&. + +.TP + +The name of the file that contains the e\-mail messages with patches\&. This file should be in the UNIX mailbox format\&. See SubmittingPatches document to learn about the formatting convention for e\-mail submission\&. + +.TP + +The name of the file that contains your "Signed\-off\-by" line\&. See SubmittingPatches document to learn what "Signed\-off\-by" line means\&. You can also just say yes, true, me, or please to use an automatically generated "Signed\-off\-by" line based on your committer identity\&. + +.SH "SEE ALSO" + + +\fBgit\-am\fR(1), \fBgit\-applypatch\fR(1)\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-applypatch.1 b/man1/git-applypatch.1 new file mode 100755 index 000000000..899501036 --- /dev/null +++ b/man1/git-applypatch.1 @@ -0,0 +1,64 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-APPLYPATCH" 1 "" "" "" +.SH NAME +git-applypatch \- Apply one patch extracted from an e-mail. +.SH "SYNOPSIS" + + +git\-applypatch [] + +.SH "DESCRIPTION" + + +Takes three files , , and prepared from an e\-mail message by git\-mailinfo, and creates a commit\&. It is usually not necessary to use this command directly\&. + + +This command can run applypatch\-msg, pre\-applypatch, and post\-applypatch hooks\&. See hooks: \fIhooks.html\fR for more information\&. + +.SH "OPTIONS" + +.TP + +Commit log message (sans the first line, which comes from e\-mail Subject stored in )\&. + +.TP + +The patch to apply\&. + +.TP + +Author and subject information extracted from e\-mail, used on "author" line and as the first line of the commit log message\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-archimport.1 b/man1/git-archimport.1 new file mode 100755 index 000000000..601271e3a --- /dev/null +++ b/man1/git-archimport.1 @@ -0,0 +1,105 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-ARCHIMPORT" 1 "" "" "" +.SH NAME +git-archimport \- Import an Arch repository into git +.SH "SYNOPSIS" + + +git\-archimport [ \-h ] [ \-v ] [ \-o ] [ \-a ] [ \-f ] [ \-T ] [ \-D depth ] [ \-t tempdir ] [ ] + +.SH "DESCRIPTION" + + +Imports a project from one or more Arch repositories\&. It will follow branches and repositories within the namespaces defined by the parameters suppplied\&. If it cannot find the remote branch a merge comes from it will just import it as a regular commit\&. If it can find it, it will mark it as a merge whenever possible (see discussion below)\&. + + +The script expects you to provide the key roots where it can start the import from an initial import or tag type of Arch commit\&. It will follow and import new branches within the provided roots\&. + + +It expects to be dealing with one project only\&. If it sees branches that have different roots, it will refuse to run\&. In that case, edit your parameters to define clearly the scope of the import\&. + + +git\-archimport uses tla extensively in the background to access the Arch repository\&. Make sure you have a recent version of tla available in the path\&. tla must know about the repositories you pass to git\-archimport\&. + + +For the initial import git\-archimport expects to find itself in an empty directory\&. To follow the development of a project that uses Arch, rerun git\-archimport with the same parameters as the initial import to perform incremental imports\&. + +.SH "MERGES" + + +Patch merge data from Arch is used to mark merges in git as well\&. git does not care much about tracking patches, and only considers a merge when a branch incorporates all the commits since the point they forked\&. The end result is that git will have a good idea of how far branches have diverged\&. So the import process does lose some patch\-trading metadata\&. + + +Fortunately, when you try and merge branches imported from Arch, git will find a good merge base, and it has a good chance of identifying patches that have been traded out\-of\-sequence between the branches\&. + +.SH "OPTIONS" + +.TP +\-h +Display usage\&. + +.TP +\-v +Verbose output\&. + +.TP +\-T +Many tags\&. Will create a tag for every commit, reflecting the commit name in the Arch repository\&. + +.TP +\-f +Use the fast patchset import strategy\&. This can be significantly faster for large trees, but cannot handle directory renames or permissions changes\&. The default strategy is slow and safe\&. + +.TP +\-o +Use this for compatibility with old\-style branch names used by earlier versions of git\-archimport\&. Old\-style branch names were category\-\-branch, whereas new\-style branch names are archive,category\-\-branch\-\-version\&. + +.TP +\-D +Follow merge ancestry and attempt to import trees that have been merged from\&. Specify a depth greater than 1 if patch logs have been pruned\&. + +.TP +\-a +Attempt to auto\-register archives at http://mirrors\&.sourcecontrol\&.net This is particularly useful with the \-D option\&. + +.TP +\-t +Override the default tempdir\&. + +.TP + +Archive/branch identifier in a format that tla log understands\&. + +.SH "AUTHOR" + + +Written by Martin Langhoff \&. + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano, Martin Langhoff and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-bisect.1 b/man1/git-bisect.1 new file mode 100755 index 000000000..d42f7e92a --- /dev/null +++ b/man1/git-bisect.1 @@ -0,0 +1,130 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-BISECT" 1 "" "" "" +.SH NAME +git-bisect \- Find the change that introduced a bug +.SH "SYNOPSIS" + + +git bisect + +.SH "DESCRIPTION" + + +The command takes various subcommands, and different options depending on the subcommand: + +.nf +git bisect start [\&.\&.\&.] +git bisect bad +git bisect good +git bisect reset [] +git bisect visualize +git bisect replay +git bisect log +.fi + + +This command uses git\-rev\-list \-\-bisect option to help drive the binary search process to find which change introduced a bug, given an old "good" commit object name and a later "bad" commit object name\&. + + +The way you use it is: + +.IP +$ git bisect start +$ git bisect bad # Current version is bad +$ git bisect good v2\&.6\&.13\-rc2 # v2\&.6\&.13\-rc2 was the last version + # tested that was good + +When you give at least one bad and one good versions, it will bisect the revision tree and say something like: + +.IP +Bisecting: 675 revisions left to test after this + +and check out the state in the middle\&. Now, compile that kernel, and boot it\&. Now, let's say that this booted kernel works fine, then just do + +.IP +$ git bisect good # this one is good + +which will now say + +.IP +Bisecting: 337 revisions left to test after this + +and you continue along, compiling that one, testing it, and depending on whether it is good or bad, you say "git bisect good" or "git bisect bad", and ask for the next bisection\&. + + +Until you have no more left, and you'll have been left with the first bad kernel rev in "refs/bisect/bad"\&. + + +Oh, and then after you want to reset to the original head, do a + +.IP +$ git bisect reset + +to get back to the master branch, instead of being in one of the bisection branches ("git bisect start" will do that for you too, actually: it will reset the bisection state, and before it does that it checks that you're not using some old bisection branch)\&. + + +During the bisection process, you can say + +.IP +$ git bisect visualize + +to see the currently remaining suspects in gitk\&. + + +The good/bad input is logged, and git bisect log shows what you have done so far\&. You can truncate its output somewhere and save it in a file, and run + +.IP +$ git bisect replay that\-file + +if you find later you made a mistake telling good/bad about a revision\&. + + +If in a middle of bisect session, you know what the bisect suggested to try next is not a good one to test (e\&.g\&. the change the commit introduces is known not to work in your environment and you know it does not have anything to do with the bug you are chasing), you may want to find a near\-by commit and try that instead\&. It goes something like this: + +.IP +$ git bisect good/bad # previous round was good/bad\&. +Bisecting: 337 revisions left to test after this +$ git bisect visualize # oops, that is uninteresting\&. +$ git reset \-\-hard HEAD~3 # try 3 revs before what + # was suggested + +Then compile and test the one you chose to try\&. After that, tell bisect what the result was as usual\&. + + +You can further cut down the number of trials if you know what part of the tree is involved in the problem you are tracking down, by giving paths parameters when you say bisect start, like this: + +.IP +$ git bisect start arch/i386 include/asm\-i386 +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-branch.1 b/man1/git-branch.1 new file mode 100755 index 000000000..071f65647 --- /dev/null +++ b/man1/git-branch.1 @@ -0,0 +1,90 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-BRANCH" 1 "" "" "" +.SH NAME +git-branch \- Create a new branch, or remove an old one. +.SH "SYNOPSIS" + + +git\-branch [\-d | \-D] [ [start\-point]] + +.SH "DESCRIPTION" + + +If no argument is provided, show available branches and mark current branch with star\&. Otherwise, create a new branch of name \&. + + +If a starting point is also specified, that will be where the branch is created, otherwise it will be created at the current HEAD\&. + +.SH "OPTIONS" + +.TP +\-d +Delete a branch\&. The branch must be fully merged\&. + +.TP +\-D +Delete a branch irrespective of its index status\&. + +.TP + +The name of the branch to create or delete\&. + +.TP +start\-point +Where to create the branch; defaults to HEAD\&. This option has no meaning with \-d and \-D\&. + +.SS "Examples" + +.TP +Start development off of a know tag + +.IP +$ git clone git://git\&.kernel\&.org/pub/scm/\&.\&.\&./linux\-2\&.6 my2\&.6 +$ cd my2\&.6 +$ git branch my2\&.6\&.14 v2\&.6\&.14 +$ git checkout my2\&.6\&.14 + + These two steps are the same as "checkout \-b my2\&.6\&.14 v2\&.6\&.14"\&. +.TP +Delete unneeded branch + +.IP +$ git clone git://git\&.kernel\&.org/\&.\&.\&./git\&.git my\&.git +$ cd my\&.git +$ git branch \-D todo + + delete todo branch even if the "master" branch does not have all +commits from todo branch\&. +.SH "AUTHOR" + + +Written by Linus Torvalds and Junio C Hamano + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-cat-file.1 b/man1/git-cat-file.1 new file mode 100755 index 000000000..a7fb17af2 --- /dev/null +++ b/man1/git-cat-file.1 @@ -0,0 +1,83 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CAT-FILE" 1 "" "" "" +.SH NAME +git-cat-file \- Provide content or type information for repository objects +.SH "SYNOPSIS" + + +git\-cat\-file (\-t | \-s | \-e | ) + +.SH "DESCRIPTION" + + +Provides content or type of objects in the repository\&. The type is required unless \-t is used to find the object type, or \-s is used to find the object size\&. + +.SH "OPTIONS" + +.TP + +The sha1 identifier of the object\&. + +.TP +\-t +Instead of the content, show the object type identified by \&. + +.TP +\-s +Instead of the content, show the object size identified by \&. + +.TP +\-e +Suppress all output; instead exit with zero status if exists and is a valid object\&. + +.TP + +Typically this matches the real type of but asking for a type that can trivially be dereferenced from the given is also permitted\&. An example is to ask for a "tree" with being a commit object that contains it, or to ask for a "blob" with being a tag object that points at it\&. + +.SH "OUTPUT" + + +If \-t is specified, one of the \&. + + +If \-s is specified, the size of the in bytes\&. + + +If \-e is specified, no output\&. + + +Otherwise the raw (though uncompressed) contents of the will be returned\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by David Greaves, Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-check-ref-format.1 b/man1/git-check-ref-format.1 new file mode 100755 index 000000000..3b7ee7784 --- /dev/null +++ b/man1/git-check-ref-format.1 @@ -0,0 +1,68 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CHECK-REF-FORM" 1 "" "" "" +.SH NAME +git-check-ref-format \- Make sure ref name is well formed. +.SH "SYNOPSIS" + + +git\-check\-ref\-format + +.SH "DESCRIPTION" + + +Checks if a given refname is acceptable, and exits non\-zero if it is not\&. + + +A reference is used in git to specify branches and tags\&. A branch head is stored under $GIT_DIR/refs/heads directory, and a tag is stored under $GIT_DIR/refs/tags directory\&. git imposes the following rules on how refs are named: + +.TP 3 +1. +It could be named hierarchically (i\&.e\&. separated with slash /), but each of its component cannot begin with a dot \&.; +.TP +2. +It cannot have two consecutive dots \&.\&. anywhere; +.TP +3. +It cannot have ASCII control character (i\&.e\&. bytes whose values are lower than \\040, or \\177 DEL), space, tilde ~, caret ^, colon :, question\-mark ?, asterisk *, or open bracket [ anywhere; +.TP +4. +It cannot end with a slash /\&. +.LP + + +These rules makes it easy for shell script based tools to parse refnames, pathname expansion by the shell when a refname is used unquoted (by mistake), and also avoids ambiguities in certain refname expressions (see \fBgit\-rev\-parse\fR(1))\&. Namely: + +.TP 3 +1. +double\-dot \&.\&. are often used as in ref1\&.\&.ref2, and in some context this notation means ^ref1 ref2 (i\&.e\&. not in ref1 and in ref2)\&. +.TP +2. +tilde ~ and caret ^ are used to introduce postfix nth parent and peel onion operation\&. +.TP +3. +colon : is used as in srcref:dstref to mean "use srcref's value and store it in dstref" in fetch and push operations\&. +.LP + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-checkout-index.1 b/man1/git-checkout-index.1 new file mode 100755 index 000000000..fe5e3ad24 --- /dev/null +++ b/man1/git-checkout-index.1 @@ -0,0 +1,121 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CHECKOUT-INDEX" 1 "" "" "" +.SH NAME +git-checkout-index \- Copy files from the index to the working directory +.SH "SYNOPSIS" + + +git\-checkout\-index [\-u] [\-q] [\-a] [\-f] [\-n] [\-\-prefix=] [\-\-stage=] [\-\-] ... + +.SH "DESCRIPTION" + + +Will copy all files listed from the index to the working directory (not overwriting existing files)\&. + +.SH "OPTIONS" + +.TP +\-u|\-\-index +update stat information for the checked out entries in the index file\&. + +.TP +\-q|\-\-quiet +be quiet if files exist or are not in the index + +.TP +\-f|\-\-force +forces overwrite of existing files + +.TP +\-a|\-\-all +checks out all files in the index\&. Cannot be used together with explicit filenames\&. + +.TP +\-n|\-\-no\-create +Don't checkout new files, only refresh files already checked out\&. + +.TP +\-\-prefix= +When creating files, prepend (usually a directory including a trailing /) + +.TP +\-\-stage= +Instead of checking out unmerged entries, copy out the files from named stage\&. must be between 1 and 3\&. + +.TP +-- +Do not interpret any more arguments as options\&. + + +The order of the flags used to matter, but not anymore\&. + + +Just doing git\-checkout\-index does nothing\&. You probably meant git\-checkout\-index \-a\&. And if you want to force it, you want git\-checkout\-index \-f \-a\&. + + +Intuitiveness is not the goal here\&. Repeatability is\&. The reason for the "no arguments means no work" behavior is that from scripts you are supposed to be able to do: + +.IP +$ find \&. \-name '*\&.h' \-print0 | xargs \-0 git\-checkout\-index \-f \-\- + +which will force all existing *\&.h files to be replaced with their cached copies\&. If an empty command line implied "all", then this would force\-refresh everything in the index, which was not the point\&. + + +The \-\- is just a good idea when you know the rest will be filenames; it will prevent problems with a filename of, for example, \-a\&. Using \-\- is probably a good policy in scripts\&. + +.SH "EXAMPLES" + +.TP +To update and refresh only the files already checked out + +.IP +$ git\-checkout\-index \-n \-f \-a && git\-update\-index \-\-ignore\-missing \-\-refresh +.TP +Using git\-checkout\-index to "export an entire tree" +The prefix ability basically makes it trivial to use git\-checkout\-index as an "export as tree" function\&. Just read the desired tree into the index, and do: + + +.IP +$ git\-checkout\-index \-\-prefix=git\-export\-dir/ \-agit\-checkout\-index will "export" the index into the specified directory\&. + +The final "/" is important\&. The exported name is literally just prefixed with the specified string\&. Contrast this with the following example\&. + +.TP +Export files with a prefix + +.IP +$ git\-checkout\-index \-\-prefix=\&.merged\- MakefileThis will check out the currently cached copy of Makefile into the file \&.merged\-Makefile\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by David Greaves, Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-checkout.1 b/man1/git-checkout.1 new file mode 100755 index 000000000..aa358952d --- /dev/null +++ b/man1/git-checkout.1 @@ -0,0 +1,87 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CHECKOUT" 1 "" "" "" +.SH NAME +git-checkout \- Checkout and switch to a branch. +.SH "SYNOPSIS" + + +git\-checkout [\-f] [\-b ] [] [...] + +.SH "DESCRIPTION" + + +When are not given, this command switches branches, by updating the index and working tree to reflect the specified branch, , and updating HEAD to be or, if specified, \&. + + +When are given, this command does not switch branches\&. It updates the named paths in the working tree from the index file (i\&.e\&. it runs git\-checkout\-index \-f \-u)\&. In this case, \-f and \-b options are meaningless and giving either of them results in an error\&. argument can be used to specify a specific tree\-ish to update the index for the given paths before updating the working tree\&. + +.SH "OPTIONS" + +.TP +\-f +Force an re\-read of everything\&. + +.TP +\-b +Create a new branch and start it at \&. + +.TP + +Name for the new branch\&. + +.TP + +Branch to checkout; may be any object ID that resolves to a commit\&. Defaults to HEAD\&. + +.SH "EXAMPLE" + + +The following sequence checks out the master branch, reverts the Makefile to two revisions back, deletes hello\&.c by mistake, and gets it back from the index\&. + +.IP +$ git checkout master +$ git checkout master~2 Makefile +$ rm \-f hello\&.c +$ git checkout hello\&.c + + switch branch + take out a file out of other commit + or "git checkout \-\- hello\&.c", as in the next example\&. + +If you have an unfortunate branch that is named hello\&.c, the last step above would be confused as an instruction to switch to that branch\&. You should instead write: + +.IP +$ git checkout \-\- hello\&.c +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-cherry-pick.1 b/man1/git-cherry-pick.1 new file mode 100755 index 000000000..11b20ba1b --- /dev/null +++ b/man1/git-cherry-pick.1 @@ -0,0 +1,67 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CHERRY-PICK" 1 "" "" "" +.SH NAME +git-cherry-pick \- Apply the change introduced by an existing commit. +.SH "SYNOPSIS" + + +git\-cherry\-pick [\-\-edit] [\-n] [\-r] + +.SH "DESCRIPTION" + + +Given one existing commit, apply the change the patch introduces, and record a new commit that records it\&. This requires your working tree to be clean (no modifications from the HEAD commit)\&. + +.SH "OPTIONS" + +.TP + +Commit to cherry\-pick\&. + +.TP +\-e|\-\-edit +With this option, git\-cherry\-pick will let you edit the commit message prior committing\&. + +.TP +\-r|\-\-replay +Usually the command appends which commit was cherry\-picked after the original commit message when making a commit\&. This option, \-\-replay, causes it to use the original commit message intact\&. This is useful when you are reordering the patches in your private tree before publishing\&. + +.TP +\-n|\-\-no\-commit +Usually the command automatically creates a commit with a commit log message stating which commit was cherry\-picked\&. This flag applies the change necessary to cherry\-pick the named commit to your working tree, but does not make the commit\&. In addition, when this option is used, your working tree does not have to match the HEAD commit\&. The cherry\-pick is done against the beginning state of your working tree\&. + +This is useful when cherry\-picking more than one commits' effect to your working tree in a row\&. + +.SH "AUTHOR" + + +Written by Junio C Hamano + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-cherry.1 b/man1/git-cherry.1 new file mode 100755 index 000000000..aa706f424 --- /dev/null +++ b/man1/git-cherry.1 @@ -0,0 +1,61 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CHERRY" 1 "" "" "" +.SH NAME +git-cherry \- Find commits not merged upstream. +.SH "SYNOPSIS" + + +git\-cherry [\-v] [] + +.SH "DESCRIPTION" + + +Each commit between the fork\-point and is examined, and compared against the change each commit between the fork\-point and introduces\&. Commits already included in upstream are prefixed with \- (meaning "drop from my local pull"), while commits missing from upstream are prefixed with + (meaning "add to the updated upstream")\&. + +.SH "OPTIONS" + +.TP +\-v +Verbose\&. + +.TP + +Upstream branch to compare against\&. + +.TP + +Working branch; defaults to HEAD\&. + +.SH "AUTHOR" + + +Written by Junio C Hamano + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-clone-pack.1 b/man1/git-clone-pack.1 new file mode 100755 index 000000000..b284fb0bb --- /dev/null +++ b/man1/git-clone-pack.1 @@ -0,0 +1,67 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CLONE-PACK" 1 "" "" "" +.SH NAME +git-clone-pack \- Clones a repository by receiving packed objects. +.SH "SYNOPSIS" + + +git\-clone\-pack [\-\-exec=] [:] [...] + +.SH "DESCRIPTION" + + +Clones a repository into the current repository by invoking git\-upload\-pack, possibly on the remote host via ssh, in the named repository, and stores the sent pack in the local repository\&. + +.SH "OPTIONS" + +.TP +\-\-exec= +Use this to specify the path to git\-upload\-pack on the remote side, if it is not found on your $PATH\&. Installations of sshd ignore the user's environment setup scripts for login shells (e\&.g\&. \&.bash_profile) and your privately installed git may not be found on the system default $PATH\&. Another workaround suggested is to set up your $PATH in "\&.bashrc", but this flag is for people who do not want to pay the overhead for non\-interactive shells by having a lean \&.bashrc file (they set most of the things up in \&.bash_profile)\&. + +.TP + +A remote host that houses the repository\&. When this part is specified, git\-upload\-pack is invoked via ssh\&. + +.TP + +The repository to sync from\&. + +.TP +... +The heads to update\&. This is relative to $GIT_DIR (e\&.g\&. "HEAD", "refs/heads/master")\&. When unspecified, all heads are updated to match the remote repository\&. + +Usually all the refs from existing repository are stored under the same name in the new repository\&. Giving explicit arguments instead writes the object names and refs to the standard output, just like get\-fetch\-pack does\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano\&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-clone.1 b/man1/git-clone.1 new file mode 100755 index 000000000..4966bab06 --- /dev/null +++ b/man1/git-clone.1 @@ -0,0 +1,107 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CLONE" 1 "" "" "" +.SH NAME +git-clone \- Clones a repository. +.SH "SYNOPSIS" + + +git\-clone [\-l [\-s]] [\-q] [\-n] [\-o ] [\-u ] [] + +.SH "DESCRIPTION" + + +Clones a repository into a newly created directory\&. All remote branch heads are copied under $GIT_DIR/refs/heads/, except that the remote master is also copied to origin branch\&. + + +In addition, $GIT_DIR/remotes/origin file is set up to have this line: + +.nf +Pull: master:origin +.fi + + +This is to help the typical workflow of working off of the remote master branch\&. Every time git pull without argument is run, the progress on the remote master branch is tracked by copying it into the local origin branch, and merged into the branch you are currently working on\&. Remote branches other than master are also added there to be tracked\&. + +.SH "OPTIONS" + +.TP +\-\-local, \-l, +When the repository to clone from is on a local machine, this flag bypasses normal "git aware" transport mechanism and clones the repository by making a copy of HEAD and everything under objects and refs directories\&. The files under \&.git/objects/ directory are hardlinked to save space when possible\&. + +.TP +\-\-shared, \-s, +When the repository to clone is on the local machine, instead of using hard links, automatically setup \&.git/objects/info/alternatives to share the objects with the source repository\&. The resulting repository starts out without any object of its own\&. + +.TP +\-\-quiet, \-q, +Operate quietly\&. This flag is passed to "rsync" and "git\-clone\-pack" commands when given\&. + +.TP +\-n +No checkout of HEAD is performed after the clone is complete\&. + +.TP +\-o +Instead of using the branch name origin to keep track of the upstream repository, use instead\&. Note that the shorthand name stored in remotes/origin is not affected, but the local branch name to pull the remote master branch into is\&. + +.TP +\-\-upload\-pack , \-u , +When given, and the repository to clone from is handled by git\-clone\-pack, \-\-exec= is passed to the command to specify non\-default path for the command run on the other end\&. + +.TP + +The (possibly remote) repository to clone from\&. It can be any URL git\-fetch supports\&. + +.TP + +The name of a new directory to clone into\&. The "humanish" part of the source repository is used if no directory is explicitly given ("repo" for "/path/to/repo\&.git" and "foo" for "host\&.xz:foo/\&.git")\&. Cloning into an existing directory is not allowed\&. + +.SS "Examples" + +.TP +Clone from upstream + +.IP +$ git clone git://git\&.kernel\&.org/pub/scm/\&.\&.\&./linux\-2\&.6 my2\&.6 +$ cd my2\&.6 +$ make +.TP +Make a local clone that borrows from the current directory, without checking things out + +.IP +$ git clone \-l \-s \-n \&. \&.\&./copy +$ cd copy +$ git show\-branch +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-commit-tree.1 b/man1/git-commit-tree.1 new file mode 100755 index 000000000..d62dd01e9 --- /dev/null +++ b/man1/git-commit-tree.1 @@ -0,0 +1,127 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-COMMIT-TREE" 1 "" "" "" +.SH NAME +git-commit-tree \- Creates a new commit object +.SH "SYNOPSIS" + + +git\-commit\-tree [\-p ]* < changelog + +.SH "DESCRIPTION" + + +Creates a new commit object based on the provided tree object and emits the new commit object id on stdout\&. If no parent is given then it is considered to be an initial tree\&. + + +A commit object usually has 1 parent (a commit after a change) or up to 16 parents\&. More than one parent represents a merge of branches that led to them\&. + + +While a tree represents a particular directory state of a working directory, a commit represents that state in "time", and explains how to get there\&. + + +Normally a commit would identify a new "HEAD" state, and while git doesn't care where you save the note about that state, in practice we tend to just write the result to the file that is pointed at by \&.git/HEAD, so that we can always see what the last committed state was\&. + +.SH "OPTIONS" + +.TP + +An existing tree object + +.TP +\-p +Each \-p indicates the id of a parent commit object\&. + +.SH "COMMIT INFORMATION" + + +A commit encapsulates: + +.TP 3 +\(bu +all parent object ids +.TP +\(bu +author name, email and date +.TP +\(bu +committer name and email and the commit time\&. +.LP + + +If not provided, "git\-commit\-tree" uses your name, hostname and domain to provide author and committer info\&. This can be overridden by either \&.git/config file, or using the following environment variables\&. + +.nf +GIT_AUTHOR_NAME +GIT_AUTHOR_EMAIL +GIT_AUTHOR_DATE +GIT_COMMITTER_NAME +GIT_COMMITTER_EMAIL +.fi + + +(nb "<", ">" and "\\n"s are stripped) + + +In \&.git/config file, the following items are used: + +.nf +[user] + name = "Your Name" + email = "your@email\&.address\&.xz" +.fi + + +A commit comment is read from stdin (max 999 chars)\&. If a changelog entry is not provided via "<" redirection, "git\-commit\-tree" will just wait for one to be entered and terminated with ^D\&. + +.SH "DIAGNOSTICS" + +.TP +You don't exist\&. Go away! +The passwd(5) gecos field couldn't be read + +.TP +Your parents must have hated you! +The password(5) gecos field is longer than a giant static buffer\&. + +.TP +Your sysadmin must hate you! +The password(5) name field is longer than a giant static buffer\&. + +.SH "SEE ALSO" + + +\fBgit\-write\-tree\fR(1) + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by David Greaves, Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-commit.1 b/man1/git-commit.1 new file mode 100755 index 000000000..9a7ce8be4 --- /dev/null +++ b/man1/git-commit.1 @@ -0,0 +1,90 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-COMMIT" 1 "" "" "" +.SH NAME +git-commit \- Record your changes +.SH "SYNOPSIS" + + +git\-commit [\-a] [\-s] [\-v] [(\-c | \-C) | \-F | \-m ] [\-e] [\-\-] ... + +.SH "DESCRIPTION" + + +Updates the index file for given paths, or all modified files if \-a is specified, and makes a commit object\&. The command VISUAL and EDITOR environment variables to edit the commit log message\&. + + +This command can run commit\-msg, pre\-commit, and post\-commit hooks\&. See hooks: \fIhooks.html\fR for more information\&. + +.SH "OPTIONS" + +.TP +\-a|\-\-all +Update all paths in the index file\&. + +.TP +\-c or \-C +Take existing commit object, and reuse the log message and the authorship information (including the timestamp) when creating the commit\&. With \-C, the editor is not invoked; with \-c the user can further edit the commit message\&. + +.TP +\-F +Take the commit message from the given file\&. Use \- to read the message from the standard input\&. + +.TP +\-m +Use the given as the commit message\&. + +.TP +\-s|\-\-signoff +Add Signed\-off\-by line at the end of the commit message\&. + +.TP +\-v|\-\-verify +Look for suspicious lines the commit introduces, and abort committing if there is one\&. The definition of suspicious lines is currently the lines that has trailing whitespaces, and the lines whose indentation has a SP character immediately followed by a TAB character\&. This is the default\&. + +.TP +\-n|\-\-no\-verify +The opposite of \-\-verify\&. + +.TP +\-e|\-\-edit +The message taken from file with \-F, command line with \-m, and from file with \-C are usually used as the commit log message unmodified\&. This option lets you further edit the message taken from these sources\&. + +.TP +-- +Do not interpret any more arguments as options\&. + +.TP +... +Update specified paths in the index file before committing\&. + + +If you make a commit and then found a mistake immediately after that, you can recover from it with \fBgit\-reset\fR(1)\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds and Junio C Hamano + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-convert-objects.1 b/man1/git-convert-objects.1 new file mode 100755 index 000000000..6cc4fbe8c --- /dev/null +++ b/man1/git-convert-objects.1 @@ -0,0 +1,47 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CONVERT-OBJECTS" 1 "" "" "" +.SH NAME +git-convert-objects \- Converts old-style git repository +.SH "SYNOPSIS" + + +git\-convert\-objects + +.SH "DESCRIPTION" + + +Converts old\-style git repository to the latest format + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by David Greaves, Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-count-objects.1 b/man1/git-count-objects.1 new file mode 100755 index 000000000..dfc0da446 --- /dev/null +++ b/man1/git-count-objects.1 @@ -0,0 +1,47 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-COUNT-OBJECTS" 1 "" "" "" +.SH NAME +git-count-objects \- Reports on unpacked objects. +.SH "SYNOPSIS" + + +git\-count\-objects + +.SH "DESCRIPTION" + + +This counts the number of unpacked object files and disk space consumed by them, to help you decide when it is a good time to repack\&. + +.SH "AUTHOR" + + +Written by Junio C Hamano + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-cvsexportcommit.1 b/man1/git-cvsexportcommit.1 new file mode 100755 index 000000000..3ebbce8de --- /dev/null +++ b/man1/git-cvsexportcommit.1 @@ -0,0 +1,73 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CVSEXPORTCOMMIT" 1 "" "" "" +.SH NAME +git-cvsexportcommit \- Export a commit to a CVS checkout +.SH "SYNOPSIS" + + +git\-cvsexportcommmit\&.perl [ \-h ] [ \-v ] [ \-c ] [ \-p ] [PARENTCOMMIT] COMMITID + +.SH "DESCRIPTION" + + +Exports a commit from GIT to a CVS checkout, making it easier to merge patches from a git repository into a CVS repository\&. + + +Execute it from the root of the CVS working copy\&. GIT_DIR must be defined\&. + + +It does its best to do the safe thing, it will check that the files are unchanged and up to date in the CVS checkout, and it will not autocommit by default\&. + + +Supports file additions, removals, and commits that affect binary files\&. + + +If the commit is a merge commit, you must tell git\-cvsapplycommit what parent should the changeset be done against\&. + +.SH "OPTIONS" + +.TP +\-c +Commit automatically if the patch applied cleanly\&. It will not commit if any hunks fail to apply or there were other problems\&. + +.TP +\-p +Be pedantic (paranoid) when applying patches\&. Invokes patch with \-\-fuzz=0 + +.TP +\-v +Verbose\&. + +.SH "AUTHOR" + + +Written by Martin Langhoff + +.SH "DOCUMENTATION" + + +Documentation by Martin Langhoff + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-cvsimport.1 b/man1/git-cvsimport.1 new file mode 100755 index 000000000..f23e33a41 --- /dev/null +++ b/man1/git-cvsimport.1 @@ -0,0 +1,124 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-CVSIMPORT" 1 "" "" "" +.SH NAME +git-cvsimport \- Import a CVS repository into git +.SH "SYNOPSIS" + + +git\-cvsimport [ \-o ] [ \-h ] [ \-v ] [ \-d ] [ \-p ] [ \-C ] [ \-i ] [ \-P ] [ \-k ] [ \-s ] [ \-m ] [ \-M regex ] [ ] + +.SH "DESCRIPTION" + + +Imports a CVS repository into git\&. It will either create a new repository, or incrementally import into an existing one\&. + + +Splitting the CVS log into patch sets is done by cvsps\&. At least version 2\&.1 is required\&. + +.SH "OPTIONS" + +.TP +\-d +The root of the CVS archive\&. May be local (a simple path) or remote; currently, only the :local:, :ext: and :pserver: access methods are supported\&. + +.TP +\-C +The git repository to import to\&. If the directory doesn't exist, it will be created\&. Default is the current directory\&. + +.TP +\-i +Import\-only: don't perform a checkout after importing\&. This option ensures the working directory and index remain untouched and will not create them if they do not exist\&. + +.TP +\-k +Kill keywords: will extract files with \-kk from the CVS archive to avoid noisy changesets\&. Highly recommended, but off by default to preserve compatibility with early imported trees\&. + +.TP +\-u +Convert underscores in tag and branch names to dots\&. + +.TP +\-o +The HEAD branch from CVS is imported to the origin branch within the git repository, as HEAD already has a special meaning for git\&. Use this option if you want to import into a different branch\&. + +Use \-o master for continuing an import that was initially done by the old cvs2git tool\&. + +.TP +\-p +Additional options for cvsps\&. The options \-u and \-A are implicit and should not be used here\&. + +If you need to pass multiple options, separate them with a comma\&. + +.TP +\-P +Instead of calling cvsps, read the provided cvsps output file\&. Useful for debugging or when cvsps is being handled outside cvsimport\&. + +.TP +\-m +Attempt to detect merges based on the commit message\&. This option will enable default regexes that try to capture the name source branch name from the commit message\&. + +.TP +\-M +Attempt to detect merges based on the commit message with a custom regex\&. It can be used with \-m to also see the default regexes\&. You must escape forward slashes\&. + +.TP +\-v +Verbosity: let cvsimport report what it is doing\&. + +.TP + +The CVS module you want to import\&. Relative to \&. + +.TP +\-h +Print a short usage message and exit\&. + +.TP +\-z +Pass the timestamp fuzz factor to cvsps\&. + +.TP +\-s +Substitute the character "/" in branch names with + +.SH "OUTPUT" + + +If \-v is specified, the script reports what it is doing\&. + + +Otherwise, success is indicated the Unix way, i\&.e\&. by simply exiting with a zero exit status\&. + +.SH "AUTHOR" + + +Written by Matthias Urlichs , with help from various participants of the git\-list \&. + +.SH "DOCUMENTATION" + + +Documentation by Matthias Urlichs \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-daemon.1 b/man1/git-daemon.1 new file mode 100755 index 000000000..29cb1abc8 --- /dev/null +++ b/man1/git-daemon.1 @@ -0,0 +1,94 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-DAEMON" 1 "" "" "" +.SH NAME +git-daemon \- A really simple server for git repositories. +.SH "SYNOPSIS" + + +git\-daemon [\-\-verbose] [\-\-syslog] [\-\-inetd | \-\-port=n] [\-\-export\-all] [\-\-timeout=n] [\-\-init\-timeout=n] [\-\-strict\-paths] [directory...] + +.SH "DESCRIPTION" + + +A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT" aka 9418\&. It waits for a connection, and will just execute "git\-upload\-pack" when it gets one\&. + + +It's careful in that there's a magic request\-line that gives the command and what directory to upload, and it verifies that the directory is ok\&. + + +It verifies that the directory has the magic file "git\-daemon\-export\-ok", and it will refuse to export any git directory that hasn't explicitly been marked for export this way (unless the \-\-export\-all parameter is specified)\&. If you pass some directory paths as git\-daemon arguments, you can further restrict the offers to a whitelist comprising of those\&. + + +This is ideally suited for read\-only updates, ie pulling from git repositories\&. + +.SH "OPTIONS" + +.TP +\-\-strict\-paths +Match paths exactly (i\&.e\&. don't allow "/foo/repo" when the real path is "/foo/repo\&.git" or "/foo/repo/\&.git") and don't do user\-relative paths\&. git\-daemon will refuse to start when this option is enabled and no whitelist is specified\&. + +.TP +\-\-export\-all +Allow pulling from all directories that look like GIT repositories (have the objects and refs subdirectories), even if they do not have the git\-daemon\-export\-ok file\&. + +.TP +\-\-inetd +Have the server run as an inetd service\&. Implies \-\-syslog\&. + +.TP +\-\-port +Listen on an alternative port\&. + +.TP +\-\-init\-timeout +Timeout between the moment the connection is established and the client request is received (typically a rather low value, since that should be basically immediate)\&. + +.TP +\-\-timeout +Timeout for specific client sub\-requests\&. This includes the time it takes for the server to process the sub\-request and time spent waiting for next client's request\&. + +.TP +\-\-syslog +Log to syslog instead of stderr\&. Note that this option does not imply \-\-verbose, thus by default only error conditions will be logged\&. + +.TP +\-\-verbose +Log details about the incoming connections and requested files\&. + +.TP + +A directory to add to the whitelist of allowed directories\&. Unless \-\-strict\-paths is specified this will also include subdirectories of each named directory\&. + +.SH "AUTHOR" + + +Written by Linus Torvalds , YOSHIFUJI Hideaki and the git\-list + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-diff-files.1 b/man1/git-diff-files.1 new file mode 100755 index 000000000..4785d47e6 --- /dev/null +++ b/man1/git-diff-files.1 @@ -0,0 +1,306 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-DIFF-FILES" 1 "" "" "" +.SH NAME +git-diff-files \- Compares files in the working tree and the index +.SH "SYNOPSIS" + + +git\-diff\-files [\-q] [] [...] + +.SH "DESCRIPTION" + + +Compares the files in the working tree and the index\&. When paths are specified, compares only those named paths\&. Otherwise all entries in the index are compared\&. The output format is the same as "git\-diff\-index" and "git\-diff\-tree"\&. + +.SH "OPTIONS" + +.TP +\-p +Generate patch (see section on generating patches) + +.TP +\-u +Synonym for "\-p"\&. + +.TP +\-z +\\0 line termination on output + +.TP +\-\-name\-only +Show only names of changed files\&. + +.TP +\-\-name\-status +Show only names and status of changed files\&. + +.TP +\-\-full\-index +Instead of the first handful characters, show full object name of pre\- and post\-image blob on the "index" line when generating a patch format output\&. + +.TP +\-\-abbrev[=] +Instead of showing the full 40\-byte hexadecimal object name in diff\-raw format output and diff\-tree header lines, show only handful dhexigits prefix\&. This is independent of \-\-full\-index option above, which controls the diff\-patch output format\&. Non default number of digits can be specified with \-\-abbrev=\&. + +.TP +\-B +Break complete rewrite changes into pairs of delete and create\&. + +.TP +\-M +Detect renames\&. + +.TP +\-C +Detect copies as well as renames\&. + +.TP +\-\-find\-copies\-harder +For performance reasons, by default, \-C option finds copies only if the original file of the copy was modified in the same changeset\&. This flag makes the command inspect unmodified files as candidates for the source of copy\&. This is a very expensive operation for large projects, so use it with caution\&. + +.TP +\-l +\-M and \-C options require O(n^2) processing time where n is the number of potential rename/copy targets\&. This option prevents rename/copy detection from running if the number of rename/copy targets exceeds the specified number\&. + +.TP +\-S +Look for differences that contain the change in \&. + +.TP +\-\-pickaxe\-all +When \-S finds a change, show all the changes in that changeset, not just the files that contain the change in \&. + +.TP +\-O +Output the patch in the order specified in the , which has one shell glob pattern per line\&. + +.TP +\-R +Swap two inputs; that is, show differences from index or on\-disk file to tree contents\&. + + +For more detailed explanation on these common options, see also diffcore documentation: \fIdiffcore.html\fR\&. + +.TP +\-1 \-2 \-3 or \-\-base \-\-ours \-\-theirs, and \-0 +Diff against the "base" version, "our branch" or "their branch" respectively\&. With these options, diffs for merged entries are not shown\&. + +The default is to diff against our branch (\-2) and the cleanly resolved paths\&. The option \-0 can be given to omit diff output for unmerged entries and just show "Unmerged"\&. + +.TP +\-q +Remain silent even on nonexisting files + +.SH "OUTPUT FORMAT" + + +The output format from "git\-diff\-index", "git\-diff\-tree" and "git\-diff\-files" are very similar\&. + + +These commands all compare two sets of things; what is compared differs: + +.TP +git\-diff\-index +compares the and the files on the filesystem\&. + +.TP +git\-diff\-index \-\-cached +compares the and the index\&. + +.TP +git\-diff\-tree [\-r] [...] +compares the trees named by the two arguments\&. + +.TP +git\-diff\-files [...] +compares the index and the files on the filesystem\&. + + +An output line is formatted this way: + +.IP +in\-place edit :100644 100644 bcd1234\&.\&.\&. 0123456\&.\&.\&. M file0 +copy\-edit :100644 100644 abcd123\&.\&.\&. 1234567\&.\&.\&. C68 file1 file2 +rename\-edit :100644 100644 abcd123\&.\&.\&. 1234567\&.\&.\&. R86 file1 file3 +create :000000 100644 0000000\&.\&.\&. 1234567\&.\&.\&. A file4 +delete :100644 000000 1234567\&.\&.\&. 0000000\&.\&.\&. D file5 +unmerged :000000 000000 0000000\&.\&.\&. 0000000\&.\&.\&. U file6 + +That is, from the left to the right: + +.TP 3 +1. +a colon\&. +.TP +2. +mode for "src"; 000000 if creation or unmerged\&. +.TP +3. +a space\&. +.TP +4. +mode for "dst"; 000000 if deletion or unmerged\&. +.TP +5. +a space\&. +.TP +6. +sha1 for "src"; 0{40} if creation or unmerged\&. +.TP +7. +a space\&. +.TP +8. +sha1 for "dst"; 0{40} if creation, unmerged or "look at work tree"\&. +.TP +9. +a space\&. +.TP +10. +status, followed by optional "score" number\&. +.TP +11. +a tab or a NUL when \-z option is used\&. +.TP +12. +path for "src" +.TP +13. +a tab or a NUL when \-z option is used; only exists for C or R\&. +.TP +14. +path for "dst"; only exists for C or R\&. +.TP +15. +an LF or a NUL when \-z option is used, to terminate the record\&. +.LP + + + is shown as all 0's if a file is new on the filesystem and it is out of sync with the index\&. + + +Example: + +.IP +:100644 100644 5be4a4\&.\&.\&.\&.\&.\&. 000000\&.\&.\&.\&.\&.\&. M file\&.c + +When \-z option is not used, TAB, LF, and backslash characters in pathnames are represented as \\t, \\n, and \\\\, respectively\&. + +.SH "GENERATING PATCHES WITH -P" + + +When "git\-diff\-index", "git\-diff\-tree", or "git\-diff\-files" are run with a \-p option, they do not produce the output described above; instead they produce a patch file\&. + + +The patch generation can be customized at two levels\&. + +.TP 3 +1. +When the environment variable GIT_EXTERNAL_DIFF is not set, these commands internally invoke "diff" like this: + + +.nf +diff \-L a/ \-L b/ \-pu +.fi +For added files, /dev/null is used for \&. For removed files, /dev/null is used for + +The "diff" formatting options can be customized via the environment variable GIT_DIFF_OPTS\&. For example, if you prefer context diff: + +.nf +GIT_DIFF_OPTS=\-c git\-diff\-index \-p HEAD +.fi +.TP +2. +When the environment variable GIT_EXTERNAL_DIFF is set, the program named by it is called, instead of the diff invocation described above\&. + +For a path that is added, removed, or modified, GIT_EXTERNAL_DIFF is called with 7 parameters: + + +.nf +path old\-file old\-hex old\-mode new\-file new\-hex new\-mode +.fi +where: + +\-file +are files GIT_EXTERNAL_DIFF can use to read the contents of , +\-hex +are the 40\-hexdigit SHA1 hashes, +\-mode +are the octal representation of the file modes\&. +The file parameters can point at the user's working file (e\&.g\&. new\-file in "git\-diff\-files"), /dev/null (e\&.g\&. old\-file when a new file is added), or a temporary file (e\&.g\&. old\-file in the index)\&. GIT_EXTERNAL_DIFF should not worry about unlinking the temporary file \-\-\- it is removed when GIT_EXTERNAL_DIFF exits\&. +.LP + + +For a path that is unmerged, GIT_EXTERNAL_DIFF is called with 1 parameter, \&. + +.SH "GIT SPECIFIC EXTENSION TO DIFF FORMAT" + + +What \-p option produces is slightly different from the traditional diff format\&. + +.TP 3 +1. +It is preceeded with a "git diff" header, that looks like this: + + +.nf +diff \-\-git a/file1 b/file2 +.fi +The a/ and b/ filenames are the same unless rename/copy is involved\&. Especially, even for a creation or a deletion, /dev/null is _not_ used in place of a/ or b/ filenames\&. + +When rename/copy is involved, file1 and file2 show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively\&. +.TP +2. +It is followed by one or more extended header lines: + +.nf +old mode +new mode +deleted file mode +new file mode +copy from +copy to +rename from +rename to +similarity index +dissimilarity index +index \&.\&. +.fi +.TP +3. +TAB, LF, and backslash characters in pathnames are represented as \\t, \\n, and \\\\, respectively\&. +.LP + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by David Greaves, Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-diff-index.1 b/man1/git-diff-index.1 new file mode 100755 index 000000000..93dfa505b --- /dev/null +++ b/man1/git-diff-index.1 @@ -0,0 +1,388 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-DIFF-INDEX" 1 "" "" "" +.SH NAME +git-diff-index \- Compares content and mode of blobs between the index and repository +.SH "SYNOPSIS" + + +git\-diff\-index [\-m] [\-\-cached] [] [...] + +.SH "DESCRIPTION" + + +Compares the content and mode of the blobs found via a tree object with the content of the current index and, optionally ignoring the stat state of the file on disk\&. When paths are specified, compares only those named paths\&. Otherwise all entries in the index are compared\&. + +.SH "OPTIONS" + +.TP +\-p +Generate patch (see section on generating patches) + +.TP +\-u +Synonym for "\-p"\&. + +.TP +\-z +\\0 line termination on output + +.TP +\-\-name\-only +Show only names of changed files\&. + +.TP +\-\-name\-status +Show only names and status of changed files\&. + +.TP +\-\-full\-index +Instead of the first handful characters, show full object name of pre\- and post\-image blob on the "index" line when generating a patch format output\&. + +.TP +\-\-abbrev[=] +Instead of showing the full 40\-byte hexadecimal object name in diff\-raw format output and diff\-tree header lines, show only handful dhexigits prefix\&. This is independent of \-\-full\-index option above, which controls the diff\-patch output format\&. Non default number of digits can be specified with \-\-abbrev=\&. + +.TP +\-B +Break complete rewrite changes into pairs of delete and create\&. + +.TP +\-M +Detect renames\&. + +.TP +\-C +Detect copies as well as renames\&. + +.TP +\-\-find\-copies\-harder +For performance reasons, by default, \-C option finds copies only if the original file of the copy was modified in the same changeset\&. This flag makes the command inspect unmodified files as candidates for the source of copy\&. This is a very expensive operation for large projects, so use it with caution\&. + +.TP +\-l +\-M and \-C options require O(n^2) processing time where n is the number of potential rename/copy targets\&. This option prevents rename/copy detection from running if the number of rename/copy targets exceeds the specified number\&. + +.TP +\-S +Look for differences that contain the change in \&. + +.TP +\-\-pickaxe\-all +When \-S finds a change, show all the changes in that changeset, not just the files that contain the change in \&. + +.TP +\-O +Output the patch in the order specified in the , which has one shell glob pattern per line\&. + +.TP +\-R +Swap two inputs; that is, show differences from index or on\-disk file to tree contents\&. + + +For more detailed explanation on these common options, see also diffcore documentation: \fIdiffcore.html\fR\&. + +.TP + +The id of a tree object to diff against\&. + +.TP +\-\-cached +do not consider the on\-disk file at all + +.TP +\-m +By default, files recorded in the index but not checked out are reported as deleted\&. This flag makes "git\-diff\-index" say that all non\-checked\-out files are up to date\&. + +.SH "OUTPUT FORMAT" + + +The output format from "git\-diff\-index", "git\-diff\-tree" and "git\-diff\-files" are very similar\&. + + +These commands all compare two sets of things; what is compared differs: + +.TP +git\-diff\-index +compares the and the files on the filesystem\&. + +.TP +git\-diff\-index \-\-cached +compares the and the index\&. + +.TP +git\-diff\-tree [\-r] [...] +compares the trees named by the two arguments\&. + +.TP +git\-diff\-files [...] +compares the index and the files on the filesystem\&. + + +An output line is formatted this way: + +.IP +in\-place edit :100644 100644 bcd1234\&.\&.\&. 0123456\&.\&.\&. M file0 +copy\-edit :100644 100644 abcd123\&.\&.\&. 1234567\&.\&.\&. C68 file1 file2 +rename\-edit :100644 100644 abcd123\&.\&.\&. 1234567\&.\&.\&. R86 file1 file3 +create :000000 100644 0000000\&.\&.\&. 1234567\&.\&.\&. A file4 +delete :100644 000000 1234567\&.\&.\&. 0000000\&.\&.\&. D file5 +unmerged :000000 000000 0000000\&.\&.\&. 0000000\&.\&.\&. U file6 + +That is, from the left to the right: + +.TP 3 +1. +a colon\&. +.TP +2. +mode for "src"; 000000 if creation or unmerged\&. +.TP +3. +a space\&. +.TP +4. +mode for "dst"; 000000 if deletion or unmerged\&. +.TP +5. +a space\&. +.TP +6. +sha1 for "src"; 0{40} if creation or unmerged\&. +.TP +7. +a space\&. +.TP +8. +sha1 for "dst"; 0{40} if creation, unmerged or "look at work tree"\&. +.TP +9. +a space\&. +.TP +10. +status, followed by optional "score" number\&. +.TP +11. +a tab or a NUL when \-z option is used\&. +.TP +12. +path for "src" +.TP +13. +a tab or a NUL when \-z option is used; only exists for C or R\&. +.TP +14. +path for "dst"; only exists for C or R\&. +.TP +15. +an LF or a NUL when \-z option is used, to terminate the record\&. +.LP + + + is shown as all 0's if a file is new on the filesystem and it is out of sync with the index\&. + + +Example: + +.IP +:100644 100644 5be4a4\&.\&.\&.\&.\&.\&. 000000\&.\&.\&.\&.\&.\&. M file\&.c + +When \-z option is not used, TAB, LF, and backslash characters in pathnames are represented as \\t, \\n, and \\\\, respectively\&. + +.SH "GENERATING PATCHES WITH -P" + + +When "git\-diff\-index", "git\-diff\-tree", or "git\-diff\-files" are run with a \-p option, they do not produce the output described above; instead they produce a patch file\&. + + +The patch generation can be customized at two levels\&. + +.TP 3 +1. +When the environment variable GIT_EXTERNAL_DIFF is not set, these commands internally invoke "diff" like this: + + +.nf +diff \-L a/ \-L b/ \-pu +.fi +For added files, /dev/null is used for \&. For removed files, /dev/null is used for + +The "diff" formatting options can be customized via the environment variable GIT_DIFF_OPTS\&. For example, if you prefer context diff: + +.nf +GIT_DIFF_OPTS=\-c git\-diff\-index \-p HEAD +.fi +.TP +2. +When the environment variable GIT_EXTERNAL_DIFF is set, the program named by it is called, instead of the diff invocation described above\&. + +For a path that is added, removed, or modified, GIT_EXTERNAL_DIFF is called with 7 parameters: + + +.nf +path old\-file old\-hex old\-mode new\-file new\-hex new\-mode +.fi +where: + +\-file +are files GIT_EXTERNAL_DIFF can use to read the contents of , +\-hex +are the 40\-hexdigit SHA1 hashes, +\-mode +are the octal representation of the file modes\&. +The file parameters can point at the user's working file (e\&.g\&. new\-file in "git\-diff\-files"), /dev/null (e\&.g\&. old\-file when a new file is added), or a temporary file (e\&.g\&. old\-file in the index)\&. GIT_EXTERNAL_DIFF should not worry about unlinking the temporary file \-\-\- it is removed when GIT_EXTERNAL_DIFF exits\&. +.LP + + +For a path that is unmerged, GIT_EXTERNAL_DIFF is called with 1 parameter, \&. + +.SH "GIT SPECIFIC EXTENSION TO DIFF FORMAT" + + +What \-p option produces is slightly different from the traditional diff format\&. + +.TP 3 +1. +It is preceeded with a "git diff" header, that looks like this: + + +.nf +diff \-\-git a/file1 b/file2 +.fi +The a/ and b/ filenames are the same unless rename/copy is involved\&. Especially, even for a creation or a deletion, /dev/null is _not_ used in place of a/ or b/ filenames\&. + +When rename/copy is involved, file1 and file2 show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively\&. +.TP +2. +It is followed by one or more extended header lines: + +.nf +old mode +new mode +deleted file mode +new file mode +copy from +copy to +rename from +rename to +similarity index +dissimilarity index +index \&.\&. +.fi +.TP +3. +TAB, LF, and backslash characters in pathnames are represented as \\t, \\n, and \\\\, respectively\&. +.LP + +.SH "OPERATING MODES" + + +You can choose whether you want to trust the index file entirely (using the \-\-cached flag) or ask the diff logic to show any files that don't match the stat state as being "tentatively changed"\&. Both of these operations are very useful indeed\&. + +.SH "CACHED MODE" + + +If \-\-cached is specified, it allows you to ask: + +.nf +show me the differences between HEAD and the current index +contents (the ones I'd write with a "git\-write\-tree") +.fi + + +For example, let's say that you have worked on your working directory, updated some files in the index and are ready to commit\&. You want to see eactly what you are going to commit is without having to write a new tree object and compare it that way, and to do that, you just do + +.nf +git\-diff\-index \-\-cached HEAD +.fi + + +Example: let's say I had renamed commit\&.c to git\-commit\&.c, and I had done an "git\-update\-index" to make that effective in the index file\&. "git\-diff\-files" wouldn't show anything at all, since the index file matches my working directory\&. But doing a "git\-diff\-index" does: + +.nf +torvalds@ppc970:~/git> git\-diff\-index \-\-cached HEAD +\-100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit\&.c ++100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 git\-commit\&.c +.fi + + +You can trivially see that the above is a rename\&. + + +In fact, "git\-diff\-index \-\-cached" should always be entirely equivalent to actually doing a "git\-write\-tree" and comparing that\&. Except this one is much nicer for the case where you just want to check where you are\&. + + +So doing a "git\-diff\-index \-\-cached" is basically very useful when you are asking yourself "what have I already marked for being committed, and what's the difference to a previous tree"\&. + +.SH "NON-CACHED MODE" + + +The "non\-cached" mode takes a different approach, and is potentially the more useful of the two in that what it does can't be emulated with a "git\-write\-tree" + "git\-diff\-tree"\&. Thus that's the default mode\&. The non\-cached version asks the question: + +.nf +show me the differences between HEAD and the currently checked out +tree \- index contents _and_ files that aren't up\-to\-date +.fi + + +which is obviously a very useful question too, since that tells you what you could commit\&. Again, the output matches the "git\-diff\-tree \-r" output to a tee, but with a twist\&. + + +The twist is that if some file doesn't match the index, we don't have a backing store thing for it, and we use the magic "all\-zero" sha1 to show that\&. So let's say that you have edited kernel/sched\&.c, but have not actually done a "git\-update\-index" on it yet \- there is no "object" associated with the new state, and you get: + +.nf +torvalds@ppc970:~/v2\&.6/linux> git\-diff\-index HEAD +*100644\->100664 blob 7476bb\&.\&.\&.\&.\&.\&.\->000000\&.\&.\&.\&.\&.\&. kernel/sched\&.c +.fi + + +ie it shows that the tree has changed, and that kernel/sched\&.c has is not up\-to\-date and may contain new stuff\&. The all\-zero sha1 means that to get the real diff, you need to look at the object in the working directory directly rather than do an object\-to\-object diff\&. + +.RS +.Sh "Note" + + +As with other commands of this type, "git\-diff\-index" does not actually look at the contents of the file at all\&. So maybe kernel/sched\&.c hasn't actually changed, and it's just that you touched it\&. In either case, it's a note that you need to "git\-upate\-index" it to make the index be in sync\&. + +.RE + +.RS +.Sh "Note" + + +You can have a mixture of files show up as "has been updated" and "is still dirty in the working directory" together\&. You can always tell which file is in which state, since the "has been updated" ones show a valid sha1, and the "not in sync with the index" ones will always have the special all\-zero sha1\&. + +.RE + +.SH "AUTHOR" + + +Written by Linus Torvalds + +.SH "DOCUMENTATION" + + +Documentation by David Greaves, Junio C Hamano and the git\-list \&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-diff-stages.1 b/man1/git-diff-stages.1 new file mode 100755 index 000000000..94febbad5 --- /dev/null +++ b/man1/git-diff-stages.1 @@ -0,0 +1,300 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-DIFF-STAGES" 1 "" "" "" +.SH NAME +git-diff-stages \- Compares content and mode of blobs between stages in an unmerged index file. +.SH "SYNOPSIS" + + +git\-diff\-stages [] [...] + +.SH "DESCRIPTION" + + +Compares the content and mode of the blobs in two stages in an unmerged index file\&. + +.SH "OPTIONS" + +.TP +\-p +Generate patch (see section on generating patches) + +.TP +\-u +Synonym for "\-p"\&. + +.TP +\-z +\\0 line termination on output + +.TP +\-\-name\-only +Show only names of changed files\&. + +.TP +\-\-name\-status +Show only names and status of changed files\&. + +.TP +\-\-full\-index +Instead of the first handful characters, show full object name of pre\- and post\-image blob on the "index" line when generating a patch format output\&. + +.TP +\-\-abbrev[=] +Instead of showing the full 40\-byte hexadecimal object name in diff\-raw format output and diff\-tree header lines, show only handful dhexigits prefix\&. This is independent of \-\-full\-index option above, which controls the diff\-patch output format\&. Non default number of digits can be specified with \-\-abbrev=\&. + +.TP +\-B +Break complete rewrite changes into pairs of delete and create\&. + +.TP +\-M +Detect renames\&. + +.TP +\-C +Detect copies as well as renames\&. + +.TP +\-\-find\-copies\-harder +For performance reasons, by default, \-C option finds copies only if the original file of the copy was modified in the same changeset\&. This flag makes the command inspect unmodified files as candidates for the source of copy\&. This is a very expensive operation for large projects, so use it with caution\&. + +.TP +\-l +\-M and \-C options require O(n^2) processing time where n is the number of potential rename/copy targets\&. This option prevents rename/copy detection from running if the number of rename/copy targets exceeds the specified number\&. + +.TP +\-S +Look for differences that contain the change in \&. + +.TP +\-\-pickaxe\-all +When \-S finds a change, show all the changes in that changeset, not just the files that contain the change in \&. + +.TP +\-O +Output the patch in the order specified in the , which has one shell glob pattern per line\&. + +.TP +\-R +Swap two inputs; that is, show differences from index or on\-disk file to tree contents\&. + + +For more detailed explanation on these common options, see also diffcore documentation: \fIdiffcore.html\fR\&. + +.TP +, +The stage number to be compared\&. + +.SH "OUTPUT FORMAT" + + +The output format from "git\-diff\-index", "git\-diff\-tree" and "git\-diff\-files" are very similar\&. + + +These commands all compare two sets of things; what is compared differs: + +.TP +git\-diff\-index +compares the and the files on the filesystem\&. + +.TP +git\-diff\-index \-\-cached +compares the and the index\&. + +.TP +git\-diff\-tree [\-r] [...] +compares the trees named by the two arguments\&. + +.TP +git\-diff\-files [...] +compares the index and the files on the filesystem\&. + + +An output line is formatted this way: + +.IP +in\-place edit :100644 100644 bcd1234\&.\&.\&. 0123456\&.\&.\&. M file0 +copy\-edit :100644 100644 abcd123\&.\&.\&. 1234567\&.\&.\&. C68 file1 file2 +rename\-edit :100644 100644 abcd123\&.\&.\&. 1234567\&.\&.\&. R86 file1 file3 +create :000000 100644 0000000\&.\&.\&. 1234567\&.\&.\&. A file4 +delete :100644 000000 1234567\&.\&.\&. 0000000\&.\&.\&. D file5 +unmerged :000000 000000 0000000\&.\&.\&. 0000000\&.\&.\&. U file6 + +That is, from the left to the right: + +.TP 3 +1. +a colon\&. +.TP +2. +mode for "src"; 000000 if creation or unmerged\&. +.TP +3. +a space\&. +.TP +4. +mode for "dst"; 000000 if deletion or unmerged\&. +.TP +5. +a space\&. +.TP +6. +sha1 for "src"; 0{40} if creation or unmerged\&. +.TP +7. +a space\&. +.TP +8. +sha1 for "dst"; 0{40} if creation, unmerged or "look at work tree"\&. +.TP +9. +a space\&. +.TP +10. +status, followed by optional "score" number\&. +.TP +11. +a tab or a NUL when \-z option is used\&. +.TP +12. +path for "src" +.TP +13. +a tab or a NUL when \-z option is used; only exists for C or R\&. +.TP +14. +path for "dst"; only exists for C or R\&. +.TP +15. +an LF or a NUL when \-z option is used, to terminate the record\&. +.LP + + + is shown as all 0's if a file is new on the filesystem and it is out of sync with the index\&. + + +Example: + +.IP +:100644 100644 5be4a4\&.\&.\&.\&.\&.\&. 000000\&.\&.\&.\&.\&.\&. M file\&.c + +When \-z option is not used, TAB, LF, and backslash characters in pathnames are represented as \\t, \\n, and \\\\, respectively\&. + +.SH "GENERATING PATCHES WITH -P" + + +When "git\-diff\-index", "git\-diff\-tree", or "git\-diff\-files" are run with a \-p option, they do not produce the output described above; instead they produce a patch file\&. + + +The patch generation can be customized at two levels\&. + +.TP 3 +1. +When the environment variable GIT_EXTERNAL_DIFF is not set, these commands internally invoke "diff" like this: + + +.nf +diff \-L a/ \-L b/ \-pu +.fi +For added files, /dev/null is used for \&. For removed files, /dev/null is used for + +The "diff" formatting options can be customized via the environment variable GIT_DIFF_OPTS\&. For example, if you prefer context diff: + +.nf +GIT_DIFF_OPTS=\-c git\-diff\-index \-p HEAD +.fi +.TP +2. +When the environment variable GIT_EXTERNAL_DIFF is set, the program named by it is called, instead of the diff invocation described above\&. + +For a path that is added, removed, or modified, GIT_EXTERNAL_DIFF is called with 7 parameters: + + +.nf +path old\-file old\-hex old\-mode new\-file new\-hex new\-mode +.fi +where: + +\-file +are files GIT_EXTERNAL_DIFF can use to read the contents of , +\-hex +are the 40\-hexdigit SHA1 hashes, +\-mode +are the octal representation of the file modes\&. +The file parameters can point at the user's working file (e\&.g\&. new\-file in "git\-diff\-files"), /dev/null (e\&.g\&. old\-file when a new file is added), or a temporary file (e\&.g\&. old\-file in the index)\&. GIT_EXTERNAL_DIFF should not worry about unlinking the temporary file \-\-\- it is removed when GIT_EXTERNAL_DIFF exits\&. +.LP + + +For a path that is unmerged, GIT_EXTERNAL_DIFF is called with 1 parameter, \&. + +.SH "GIT SPECIFIC EXTENSION TO DIFF FORMAT" + + +What \-p option produces is slightly different from the traditional diff format\&. + +.TP 3 +1. +It is preceeded with a "git diff" header, that looks like this: + + +.nf +diff \-\-git a/file1 b/file2 +.fi +The a/ and b/ filenames are the same unless rename/copy is involved\&. Especially, even for a creation or a deletion, /dev/null is _not_ used in place of a/ or b/ filenames\&. + +When rename/copy is involved, file1 and file2 show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively\&. +.TP +2. +It is followed by one or more extended header lines: + +.nf +old mode +new mode +deleted file mode +new file mode +copy from +copy to +rename from +rename to +similarity index +dissimilarity index +index \&.\&. +.fi +.TP +3. +TAB, LF, and backslash characters in pathnames are represented as \\t, \\n, and \\\\, respectively\&. +.LP + +.SH "AUTHOR" + + +Written by Junio C Hamano + +.SH "DOCUMENTATION" + + +Documentation by Junio C Hamano\&. + +.SH "GIT" + + +Part of the \fBgit\fR(7) suite + diff --git a/man1/git-diff-tree.1 b/man1/git-diff-tree.1 new file mode 100755 index 000000000..847364514 --- /dev/null +++ b/man1/git-diff-tree.1 @@ -0,0 +1,398 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "GIT-DIFF-TREE" 1 "" "" "" +.SH NAME +git-diff-tree \- Compares the content and mode of blobs found via two tree objects +.SH "SYNOPSIS" + + +git\-diff\-tree [\-\-stdin] [\-m] [\-s] [\-v] [\-\-no\-commit\-id] [\-\-pretty] [\-t] [\-r] [\-\-root] [] [] [...] + +.SH "DESCRIPTION" + + +Compares the content and mode of the blobs found via two tree objects\&. + + +If there is only one given, the commit is compared with its parents (see \-\-stdin below)\&. + + +Note that "git\-diff\-tree" can use the tree encapsulated in a commit object\&. + +.SH "OPTIONS" + +.TP +\-p +Generate patch (see section on generating patches) + +.TP +\-u +Synonym for "\-p"\&. + +.TP +\-z +\\0 line termination on output + +.TP +\-\-name\-only +Show only names of changed files\&. + +.TP +\-\-name\-status +Show only names and status of changed files\&. + +.TP +\-\-full\-index +Instead of the first handful characters, show full object name of pre\- and post\-image blob on the "index" line when generating a patch format output\&. + +.TP +\-\-abbrev[=] +Instead of showing the full 40\-byte hexadecimal object name in diff\-raw format output and diff\-tree header lines, show only handful dhexigits prefix\&. This is independent of \-\-full\-index option above, which controls the diff\-patch output format\&. Non default number of digits can be specified with \-\-abbrev=\&. + +.TP +\-B +Break complete rewrite changes into pairs of delete and create\&. + +.TP +\-M +Detect renames\&. + +.TP +\-C +Detect copies as well as renames\&. + +.TP +\-\-find\-copies\-harder +For performance reasons, by default, \-C option finds copies only if the original file of the copy was modified in the same changeset\&. This flag makes the command inspect unmodified files as candidates for the source of copy\&. This is a very expensive operation for large projects, so use it with caution\&. + +.TP +\-l +\-M and \-C options require O(n^2) processing time where n is the number of potential rename/copy targets\&. This option prevents rename/copy detection from running if the number of rename/copy targets exceeds the specified number\&. + +.TP +\-S +Look for differences that contain the change in \&. + +.TP +\-\-pickaxe\-all +When \-S finds a change, show all the changes in that changeset, not just the files that contain the change in \&. + +.TP +\-O +Output the patch in the order specified in the , which has one shell glob pattern per line\&. + +.TP +\-R +Swap two inputs; that is, show differences from index or on\-disk file to tree contents\&. + + +For more detailed explanation on these common options, see also diffcore documentation: \fIdiffcore.html\fR\&. + +.TP + +The id of a tree object\&. + +.TP +... +If provided, the results are limited to a subset of files matching one of these prefix strings\&. ie file matches /^||.../ Note that this parameter does not provide any wildcard or regexp features\&. + +.TP +\-r +recurse into sub\-trees + +.TP +\-t +show tree entry itself as well as subtrees\&. Implies \-r\&. + +.TP +\-\-root +When \-\-root is specified the initial commit will be showed as a big creation event\&. This is equivalent to a diff against the NULL tree\&. + +.TP +\-\-stdin +When \-\-stdin is specified, the command does not take arguments from the command line\&. Instead, it reads either one or a pair of separated with a single space from its standard input\&. + +When a single commit is given on one line of such input, it compares the commit with its parents\&. The following flags further affects its behaviour\&. This does not apply to the case where two separated with a single space are given\&. + +.TP +\-m +By default, "git\-diff\-tree \-\-stdin" does not show differences for merge commits\&. With this flag, it shows differences to that commit from all of its parents\&. + +.TP +\-s +By default, "git\-diff\-tree \-\-stdin" shows differences, either in machine\-readable form (without \-p) or in patch form (with \-p)\&. This output can be supressed\&. It is only useful with \-v flag\&. + +.TP +\-v +This flag causes "git\-diff\-tree \-\-stdin" to also show the commit message before the differences\&. + +.TP +\-\-pretty[=(raw|medium|short)] +This is used to control "pretty printing" format of the commit message\&. Without "=