t / t9803-git-p4-shell-metachars.shon commit Merge branch 'cb/receive-pack-keep-errors' into maint (e147e96)
   1#!/bin/sh
   2
   3test_description='git-p4 transparency to shell metachars in filenames'
   4
   5. ./lib-git-p4.sh
   6
   7test_expect_success 'start p4d' '
   8        start_p4d
   9'
  10
  11test_expect_success 'init depot' '
  12        (
  13                cd "$cli" &&
  14                echo file1 >file1 &&
  15                p4 add file1 &&
  16                p4 submit -d "file1"
  17        )
  18'
  19
  20test_expect_success 'shell metachars in filenames' '
  21        "$GITP4" clone --dest="$git" //depot &&
  22        test_when_finished cleanup_git &&
  23        (
  24                cd "$git" &&
  25                git config git-p4.skipSubmitEditCheck true &&
  26                echo f1 >foo\$bar &&
  27                git add foo\$bar &&
  28                echo f2 >"file with spaces" &&
  29                git add "file with spaces" &&
  30                git commit -m "add files" &&
  31                P4EDITOR=touch "$GITP4" submit
  32        ) &&
  33        (
  34                cd "$cli" &&
  35                p4 sync ... &&
  36                test -e "file with spaces" &&
  37                test -e "foo\$bar"
  38        )
  39'
  40
  41test_expect_success 'deleting with shell metachars' '
  42        "$GITP4" clone --dest="$git" //depot &&
  43        test_when_finished cleanup_git &&
  44        (
  45                cd "$git" &&
  46                git config git-p4.skipSubmitEditCheck true &&
  47                git rm foo\$bar &&
  48                git rm file\ with\ spaces &&
  49                git commit -m "remove files" &&
  50                P4EDITOR=touch "$GITP4" submit
  51        ) &&
  52        (
  53                cd "$cli" &&
  54                p4 sync ... &&
  55                test ! -e "file with spaces" &&
  56                test ! -e foo\$bar
  57        )
  58'
  59
  60test_expect_success 'kill p4d' '
  61        kill_p4d
  62'
  63
  64test_done