</div>\r
<h2>SYNOPSIS</h2>\r
<div class="sectionbody">\r
-<p><em>git-cvsexportcommit</em> [-h] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID</p>\r
+<p><em>git-cvsexportcommit</em> [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID</p>\r
</div>\r
<h2>DESCRIPTION</h2>\r
<div class="sectionbody">\r
</p>\r
</dd>\r
<dt>\r
+-u\r
+</dt>\r
+<dd>\r
+<p>\r
+ Update affected files from cvs repository before attempting export.\r
+</p>\r
+</dd>\r
+<dt>\r
-v\r
</dt>\r
<dd>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 08-May-2007 00:32:26 UTC\r
+Last updated 29-May-2007 09:17:38 UTC\r
</div>\r
</div>\r
</body>\r
SYNOPSIS
--------
-'git-cvsexportcommit' [-h] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
+'git-cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
DESCRIPTION
Prepend the commit message with the provided prefix.
Useful for patch series and the like.
+-u::
+ Update affected files from cvs repository before attempting export.
+
-v::
Verbose.
<pre><tt> cvspserver stream tcp nowait nobody git-cvsserver pserver\r
</tt></pre>\r
</div></div>\r
-<p>Note: In some cases, you need to pass the <em>pserver</em> argument twice for\r
-git-cvsserver to see it. So the line would look like</p>\r
+<p>Note: Some inetd servers let you specify the name of the executable\r
+independently of the value of argv[0] (i.e. the name the program assumes\r
+it was executed with). In this case the correct line in /etc/inetd.conf\r
+looks like</p>\r
<div class="listingblock">\r
<div class="content">\r
-<pre><tt> cvspserver stream tcp nowait nobody git-cvsserver pserver pserver\r
+<pre><tt> cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver\r
</tt></pre>\r
</div></div>\r
<p>No special setup is needed for SSH access, other than having GIT tools\r
in the PATH. If you have clients that do not accept the CVS_SERVER\r
-env variable, you can rename git-cvsserver to cvs.</p>\r
+environment variable, you can rename git-cvsserver to cvs.</p>\r
+<p>Note: Newer cvs versions (>= 1.12.11) also support specifying\r
+CVS_SERVER directly in CVSROOT like</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git" co <HEAD_name></tt></pre>\r
+</div></div>\r
+<p>This has the advantage that it will be saved in your <em>CVS/Root</em> files and\r
+you don't need to worry about always setting the correct environment\r
+variable.</p>\r
</li>\r
<li>\r
<p>\r
write access to the log file and to the database (see\r
<a href="#dbbackend">Database Backend</a>. If you want to offer write access over\r
SSH, the users of course also need write access to the git repository itself.</p>\r
-<p><a id="configaccessmethod"></a>All configuration variables can also be overriden for a specific method of\r
+<p><a id="configaccessmethod"></a>All configuration variables can also be overridden for a specific method of\r
access. Valid method names are "ext" (for SSH access) and "pserver". The\r
following example configuration would disable pserver access while still\r
allowing access over SSH.</p>\r
<div class="sectionbody">\r
<p>git-cvsserver uses one database per git head (i.e. CVS module) to\r
store information about the repository for faster access. The\r
-database doesn't contain any persitent data and can be completly\r
+database doesn't contain any persistent data and can be completely\r
regenerated from the git repository at any time. The database\r
needs to be updated (i.e. written to) after every commit.</p>\r
<p>If the commit is done directly by using git (as opposed to\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 18-Apr-2007 09:56:50 UTC\r
+Last updated 29-May-2007 09:17:38 UTC\r
</div>\r
</div>\r
</body>\r
cvspserver stream tcp nowait nobody git-cvsserver pserver
------
-Note: In some cases, you need to pass the 'pserver' 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
------
- cvspserver stream tcp nowait nobody git-cvsserver pserver pserver
+ cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver
------
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.
+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
+
+------
+cvs -d ":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git" co <HEAD_name>
+------
+This has the advantage that it will be saved in your 'CVS/Root' files and
+you don't need to worry about always setting the correct environment
+variable.
--
2. For each repo that you want accessible from CVS you need to edit config in
the repo and add the following section.
SSH, the users of course also need write access to the git repository itself.
[[configaccessmethod]]
-All configuration variables can also be overriden for a specific method of
+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.
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
+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.
<h2>SYNOPSIS</h2>\r
<div class="sectionbody">\r
<div class="verseblock">\r
-<div class="content"><em>git-merge</em> [-n] [--no-commit] [--squash] [-s <strategy>]…\r
+<div class="content"><em>git-merge</em> [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]…\r
[-m <msg>] <remote> <remote>…</div></div>\r
</div>\r
<h2>DESCRIPTION</h2>\r
<div class="sectionbody">\r
<dl>\r
<dt>\r
+--summary\r
+</dt>\r
+<dd>\r
+<p>\r
+ Show a diffstat at the end of the merge. The diffstat is also\r
+ controlled by the configuration option merge.diffstat.\r
+</p>\r
+</dd>\r
+<dt>\r
-n, --no-summary\r
</dt>\r
<dd>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 04-Apr-2007 18:33:52 UTC\r
+Last updated 29-May-2007 09:17:39 UTC\r
</div>\r
</div>\r
</body>\r
SYNOPSIS
--------
[verse]
-'git-merge' [-n] [--no-commit] [--squash] [-s <strategy>]...
+'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]...
[-m <msg>] <remote> <remote>...
DESCRIPTION
</p>\r
</dd>\r
<dt>\r
+--max-pack-size=<n>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Maximum size of each output packfile, expressed in MiB.\r
+ If specified, multiple packfiles may be created.\r
+ The default is unlimited.\r
+</p>\r
+</dd>\r
+<dt>\r
--incremental\r
</dt>\r
<dd>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 20-May-2007 19:11:26 UTC\r
+Last updated 29-May-2007 09:17:39 UTC\r
</div>\r
</div>\r
</body>\r
times to get to the necessary object.
The default value for --window is 10 and --depth is 50.
+--max-pack-size=<n>::
+ Maximum size of each output packfile, expressed in MiB.
+ If specified, multiple packfiles may be created.
+ The default is unlimited.
+
--incremental::
This flag causes an object already in a pack ignored
even if it appears in the standard input.
<div class="sectionbody">\r
<dl>\r
<dt>\r
+--summary\r
+</dt>\r
+<dd>\r
+<p>\r
+ Show a diffstat at the end of the merge. The diffstat is also\r
+ controlled by the configuration option merge.diffstat.\r
+</p>\r
+</dd>\r
+<dt>\r
-n, --no-summary\r
</dt>\r
<dd>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 27-Apr-2007 08:21:44 UTC\r
+Last updated 29-May-2007 09:17:40 UTC\r
</div>\r
</div>\r
</body>\r
The default value for --window is 10 and --depth is 50.\r
</p>\r
</dd>\r
+<dt>\r
+--max-pack-size=<n>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Maximum size of each output packfile, expressed in MiB.\r
+ If specified, multiple packfiles may be created.\r
+ The default is unlimited.\r
+</p>\r
+</dd>\r
</dl>\r
</div>\r
<h2>Configuration</h2>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 09-May-2007 07:15:31 UTC\r
+Last updated 29-May-2007 09:17:40 UTC\r
</div>\r
</div>\r
</body>\r
to be applied that many times to get to the necessary object.
The default value for --window is 10 and --depth is 50.
+--max-pack-size=<n>::
+ Maximum size of each output packfile, expressed in MiB.
+ If specified, multiple packfiles may be created.
+ The default is unlimited.
+
Configuration
-------------
+--summary::
+ Show a diffstat at the end of the merge. The diffstat is also
+ controlled by the configuration option merge.diffstat.
+
-n, \--no-summary::
Do not show diffstat at the end of the merge.
refs/heads/tutorial-fixes</p></div><p>And then we can ask to see all the commits reachable from master
but not from these other heads:</p><div class="literallayout"><p>$ gitk master --not $( git show-ref --heads | cut -d' ' -f2 |<br>
grep -v '^refs/heads/master' )</p></div><p>Obviously, endless variations are possible; for example, to see all
-commits reachable from some head but not from any tag in the repository:</p><div class="literallayout"><p>$ gitk ($ git show-ref --heads ) --not $( git show-ref --tags )</p></div><p>(See <a href="git-rev-parse.html" target="_top">git-rev-parse(1)</a> for explanations of commit-selecting
+commits reachable from some head but not from any tag in the repository:</p><div class="literallayout"><p>$ gitk $( git show-ref --heads ) --not $( git show-ref --tags )</p></div><p>(See <a href="git-rev-parse.html" target="_top">git-rev-parse(1)</a> for explanations of commit-selecting
syntax such as <code class="literal">—not</code>.)</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="making-a-release"></a>Creating a changelog and tarball for a software release</h3></div></div></div><p>The <a href="git-archive.html" target="_top">git-archive(1)</a> command can create a tar or zip archive from
any version of a project; for example:</p><div class="literallayout"><p>$ git archive --format=tar --prefix=project/ HEAD | gzip >latest.tar.gz</p></div><p>will use HEAD to produce a tar archive in which each filename is
preceded by "prefix/".</p><p>If you're releasing a new version of a software project, you may want
commits reachable from some head but not from any tag in the repository:
-------------------------------------------------
-$ gitk ($ git show-ref --heads ) --not $( git show-ref --tags )
+$ gitk $( git show-ref --heads ) --not $( git show-ref --tags )
-------------------------------------------------
(See gitlink:git-rev-parse[1] for explanations of commit-selecting