From: Jonathan Nieder <jrnieder@gmail.com>
To: David Barr <davidbarr@google.com>
Cc: Mike Hommey <mh@glandium.org>,
git@vger.kernel.org, Dmitry Ivankov <divanorama@gmail.com>,
Sverre Rabbelier <srabbelier@gmail.com>
Subject: Re: commit/from command in git-fast-import
Date: Fri, 27 Jan 2012 15:09:36 -0600 [thread overview]
Message-ID: <20120127210936.GC3124@burratino> (raw)
In-Reply-To: <CAFfmPPM_xqZoMd391UdqRtK5bgW5V2z9Mg=8LYLA7ZVZQGR3Mg@mail.gmail.com>
David Barr wrote:
>>> On Sat, Jan 28, 2012 at 1:08 AM, Mike Hommey <mh@glandium.org> wrote:
>>>> This is however not what the manpage suggests in what I quoted in my
>>>> message:
>>>> Omitting the from command on existing branches is usually desired, as
>>>> the current commit on that branch is automatically assumed to be the
>>>> first ancestor of the new commit.
[...]
> Looks like we have a real fast-import bug, in Debian Unstable at least.
Yep, this is a real fast-import documentation bug. The manual says:
Omitting the from command in the first commit of a new branch
will cause fast-import to create that commit with no ancestor.
This tends to be desired only for the initial commit of a
project.
[...]
The special case of restarting an incremental import from the
current branch value should be written as:
from refs/heads/branch^0
The unfortunate term here is "existing branches", which seems to have
been intended to refer to refs that have already been populated in
this fast-import stream by a "commit" or "reset" command, rather than
any old ref that already exists in the repository.
In other words, instead of "existing branch", the manual should say
something along the lines of "branch already in fast-import's internal
branch table".
Here's a sketch.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Documentation/git-fast-import.txt | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt
index ec6ef311..28a317ff 100644
--- a/Documentation/git-fast-import.txt
+++ b/Documentation/git-fast-import.txt
@@ -306,9 +306,9 @@ and control the current import process. More detailed discussion
(with examples) of each command follows later.
`commit`::
- Creates a new branch or updates an existing branch by
- creating a new commit and updating the branch to point at
- the newly created commit.
+ Creates a new branch or updates a branch by creating a new
+ commit and updating the branch to point at the newly created
+ commit.
`tag`::
Creates an annotated tag object from an existing commit or
@@ -317,7 +317,7 @@ and control the current import process. More detailed discussion
in time.
`reset`::
- Reset an existing branch (or a new branch) to a specific
+ Reset an existing branch or a new branch to a specific
revision. This command must be used to change a branch to
a specific revision without making a commit on it.
@@ -439,13 +439,15 @@ The `from` command is used to specify the commit to initialize
this branch from. This revision will be the first ancestor of the
new commit.
-Omitting the `from` command in the first commit of a new branch
+Omitting the `from` command in the first commit of a branch that
+has not been created previously with a `commit` or `reset` command
will cause fast-import to create that commit with no ancestor. This
tends to be desired only for the initial commit of a project.
If the frontend creates all files from scratch when making a new
branch, a `merge` command may be used instead of `from` to start
the commit with an empty tree.
-Omitting the `from` command on existing branches is usually desired,
+Omitting the `from` command on branches that have already been
+initialized in the same stream is usually desired,
as the current commit on that branch is automatically assumed to
be the first ancestor of the new commit.
--
1.7.9.rc2
next prev parent reply other threads:[~2012-01-27 21:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-27 12:48 commit/from command in git-fast-import Mike Hommey
2012-01-27 14:00 ` David Barr
2012-01-27 14:08 ` Mike Hommey
[not found] ` <CAFfmPPN9BOp3tDetEeMjVmfFam3bgHzf=q5Am4OkTz0TqLWfbQ@mail.gmail.com>
[not found] ` <20120127144702.GA6693@glandium.org>
2012-01-27 20:56 ` David Barr
2012-01-27 21:09 ` Jonathan Nieder [this message]
2012-01-30 15:35 ` Sverre Rabbelier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120127210936.GC3124@burratino \
--to=jrnieder@gmail.com \
--cc=davidbarr@google.com \
--cc=divanorama@gmail.com \
--cc=git@vger.kernel.org \
--cc=mh@glandium.org \
--cc=srabbelier@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).