#!/bin/sh test_description='git p4 tests for excluded paths during clone and sync' . ./lib-git-p4.sh test_expect_success 'start p4d' ' start_p4d ' # Create a repo with the structure: # # //depot/wanted/foo # //depot/discard/foo # # Check that we can exclude a subdirectory with both # clone and sync operations. test_expect_success 'create exclude repo' ' ( cd "$cli" && mkdir -p wanted discard && echo wanted >wanted/foo && echo discard >discard/foo && p4 add wanted/foo discard/foo && p4 submit -d "initial revision" ) ' test_expect_success 'check the repo was created correctly' ' test_when_finished cleanup_git && git p4 clone --dest="$git" //depot/...@all && ( cd "$git" && test_path_is_file wanted/foo && test_path_is_file discard/foo ) ' test_expect_success 'clone, excluding part of repo' ' test_when_finished cleanup_git && git p4 clone -//depot/discard/... --dest="$git" //depot/...@all && ( cd "$git" && test_path_is_file wanted/foo && test_path_is_missing discard/foo ) ' test_expect_success 'clone, then sync with exclude' ' test_when_finished cleanup_git && git p4 clone -//depot/discard/... --dest="$git" //depot/...@all && ( cd "$cli" && p4 edit wanted/foo discard/foo && date >>wanted/foo && date >>discard/foo && p4 submit -d "updating" && cd "$git" && git p4 sync -//depot/discard/... && test_path_is_file wanted/foo && test_path_is_missing discard/foo ) ' test_expect_success 'kill p4d' ' kill_p4d ' test_done