aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/git-fast-import.txt
diff options
context:
space:
mode:
authorEyvind Bernhardsen <eyvind-git@orakel.ntnu.no>2008-03-21 16:25:18 +0100
committerJunio C Hamano <gitster@pobox.com>2008-03-22 23:20:01 -0700
commit9b33fa08b2d9507f8ffefe7649a59d23b4176185 (patch)
treeee851120df148f20025d1fd27912ee94fb9ee79e /Documentation/git-fast-import.txt
parent3644da7214055d2e84223b45dfca42d437fb7ea7 (diff)
downloadgit-9b33fa08b2d9507f8ffefe7649a59d23b4176185.tar.gz
fast-import: Document the effect of "merge" with no "from" in a commit
The fast-import documentation currently does not document the behaviour of "merge" when there is no "from" in a commit. This patch adds a description of what happens: the commit is created with a parent, but no files. This behaviour is equivalent to "from" followed by "filedeleteall". Signed-off-by: Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-fast-import.txt')
-rw-r--r--Documentation/git-fast-import.txt11
1 files changed, 8 insertions, 3 deletions
diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt
index 96f6767075..c29a4f8126 100644
--- a/Documentation/git-fast-import.txt
+++ b/Documentation/git-fast-import.txt
@@ -385,6 +385,9 @@ new commit.
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.
+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,
as the current commit on that branch is automatically assumed to
be the first ancestor of the new commit.
@@ -427,13 +430,15 @@ existing value of the branch.
`merge`
^^^^^^^
-Includes one additional ancestor commit, and makes the current
-commit a merge commit. An unlimited number of `merge` commands per
+Includes one additional ancestor commit. If the `from` command is
+omitted when creating a new branch, the first `merge` commit will be
+the first ancestor of the current commit, and the branch will start
+out with no files. An unlimited number of `merge` commands per
commit are permitted by fast-import, thereby establishing an n-way merge.
However Git's other tools never create commits with more than 15
additional ancestors (forming a 16-way merge). For this reason
it is suggested that frontends do not use more than 15 `merge`
-commands per commit.
+commands per commit; 16, if starting a new, empty branch.
Here `<committish>` is any of the commit specification expressions
also accepted by `from` (see above).