swh:1:snp:47f1e8bb459169b0feb652a9c3d9cbabd8526d4a
Revision 178e1deaae33f879ea687e85ac72455b3072b0d8 authored by Jonathan Nieder on 10 March 2012, 04:07:22 UTC, committed by Jonathan Nieder on 10 March 2012, 04:07:22 UTC
As the fast-import manual explains:

	The value of <path> must be in canonical form. That is it must
	not:
	. contain an empty directory component (e.g. foo//bar is invalid),
	. end with a directory separator (e.g. foo/ is invalid),
	. start with a directory separator (e.g. /foo is invalid),

Unfortunately the "ls" command accepts these invalid syntaxes and
responds by declaring that the indicated path is missing.  This is too
subtle and causes importers to silently misbehave; better to error out
so the operator knows what's happening.

The C, R, and M commands already error out for such paths.

Reported-by: Andrew Sayers <andrew-git@pileofstuff.org>
Analysis-by: David Barr <davidbarr@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
1 parent c27e559
History
Tip revision: 84d06cdc06389ae7c462434cb7b1db0980f63860 authored by Junio C Hamano on 26 March 2021, 21:59:47 UTC
Sync with v2.31.1
Tip revision: 84d06cd
File Mode Size
Documentation
block-sha1
builtin
compat
contrib
git-gui
git_remote_helpers
gitk-git
gitweb
perl
ppc
t
templates
vcs-svn
xdiff
.gitattributes -rw-r--r-- 105 bytes
.gitignore -rw-r--r-- 3.1 KB
.mailmap -rw-r--r-- 2.7 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 752 bytes
INSTALL -rw-r--r-- 7.5 KB
Makefile -rw-r--r-- 68.7 KB
README -rw-r--r-- 2.4 KB
RelNotes l--------- 32 bytes
abspath.c -rw-r--r-- 2.9 KB
aclocal.m4 -rw-r--r-- 1.4 KB
advice.c -rw-r--r-- 1.4 KB
advice.h -rw-r--r-- 432 bytes
alias.c -rw-r--r-- 1.7 KB
alloc.c -rw-r--r-- 1.7 KB
archive-tar.c -rw-r--r-- 6.3 KB
archive-zip.c -rw-r--r-- 7.3 KB
archive.c -rw-r--r-- 10.3 KB
archive.h -rw-r--r-- 927 bytes
attr.c -rw-r--r-- 17.3 KB
attr.h -rw-r--r-- 972 bytes
base85.c -rw-r--r-- 2.8 KB
bisect.c -rw-r--r-- 23.9 KB
bisect.h -rw-r--r-- 820 bytes
blob.c -rw-r--r-- 565 bytes
blob.h -rw-r--r-- 664 bytes
branch.c -rw-r--r-- 5.4 KB
branch.h -rw-r--r-- 1.1 KB
builtin.h -rw-r--r-- 8.8 KB
bundle.c -rw-r--r-- 10.3 KB
bundle.h -rw-r--r-- 627 bytes
cache-tree.c -rw-r--r-- 15.7 KB
cache-tree.h -rw-r--r-- 1.4 KB
cache.h -rw-r--r-- 39.5 KB
check-builtins.sh -rwxr-xr-x 588 bytes
check-racy.c -rw-r--r-- 538 bytes
check_bindir -rwxr-xr-x 369 bytes
color.c -rw-r--r-- 4.1 KB
color.h -rw-r--r-- 2.3 KB
combine-diff.c -rw-r--r-- 27.9 KB
command-list.txt -rw-r--r-- 7.7 KB
commit.c -rw-r--r-- 19.9 KB
commit.h -rw-r--r-- 5.5 KB
config.c -rw-r--r-- 33.4 KB
config.mak.in -rw-r--r-- 1.8 KB
configure.ac -rw-r--r-- 28.4 KB
connect.c -rw-r--r-- 14.1 KB
convert.c -rw-r--r-- 19.0 KB
copy.c -rw-r--r-- 1.6 KB
csum-file.c -rw-r--r-- 2.5 KB
csum-file.h -rw-r--r-- 761 bytes
ctype.c -rw-r--r-- 873 bytes
daemon.c -rw-r--r-- 27.5 KB
date.c -rw-r--r-- 22.6 KB
decorate.c -rw-r--r-- 1.8 KB
decorate.h -rw-r--r-- 400 bytes
delta.h -rw-r--r-- 3.4 KB
diff-delta.c -rw-r--r-- 15.5 KB
diff-lib.c -rw-r--r-- 14.3 KB
diff-no-index.c -rw-r--r-- 6.0 KB
diff.c -rw-r--r-- 116.9 KB
diff.h -rw-r--r-- 10.3 KB
diffcore-break.c -rw-r--r-- 8.7 KB
diffcore-delta.c -rw-r--r-- 5.4 KB
diffcore-order.c -rw-r--r-- 2.2 KB
diffcore-pickaxe.c -rw-r--r-- 6.8 KB
diffcore-rename.c -rw-r--r-- 16.9 KB
diffcore.h -rw-r--r-- 4.3 KB
dir.c -rw-r--r-- 26.9 KB
dir.h -rw-r--r-- 3.1 KB
editor.c -rw-r--r-- 1.1 KB
entry.c -rw-r--r-- 5.9 KB
environment.c -rw-r--r-- 6.1 KB
exec_cmd.c -rw-r--r-- 3.2 KB
exec_cmd.h -rw-r--r-- 487 bytes
fast-import.c -rw-r--r-- 83.8 KB
fetch-pack.h -rw-r--r-- 479 bytes
fixup-builtins -rwxr-xr-x 432 bytes
fsck.c -rw-r--r-- 9.7 KB
fsck.h -rw-r--r-- 1.0 KB
generate-cmdlist.sh -rwxr-xr-x 443 bytes
git-add--interactive.perl -rwxr-xr-x 35.1 KB
git-am.sh -rwxr-xr-x 19.5 KB
git-archimport.perl -rwxr-xr-x 36.0 KB
git-bisect.sh -rwxr-xr-x 10.0 KB
git-compat-util.h -rw-r--r-- 13.4 KB
git-cvsexportcommit.perl -rwxr-xr-x 12.4 KB
git-cvsimport.perl -rwxr-xr-x 28.9 KB
git-cvsserver.perl -rwxr-xr-x 118.0 KB
git-difftool--helper.sh -rwxr-xr-x 1.7 KB
git-difftool.perl -rwxr-xr-x 2.6 KB
git-filter-branch.sh -rwxr-xr-x 12.0 KB
git-instaweb.sh -rwxr-xr-x 17.4 KB
git-lost-found.sh -rwxr-xr-x 554 bytes
git-merge-octopus.sh -rwxr-xr-x 2.2 KB
git-merge-one-file.sh -rwxr-xr-x 3.7 KB
git-merge-resolve.sh -rwxr-xr-x 944 bytes
git-mergetool--lib.sh -rw-r--r-- 9.0 KB
git-mergetool.sh -rwxr-xr-x 6.1 KB
git-parse-remote.sh -rw-r--r-- 2.0 KB
git-pull.sh -rwxr-xr-x 8.2 KB
git-quiltimport.sh -rwxr-xr-x 3.3 KB
git-rebase--interactive.sh -rwxr-xr-x 26.0 KB
git-rebase.sh -rwxr-xr-x 14.6 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-remote-testgit.py -rw-r--r-- 5.1 KB
git-repack.sh -rwxr-xr-x 4.5 KB
git-request-pull.sh -rwxr-xr-x 1.6 KB
git-send-email.perl -rwxr-xr-x 38.8 KB
git-sh-setup.sh -rw-r--r-- 4.6 KB
git-stash.sh -rwxr-xr-x 10.2 KB
git-submodule.sh -rwxr-xr-x 17.6 KB
git-svn.perl -rwxr-xr-x 173.3 KB
git-web--browse.sh -rwxr-xr-x 4.1 KB
git.c -rw-r--r-- 16.0 KB
git.spec.in -rw-r--r-- 10.7 KB
graph.c -rw-r--r-- 35.0 KB
graph.h -rw-r--r-- 3.6 KB
grep.c -rw-r--r-- 23.8 KB
grep.h -rw-r--r-- 2.7 KB
hash.c -rw-r--r-- 2.5 KB
hash.h -rw-r--r-- 1.1 KB
help.c -rw-r--r-- 9.4 KB
help.h -rw-r--r-- 906 bytes
hex.c -rw-r--r-- 2.1 KB
http-backend.c -rw-r--r-- 13.2 KB
http-fetch.c -rw-r--r-- 2.1 KB
http-push.c -rw-r--r-- 54.3 KB
http-walker.c -rw-r--r-- 13.9 KB
http.c -rw-r--r-- 32.9 KB
http.h -rw-r--r-- 5.1 KB
ident.c -rw-r--r-- 6.1 KB
imap-send.c -rw-r--r-- 35.2 KB
levenshtein.c -rw-r--r-- 2.5 KB
levenshtein.h -rw-r--r-- 203 bytes
list-objects.c -rw-r--r-- 4.6 KB
list-objects.h -rw-r--r-- 422 bytes
ll-merge.c -rw-r--r-- 10.0 KB
ll-merge.h -rw-r--r-- 567 bytes
lockfile.c -rw-r--r-- 6.3 KB
log-tree.c -rw-r--r-- 17.1 KB
log-tree.h -rw-r--r-- 867 bytes
mailmap.c -rw-r--r-- 6.5 KB
mailmap.h -rw-r--r-- 263 bytes
match-trees.c -rw-r--r-- 8.7 KB
merge-file.c -rw-r--r-- 2.6 KB
merge-recursive.c -rw-r--r-- 49.2 KB
merge-recursive.h -rw-r--r-- 1.7 KB
name-hash.c -rw-r--r-- 4.6 KB
notes-cache.c -rw-r--r-- 2.1 KB
notes-cache.h -rw-r--r-- 500 bytes
notes-merge.c -rw-r--r-- 22.6 KB
notes-merge.h -rw-r--r-- 3.4 KB
notes.c -rw-r--r-- 35.5 KB
notes.h -rw-r--r-- 11.7 KB
object.c -rw-r--r-- 5.8 KB
object.h -rw-r--r-- 2.6 KB
pack-check.c -rw-r--r-- 4.6 KB
pack-refs.c -rw-r--r-- 3.4 KB
pack-refs.h -rw-r--r-- 465 bytes
pack-revindex.c -rw-r--r-- 4.0 KB
pack-revindex.h -rw-r--r-- 223 bytes
pack-write.c -rw-r--r-- 8.0 KB
pack.h -rw-r--r-- 2.3 KB
pager.c -rw-r--r-- 2.2 KB
parse-options.c -rw-r--r-- 17.1 KB
parse-options.h -rw-r--r-- 7.7 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-ids.c -rw-r--r-- 2.5 KB
patch-ids.h -rw-r--r-- 490 bytes
path.c -rw-r--r-- 14.8 KB
pkt-line.c -rw-r--r-- 3.3 KB
pkt-line.h -rw-r--r-- 589 bytes
preload-index.c -rw-r--r-- 2.3 KB
pretty.c -rw-r--r-- 30.7 KB
progress.c -rw-r--r-- 6.5 KB
progress.h -rw-r--r-- 504 bytes
quote.c -rw-r--r-- 10.9 KB
quote.h -rw-r--r-- 2.7 KB
reachable.c -rw-r--r-- 5.6 KB
reachable.h -rw-r--r-- 127 bytes
read-cache.c -rw-r--r-- 45.0 KB
reflog-walk.c -rw-r--r-- 7.6 KB
reflog-walk.h -rw-r--r-- 664 bytes
refs.c -rw-r--r-- 46.4 KB
refs.h -rw-r--r-- 4.7 KB
remote-curl.c -rw-r--r-- 19.5 KB
remote.c -rw-r--r-- 41.2 KB
remote.h -rw-r--r-- 4.2 KB
replace_object.c -rw-r--r-- 2.6 KB
rerere.c -rw-r--r-- 14.6 KB
rerere.h -rw-r--r-- 505 bytes
resolve-undo.c -rw-r--r-- 3.9 KB
resolve-undo.h -rw-r--r-- 546 bytes
revision.c -rw-r--r-- 57.6 KB
revision.h -rw-r--r-- 4.6 KB
run-command.c -rw-r--r-- 13.3 KB
run-command.h -rw-r--r-- 2.8 KB
send-pack.h -rw-r--r-- 403 bytes
server-info.c -rw-r--r-- 5.1 KB
setup.c -rw-r--r-- 17.8 KB
sha1-lookup.c -rw-r--r-- 7.8 KB
sha1-lookup.h -rw-r--r-- 403 bytes
sha1_file.c -rw-r--r-- 65.1 KB
sha1_name.c -rw-r--r-- 28.5 KB
shallow.c -rw-r--r-- 2.3 KB
shell.c -rw-r--r-- 5.0 KB
shortlog.h -rw-r--r-- 463 bytes
show-index.c -rw-r--r-- 2.2 KB
sideband.c -rw-r--r-- 3.4 KB
sideband.h -rw-r--r-- 326 bytes
sigchain.c -rw-r--r-- 969 bytes
sigchain.h -rw-r--r-- 215 bytes
strbuf.c -rw-r--r-- 7.7 KB
strbuf.h -rw-r--r-- 5.0 KB
string-list.c -rw-r--r-- 4.5 KB
string-list.h -rw-r--r-- 2.1 KB
submodule.c -rw-r--r-- 15.5 KB
submodule.h -rw-r--r-- 1019 bytes
symlinks.c -rw-r--r-- 8.4 KB
tag.c -rw-r--r-- 3.5 KB
tag.h -rw-r--r-- 517 bytes
tar.h -rw-r--r-- 644 bytes
test-chmtime.c -rw-r--r-- 2.6 KB
test-ctype.c -rw-r--r-- 1.4 KB
test-date.c -rw-r--r-- 1.4 KB
test-delta.c -rw-r--r-- 1.8 KB
test-dump-cache-tree.c -rw-r--r-- 1.5 KB
test-genrandom.c -rw-r--r-- 722 bytes
test-index-version.c -rw-r--r-- 264 bytes
test-line-buffer.c -rw-r--r-- 906 bytes
test-match-trees.c -rw-r--r-- 588 bytes
test-mktemp.c -rw-r--r-- 269 bytes
test-obj-pool.c -rw-r--r-- 2.5 KB
test-parse-options.c -rw-r--r-- 3.0 KB
test-path-utils.c -rw-r--r-- 872 bytes
test-run-command.c -rw-r--r-- 774 bytes
test-sha1.c -rw-r--r-- 816 bytes
test-sha1.sh -rwxr-xr-x 1.9 KB
test-sigchain.c -rw-r--r-- 344 bytes
test-string-pool.c -rw-r--r-- 654 bytes
test-subprocess.c -rw-r--r-- 417 bytes
test-svn-fe.c -rw-r--r-- 296 bytes
test-treap.c -rw-r--r-- 1.7 KB
thread-utils.c -rw-r--r-- 1.2 KB
thread-utils.h -rw-r--r-- 209 bytes
trace.c -rw-r--r-- 4.7 KB
transport-helper.c -rw-r--r-- 28.4 KB
transport.c -rw-r--r-- 29.5 KB
transport.h -rw-r--r-- 5.6 KB
tree-diff.c -rw-r--r-- 12.4 KB
tree-walk.c -rw-r--r-- 10.2 KB
tree-walk.h -rw-r--r-- 1.8 KB
tree.c -rw-r--r-- 7.0 KB
tree.h -rw-r--r-- 883 bytes
unimplemented.sh -rw-r--r-- 100 bytes
unpack-trees.c -rw-r--r-- 46.0 KB
unpack-trees.h -rw-r--r-- 2.1 KB
upload-pack.c -rw-r--r-- 17.5 KB
url.c -rw-r--r-- 3.0 KB
url.h -rw-r--r-- 437 bytes
usage.c -rw-r--r-- 2.4 KB
userdiff.c -rw-r--r-- 8.3 KB
userdiff.h -rw-r--r-- 566 bytes
utf8.c -rw-r--r-- 12.8 KB
utf8.h -rw-r--r-- 537 bytes
walker.c -rw-r--r-- 7.2 KB
walker.h -rw-r--r-- 1.1 KB
wrap-for-bin.sh -rw-r--r-- 610 bytes
wrapper.c -rw-r--r-- 8.1 KB
write_or_die.c -rw-r--r-- 2.0 KB
ws.c -rw-r--r-- 9.6 KB
wt-status.c -rw-r--r-- 24.0 KB
wt-status.h -rw-r--r-- 1.6 KB
xdiff-interface.c -rw-r--r-- 8.2 KB
xdiff-interface.h -rw-r--r-- 1.1 KB
zlib.c -rw-r--r-- 1.2 KB

README

back to top