Merge branch 'svn-fe' of git://repo.or.cz/git/jrn
* 'svn-fe' of git://repo.or.cz/git/jrn: (31 commits) fast-import: make code "-Wpointer-arith" clean vcs-svn: teach line_buffer about temporary files vcs-svn: allow input from file descriptor vcs-svn: allow character-oriented input vcs-svn: add binary-safe read function t0081 (line-buffer): add buffering tests vcs-svn: tweak test-line-buffer to not assume line-oriented input tests: give vcs-svn/line_buffer its own test script vcs-svn: make test-line-buffer input format more flexible vcs-svn: teach line_buffer to handle multiple input files vcs-svn: collect line_buffer data in a struct vcs-svn: replace buffer_read_string memory pool with a strbuf vcs-svn: eliminate global byte_buffer fast-import: add 'ls' command vcs-svn: Allow change nodes for root of tree (/) vcs-svn: Implement Prop-delta handling vcs-svn: Sharpen parsing of property lines vcs-svn: Split off function for handling of individual properties vcs-svn: Make source easier to read on small screens vcs-svn: More dump format sanity checks ...
This commit is contained in:
@ -196,7 +196,8 @@ especially when a higher level language such as Perl, Python or
|
||||
Ruby is being used.
|
||||
|
||||
fast-import is very strict about its input. Where we say SP below we mean
|
||||
*exactly* one space. Likewise LF means one (and only one) linefeed.
|
||||
*exactly* one space. Likewise LF means one (and only one) linefeed
|
||||
and HT one (and only one) horizontal tab.
|
||||
Supplying additional whitespace characters will cause unexpected
|
||||
results, such as branch names or file names with leading or trailing
|
||||
spaces in their name, or early termination of fast-import when it encounters
|
||||
@ -334,6 +335,11 @@ and control the current import process. More detailed discussion
|
||||
format to the file descriptor set with `--cat-blob-fd` or
|
||||
`stdout` if unspecified.
|
||||
|
||||
`ls`::
|
||||
Causes fast-import to print a line describing a directory
|
||||
entry in 'ls-tree' format to the file descriptor set with
|
||||
`--cat-blob-fd` or `stdout` if unspecified.
|
||||
|
||||
`feature`::
|
||||
Require that fast-import supports the specified feature, or
|
||||
abort if it does not.
|
||||
@ -919,6 +925,55 @@ This command can be used anywhere in the stream that comments are
|
||||
accepted. In particular, the `cat-blob` command can be used in the
|
||||
middle of a commit but not in the middle of a `data` command.
|
||||
|
||||
`ls`
|
||||
~~~~
|
||||
Prints information about the object at a path to a file descriptor
|
||||
previously arranged with the `--cat-blob-fd` argument. This allows
|
||||
printing a blob from the active commit (with `cat-blob`) or copying a
|
||||
blob or tree from a previous commit for use in the current one (with
|
||||
`filemodify`).
|
||||
|
||||
The `ls` command can be used anywhere in the stream that comments are
|
||||
accepted, including the middle of a commit.
|
||||
|
||||
Reading from the active commit::
|
||||
This form can only be used in the middle of a `commit`.
|
||||
The path names a directory entry within fast-import's
|
||||
active commit. The path must be quoted in this case.
|
||||
+
|
||||
....
|
||||
'ls' SP <path> LF
|
||||
....
|
||||
|
||||
Reading from a named tree::
|
||||
The `<dataref>` can be a mark reference (`:<idnum>`) or the
|
||||
full 40-byte SHA-1 of a Git tag, commit, or tree object,
|
||||
preexisting or waiting to be written.
|
||||
The path is relative to the top level of the tree
|
||||
named by `<dataref>`.
|
||||
+
|
||||
....
|
||||
'ls' SP <dataref> SP <path> LF
|
||||
....
|
||||
|
||||
See `filemodify` above for a detailed description of `<path>`.
|
||||
|
||||
Output uses the same format as `git ls-tree <tree> {litdd} <path>`:
|
||||
|
||||
====
|
||||
<mode> SP ('blob' | 'tree' | 'commit') SP <dataref> HT <path> LF
|
||||
====
|
||||
|
||||
The <dataref> represents the blob, tree, or commit object at <path>
|
||||
and can be used in later 'cat-blob', 'filemodify', or 'ls' commands.
|
||||
|
||||
If there is no file or subtree at that path, 'git fast-import' will
|
||||
instead report
|
||||
|
||||
====
|
||||
missing SP <path> LF
|
||||
====
|
||||
|
||||
`feature`
|
||||
~~~~~~~~~
|
||||
Require that fast-import supports the specified feature, or abort if
|
||||
@ -946,8 +1001,10 @@ import-marks::
|
||||
any "feature import-marks" command in the stream.
|
||||
|
||||
cat-blob::
|
||||
Ignored. Versions of fast-import not supporting the
|
||||
"cat-blob" command will exit with a message indicating so.
|
||||
ls::
|
||||
Require that the backend support the 'cat-blob' or 'ls' command.
|
||||
Versions of fast-import not supporting the specified command
|
||||
will exit with a message indicating so.
|
||||
This lets the import error out early with a clear message,
|
||||
rather than wasting time on the early part of an import
|
||||
before the unsupported command is detected.
|
||||
|
Reference in New Issue
Block a user