swh:1:snp:87728f882295b5ba27035837248a04c5be121c53
Revision e01de1c9122c3cba118da19fe0ba0ce913fa7285 authored by Junio C Hamano on 16 March 2010, 05:12:55 UTC, committed by Junio C Hamano on 16 March 2010, 06:37:42 UTC
Brandon Casey noticed that t5505 had accidentally broken its && chain,
hiding inconsistency between the code that writes the warning to the
standard output and the test that expects to see the warning on the
standard error, which was introduced by f8948e2 (remote prune: warn
dangling symrefs, 2009-02-08).

It turns out that the issue is deeper than that.  After f8948e2, a symref
that is dangling is marked with a NULL sha1, and the idea of using NULL
sha1 to mean a deleted ref was scrapped, but somehow a follow-up eafb452
(do_one_ref(): null_sha1 check is not about broken ref, 2009-07-22)
incorrectly reorganized do_one_ref(), still thinking NULL sha1 is never
used in the code.

Fix this by:

 - adopt Brandon's fix to t5505 test;

 - introduce REF_BROKEN flag to mark a ref that fails to resolve (dangling
   symref);

 - move the check for broken ref back inside the "if we are skipping
   dangling refs" code block.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 011c181
History
Tip revision: 6c40894d2466d4e7fddc047a05116aa9d14712ee authored by Junio C Hamano on 30 August 2021, 23:06:22 UTC
The second batch
Tip revision: 6c40894
File Mode Size
Documentation
arm
compat
contrib
git-gui
gitk-git
gitweb
mozilla-sha1
perl
ppc
t
templates
xdiff
.gitattributes -rw-r--r-- 70 bytes
.gitignore -rw-r--r-- 2.4 KB
.mailmap -rw-r--r-- 2.5 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 736 bytes
INSTALL -rw-r--r-- 5.4 KB
Makefile -rw-r--r-- 48.5 KB
README -rw-r--r-- 2.4 KB
RelNotes l--------- 34 bytes
abspath.c -rw-r--r-- 2.7 KB
alias.c -rw-r--r-- 1.4 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-- 9.6 KB
archive.h -rw-r--r-- 927 bytes
attr.c -rw-r--r-- 16.0 KB
attr.h -rw-r--r-- 978 bytes
base85.c -rw-r--r-- 2.7 KB
bisect.c -rw-r--r-- 12.5 KB
bisect.h -rw-r--r-- 722 bytes
blob.c -rw-r--r-- 1.1 KB
blob.h -rw-r--r-- 311 bytes
branch.c -rw-r--r-- 4.9 KB
branch.h -rw-r--r-- 1.0 KB
builtin-add.c -rw-r--r-- 8.0 KB
builtin-annotate.c -rw-r--r-- 446 bytes
builtin-apply.c -rw-r--r-- 83.9 KB
builtin-archive.c -rw-r--r-- 2.4 KB
builtin-bisect--helper.c -rw-r--r-- 616 bytes
builtin-blame.c -rw-r--r-- 62.5 KB
builtin-branch.c -rw-r--r-- 17.2 KB
builtin-bundle.c -rw-r--r-- 1.7 KB
builtin-cat-file.c -rw-r--r-- 5.6 KB
builtin-check-attr.c -rw-r--r-- 2.9 KB
builtin-check-ref-format.c -rw-r--r-- 529 bytes
builtin-checkout-index.c -rw-r--r-- 8.1 KB
builtin-checkout.c -rw-r--r-- 20.4 KB
builtin-clean.c -rw-r--r-- 4.2 KB
builtin-clone.c -rw-r--r-- 15.1 KB
builtin-commit-tree.c -rw-r--r-- 3.6 KB
builtin-commit.c -rw-r--r-- 28.0 KB
builtin-config.c -rw-r--r-- 12.9 KB
builtin-count-objects.c -rw-r--r-- 3.0 KB
builtin-describe.c -rw-r--r-- 8.9 KB
builtin-diff-files.c -rw-r--r-- 1.9 KB
builtin-diff-index.c -rw-r--r-- 1.2 KB
builtin-diff-tree.c -rw-r--r-- 4.2 KB
builtin-diff.c -rw-r--r-- 10.5 KB
builtin-fast-export.c -rw-r--r-- 13.9 KB
builtin-fetch--tool.c -rw-r--r-- 12.7 KB
builtin-fetch-pack.c -rw-r--r-- 19.2 KB
builtin-fetch.c -rw-r--r-- 18.0 KB
builtin-fmt-merge-msg.c -rw-r--r-- 8.7 KB
builtin-for-each-ref.c -rw-r--r-- 22.4 KB
builtin-fsck.c -rw-r--r-- 15.7 KB
builtin-gc.c -rw-r--r-- 6.1 KB
builtin-grep.c -rw-r--r-- 20.6 KB
builtin-help.c -rw-r--r-- 11.1 KB
builtin-http-fetch.c -rw-r--r-- 2.1 KB
builtin-init-db.c -rw-r--r-- 12.1 KB
builtin-log.c -rw-r--r-- 31.2 KB
builtin-ls-files.c -rw-r--r-- 14.2 KB
builtin-ls-remote.c -rw-r--r-- 2.4 KB
builtin-ls-tree.c -rw-r--r-- 4.5 KB
builtin-mailinfo.c -rw-r--r-- 21.1 KB
builtin-mailsplit.c -rw-r--r-- 6.4 KB
builtin-merge-base.c -rw-r--r-- 1.4 KB
builtin-merge-file.c -rw-r--r-- 2.4 KB
builtin-merge-ours.c -rw-r--r-- 751 bytes
builtin-merge-recursive.c -rw-r--r-- 1.8 KB
builtin-merge.c -rw-r--r-- 31.4 KB
builtin-mv.c -rw-r--r-- 6.0 KB
builtin-name-rev.c -rw-r--r-- 7.1 KB
builtin-pack-objects.c -rw-r--r-- 58.4 KB
builtin-pack-refs.c -rw-r--r-- 581 bytes
builtin-prune-packed.c -rw-r--r-- 1.9 KB
builtin-prune.c -rw-r--r-- 3.8 KB
builtin-push.c -rw-r--r-- 5.8 KB
builtin-read-tree.c -rw-r--r-- 5.2 KB
builtin-receive-pack.c -rw-r--r-- 17.6 KB
builtin-reflog.c -rw-r--r-- 17.6 KB
builtin-remote.c -rw-r--r-- 35.9 KB
builtin-rerere.c -rw-r--r-- 3.4 KB
builtin-reset.c -rw-r--r-- 8.2 KB
builtin-rev-list.c -rw-r--r-- 9.4 KB
builtin-rev-parse.c -rw-r--r-- 13.9 KB
builtin-revert.c -rw-r--r-- 11.3 KB
builtin-rm.c -rw-r--r-- 7.0 KB
builtin-send-pack.c -rw-r--r-- 13.7 KB
builtin-shortlog.c -rw-r--r-- 8.4 KB
builtin-show-branch.c -rw-r--r-- 21.2 KB
builtin-show-ref.c -rw-r--r-- 5.9 KB
builtin-stripspace.c -rw-r--r-- 1.9 KB
builtin-symbolic-ref.c -rw-r--r-- 1.3 KB
builtin-tag.c -rw-r--r-- 11.2 KB
builtin-tar-tree.c -rw-r--r-- 2.3 KB
builtin-unpack-objects.c -rw-r--r-- 12.8 KB
builtin-update-index.c -rw-r--r-- 19.2 KB
builtin-update-ref.c -rw-r--r-- 1.6 KB
builtin-upload-archive.c -rw-r--r-- 4.1 KB
builtin-verify-pack.c -rw-r--r-- 3.5 KB
builtin-verify-tag.c -rw-r--r-- 2.5 KB
builtin-write-tree.c -rw-r--r-- 1.1 KB
builtin.h -rw-r--r-- 7.2 KB
bundle.c -rw-r--r-- 10.3 KB
bundle.h -rw-r--r-- 627 bytes
cache-tree.c -rw-r--r-- 14.4 KB
cache-tree.h -rw-r--r-- 1.1 KB
cache.h -rw-r--r-- 33.6 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.5 KB
color.h -rw-r--r-- 1.1 KB
combine-diff.c -rw-r--r-- 27.7 KB
command-list.txt -rw-r--r-- 7.5 KB
commit.c -rw-r--r-- 17.3 KB
commit.h -rw-r--r-- 4.6 KB
config.c -rw-r--r-- 28.6 KB
config.mak.in -rw-r--r-- 1.4 KB
configure.ac -rw-r--r-- 21.7 KB
connect.c -rw-r--r-- 13.8 KB
convert.c -rw-r--r-- 14.1 KB
copy.c -rw-r--r-- 1.1 KB
csum-file.c -rw-r--r-- 2.6 KB
csum-file.h -rw-r--r-- 761 bytes
ctype.c -rw-r--r-- 874 bytes
daemon.c -rw-r--r-- 24.6 KB
date.c -rw-r--r-- 19.7 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.3 KB
diff-lib.c -rw-r--r-- 13.0 KB
diff-no-index.c -rw-r--r-- 6.1 KB
diff.c -rw-r--r-- 92.7 KB
diff.h -rw-r--r-- 8.8 KB
diffcore-break.c -rw-r--r-- 8.6 KB
diffcore-delta.c -rw-r--r-- 5.3 KB
diffcore-order.c -rw-r--r-- 2.2 KB
diffcore-pickaxe.c -rw-r--r-- 3.2 KB
diffcore-rename.c -rw-r--r-- 16.8 KB
diffcore.h -rw-r--r-- 4.0 KB
dir.c -rw-r--r-- 20.4 KB
dir.h -rw-r--r-- 2.4 KB
editor.c -rw-r--r-- 1.2 KB
entry.c -rw-r--r-- 5.6 KB
environment.c -rw-r--r-- 4.6 KB
exec_cmd.c -rw-r--r-- 3.3 KB
exec_cmd.h -rw-r--r-- 487 bytes
fast-import.c -rw-r--r-- 62.6 KB
fetch-pack.h -rw-r--r-- 460 bytes
fixup-builtins -rwxr-xr-x 432 bytes
fsck.c -rw-r--r-- 8.0 KB
fsck.h -rw-r--r-- 1023 bytes
generate-cmdlist.sh -rwxr-xr-x 443 bytes
git-add--interactive.perl -rwxr-xr-x 29.9 KB
git-am.sh -rwxr-xr-x 13.5 KB
git-archimport.perl -rwxr-xr-x 36.0 KB
git-bisect.sh -rwxr-xr-x 13.3 KB
git-compat-util.h -rw-r--r-- 10.1 KB
git-cvsexportcommit.perl -rwxr-xr-x 11.1 KB
git-cvsimport.perl -rwxr-xr-x 26.3 KB
git-cvsserver.perl -rwxr-xr-x 113.7 KB
git-difftool--helper.sh -rwxr-xr-x 1.6 KB
git-difftool.perl -rwxr-xr-x 2.0 KB
git-filter-branch.sh -rwxr-xr-x 11.5 KB
git-instaweb.sh -rwxr-xr-x 9.0 KB
git-lost-found.sh -rwxr-xr-x 554 bytes
git-merge-octopus.sh -rwxr-xr-x 2.0 KB
git-merge-one-file.sh -rwxr-xr-x 3.5 KB
git-merge-resolve.sh -rwxr-xr-x 944 bytes
git-mergetool--lib.sh -rw-r--r-- 8.3 KB
git-mergetool.sh -rwxr-xr-x 6.0 KB
git-parse-remote.sh -rwxr-xr-x 5.7 KB
git-pull.sh -rwxr-xr-x 5.6 KB
git-quiltimport.sh -rwxr-xr-x 3.3 KB
git-rebase--interactive.sh -rwxr-xr-x 18.4 KB
git-rebase.sh -rwxr-xr-x 12.8 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-repack.sh -rwxr-xr-x 4.4 KB
git-request-pull.sh -rwxr-xr-x 1.4 KB
git-send-email.perl -rwxr-xr-x 32.1 KB
git-sh-setup.sh -rwxr-xr-x 3.7 KB
git-stash.sh -rwxr-xr-x 6.5 KB
git-submodule.sh -rwxr-xr-x 14.3 KB
git-svn.perl -rwxr-xr-x 153.0 KB
git-web--browse.sh -rwxr-xr-x 3.8 KB
git.c -rw-r--r-- 14.2 KB
git.spec.in -rw-r--r-- 9.6 KB
graph.c -rw-r--r-- 33.6 KB
graph.h -rw-r--r-- 2.6 KB
grep.c -rw-r--r-- 15.9 KB
grep.h -rw-r--r-- 2.0 KB
hash-object.c -rw-r--r-- 3.5 KB
hash.c -rw-r--r-- 2.5 KB
hash.h -rw-r--r-- 1.1 KB
help.c -rw-r--r-- 8.3 KB
help.h -rw-r--r-- 751 bytes
http-push.c -rw-r--r-- 65.0 KB
http-walker.c -rw-r--r-- 23.9 KB
http.c -rw-r--r-- 15.7 KB
http.h -rw-r--r-- 2.8 KB
ident.c -rw-r--r-- 5.9 KB
imap-send.c -rw-r--r-- 32.1 KB
index-pack.c -rw-r--r-- 26.8 KB
levenshtein.c -rw-r--r-- 2.5 KB
levenshtein.h -rw-r--r-- 201 bytes
list-objects.c -rw-r--r-- 4.6 KB
list-objects.h -rw-r--r-- 422 bytes
ll-merge.c -rw-r--r-- 8.9 KB
ll-merge.h -rw-r--r-- 304 bytes
lockfile.c -rw-r--r-- 5.9 KB
log-tree.c -rw-r--r-- 13.9 KB
log-tree.h -rw-r--r-- 778 bytes
mailmap.c -rw-r--r-- 6.6 KB
mailmap.h -rw-r--r-- 350 bytes
match-trees.c -rw-r--r-- 7.1 KB
merge-file.c -rw-r--r-- 2.4 KB
merge-index.c -rw-r--r-- 2.5 KB
merge-recursive.c -rw-r--r-- 36.7 KB
merge-recursive.h -rw-r--r-- 1.2 KB
merge-tree.c -rw-r--r-- 8.1 KB
mktag.c -rw-r--r-- 5.1 KB
mktree.c -rw-r--r-- 3.0 KB
name-hash.c -rw-r--r-- 2.5 KB
object.c -rw-r--r-- 6.1 KB
object.h -rw-r--r-- 2.7 KB
pack-check.c -rw-r--r-- 4.4 KB
pack-redundant.c -rw-r--r-- 14.9 KB
pack-refs.c -rw-r--r-- 2.8 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-- 7.4 KB
pack.h -rw-r--r-- 2.2 KB
pager.c -rw-r--r-- 1.9 KB
parse-options.c -rw-r--r-- 13.1 KB
parse-options.h -rw-r--r-- 5.5 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-id.c -rw-r--r-- 1.6 KB
patch-ids.c -rw-r--r-- 2.5 KB
patch-ids.h -rw-r--r-- 490 bytes
path.c -rw-r--r-- 12.2 KB
pkt-line.c -rw-r--r-- 2.4 KB
pkt-line.h -rw-r--r-- 348 bytes
preload-index.c -rw-r--r-- 2.1 KB
pretty.c -rw-r--r-- 23.4 KB
progress.c -rw-r--r-- 6.3 KB
progress.h -rw-r--r-- 504 bytes
quote.c -rw-r--r-- 10.2 KB
quote.h -rw-r--r-- 2.6 KB
reachable.c -rw-r--r-- 5.6 KB
reachable.h -rw-r--r-- 127 bytes
read-cache.c -rw-r--r-- 44.9 KB
reflog-walk.c -rw-r--r-- 6.7 KB
reflog-walk.h -rw-r--r-- 416 bytes
refs.c -rw-r--r-- 42.0 KB
refs.h -rw-r--r-- 3.7 KB
remote.c -rw-r--r-- 36.1 KB
remote.h -rw-r--r-- 3.7 KB
rerere.c -rw-r--r-- 9.3 KB
rerere.h -rw-r--r-- 259 bytes
revision.c -rw-r--r-- 48.6 KB
revision.h -rw-r--r-- 3.9 KB
run-command.c -rw-r--r-- 7.9 KB
run-command.h -rw-r--r-- 2.8 KB
send-pack.h -rw-r--r-- 344 bytes
server-info.c -rw-r--r-- 5.2 KB
setup.c -rw-r--r-- 12.7 KB
sha1-lookup.c -rw-r--r-- 7.8 KB
sha1-lookup.h -rw-r--r-- 403 bytes
sha1_file.c -rw-r--r-- 64.7 KB
sha1_name.c -rw-r--r-- 19.6 KB
shallow.c -rw-r--r-- 2.3 KB
shell.c -rw-r--r-- 2.2 KB
shortlog.h -rw-r--r-- 450 bytes
show-index.c -rw-r--r-- 2.1 KB
sideband.c -rw-r--r-- 3.3 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.5 KB
strbuf.h -rw-r--r-- 4.9 KB
string-list.c -rw-r--r-- 4.2 KB
string-list.h -rw-r--r-- 1.7 KB
symlinks.c -rw-r--r-- 8.1 KB
tag.c -rw-r--r-- 2.7 KB
tag.h -rw-r--r-- 471 bytes
tar.h -rw-r--r-- 644 bytes
test-chmtime.c -rw-r--r-- 2.4 KB
test-ctype.c -rw-r--r-- 1.4 KB
test-date.c -rw-r--r-- 378 bytes
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-- 732 bytes
test-match-trees.c -rw-r--r-- 588 bytes
test-parse-options.c -rw-r--r-- 2.1 KB
test-path-utils.c -rw-r--r-- 872 bytes
test-sha1.c -rw-r--r-- 831 bytes
test-sha1.sh -rwxr-xr-x 1.9 KB
test-sigchain.c -rw-r--r-- 344 bytes
thread-utils.c -rw-r--r-- 1.0 KB
thread-utils.h -rw-r--r-- 109 bytes
trace.c -rw-r--r-- 3.5 KB
transport.c -rw-r--r-- 25.8 KB
transport.h -rw-r--r-- 2.4 KB
tree-diff.c -rw-r--r-- 11.7 KB
tree-walk.c -rw-r--r-- 5.3 KB
tree-walk.h -rw-r--r-- 1.7 KB
tree.c -rw-r--r-- 7.0 KB
tree.h -rw-r--r-- 883 bytes
unimplemented.sh -rw-r--r-- 100 bytes
unpack-file.c -rw-r--r-- 835 bytes
unpack-trees.c -rw-r--r-- 24.4 KB
unpack-trees.h -rw-r--r-- 1.4 KB
update-server-info.c -rw-r--r-- 512 bytes
upload-pack.c -rw-r--r-- 15.7 KB
usage.c -rw-r--r-- 1.7 KB
userdiff.c -rw-r--r-- 6.0 KB
userdiff.h -rw-r--r-- 477 bytes
utf8.c -rw-r--r-- 11.5 KB
utf8.h -rw-r--r-- 580 bytes
var.c -rw-r--r-- 1.4 KB
walker.c -rw-r--r-- 7.2 KB
walker.h -rw-r--r-- 1.1 KB
wrapper.c -rw-r--r-- 6.2 KB
write_or_die.c -rw-r--r-- 2.0 KB
ws.c -rw-r--r-- 7.9 KB
wt-status.c -rw-r--r-- 11.7 KB
wt-status.h -rw-r--r-- 927 bytes
xdiff-interface.c -rw-r--r-- 7.6 KB
xdiff-interface.h -rw-r--r-- 1.1 KB

README

back to top