.\" 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\-CVSEXPORTCOMMIT" "1" "05/08/2007" "Git 1.5.2.rc2.21.g3082" "Git Manual"
+.TH "GIT\-CVSEXPORTCOMMIT" "1" "05/29/2007" "Git 1.5.2.136.g322bc" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
git\-cvsexportcommit \- Export a single commit to a CVS checkout
.SH "SYNOPSIS"
-\fIgit\-cvsexportcommit\fR [\-h] [\-v] [\-c] [\-P] [\-p] [\-a] [\-d cvsroot] [\-f] [\-m msgprefix] [PARENTCOMMIT] COMMITID
+\fIgit\-cvsexportcommit\fR [\-h] [\-u] [\-v] [\-c] [\-P] [\-p] [\-a] [\-d cvsroot] [\-f] [\-m msgprefix] [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.
\-m
Prepend the commit message with the provided prefix. Useful for patch series and the like.
.TP
+\-u
+Update affected files from cvs repository before attempting export.
+.TP
\-v
Verbose.
.SH "EXAMPLES"
.\" 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\-CVSSERVER" "1" "04/22/2007" "Git 1.5.1.2.241.gfdd3e" "Git Manual"
+.TH "GIT\-CVSSERVER" "1" "05/29/2007" "Git 1.5.2.136.g322bc" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.nf
cvspserver stream tcp nowait nobody git\-cvsserver pserver
.fi
-Note: In some cases, you need to pass the \fIpserver\fR argument twice for git\-cvsserver to see it. So the line would look like
+Note: Some inetd servers let you specify the name of the executable independently of the value of argv[0] (i.e. the name the program assumes it was executed with). In this case the correct line in /etc/inetd.conf looks like
.sp
.nf
- cvspserver stream tcp nowait nobody git\-cvsserver pserver pserver
+ cvspserver stream tcp nowait nobody /usr/bin/git\-cvsserver git\-cvsserver pserver
.fi
-No special setup is needed for SSH access, other than having GIT tools in the PATH. If you have clients that do not accept the CVS_SERVER env variable, you can rename git\-cvsserver to cvs.
+No special setup is needed for SSH access, other than having GIT tools in the PATH. If you have clients that do not accept the CVS_SERVER environment variable, you can rename git\-cvsserver to cvs.
+
+Note: Newer cvs versions (>= 1.12.11) also support specifying CVS_SERVER directly in CVSROOT like
+.sp
+.nf
+cvs \-d ":ext;CVS_SERVER=git\-cvsserver:user@server/path/repo.git" co <HEAD_name>
+.fi
+This has the advantage that it will be saved in your \fICVS/Root\fR files and you don't need to worry about always setting the correct environment variable.
.TP
2.
For each repo that you want accessible from CVS you need to edit config in the repo and add the following section.
.fi
Note: you need to ensure each user that is going to invoke git\-cvsserver has write access to the log file and to the database (see Database Backend. If you want to offer write access over SSH, the users of course also need write access to the git repository itself.
-All configuration variables can also be overriden for a specific method of access. Valid method names are "ext" (for SSH access) and "pserver". The following example configuration would disable pserver access while still allowing access over SSH.
+All configuration variables can also be overridden for a specific method of access. Valid method names are "ext" (for SSH access) and "pserver". The following example configuration would disable pserver access while still allowing access over SSH.
.sp
.nf
[gitcvs]
cvs co \-d project\-master master
.fi
.SH "DATABASE BACKEND"
-git\-cvsserver uses one database per git head (i.e. CVS module) to store information about the repository for faster access. The database doesn't contain any persitent data and can be completly regenerated from the git repository at any time. The database needs to be updated (i.e. written to) after every commit.
+git\-cvsserver uses one database per git head (i.e. CVS module) to store information about the repository for faster access. The database doesn't contain any persistent data and can be completely regenerated from the git repository at any time. The database needs to be updated (i.e. written to) after every commit.
If the commit is done directly by using git (as opposed to using git\-cvsserver) the update will need to happen on the next repository access by git\-cvsserver, independent of access method and requested operation.
.\" 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\-MERGE" "1" "04/22/2007" "" ""
+.TH "GIT\-MERGE" "1" "05/29/2007" "Git 1.5.2.136.g322bc" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "SYNOPSIS"
.sp
.nf
-\fIgit\-merge\fR [\-n] [\-\-no\-commit] [\-\-squash] [\-s <strategy>]\&...
+\fIgit\-merge\fR [\-n] [\-\-summary] [\-\-no\-commit] [\-\-squash] [\-s <strategy>]\&...
[\-m <msg>] <remote> <remote>\&...
.fi
.SH "DESCRIPTION"
This is the top\-level interface to the merge machinery which drives multiple merge strategy scripts.
.SH "OPTIONS"
.TP
+\-\-summary
+Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.diffstat.
+.TP
\-n, \-\-no\-summary
Do not show diffstat at the end of the merge.
.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\-PACK\-OBJECTS" "1" "05/20/2007" "Git 1.5.2.14.g45bde" "Git Manual"
+.TH "GIT\-PACK\-OBJECTS" "1" "05/29/2007" "Git 1.5.2.136.g322bc" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\-\-window=[N], \-\-depth=[N]
These two options affect how the objects contained in the pack are stored using delta compression. The objects are first internally sorted by type, size and optionally names and compared against the other objects within \-\-window to see if using delta compression saves space. \-\-depth limits the maximum delta depth; making it too deep affects the performance on the unpacker side, because delta data needs to be applied that many times to get to the necessary object. The default value for \-\-window is 10 and \-\-depth is 50.
.TP
+\-\-max\-pack\-size=<n>
+Maximum size of each output packfile, expressed in MiB. If specified, multiple packfiles may be created. The default is unlimited.
+.TP
\-\-incremental
This flag causes an object already in a pack ignored even if it appears in the standard input.
.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\-PULL" "1" "04/27/2007" "Git 1.5.2.rc0.71.g4342" "Git Manual"
+.TH "GIT\-PULL" "1" "05/29/2007" "Git 1.5.2.136.g322bc" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Note that you can use . (current directory) as the <repository> to pull from the local repository \(em this is useful when merging local branches into the current branch.
.SH "OPTIONS"
.TP
+\-\-summary
+Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.diffstat.
+.TP
\-n, \-\-no\-summary
Do not show diffstat at the end of the merge.
.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\-REPACK" "1" "05/09/2007" "Git 1.5.2.rc2.46.g4675" "Git Manual"
+.TH "GIT\-REPACK" "1" "05/29/2007" "Git 1.5.2.136.g322bc" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.TP
\-\-window=[N], \-\-depth=[N]
These two options affect how the objects contained in the pack are stored using delta compression. The objects are first internally sorted by type, size and optionally names and compared against the other objects within \-\-window to see if using delta compression saves space. \-\-depth limits the maximum delta depth; making it too deep affects the performance on the unpacker side, because delta data needs to be applied that many times to get to the necessary object. The default value for \-\-window is 10 and \-\-depth is 50.
+.TP
+\-\-max\-pack\-size=<n>
+Maximum size of each output packfile, expressed in MiB. If specified, multiple packfiles may be created. The default is unlimited.
.SH "CONFIGURATION"
When configuration variable repack.UseDeltaBaseOffset is set for the repository, the command passes \-\-delta\-base\-offset option to git\-pack\-objects; this typically results in slightly smaller packs, but the generated packs are incompatible with versions of git older than (and including) v1.4.3; do not set the variable in a repository that older version of git needs to be able to read (this includes repositories from which packs can be copied out over http or rsync, and people who obtained packs that way can try to use older git with it).
.SH "AUTHOR"