read-cache: regenerate shared index if necessary
[gitweb.git] / t / t9806-git-p4-options.sh
index 564fc80d9343701385ead6f1acad52f3a65c1097..1ab76c4246f215cfc0082bdbfd090e1622362140 100755 (executable)
@@ -215,7 +215,7 @@ test_expect_success 'clone --use-client-spec' '
                test_must_fail git p4 clone --dest="$git" --use-client-spec
        ) &&
        # build a different client
-       cli2=$(test-path-utils real_path "$TRASH_DIRECTORY/cli2") &&
+       cli2="$TRASH_DIRECTORY/cli2" &&
        mkdir -p "$cli2" &&
        test_when_finished "rmdir \"$cli2\"" &&
        test_when_finished cleanup_git &&
@@ -269,6 +269,38 @@ test_expect_success 'submit works with two branches' '
        )
 '
 
+test_expect_success 'use --git-dir option and GIT_DIR' '
+       test_when_finished cleanup_git &&
+       git p4 clone //depot --destination="$git" &&
+       (
+               cd "$git" &&
+               git config git-p4.skipSubmitEdit true &&
+               test_commit first-change &&
+               git p4 submit --git-dir "$git"
+       ) &&
+       (
+               cd "$cli" &&
+               p4 sync &&
+               test_path_is_file first-change.t &&
+               echo "cli_file" >cli_file.t &&
+               p4 add cli_file.t &&
+               p4 submit -d "cli change"
+       ) &&
+       (git --git-dir "$git" p4 sync) &&
+       (cd "$git" && git checkout -q p4/master) &&
+       test_path_is_file "$git"/cli_file.t &&
+       (
+               cd "$cli" &&
+               echo "cli_file2" >cli_file2.t &&
+               p4 add cli_file2.t  &&
+               p4 submit -d "cli change2"
+       ) &&
+       (GIT_DIR="$git" git p4 sync) &&
+       (cd "$git" && git checkout -q p4/master) &&
+       test_path_is_file "$git"/cli_file2.t
+'
+
+
 test_expect_success 'kill p4d' '
        kill_p4d
 '