* [Bug] git show crashes with deepened shallow clone
@ 2013-09-25 14:47 Stefan Näwe
2013-09-25 15:10 ` Stefan Näwe
2013-09-25 15:27 ` Stefan Näwe
0 siblings, 2 replies; 5+ messages in thread
From: Stefan Näwe @ 2013-09-25 14:47 UTC (permalink / raw)
To: Git List
[-- Attachment #1: Type: text/plain, Size: 1895 bytes --]
Just a quick report since I don't have time to bisect now (will do later
if no other gitster is faster...)
When I execute the below script 'git show' crashes. 'git log --oneline -2' gives
for example:
3808bade5b76c4663ac4a3f751dc9f1ed0b08f2e three
error: Could not read 1e8777edeb2b7e757f74c789e679fc6c71073897
fatal: Failed to traverse parents of commit 0aa4ef86004f5bb29f67e971d7963f5cf430c668
gdb backtrace of one run is attached.
It happens on 32-bit Debian (5.0.10), 64-bit openSUSE (12.2), and Windows XP with git 1.8.4
on all systems.
The help of 'git fetch' says:
--depth=<depth>
Deepen or shorten the history of a shallow repository created by git clone with
--depth=<depth> option (see git-clone(1)) to the specified number of commits from
the tip of each remote branch history. Tags for the deepened commits are not fetched.
-------------------------------------------------------------------------------^^^^^^^^^
But that's not true. The tag 'two' (from the script below) gets fetched when
deepening the repository.
---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<
git init shallow-test &&
(cd shallow-test &&
echo foo > file &&
git add file &&
git commit -m"one"
git tag -m"one" one &&
echo bar >> file &&
git commit -m"two" file
git tag -m"two" two &&
echo baz >> file &&
git commit -m"three" file
git tag -m"three" three ) &&
git clone --depth=1 -b three file://`pwd`/shallow-test shallow-test-clone &&
(cd shallow-test-clone &&
git fetch --depth=2 &&
git log --oneline -2 ;
git show two)
---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<
Stefan
--
----------------------------------------------------------------
/dev/random says: The cost of feathers has risen... Now even DOWN is up!
python -c "print '73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')"
[-- Attachment #2: gdb-bt.txt --]
[-- Type: text/plain, Size: 20292 bytes --]
Core was generated by `/home/naewe/src/git/git show two'.
Program terminated with signal 11, Segmentation fault.
[New process 13783]
#0 read_object_with_reference (sha1=0x4 <Address 0x4 out of bounds>, required_type_name=0x817ca97 "tree", size=0xbfdfe3d8, actual_sha1_return=0x0)
at cache.h:697
697 memcpy(sha_dst, sha_src, 20);
#0 read_object_with_reference (sha1=0x4 <Address 0x4 out of bounds>, required_type_name=0x817ca97 "tree", size=0xbfdfe3d8, actual_sha1_return=0x0)
at cache.h:697
type = -1075846344
required_type = OBJ_TREE
buffer = (void *) 0x0
isize = <value optimized out>
actual_sha1 = "\fãß¿\000\000\000\000¸âß¿±n\022\b¼`S\t"
#1 0x081392bf in diff_tree_sha1 (old=0x4 <Address 0x4 out of bounds>, new=0x95429cc "A1þM3Í\205Ú\200Zɦi|\"QÉ\023\210\034", base=0x8155ab9 "",
opt=0xbfdfe7e4) at tree-diff.c:277
tree1 = (void *) 0x954a9d0
tree2 = <value optimized out>
t1 = {
buffer = 0x1,
entry = {
sha1 = 0x0,
path = 0x0,
mode = 3219121144
},
size = 135386226
}
t2 = {
buffer = 0xbfdfe3e8,
entry = {
sha1 = 0x80c44cc "é1ÿÿÿë\r", '\220' <repeats 13 times>, "U\211åW\211×V\211ÎS\203ì\034ÇEð",
path = 0x816d329 "Could not read %s",
mode = 135991090
},
size = 3219121108
}
size1 = <value optimized out>
size2 = <value optimized out>
retval = <value optimized out>
#2 0x080f12d9 in log_tree_commit (opt=0xbfdfe530, commit=0x9536088) at log-tree.c:778
log = {
commit = 0x9536088,
parent = 0x0
}
shown = 0
#3 0x08082dea in cmd_log_walk (rev=0xbfdfe530) at builtin/log.c:342
commit = (struct commit *) 0x9536088
saved_nrl = 0
saved_dcctc = 0
#4 0x080835cd in cmd_show (argc=2, argv=0xbfdfec28, prefix=0x0) at builtin/log.c:566
o = (struct object *) 0x9536088
name = 0x952c390 "two"
rev = {
commits = 0x0,
pending = {
nr = 0,
alloc = 0,
objects = 0x0
},
boundary_commits = {
nr = 0,
alloc = 0,
objects = 0x0
},
cmdline = {
nr = 1,
alloc = 24,
rev = 0x952c9f8
},
prefix = 0x0,
def = 0x815364c "HEAD",
prune_data = {
raw = 0x0,
nr = 0,
has_wildcard = 0,
recursive = 0,
max_depth = 0,
items = 0x0
},
sort_order = REV_SORT_IN_GRAPH_ORDER,
early_output = 0,
ignore_missing = 0,
dense = 1,
prune = 0,
no_walk = 1,
show_all = 0,
remove_empty_trees = 0,
simplify_history = 1,
topo_order = 0,
simplify_merges = 0,
simplify_by_decoration = 0,
tag_objects = 0,
tree_objects = 0,
blob_objects = 0,
verify_objects = 0,
edge_hint = 0,
limited = 0,
unpacked = 0,
boundary = 0,
count = 0,
left_right = 0,
left_only = 0,
right_only = 0,
rewrite_parents = 0,
print_parents = 0,
show_source = 0,
show_decorations = 0,
reverse = 0,
reverse_output_stage = 0,
cherry_pick = 0,
cherry_mark = 0,
bisect = 0,
ancestry_path = 0,
first_parent_only = 0,
line_level_traverse = 0,
diff = 1,
full_diff = 0,
show_root_diff = 1,
no_commit_id = 0,
verbose_header = 1,
ignore_merges = 0,
combine_merges = 1,
dense_combined_merges = 1,
always_show_header = 1,
shown_one = 1,
shown_dashes = 0,
show_merge = 0,
show_notes = 1,
show_notes_given = 0,
show_signature = 0,
pretty_given = 0,
abbrev_commit = 0,
abbrev_commit_given = 0,
use_terminator = 0,
missing_newline = 0,
date_mode_explicit = 0,
preserve_subject = 0,
disable_stdin = 0,
leak_pending = 0,
date_mode = DATE_NORMAL,
abbrev = 7,
commit_format = CMIT_FMT_MEDIUM,
loginfo = 0xbfdfe414,
nr = 0,
total = 0,
mime_boundary = 0x0,
patch_suffix = 0x0,
numbered_files = 0,
reroll_count = 0,
message_id = 0x0,
from_ident = {
name_begin = 0x0,
name_end = 0x0,
mail_begin = 0x0,
mail_end = 0x0,
date_begin = 0x0,
date_end = 0x0,
tz_begin = 0x0,
tz_end = 0x0
},
ref_message_ids = 0x0,
add_signoff = 0,
extra_headers = 0x0,
log_reencode = 0x0,
subject_prefix = 0x8168e0e "PATCH",
no_inline = 0,
show_log_size = 0,
mailmap = 0x0,
grep_filter = {
pattern_list = 0x0,
pattern_tail = 0xbfdfe5ec,
header_list = 0x0,
header_tail = 0xbfdfe5f4,
pattern_expression = 0x0,
prefix = 0x0,
prefix_length = 0,
regexp = {
buffer = 0x0,
allocated = 0,
used = 0,
syntax = 0,
fastmap = 0x0,
translate = 0x0,
re_nsub = 0,
can_be_null = 0,
regs_allocated = 0,
fastmap_accurate = 0,
no_sub = 0,
not_bol = 0,
not_eol = 0,
newline_anchor = 0
},
linenum = 0,
invert = 0,
ignore_case = 0,
status_only = 1,
name_only = 0,
unmatch_name_only = 0,
count = 0,
word_regexp = 0,
fixed = 0,
all_match = 0,
debug = 0,
binary = 0,
extended = 0,
use_reflog_filter = 0,
pcre = 0,
relative = 1,
pathname = 1,
null_following_name = 0,
color = -1,
max_depth = -1,
funcname = 0,
funcbody = 0,
extended_regexp_option = 0,
pattern_type_option = 0,
color_context = '\0' <repeats 39 times>,
color_filename = '\0' <repeats 39 times>,
color_function = '\0' <repeats 39 times>,
color_lineno = '\0' <repeats 39 times>,
color_match = "\033[1;31m", '\0' <repeats 32 times>,
color_selected = '\0' <repeats 39 times>,
color_sep = "\033[36m", '\0' <repeats 34 times>,
regflags = 4,
pre_context = 0,
post_context = 0,
last_shown = 0,
show_hunk_mark = 0,
file_break = 0,
heading = 0,
priv = 0x0,
output = 0,
output_priv = 0x0
},
graph = 0x0,
skip_count = -1,
max_count = -1,
max_age = 4294967295,
min_age = 4294967295,
min_parents = 0,
max_parents = -1,
diffopt = {
filter = 0x0,
orderfile = 0x0,
pickaxe = 0x0,
single_follow = 0x0,
a_prefix = 0x816d167 "a/",
b_prefix = 0x816d16a "b/",
flags = 52429057,
use_color = 2,
context = 3,
interhunkcontext = 0,
break_opt = -1,
detect_rename = 2,
irreversible_delete = 0,
skip_stat_unmatch = 0,
line_termination = 10,
output_format = 16,
pickaxe_opts = 0,
rename_score = 0,
rename_limit = 400,
needed_rename_limit = 0,
degraded_cc_to_c = 0,
show_rename_progress = 0,
dirstat_permille = 30,
setup = 0,
abbrev = 7,
prefix = 0x0,
prefix_length = 0,
stat_sep = 0x0,
xdl_opts = 0,
stat_width = -1,
stat_name_width = 0,
stat_graph_width = -1,
stat_count = 0,
word_regex = 0x0,
word_diff = DIFF_WORDS_NONE,
found_changes = 0,
found_follow = 0,
file = 0xb75574e0,
close_file = 0,
pathspec = {
raw = 0x0,
nr = 0,
has_wildcard = 0,
recursive = 0,
max_depth = 0,
items = 0x0
},
change = 0x80d3330 <diff_change>,
add_remove = 0x80d34e0 <diff_addremove>,
format_callback = 0,
format_callback_data = 0x0,
output_prefix = 0,
output_prefix_length = 0,
output_prefix_data = 0x0
},
pruning = {
filter = 0x0,
orderfile = 0x0,
pickaxe = 0x0,
single_follow = 0x0,
a_prefix = 0x0,
b_prefix = 0x0,
flags = 2049,
use_color = 0,
context = 0,
interhunkcontext = 0,
break_opt = 0,
detect_rename = 0,
irreversible_delete = 0,
skip_stat_unmatch = 0,
line_termination = 0,
output_format = 0,
pickaxe_opts = 0,
rename_score = 0,
rename_limit = 0,
needed_rename_limit = 0,
degraded_cc_to_c = 0,
show_rename_progress = 0,
dirstat_permille = 0,
setup = 0,
abbrev = 0,
prefix = 0x0,
prefix_length = 0,
stat_sep = 0x0,
xdl_opts = 0,
stat_width = 0,
stat_name_width = 0,
stat_graph_width = 0,
stat_count = 0,
word_regex = 0x0,
word_diff = DIFF_WORDS_NONE,
found_changes = 0,
found_follow = 0,
file = 0x0,
close_file = 0,
pathspec = {
raw = 0x0,
nr = 0,
has_wildcard = 0,
recursive = 0,
max_depth = 0,
items = 0x0
},
change = 0x8117d80 <file_change>,
add_remove = 0x8117d40 <file_add_remove>,
format_callback = 0,
format_callback_data = 0x0,
output_prefix = 0,
output_prefix_length = 0,
output_prefix_data = 0x0
},
reflog_info = 0x0,
children = {
name = 0x0,
size = 0,
nr = 0,
hash = 0x0
},
merge_simplification = {
name = 0x0,
size = 0,
nr = 0,
hash = 0x0
},
treesame = {
name = 0x0,
size = 0,
nr = 0,
hash = 0x0
},
notes_opt = {
use_default_notes = -1,
extra_notes_refs = {
items = 0x0,
nr = 0,
alloc = 0,
strdup_strings = 0,
cmp = 0
}
},
count_left = 0,
count_right = 0,
count_same = 0,
line_log_data = {
name = 0x0,
size = 0,
nr = 0,
hash = 0x0
}
}
objects = (struct object_array_entry *) 0x9542090
opt = {
def = 0x815364c "HEAD",
tweak = 0x80819c0 <show_rev_tweak_rev>,
submodule = 0x0,
assume_dashdash = 0,
revarg_opt = 0
}
match_all = {
raw = 0x0,
nr = 0,
has_wildcard = 0,
recursive = 0,
max_depth = 0,
items = 0x0
}
i = 0
count = 1
ret = 0
#5 0x0804bb89 in handle_internal_command (argc=2, argv=0xbfdfec28) at git.c:291
p = (struct cmd_struct *) 0x8181870
cmd = <value optimized out>
i = 1
commands = {{
cmd = 0x8166829 "add",
fn = 0x804c7b0 <cmd_add>,
option = 9
}, {
cmd = 0x815039e "annotate",
fn = 0x804d300 <cmd_annotate>,
option = 1
}, {
cmd = 0x8150c6a "apply",
fn = 0x8054de0 <cmd_apply>,
option = 2
}, {
cmd = 0x8152cd2 "archive",
fn = 0x8055a10 <cmd_archive>,
option = 0
}, {
cmd = 0x81503a7 "bisect--helper",
fn = 0x8055db0 <cmd_bisect__helper>,
option = 1
}, {
cmd = 0x81503b6 "blame",
fn = 0x8058710 <cmd_blame>,
option = 1
}, {
cmd = 0x8166943 "branch",
fn = 0x805b2b0 <cmd_branch>,
option = 1
}, {
cmd = 0x81572d5 "bundle",
fn = 0x805cee0 <cmd_bundle>,
option = 2
}, {
cmd = 0x81503bc "cat-file",
fn = 0x805d390 <cmd_cat_file>,
option = 1
}, {
cmd = 0x81503c5 "check-attr",
fn = 0x805df80 <cmd_check_attr>,
option = 1
}, {
cmd = 0x81503d0 "check-ignore",
fn = 0x805e6a0 <cmd_check_ignore>,
option = 9
}, {
cmd = 0x81503dd "check-mailmap",
fn = 0x805ea20 <cmd_check_mailmap>,
option = 1
}, {
cmd = 0x81503eb "check-ref-format",
fn = 0x805eba0 <cmd_check_ref_format>,
option = 0
}, {
cmd = 0x81573fb "checkout",
fn = 0x8060cb0 <cmd_checkout>,
option = 9
}, {
cmd = 0x81503fc "checkout-index",
fn = 0x805f1f0 <cmd_checkout_index>,
option = 9
}, {
cmd = 0x81784be "cherry",
fn = 0x8083760 <cmd_cherry>,
option = 1
}, {
cmd = 0x81784dd "cherry-pick",
fn = 0x80a96a0 <cmd_cherry_pick>,
option = 9
}, {
cmd = 0x815040b "clean",
fn = 0x8063f90 <cmd_clean>,
option = 9
}, {
cmd = 0x8150411 "clone",
fn = 0x8065230 <cmd_clone>,
option = 0
}, {
cmd = 0x8171698 "column",
fn = 0x8066d60 <cmd_column>,
option = 2
}, {
cmd = 0x81586f8 "commit",
fn = 0x8069c90 <cmd_commit>,
option = 9
}, {
cmd = 0x8150417 "commit-tree",
fn = 0x80670c0 <cmd_commit_tree>,
option = 1
}, {
cmd = 0x815060e "config",
fn = 0x806b8a0 <cmd_config>,
option = 2
}, {
cmd = 0x8150423 "count-objects",
fn = 0x806c380 <cmd_count_objects>,
option = 1
}, {
cmd = 0x8150431 "credential",
fn = 0x806cc50 <cmd_credential>,
option = 2
}, {
cmd = 0x815043c "describe",
fn = 0x806d600 <cmd_describe>,
option = 1
}, {
cmd = 0x816f7b4 "diff",
fn = 0x806e9c0 <cmd_diff>,
option = 0
}, {
cmd = 0x8150445 "diff-files",
fn = 0x806de80 <cmd_diff_files>,
option = 9
}, {
cmd = 0x8150450 "diff-index",
fn = 0x806e0d0 <cmd_diff_index>,
option = 1
}, {
cmd = 0x815045b "diff-tree",
fn = 0x806e290 <cmd_diff_tree>,
option = 1
}, {
cmd = 0x817c5a2 "fast-export",
fn = 0x806fab0 <cmd_fast_export>,
option = 1
}, {
cmd = 0x815737e "fetch",
fn = 0x80735c0 <cmd_fetch>,
option = 1
}, {
cmd = 0x8150465 "fetch-pack",
fn = 0x8070da0 <cmd_fetch_pack>,
option = 1
}, {
cmd = 0x8150470 "fmt-merge-msg",
fn = 0x8075360 <cmd_fmt_merge_msg>,
option = 1
}, {
cmd = 0x815047e "for-each-ref",
fn = 0x8076ec0 <cmd_for_each_ref>,
option = 1
}, {
cmd = 0x815048b "format-patch",
fn = 0x8083cd0 <cmd_format_patch>,
option = 1
}, {
cmd = 0x817112d "fsck",
fn = 0x80780f0 <cmd_fsck>,
option = 1
}, {
cmd = 0x8150498 "fsck-objects",
fn = 0x80780f0 <cmd_fsck>,
option = 1
}, {
cmd = 0x815cb72 "gc",
fn = 0x8078de0 <cmd_gc>,
option = 1
}, {
cmd = 0x81504a5 "get-tar-commit-id",
fn = 0x80afab0 <cmd_get_tar_commit_id>,
option = 0
}, {
cmd = 0x815ced2 "grep",
fn = 0x8079c90 <cmd_grep>,
option = 2
}, {
cmd = 0x81504b7 "hash-object",
fn = 0x807b980 <cmd_hash_object>,
option = 0
}, {
cmd = 0x815012a "help",
fn = 0x807c2a0 <cmd_help>,
option = 0
}, {
cmd = 0x81504c3 "index-pack",
fn = 0x807ec50 <cmd_index_pack>,
option = 2
}, {
cmd = 0x81574bf "init",
fn = 0x8081510 <cmd_init_db>,
option = 0
}, {
cmd = 0x81504ce "init-db",
fn = 0x8081510 <cmd_init_db>,
option = 0
}, {
cmd = 0x8177240 "log",
fn = 0x8082fd0 <cmd_log>,
option = 1
}, {
cmd = 0x81504d6 "ls-files",
fn = 0x8085d90 <cmd_ls_files>,
option = 1
}, {
cmd = 0x81504df "ls-remote",
fn = 0x8086e50 <cmd_ls_remote>,
option = 2
}, {
cmd = 0x81504e9 "ls-tree",
fn = 0x8087310 <cmd_ls_tree>,
option = 1
}, {
cmd = 0x81504f1 "mailinfo",
fn = 0x8088db0 <cmd_mailinfo>,
option = 0
}, {
cmd = 0x81504fa "mailsplit",
fn = 0x808a140 <cmd_mailsplit>,
option = 0
}, {
cmd = 0x8161763 "merge",
fn = 0x808bd20 <cmd_merge>,
option = 9
}, {
cmd = 0x8150504 "merge-base",
fn = 0x808dce0 <cmd_merge_base>,
option = 1
}, {
cmd = 0x815050f "merge-file",
fn = 0x808e0f0 <cmd_merge_file>,
option = 2
}, {
cmd = 0x815051a "merge-index",
fn = 0x808e7e0 <cmd_merge_index>,
option = 1
}, {
cmd = 0x8150526 "merge-ours",
fn = 0x808e9b0 <cmd_merge_ours>,
option = 1
}, {
cmd = 0x8150531 "merge-recursive",
fn = 0x808ea80 <cmd_merge_recursive>,
option = 9
}, {
cmd = 0x8150541 "merge-recursive-ours",
fn = 0x808ea80 <cmd_merge_recursive>,
option = 9
}, {
cmd = 0x8150556 "merge-recursive-theirs",
fn = 0x808ea80 <cmd_merge_recursive>,
option = 9
}, {
cmd = 0x815056d "merge-subtree",
fn = 0x808ea80 <cmd_merge_recursive>,
option = 9
}, {
cmd = 0x815057b "merge-tree",
fn = 0x808f310 <cmd_merge_tree>,
option = 1
}, {
cmd = 0x8150586 "mktag",
fn = 0x808f6c0 <cmd_mktag>,
option = 1
}, {
cmd = 0x815058c "mktree",
fn = 0x808fc80 <cmd_mktree>,
option = 1
}, {
cmd = 0x8150593 "mv",
fn = 0x8090440 <cmd_mv>,
option = 9
}, {
cmd = 0x8150596 "name-rev",
fn = 0x8090fc0 <cmd_name_rev>,
option = 1
}, {
cmd = 0x81625e1 "notes",
fn = 0x8092c50 <cmd_notes>,
option = 1
}, {
cmd = 0x816cc19 "pack-objects",
fn = 0x8097060 <cmd_pack_objects>,
option = 1
}, {
cmd = 0x815059f "pack-redundant",
fn = 0x80996d0 <cmd_pack_redundant>,
option = 1
}, {
cmd = 0x81505ae "pack-refs",
fn = 0x809a8c0 <cmd_pack_refs>,
option = 1
}, {
cmd = 0x81505b8 "patch-id",
fn = 0x809a990 <cmd_patch_id>,
option = 0
}, {
cmd = 0x81505c1 "peek-remote",
fn = 0x8086e50 <cmd_ls_remote>,
option = 2
}, {
cmd = 0x81505cd "pickaxe",
fn = 0x8058710 <cmd_blame>,
option = 1
}, {
cmd = 0x815b54e "prune",
fn = 0x809b360 <cmd_prune>,
option = 1
}, {
cmd = 0x81505d5 "prune-packed",
fn = 0x809b150 <cmd_prune_packed>,
option = 1
}, {
cmd = 0x817bd88 "push",
fn = 0x809be70 <cmd_push>,
option = 1
}, {
cmd = 0x81505e2 "read-tree",
fn = 0x809c800 <cmd_read_tree>,
option = 1
}, {
cmd = 0x8168c20 "receive-pack",
fn = 0x809daf0 <cmd_receive_pack>,
option = 0
}, {
cmd = 0x8153e8e "reflog",
fn = 0x80a0830 <cmd_reflog>,
option = 1
}, {
cmd = 0x81664cc "remote",
fn = 0x80a2bc0 <cmd_remote>,
option = 1
}, {
cmd = 0x81505ec "remote-ext",
fn = 0x80a4fa0 <cmd_remote_ext>,
option = 0
}, {
cmd = 0x81505f7 "remote-fd",
fn = 0x80a5170 <cmd_remote_fd>,
option = 0
}, {
cmd = 0x8150601 "replace",
fn = 0x80a54d0 <cmd_replace>,
option = 1
}, {
cmd = 0x8150609 "repo-config",
fn = 0x806c210 <cmd_repo_config>,
option = 2
}, {
cmd = 0x8150615 "rerere",
fn = 0x80a5790 <cmd_rerere>,
option = 1
}, {
cmd = 0x8160ee5 "reset",
fn = 0x80a5ef0 <cmd_reset>,
option = 1
}, {
cmd = 0x815061c "rev-list",
fn = 0x80a6a10 <cmd_rev_list>,
option = 1
}, {
cmd = 0x8150625 "rev-parse",
fn = 0x80a7a20 <cmd_rev_parse>,
option = 0
}, {
cmd = 0x815062f "revert",
fn = 0x80a97a0 <cmd_revert>,
option = 9
}, {
cmd = 0x8150636 "rm",
fn = 0x80a9940 <cmd_rm>,
option = 1
}, {
cmd = 0x8150639 "send-pack",
fn = 0x80aa650 <cmd_send_pack>,
option = 1
}, {
cmd = 0x8150643 "shortlog",
fn = 0x80ab670 <cmd_shortlog>,
option = 6
}, {
cmd = 0x815064c "show",
fn = 0x80831e0 <cmd_show>,
option = 1
}, {
cmd = 0x8150651 "show-branch",
fn = 0x80ac110 <cmd_show_branch>,
option = 1
}, {
cmd = 0x815065d "show-ref",
fn = 0x80ada40 <cmd_show_ref>,
option = 1
}, {
cmd = 0x8150666 "stage",
fn = 0x804c7b0 <cmd_add>,
option = 9
}, {
cmd = 0x8178d99 "status",
fn = 0x8068920 <cmd_status>,
option = 9
}, {
cmd = 0x815066c "stripspace",
fn = 0x80adfe0 <cmd_stripspace>,
option = 0
}, {
cmd = 0x8150677 "symbolic-ref",
fn = 0x80ae220 <cmd_symbolic_ref>,
option = 1
}, {
cmd = 0x817bac5 "tag",
fn = 0x80aebe0 <cmd_tag>,
option = 1
}, {
cmd = 0x8150684 "tar-tree",
fn = 0x80afb70 <cmd_tar_tree>,
option = 0
}, {
cmd = 0x815068d "unpack-file",
fn = 0x80afcf0 <cmd_unpack_file>,
option = 1
}, {
cmd = 0x8150699 "unpack-objects",
fn = 0x80b0650 <cmd_unpack_objects>,
option = 1
}, {
cmd = 0x81506a8 "update-index",
fn = 0x80b18a0 <cmd_update_index>,
option = 1
}, {
cmd = 0x81506b5 "update-ref",
fn = 0x80b2fd0 <cmd_update_ref>,
option = 1
}, {
cmd = 0x81506c0 "update-server-info",
fn = 0x80b3230 <cmd_update_server_info>,
option = 1
}, {
cmd = 0x8152ccb "upload-archive",
fn = 0x80b33f0 <cmd_upload_archive>,
option = 0
}, {
cmd = 0x81506d3 "upload-archive--writer",
fn = 0x80b3570 <cmd_upload_archive_writer>,
option = 0
}, {
cmd = 0x81506ea "var",
fn = 0x80b3690 <cmd_var>,
option = 2
}, {
cmd = 0x81506ee "verify-pack",
fn = 0x80b3850 <cmd_verify_pack>,
option = 0
}, {
cmd = 0x81506fa "verify-tag",
fn = 0x80b3ba0 <cmd_verify_tag>,
option = 1
}, {
cmd = 0x8173a7b "version",
fn = 0x80e85e0 <cmd_version>,
option = 0
}, {
cmd = 0x8150705 "whatchanged",
fn = 0x8083060 <cmd_whatchanged>,
option = 1
}, {
cmd = 0x816b401 "write-tree",
fn = 0x80b3e90 <cmd_write_tree>,
option = 1
}}
#6 0x0804bdcf in main (argc=2, av=0x25207469) at git.c:500
argv = (const char **) 0xbfdfec28
cmd = 0xbfe0018d "show"
done_help = 0
was_alias = 0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Bug] git show crashes with deepened shallow clone
2013-09-25 14:47 [Bug] git show crashes with deepened shallow clone Stefan Näwe
@ 2013-09-25 15:10 ` Stefan Näwe
2013-09-25 15:27 ` Stefan Näwe
1 sibling, 0 replies; 5+ messages in thread
From: Stefan Näwe @ 2013-09-25 15:10 UTC (permalink / raw)
To: Git List
Am 25.09.2013 16:47, schrieb Stefan Näwe:
> Just a quick report since I don't have time to bisect now (will do later
> if no other gitster is faster...)
Seems to be somewhere between v1.8.3.1 (OK) and v1.8.3.2 (not OK) !!
>
> When I execute the below script 'git show' crashes. 'git log --oneline -2' gives
> for example:
>
> 3808bade5b76c4663ac4a3f751dc9f1ed0b08f2e three
> error: Could not read 1e8777edeb2b7e757f74c789e679fc6c71073897
> fatal: Failed to traverse parents of commit 0aa4ef86004f5bb29f67e971d7963f5cf430c668
>
> gdb backtrace of one run is attached.
> It happens on 32-bit Debian (5.0.10), 64-bit openSUSE (12.2), and Windows XP with git 1.8.4
> on all systems.
>
> The help of 'git fetch' says:
>
> --depth=<depth>
>
> Deepen or shorten the history of a shallow repository created by git clone with
> --depth=<depth> option (see git-clone(1)) to the specified number of commits from
> the tip of each remote branch history. Tags for the deepened commits are not fetched.
> -------------------------------------------------------------------------------^^^^^^^^^
>
> But that's not true. The tag 'two' (from the script below) gets fetched when
> deepening the repository.
v1.8.3.1 fetches the tag also.
Stefan
--
----------------------------------------------------------------
/dev/random says: Pobody's Nerfect!
python -c "print '73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')"
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Bug] git show crashes with deepened shallow clone
2013-09-25 14:47 [Bug] git show crashes with deepened shallow clone Stefan Näwe
2013-09-25 15:10 ` Stefan Näwe
@ 2013-09-25 15:27 ` Stefan Näwe
2013-09-25 18:08 ` Stefan Näwe
1 sibling, 1 reply; 5+ messages in thread
From: Stefan Näwe @ 2013-09-25 15:27 UTC (permalink / raw)
To: Git List; +Cc: Nguyen Thai Ngoc Duy
Am 25.09.2013 16:47, schrieb Stefan Näwe:
> Just a quick report since I don't have time to bisect now (will do later
> if no other gitster is faster...)
I'd marry 'git bisect' if I wasn't already... ;-)
This is what it gives me if I use my script (slightly modified to also run make)
with 'git bisect run':
6035d6aad8ca11954c0d7821f6f3e7c047039c8f is the first bad commit
commit 6035d6aad8ca11954c0d7821f6f3e7c047039c8f
Author: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date: Sun May 26 08:16:15 2013 +0700
fetch-pack: prepare updated shallow file before fetching the pack
index-pack --strict looks up and follows parent commits. If shallow
information is not ready by the time index-pack is run, index-pack may
be led to non-existent objects. Make fetch-pack save shallow file to
disk before invoking index-pack.
git learns new global option --shallow-file to pass on the alternate
shallow file path. Undocumented (and not even support --shallow-file=
syntax) because it's unlikely to be used again elsewhere.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
:100644 100644 67bd5091be0b34bfea075cd60281d22cf5b34768 6e9c7cd9d5da7d24d4810b36039681f184325932 M commit.h
:100644 100644 f156dd4fac30cda4e09c508b7091cdb8d96917e2 6b5467c6dec9645f53d83cdad2467a158db622c0 M fetch-pack.c
:100644 100644 1ada169d5cff3051effee33c6f9ba5b9be15b2e6 88eef5a7cc6d36f6e17f4855945116dd6f1b0681 M git.c
:100644 100644 6be915f38f1fe8dbe0a22c4cd8ae2569331f483f cbe2526d8c2b2643957eea2729a16269a7a74fab M shallow.c
:040000 040000 5333beeb4db3fc37c37e5a4d03816c4750ce6b28 3b0fb999b8655155cba24e2d09ebff29058d29d7 M t
bisect run success
Stefan
--
----------------------------------------------------------------
/dev/random says: Answers: $1 * Correct answers: $5 * Dumb looks: Free! *
python -c "print '73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')"
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Bug] git show crashes with deepened shallow clone
2013-09-25 15:27 ` Stefan Näwe
@ 2013-09-25 18:08 ` Stefan Näwe
2013-09-25 18:48 ` Jonathan Nieder
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Näwe @ 2013-09-25 18:08 UTC (permalink / raw)
To: git
Stefan Näwe <stefan.naewe <at> atlas-elektronik.com> writes:
> Am 25.09.2013 16:47, schrieb Stefan Näwe:
> This is what it gives me if I use my script (slightly modified
> to also run make) with 'git bisect run':
>
> 6035d6aad8ca11954c0d7821f6f3e7c047039c8f is the first bad commit
And to answer myself once more:
That's fixed in
6da8bdc fetch-pack: do not remove .git/shallow file when --depth is not specified"
Sorry for all the noise.
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Bug] git show crashes with deepened shallow clone
2013-09-25 18:08 ` Stefan Näwe
@ 2013-09-25 18:48 ` Jonathan Nieder
0 siblings, 0 replies; 5+ messages in thread
From: Jonathan Nieder @ 2013-09-25 18:48 UTC (permalink / raw)
To: Stefan Näwe; +Cc: git
Stefan Näwe wrote:
> Stefan Näwe <stefan.naewe <at> atlas-elektronik.com> writes:
>> 6035d6aad8ca11954c0d7821f6f3e7c047039c8f is the first bad commit
>
> And to answer myself once more:
>
> That's fixed in
>
> 6da8bdc fetch-pack: do not remove .git/shallow file when --depth is not specified"
>
> Sorry for all the noise.
No problem.
It's probably worth releasing 1.8.4.1 soon. Thanks for a reminder.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-09-25 18:49 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-25 14:47 [Bug] git show crashes with deepened shallow clone Stefan Näwe
2013-09-25 15:10 ` Stefan Näwe
2013-09-25 15:27 ` Stefan Näwe
2013-09-25 18:08 ` Stefan Näwe
2013-09-25 18:48 ` Jonathan Nieder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).