chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
test suite: gitattributes: Rename a sums file to the right name
[dgit.git]
/
tests
/
tests
/
badcommit-rewrite
diff --git
a/tests/tests/badcommit-rewrite
b/tests/tests/badcommit-rewrite
index c07d9ae4a8b59884b8661a9e58c8ff50d669ec5e..3e2f37e71da47ab893a671e8dfa147a6283bb6d3 100755
(executable)
--- a/
tests/tests/badcommit-rewrite
+++ b/
tests/tests/badcommit-rewrite
@@
-3,8
+3,14
@@
set -e
. tests/lib
t-setup-import examplegit
. tests/lib
t-setup-import examplegit
+t-tstunt-parsechangelog
-cd example
+cd $tmp/git/$p.git
+git config core.sharedRepository true
+chmod -R g+w objects
+umask 022
+
+cd $tmp/example
suite=stable
suite=stable
@@
-22,14
+28,19
@@
rstable=refs/remotes/dgit/dgit/stable
t-dgit fetch stable
t-has-parent-or-is $rstable $badcommit
t-dgit fetch stable
t-has-parent-or-is $rstable $badcommit
+fixup=${DGIT_BADCOMMIT_FIXUP-dgit-badcommit-fixup}
+
cd $tmp/git/$p.git
cd $tmp/git/$p.git
-${DGIT_BADCOMMIT_FIXUP} --real
+git gc --aggressive --prune=all
+rmdir objects/* ||:
+
+$fixup --real
cd $tmp/$p
git symbolic-ref HEAD >../sym.before
git rev-parse HEAD >../ref.before
cd $tmp/$p
git symbolic-ref HEAD >../sym.before
git rev-parse HEAD >../ref.before
-$
{DGIT_BADCOMMIT_FIXUP}
--real
+$
fixup
--real
git symbolic-ref HEAD >../sym.after
git rev-parse HEAD >../ref.after
git symbolic-ref HEAD >../sym.after
git rev-parse HEAD >../ref.after
@@
-41,4
+52,11
@@
t-dgit fetch stable
t-expect-fail "child $rstable lacks parent $badcommit" \
t-has-parent-or-is $rstable $badcommit
t-expect-fail "child $rstable lacks parent $badcommit" \
t-has-parent-or-is $rstable $badcommit
+check_shared () {
+ find "$1" -perm -200 \! -perm -020 -ls |tee $tmp/badperm
+ test -f $tmp/badperm -a ! -s $tmp/badperm
+}
+
+check_shared $tmp/git/$p.git/objects
+
t-ok
t-ok