Lazy fast-import frontend authors that want to rely on the backend to
keep track of the content of the imported trees _almost_ have what
they need in the 'cat-blob' command (v1.7.4-rc0~30^2~3, 2010-11-28).
But it is not quite enough, since
(1) cat-blob can be used to retrieve the content of files, but
not their mode, and
(2) using cat-blob requires the frontend to keep track of a name
(mark number or object id) for each blob to be retrieved
Introduce an 'ls' command to complement cat-blob and take care of the
remaining needs. The 'ls' command finds what is at a given path
within a given tree-ish (tag, commit, or tree):
'ls' SP <dataref> SP <path> LF
or in fast-import's active commit:
'ls' SP <path> LF
The response is a single line sent through the cat-blob channel,
imitating ls-tree output. So for example:
FE> ls :1 Documentation
gfi> 040000 tree 9e6c2b599341d28a2a375f8207507e0a2a627fe9 Documentation
FE> ls 9e6c2b599341d28a2a375f8207507e0a2a627fe9 git-fast-import.txt
gfi> 100644 blob 4f92954396e3f0f97e75b6838a5635b583708870 git-fast-import.txt
FE> ls :1 RelNotes
gfi> 120000 blob
|
||
|---|---|---|
| .. | ||
| RelNotes | ||
| howto | ||
| pt_BR | ||
| technical | ||
| .gitattributes | ||
| .gitignore | ||
| CodingGuidelines | ||
| Makefile | ||
| SubmittingPatches | ||
| asciidoc.conf | ||
| blame-options.txt | ||
| build-docdep.perl | ||
| cat-texi.perl | ||
| cmd-list.perl | ||
| config.txt | ||
| date-formats.txt | ||
| diff-format.txt | ||
| diff-generate-patch.txt | ||
| diff-options.txt | ||
| docbook-xsl.css | ||
| docbook.xsl | ||
| everyday.txt | ||
| fetch-options.txt | ||
| fix-texi.perl | ||
| git-add.txt | ||
| git-am.txt | ||
| git-annotate.txt | ||
| git-apply.txt | ||
| git-archimport.txt | ||
| git-archive.txt | ||
| git-bisect-lk2009.txt | ||
| git-bisect.txt | ||
| git-blame.txt | ||
| git-branch.txt | ||
| git-bundle.txt | ||
| git-cat-file.txt | ||
| git-check-attr.txt | ||
| git-check-ref-format.txt | ||
| git-checkout-index.txt | ||
| git-checkout.txt | ||
| git-cherry-pick.txt | ||
| git-cherry.txt | ||
| git-citool.txt | ||
| git-clean.txt | ||
| git-clone.txt | ||
| git-commit-tree.txt | ||
| git-commit.txt | ||
| git-config.txt | ||
| git-count-objects.txt | ||
| git-cvsexportcommit.txt | ||
| git-cvsimport.txt | ||
| git-cvsserver.txt | ||
| git-daemon.txt | ||
| git-describe.txt | ||
| git-diff-files.txt | ||
| git-diff-index.txt | ||
| git-diff-tree.txt | ||
| git-diff.txt | ||
| git-difftool.txt | ||
| git-fast-export.txt | ||
| git-fast-import.txt | ||
| git-fetch-pack.txt | ||
| git-fetch.txt | ||
| git-filter-branch.txt | ||
| git-fmt-merge-msg.txt | ||
| git-for-each-ref.txt | ||
| git-format-patch.txt | ||
| git-fsck-objects.txt | ||
| git-fsck.txt | ||
| git-gc.txt | ||
| git-get-tar-commit-id.txt | ||
| git-grep.txt | ||
| git-gui.txt | ||
| git-hash-object.txt | ||
| git-help.txt | ||
| git-http-backend.txt | ||
| git-http-fetch.txt | ||
| git-http-push.txt | ||
| git-imap-send.txt | ||
| git-index-pack.txt | ||
| git-init-db.txt | ||
| git-init.txt | ||
| git-instaweb.txt | ||
| git-log.txt | ||
| git-lost-found.txt | ||
| git-ls-files.txt | ||
| git-ls-remote.txt | ||
| git-ls-tree.txt | ||
| git-mailinfo.txt | ||
| git-mailsplit.txt | ||
| git-merge-base.txt | ||
| git-merge-file.txt | ||
| git-merge-index.txt | ||
| git-merge-one-file.txt | ||
| git-merge-tree.txt | ||
| git-merge.txt | ||
| git-mergetool--lib.txt | ||
| git-mergetool.txt | ||
| git-mktag.txt | ||
| git-mktree.txt | ||
| git-mv.txt | ||
| git-name-rev.txt | ||
| git-notes.txt | ||
| git-pack-objects.txt | ||
| git-pack-redundant.txt | ||
| git-pack-refs.txt | ||
| git-parse-remote.txt | ||
| git-patch-id.txt | ||
| git-peek-remote.txt | ||
| git-prune-packed.txt | ||
| git-prune.txt | ||
| git-pull.txt | ||
| git-push.txt | ||
| git-quiltimport.txt | ||
| git-read-tree.txt | ||
| git-rebase.txt | ||
| git-receive-pack.txt | ||
| git-reflog.txt | ||
| git-relink.txt | ||
| git-remote-ext.txt | ||
| git-remote-fd.txt | ||
| git-remote-helpers.txt | ||
| git-remote.txt | ||
| git-repack.txt | ||
| git-replace.txt | ||
| git-repo-config.txt | ||
| git-request-pull.txt | ||
| git-rerere.txt | ||
| git-reset.txt | ||
| git-rev-list.txt | ||
| git-rev-parse.txt | ||
| git-revert.txt | ||
| git-rm.txt | ||
| git-send-email.txt | ||
| git-send-pack.txt | ||
| git-sh-setup.txt | ||
| git-shell.txt | ||
| git-shortlog.txt | ||
| git-show-branch.txt | ||
| git-show-index.txt | ||
| git-show-ref.txt | ||
| git-show.txt | ||
| git-stage.txt | ||
| git-stash.txt | ||
| git-status.txt | ||
| git-stripspace.txt | ||
| git-submodule.txt | ||
| git-svn.txt | ||
| git-symbolic-ref.txt | ||
| git-tag.txt | ||
| git-tar-tree.txt | ||
| git-tools.txt | ||
| git-unpack-file.txt | ||
| git-unpack-objects.txt | ||
| git-update-index.txt | ||
| git-update-ref.txt | ||
| git-update-server-info.txt | ||
| git-upload-archive.txt | ||
| git-upload-pack.txt | ||
| git-var.txt | ||
| git-verify-pack.txt | ||
| git-verify-tag.txt | ||
| git-web--browse.txt | ||
| git-whatchanged.txt | ||
| git-write-tree.txt | ||
| git.txt | ||
| gitattributes.txt | ||
| gitcli.txt | ||
| gitcore-tutorial.txt | ||
| gitcvs-migration.txt | ||
| gitdiffcore.txt | ||
| gitglossary.txt | ||
| githooks.txt | ||
| gitignore.txt | ||
| gitk.txt | ||
| gitmodules.txt | ||
| gitrepository-layout.txt | ||
| gitrevisions.txt | ||
| gittutorial-2.txt | ||
| gittutorial.txt | ||
| gitworkflows.txt | ||
| glossary-content.txt | ||
| howto-index.sh | ||
| i18n.txt | ||
| install-doc-quick.sh | ||
| install-webdoc.sh | ||
| mailmap.txt | ||
| manpage-1.72.xsl | ||
| manpage-base-url.xsl.in | ||
| manpage-base.xsl | ||
| manpage-bold-literal.xsl | ||
| manpage-normal.xsl | ||
| manpage-quote-apos.xsl | ||
| manpage-suppress-sp.xsl | ||
| merge-config.txt | ||
| merge-options.txt | ||
| merge-strategies.txt | ||
| pretty-formats.txt | ||
| pretty-options.txt | ||
| pull-fetch-param.txt | ||
| rev-list-options.txt | ||
| revisions.txt | ||
| urls-remotes.txt | ||
| urls.txt | ||
| user-manual.conf | ||
| user-manual.txt | ||