aboutsummaryrefslogtreecommitdiff
path: root/Documentation/gitformat-bundle.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/gitformat-bundle.txt')
-rw-r--r--Documentation/gitformat-bundle.txt111
1 files changed, 0 insertions, 111 deletions
diff --git a/Documentation/gitformat-bundle.txt b/Documentation/gitformat-bundle.txt
deleted file mode 100644
index 1b75cf71ce..0000000000
--- a/Documentation/gitformat-bundle.txt
+++ /dev/null
@@ -1,111 +0,0 @@
-gitformat-bundle(5)
-===================
-
-NAME
-----
-gitformat-bundle - The bundle file format
-
-
-SYNOPSIS
---------
-[verse]
-*.bundle
-*.bdl
-
-DESCRIPTION
------------
-
-The Git bundle format is a format that represents both refs and Git
-objects. A bundle is a header in a format similar to
-linkgit:git-show-ref[1] followed by a pack in *.pack format.
-
-The format is created and read by the linkgit:git-bundle[1] command,
-and supported by e.g. linkgit:git-fetch[1] and linkgit:git-clone[1].
-
-
-FORMAT
-------
-
-We will use ABNF notation to define the Git bundle format. See
-linkgit:gitprotocol-common[5] for the details.
-
-A v2 bundle looks like this:
-
-----
-bundle = signature *prerequisite *reference LF pack
-signature = "# v2 git bundle" LF
-
-prerequisite = "-" obj-id SP comment LF
-comment = *CHAR
-reference = obj-id SP refname LF
-
-pack = ... ; packfile
-----
-
-A v3 bundle looks like this:
-
-----
-bundle = signature *capability *prerequisite *reference LF pack
-signature = "# v3 git bundle" LF
-
-capability = "@" key ["=" value] LF
-prerequisite = "-" obj-id SP comment LF
-comment = *CHAR
-reference = obj-id SP refname LF
-key = 1*(ALPHA / DIGIT / "-")
-value = *(%01-09 / %0b-FF)
-
-pack = ... ; packfile
-----
-
-
-SEMANTICS
----------
-
-A Git bundle consists of several parts.
-
-* "Capabilities", which are only in the v3 format, indicate functionality that
- the bundle requires to be read properly.
-
-* "Prerequisites" list the objects that are NOT included in the bundle and the
- reader of the bundle MUST already have, in order to use the data in the
- bundle. The objects stored in the bundle may refer to prerequisite objects and
- anything reachable from them (e.g. a tree object in the bundle can reference
- a blob that is reachable from a prerequisite) and/or expressed as a delta
- against prerequisite objects.
-
-* "References" record the tips of the history graph, iow, what the reader of the
- bundle CAN "git fetch" from it.
-
-* "Pack" is the pack data stream "git fetch" would send, if you fetch from a
- repository that has the references recorded in the "References" above into a
- repository that has references pointing at the objects listed in
- "Prerequisites" above.
-
-In the bundle format, there can be a comment following a prerequisite obj-id.
-This is a comment and it has no specific meaning. The writer of the bundle MAY
-put any string here. The reader of the bundle MUST ignore the comment.
-
-Note on shallow clones and Git bundles
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Note that the prerequisites do not represent a shallow-clone boundary. The
-semantics of the prerequisites and the shallow-clone boundaries are different,
-and the Git bundle v2 format cannot represent a shallow clone repository.
-
-CAPABILITIES
-------------
-
-Because there is no opportunity for negotiation, unknown capabilities cause 'git
-bundle' to abort.
-
-* `object-format` specifies the hash algorithm in use, and can take the same
- values as the `extensions.objectFormat` configuration value.
-
-* `filter` specifies an object filter as in the `--filter` option in
- linkgit:git-rev-list[1]. The resulting pack-file must be marked as a
- `.promisor` pack-file after it is unbundled.
-
-GIT
----
-Part of the linkgit:git[1] suite