#!/bin/sh # # Copyright (c) 2006 Shawn Pearce # global test_description := ''git reset should cull empty subdirs'' source ./test-lib.sh test_expect_success \ 'creating initial files' \ 'mkdir path0 && cp "$TEST_DIRECTORY"/../COPYING path0/COPYING && git add path0/COPYING && git commit -m add -a' test_expect_success \ 'creating second files' \ 'mkdir path1 && mkdir path1/path2 && cp "$TEST_DIRECTORY"/../COPYING path1/path2/COPYING && cp "$TEST_DIRECTORY"/../COPYING path1/COPYING && cp "$TEST_DIRECTORY"/../COPYING COPYING && cp "$TEST_DIRECTORY"/../COPYING path0/COPYING-TOO && git add path1/path2/COPYING && git add path1/COPYING && git add COPYING && git add path0/COPYING-TOO && git commit -m change -a' test_expect_success \ 'resetting tree HEAD^' \ 'git reset --hard HEAD^' test_expect_success \ 'checking initial files exist after rewind' \ 'test -d path0 && test -f path0/COPYING' test_expect_success \ 'checking lack of path1/path2/COPYING' \ '! test -f path1/path2/COPYING' test_expect_success \ 'checking lack of path1/COPYING' \ '! test -f path1/COPYING' test_expect_success \ 'checking lack of COPYING' \ '! test -f COPYING' test_expect_success \ 'checking checking lack of path1/COPYING-TOO' \ '! test -f path0/COPYING-TOO' test_expect_success \ 'checking lack of path1/path2' \ '! test -d path1/path2' test_expect_success \ 'checking lack of path1' \ '! test -d path1' test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git reset should cull empty subdirs">)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <"creating initial files">)} { (SQ <"mkdir path0 &&\n"> <" cp \"$TEST_DIRECTORY\"/../COPYING path0/COPYING &&\n"> <" git add path0/COPYING &&\n"> <" git commit -m add -a"> ) } ) (C {(test_expect_success)} {(SQ <"creating second files">)} { (SQ <"mkdir path1 &&\n"> <" mkdir path1/path2 &&\n"> <" cp \"$TEST_DIRECTORY\"/../COPYING path1/path2/COPYING &&\n"> <" cp \"$TEST_DIRECTORY\"/../COPYING path1/COPYING &&\n"> <" cp \"$TEST_DIRECTORY\"/../COPYING COPYING &&\n"> <" cp \"$TEST_DIRECTORY\"/../COPYING path0/COPYING-TOO &&\n"> <" git add path1/path2/COPYING &&\n"> <" git add path1/COPYING &&\n"> <" git add COPYING &&\n"> <" git add path0/COPYING-TOO &&\n"> <" git commit -m change -a"> ) } ) (C {(test_expect_success)} {(SQ <"resetting tree HEAD^">)} {(SQ <"git reset --hard HEAD^">)}) (C {(test_expect_success)} {(SQ <"checking initial files exist after rewind">)} {(SQ <"test -d path0 &&\n"> <" test -f path0/COPYING">)} ) (C {(test_expect_success)} {(SQ <"checking lack of path1/path2/COPYING">)} {(SQ <"! test -f path1/path2/COPYING">)} ) (C {(test_expect_success)} {(SQ <"checking lack of path1/COPYING">)} {(SQ <"! test -f path1/COPYING">)} ) (C {(test_expect_success)} {(SQ <"checking lack of COPYING">)} {(SQ <"! test -f COPYING">)}) (C {(test_expect_success)} {(SQ <"checking checking lack of path1/COPYING-TOO">)} {(SQ <"! test -f path0/COPYING-TOO">)} ) (C {(test_expect_success)} {(SQ <"checking lack of path1/path2">)} {(SQ <"! test -d path1/path2">)}) (C {(test_expect_success)} {(SQ <"checking lack of path1">)} {(SQ <"! test -d path1">)}) (C {(test_done)}) ] )