.\" 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\-ARCHIVE" "1" "07/19/2007" "Git 1.5.3.rc2.19.gc4fba" "Git Manual"
+.TH "GIT\-ARCHIVE" "1" "08/23/2007" "Git 1.5.3.rc6.9.gaabb2" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\-9
Highest and slowest compression level. You can specify any number from 1 to 9 to adjust compression speed and ratio.
.SH "CONFIGURATION"
-By default, file and directories modes are set to 0666 or 0777 in tar archives. It is possible to change this by setting the "umask" variable in the repository configuration as follows :
-.sp
-.nf
-umask = 002 ;# group friendly
-.fi
-The special umask value "user" indicates that the user's current umask will be used instead. The default value remains 0, which means world readable/writable files and directories.
+.TP
+tar.umask
+This variable can be used to restrict the permission bits of tar archive entries. The default is 0002, which turns off the world write bit. The special value "user" indicates that the archiving user's umask will be used instead. See umask(2) for details.
.SH "EXAMPLES"
.TP
git archive \-\-format=tar \-\-prefix=junk/ HEAD | (cd /var/tmp/ && tar xf \-)
.\" 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\-CONFIG" "1" "08/21/2007" "Git 1.5.3.rc5.46.g23d5" "Git Manual"
+.TH "GIT\-CONFIG" "1" "08/23/2007" "Git 1.5.3.rc6.9.gaabb2" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
The default set of branches for \fBgit\-show\-branch\fR(1). See \fBgit\-show\-branch\fR(1).
.TP
tar.umask
-By default, \fBgit\-tar\-tree\fR(1) sets file and directories modes to 0666 or 0777. While this is both useful and acceptable for projects such as the Linux Kernel, it might be excessive for other projects. With this variable, it becomes possible to tell \fBgit\-tar\-tree\fR(1) to apply a specific umask to the modes above. The special value "user" indicates that the user's current umask will be used. This should be enough for most projects, as it will lead to the same permissions as \fBgit\-checkout\fR(1) would use. The default value remains 0, which means world read\-write.
+This variable can be used to restrict the permission bits of tar archive entries. The default is 0002, which turns off the world write bit. The special value "user" indicates that the archiving user's umask will be used instead. See umask(2) and \fBgit\-archive\fR(1).
.TP
user.email
Your email address to be recorded in any newly created commits. Can be overridden by the \fIGIT_AUTHOR_EMAIL\fR, \fIGIT_COMMITTER_EMAIL\fR, and \fIEMAIL\fR environment variables. See \fBgit\-commit\-tree\fR(1).
.\" 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\-REV\-LIST" "1" "08/21/2007" "Git 1.5.3.rc5.46.g23d5" "Git Manual"
+.TH "GIT\-REV\-LIST" "1" "08/23/2007" "Git 1.5.3.rc6.9.gaabb2" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Omit any commit that introduces the same change as another commit on the "other side" when the set of commits are limited with symmetric difference. For example, if you have two branches, A and B, a usual way to list all commits on only one side of them is with \-\-left\-right, like the example above in the description of that option. It however shows the commits that were cherry\-picked from the other branch (for example, "3rd on b" may be cherry\-picked from branch A). With this option, such pairs of commits are excluded from the output.
.TP
\-g, \-\-walk\-reflogs
-Instead of walking the commit ancestry chain, walk reflog entries from the most recent one to older ones. When this option is used you cannot specify commits to exclude (that is, \fI^commit\fR, \fIcommit1..commit2\fR, nor \fIcommit1\&...commit2\fR notations cannot be used). With \fI\-\-pretty\fR format other than oneline (for obvious reasons), this causes the output to have two extra lines of information taken from the reflog. By default, \fIcommit@{Nth}\fR notation is used in the output. When the starting commit is specified as instead. Under \fI\-\-pretty=oneline\fR, the commit message is prefixed with this information on the same line. Cannot be combined with \-\-reverse.
+Instead of walking the commit ancestry chain, walk reflog entries from the most recent one to older ones. When this option is used you cannot specify commits to exclude (that is, \fI^commit\fR, \fIcommit1..commit2\fR, nor \fIcommit1\&...commit2\fR notations cannot be used). With \fI\-\-pretty\fR format other than oneline (for obvious reasons), this causes the output to have two extra lines of information taken from the reflog. By default, \fIcommit@{Nth}\fR notation is used in the output. When the starting commit is specified as instead. Under \fI\-\-pretty=oneline\fR, the commit message is prefixed with this information on the same line.
+
+Cannot be combined with \fI\-\-reverse\fR.
.TP
\-\-merge
After a failed merge, show refs that touch files having a conflict and don't exist on all heads to merge.
This option is similar to \fI\-\-topo\-order\fR in the sense that no parent comes before all of its children, but otherwise things are still ordered in the commit timestamp order.
.TP
\-\-reverse
-Output the commits in reverse order. Cannot be combined with \-\-walk\-reflogs.
+Output the commits in reverse order. Cannot be combined with \fI\-\-walk\-reflogs\fR.
.SS "Object Traversal"
These options are mostly targeted for packing of git repositories.
.TP
.\" 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" "08/07/2007" "Git 1.5.3.rc4.24.g5b56a" "Git Manual"
+.TH "GIT\-SVN" "1" "08/23/2007" "Git 1.5.3.rc6.9.gaabb2" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
If you use \fIgit\-svn set\-tree A..B\fR to commit several diffs and you do not have the latest remotes/git\-svn merged into my\-branch, you should use \fIgit\-svn rebase\fR to update your work branch instead of \fIgit pull\fR or \fIgit merge\fR. \fIpull/merge\fR can cause non\-linear history to be flattened when committing into SVN, which can lead to merge commits reversing previous commits in SVN.
.SH "DESIGN PHILOSOPHY"
Merge tracking in Subversion is lacking and doing branched development with Subversion is cumbersome as a result. git\-svn does not do automated merge/branch tracking by default and leaves it entirely up to the user on the git side. git\-svn does however follow copy history of the directory that it is tracking, however (much like how \fIsvn log\fR works).
+.SH "CAVEATS"
+For the sake of simplicity and interoperating with a less\-capable system (SVN), it is recommended that all git\-svn users clone, fetch and dcommit directly from the SVN server, and avoid all git\-clone/pull/merge/push operations between git repositories and branches. The recommended method of exchanging code between git branches and users is git\-format\-patch and git\-am, or just dcommiting to the SVN repository.
+
+Running \fIgit\-merge\fR or \fIgit\-pull\fR is NOT recommended on a branch you plan to dcommit from. Subversion does not represent merges in any reasonable or useful fashion; so users using Subversion cannot see any merges you've made. Furthermore, if you merge or pull from a git branch that is a mirror of an SVN branch, dcommit may commit to the wrong branch.
+
+\fIgit\-clone\fR does not clone branches under the refs/remotes/ hierarchy or any git\-svn metadata, or config. So repositories created and managed with using git\-svn should use rsync(1) for cloning, if cloning is to be done at all.
+
+Since \fIdcommit\fR uses rebase internally, any git branches you git\-push to before dcommit on will require forcing an overwrite of the existing ref on the remote repository. This is generally considered bad practice, see the git\-push(1) documentation for details.
+
+Do not use the \-\-amend option of git\-commit(1) on a change you've already dcommitted. It is considered bad practice to \-\-amend commits you've already pushed to a remote repository for other users, and dcommit with SVN is analogous to that.
.SH "BUGS"
We ignore all SVN properties except svn:executable. Any unhandled properties are logged to $GIT_DIR/svn/<refname>/unhandled.log
.\" 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\-SVNIMPORT" "1" "07/19/2007" "Git 1.5.3.rc2.19.gc4fba" "Git Manual"
+.TH "GIT\-SVNIMPORT" "1" "08/23/2007" "Git 1.5.3.rc6.9.gaabb2" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\-r
Prepend \fIrX: \fR to commit messages, where X is the imported subversion revision.
.TP
+\-u
+Replace underscores in tag names with periods.
+.TP
\-I <ignorefile_name>
Import the svn:ignore directory property to files with this name in each directory. (The Subversion and GIT ignore syntaxes are similar enough that using the Subversion patterns directly with "\-I .gitignore" will almost always just work.)
.TP
.\" 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\-TAR\-TREE" "1" "07/19/2007" "Git 1.5.3.rc2.19.gc4fba" "Git Manual"
+.TH "GIT\-TAR\-TREE" "1" "08/23/2007" "Git 1.5.3.rc6.9.gaabb2" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\-\-remote=<repo>
Instead of making a tar archive from local repository, retrieve a tar archive from a remote repository.
.SH "CONFIGURATION"
-By default, file and directories modes are set to 0666 or 0777. It is possible to change this by setting the "umask" variable in the repository configuration as follows :
-.sp
-.nf
-umask = 002 ;# group friendly
-.fi
-The special umask value "user" indicates that the user's current umask will be used instead. The default value is 002, which means group readable/writable files and directories.
+.TP
+tar.umask
+This variable can be used to restrict the permission bits of tar archive entries. The default is 0002, which turns off the world write bit. The special value "user" indicates that the archiving user's umask will be used instead. See umask(2) for details.
.SH "EXAMPLES"
.TP
git tar\-tree HEAD junk | (cd /var/tmp/ && tar xf \-)