.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-COMMIT" "1" "12/31/2006" "" ""
+.TH "GIT\-COMMIT" "1" "01/13/2007" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Add Signed\-off\-by line at the end of the commit message.
.TP
\-\-no\-verify
-By default, the command looks for suspicious lines the commit introduces, and aborts committing if there is one. The definition of \fIsuspicious lines\fR is currently the lines that has trailing whitespaces, and the lines whose indentation has a SP character immediately followed by a TAB character. This option turns off the check.
+This option bypasses the pre\-commit hook. See also [1]\&\fIhooks\fR.
.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.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-INIT" "1" "01/12/2007" "" ""
+.TH "GIT\-INIT" "1" "01/13/2007" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Running git\-init in an existing repository is safe. It will not overwrite things that are already there. The primary reason for rerunning git\-init is to pick up newly added templates.
-Note that git\-init is the same as git\-init\-db. The command was primarily meant to initialize the object database, but over time it has become responsible for setting up the other aspects of the repository, such as installing the default hooks and setting the configuration variables. The old name is retained because people are so used to it and many existing documents refer to it that way, and this will not change for some time to come.
+Note that git\-init is the same as git\-init\-db. The command was primarily meant to initialize the object database, but over time it has become responsible for setting up the other aspects of the repository, such as installing the default hooks and setting the configuration variables. The old name is retained for backward compatibility reasons.
.SH "EXAMPLES"
.TP
Start a new git repository for an existing code base
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-P4IMPORT" "1" "10/03/2006" "" ""
+.TH "GIT\-P4IMPORT" "1" "01/13/2007" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
git\-p4import \- Import a Perforce repository into git
.SH "SYNOPSIS"
git\-p4import [\-q|\-v] [\-\-notags] [\-\-authors <file>] [\-t <timezone>] <//p4repo/path> <branch>
-.sp
+
git\-p4import \-\-stitch <//p4repo/path>
-.sp
+
git\-p4import
-.sp
.SH "DESCRIPTION"
Import a Perforce repository into an existing git repository. When a <//p4repo/path> and <branch> are specified a new branch with the given name will be created and the initial import will begin.
-.sp
+
Once the initial import is complete you can do an incremental import of new commits from the Perforce repository. You do this by checking out the appropriate git branch and then running git\-p4import without any options.
-.sp
+
The standard p4 client is used to communicate with the Perforce repository; it must be configured correctly in order for git\-p4import to operate (see below).
-.sp
.SH "OPTIONS"
.TP
\-q
The new branch that will be created to hold the Perforce imports.
.SH "P4 CLIENT"
You must make the p4 client command available in your $PATH and configure it to communicate with the target Perforce repository. Typically this means you must set the "$P4PORT" and "$P4CLIENT" environment variables.
-.sp
+
You must also configure a p4 client "view" which maps the Perforce branch into the top level of your git repository, for example:
.sp
-.sp
.nf
Client: myhost
.fi
With the above p4 client setup, you could import the "jam" perforce branch into a branch named "jammy", like so:
.sp
-.sp
.nf
$ mkdir \-p /home/sean/import/jam
$ cd /home/sean/import/jam
-$ git init\-db
+$ git init
$ git p4import //public/jam jammy
.fi
.SH "MULTIPLE BRANCHES"
Note that by creating multiple "views" you can use git\-p4import to import additional branches into the same git repository. However, the p4 client has a limitation in that it silently ignores all but the last "view" that maps into the same local directory. So the following will \fBnot\fR work:
.sp
-.sp
.nf
View:
//public/jam/... //myhost/jam/...
//public/guest/... //myhost/jam/...
.fi
If you want more than one Perforce branch to be imported into the same directory you must employ a workaround. A simple option is to adjust your p4 client before each import to only include a single view.
-.sp
+
Another option is to create multiple symlinks locally which all point to the same directory in your git repository and then use one per "view" instead of listing the actual directory.
-.sp
.SH "TAGS"
A git tag of the form p4/xx is created for every change imported from the Perforce repository where xx is the Perforce changeset number. Therefore after the import you can use git to access any commit by its Perforce number, e.g. git show p4/327.
-.sp
+
The tag associated with the HEAD commit is also how git\-p4import determines if there are new changes to incrementally import from the Perforce repository.
-.sp
+
If you import from a repository with many thousands of changes you will have an equal number of p4/xxxx git tags. Git tags can be expensive in terms of disk space and repository operations. If you don't need to perform further incremental imports, you may delete the tags.
-.sp
.SH "NOTES"
You can interrupt the import (e.g. ctrl\-c) at any time and restart it without worry.
-.sp
+
Author information is automatically determined by querying the Perforce "users" table using the id associated with each change. However, if you want to manually supply these mappings you can do so with the "\-\-authors" option. It accepts a file containing a list of mappings with each line containing one mapping in the format:
.sp
-.sp
.nf
perforce_id = Full Name <email@address.com>
.fi
.SH "AUTHOR"
Written by Sean Estabrooks <seanlkml@sympatico.ca>
-.sp
.SH "GIT"
Part of the \fBgit\fR(7) suite
-.sp
+
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-PRUNE\-PACKED" "1" "10/03/2006" "" ""
+.TH "GIT\-PRUNE\-PACKED" "1" "01/13/2007" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
git\-prune\-packed \- Program used to remove the extra object files that are now residing in a pack file.
.SH "SYNOPSIS"
-\fIgit\-prune\-packed\fR [\-n]
-.sp
+\fIgit\-prune\-packed\fR [\-n] [\-q]
.SH "DESCRIPTION"
This program search the $GIT_OBJECT_DIR for all objects that currently exist in a pack file as well as the independent object directories.
-.sp
+
All such extra objects are removed.
-.sp
+
A pack is a collection of objects, individually compressed, with delta compression applied, stored in a single file, with an associated index file.
-.sp
+
Packs are used to reduce the load on mirror systems, backup engines, disk storage, etc.
-.sp
.SH "OPTIONS"
.TP
\-n
Don't actually remove any objects, only show those that would have been removed.
+.TP
+\-q
+Squelch the progress indicator.
.SH "AUTHOR"
Written by Linus Torvalds <torvalds@osdl.org>
-.sp
.SH "DOCUMENTATION"
Documentation by Ryan Anderson <ryan@michonline.com>
-.sp
.SH "SEE ALSO"
\fBgit\-pack\-objects\fR(1) \fBgit\-repack\fR(1)
-.sp
.SH "GIT"
Part of the \fBgit\fR(7) suite
-.sp
+
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-REPO\-CONFIG" "1" "01/08/2007" "" ""
+.TH "GIT\-REPO\-CONFIG" "1" "01/13/2007" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Internal variable identifying the repository format and layout version.
.TP
core.sharedRepository
-When \fIgroup\fR (or \fItrue\fR), the repository is made shareable between several users in a group (making sure all the files and objects are group\-writable). When \fIall\fR (or \fIworld\fR or \fIeverybody\fR), the repository will be readable by all users, additionally to being group\-shareable. When \fIumask\fR (or \fIfalse\fR), git will use permissions reported by umask(2). See \fBgit\-init\-db\fR(1). False by default.
+When \fIgroup\fR (or \fItrue\fR), the repository is made shareable between several users in a group (making sure all the files and objects are group\-writable). When \fIall\fR (or \fIworld\fR or \fIeverybody\fR), the repository will be readable by all users, additionally to being group\-shareable. When \fIumask\fR (or \fIfalse\fR), git will use permissions reported by umask(2). See \fBgit\-init\fR(1). False by default.
.TP
core.warnAmbiguousRefs
If true, git will warn you if the ref name you passed it is ambiguous and might match multiple refs in the .git/refs/ tree. True by default.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-SVN" "1" "01/10/2007" "" ""
+.TH "GIT\-SVN" "1" "01/13/2007" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "OPTIONS"
.TP
\-\-shared , \-\-template=<template_directory>
-Only used with the \fIinit\fR command. These are passed directly to \fBgit\-init\-db\fR(1).
+Only used with the \fIinit\fR command. These are passed directly to \fBgit\-init\fR(1).
.TP
\-r <ARG> , \-\-revision <ARG>
Only used with the \fIfetch\fR command.
Tracking and contributing to a the trunk of a Subversion\-managed project:
.sp
.nf
-# Initialize a repo (like git init\-db):
+# Initialize a repo (like git init):
git\-svn init http://svn.foo.org/project/trunk
# Fetch remote revisions:
git\-svn fetch
Tracking and contributing to an entire Subversion\-managed project (complete with a trunk, tags and branches): See also: \fITracking Multiple Repositories or Branches\fR
.sp
.nf
-# Initialize a repo (like git init\-db):
+# Initialize a repo (like git init):
git\-svn multi\-init http://svn.foo.org/project \\
\-T trunk \-b branches \-t tags
# Fetch remote revisions:
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT" "7" "01/08/2007" "" ""
+.TH "GIT" "7" "01/13/2007" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\fBgit\-index\-pack\fR(1)
Build pack idx file for an existing packed archive.
.TP
-\fBgit\-init\fR(1) , \fBgit\-init\-db\fR(1)
-Creates an empty git object database, or reinitialize an existing one.
+\fBgit\-init\fR(1)
+Creates an empty git repository, or reinitialize an existing one.
.TP
\fBgit\-merge\-file\fR(1)
Runs a threeway merge.