commit - ad324bf53a11587dc227a2c00b65020595aa18dc
commit + 3af9de885a0d557ecb7810536cd451f3c320fa68
blob - 6f64f97e5ab0a743040b77f12b907d6537a7f7f5
blob + edaba0504b633bbda16633528dc8c085ed9058e5
--- lib/pack_create.c
+++ lib/pack_create.c
break;
}
- if (got_object_tree_entry_is_symlink(e) ||
- got_object_tree_entry_is_submodule(e) ||
+ if (got_object_tree_entry_is_submodule(e) ||
got_object_idset_contains(idset, id))
continue;
if (err)
break;
STAILQ_INSERT_TAIL(ids, qid, entry);
- } else if (S_ISREG(mode)) {
+ } else if (S_ISREG(mode) || S_ISLNK(mode)) {
err = add_meta(v, idset, id, p, GOT_OBJ_TYPE_BLOB,
mtime, loose_obj_only, repo);
if (err)
blob - 5fdd09a2185f5b0ec3129d8c2ff58780671c2b0a
blob + bf7378666fbaffcdef506f93bd3df20d0c8e454b
--- regress/cmdline/send.sh
+++ regress/cmdline/send.sh
| tr -d ' ' | cut -d: -f2`
echo "modified alpha" > $testroot/repo/alpha
+ (cd $testroot/repo && git rm -q beta)
+ (cd $testroot/repo && ln -s epsilon/zeta symlink && git add symlink)
+ echo "new file alpha" > $testroot/repo/new
+ (cd $testroot/repo && git add new)
git_commit $testroot/repo -m "modified alpha"
local commit_id2=`git_show_head $testroot/repo`
>> $testroot/stdout.expected
echo "refs/remotes/origin/master: $commit_id" \
>> $testroot/stdout.expected
+
+ cmp -s $testroot/stdout $testroot/stdout.expected
+ ret="$?"
+ if [ "$ret" != "0" ]; then
+ diff -u $testroot/stdout.expected $testroot/stdout
+ test_done "$testroot" "$ret"
+ return 1
+ fi
+ got tree -r $testroot/repo-clone -c $commit_id2 -i -R \
+ > $testroot/stdout
+ got tree -r $testroot/repo -c $commit_id2 -i -R \
+ > $testroot/stdout.expected
cmp -s $testroot/stdout $testroot/stdout.expected
ret="$?"
if [ "$ret" != "0" ]; then