revert: Save command-line options for continuing operation
[gitweb.git] / t / t3510-cherry-pick-sequence.sh
index a2c70ad4b8ba9a3435c76437ec88d9a1919c9294..8ee000180a3a65da0a1e4e5ba6e63e5155a9fe9a 100755 (executable)
@@ -33,10 +33,35 @@ test_expect_success setup '
 
 test_expect_success 'cherry-pick persists data on failure' '
        pristine_detach initial &&
-       test_must_fail git cherry-pick base..anotherpick &&
+       test_must_fail git cherry-pick -s base..anotherpick &&
        test_path_is_dir .git/sequencer &&
        test_path_is_file .git/sequencer/head &&
-       test_path_is_file .git/sequencer/todo
+       test_path_is_file .git/sequencer/todo &&
+       test_path_is_file .git/sequencer/opts
+'
+
+test_expect_success 'cherry-pick persists opts correctly' '
+       pristine_detach initial &&
+       test_must_fail git cherry-pick -s -m 1 --strategy=recursive -X patience -X ours base..anotherpick &&
+       test_path_is_dir .git/sequencer &&
+       test_path_is_file .git/sequencer/head &&
+       test_path_is_file .git/sequencer/todo &&
+       test_path_is_file .git/sequencer/opts &&
+       echo "true" >expect &&
+       git config --file=.git/sequencer/opts --get-all options.signoff >actual &&
+       test_cmp expect actual &&
+       echo "1" >expect &&
+       git config --file=.git/sequencer/opts --get-all options.mainline >actual &&
+       test_cmp expect actual &&
+       echo "recursive" >expect &&
+       git config --file=.git/sequencer/opts --get-all options.strategy >actual &&
+       test_cmp expect actual &&
+       cat >expect <<-\EOF &&
+       patience
+       ours
+       EOF
+       git config --file=.git/sequencer/opts --get-all options.strategy-option >actual &&
+       test_cmp expect actual
 '
 
 test_expect_success 'cherry-pick cleans up sequencer state upon success' '