#!/bin/sh test_description='fetching and pushing project with subproject' . ./test-lib.sh test_expect_success setup ' test_tick && mkdir -p sub && ( cd sub && git init && >subfile && git add subfile && git commit -m "subproject commit #1" ) && >mainfile && git add sub mainfile && test_tick && git commit -m "superproject commit #1" ' test_expect_success clone ' git clone "file://$(pwd)/.git" cloned && (git rev-parse HEAD; git ls-files -s) >expected && ( cd cloned && (git rev-parse HEAD; git ls-files -s) >../actual ) && test_cmp expected actual ' test_expect_success advance ' echo more >mainfile && git update-index --force-remove sub && mv sub/.git sub/.git-disabled && git add sub/subfile mainfile && mv sub/.git-disabled sub/.git && test_tick && git commit -m "superproject commit #2" ' test_expect_success fetch ' (git rev-parse HEAD; git ls-files -s) >expected && ( cd cloned && git pull && (git rev-parse HEAD; git ls-files -s) >../actual ) && test_cmp expected actual ' test_done