Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # |
| 3 | # Copyright (c) 2008 Matthew Ogilvie |
| 4 | # Parts adapted from other tests. |
| 5 | # |
| 6 | |
| 7 | test_description='git-cvsserver -kb modes |
| 8 | |
| 9 | tests -kb mode for binary files when accessing a git |
| 10 | repository using cvs CLI client via git-cvsserver server' |
| 11 | |
| 12 | . ./test-lib.sh |
| 13 | |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 14 | marked_as () { |
| 15 | foundEntry="$(grep "^/$2/" "$1/CVS/Entries")" |
| 16 | if [ x"$foundEntry" = x"" ] ; then |
| 17 | echo "NOT FOUND: $1 $2 1 $3" >> "${WORKDIR}/marked.log" |
| 18 | return 1 |
| 19 | fi |
| 20 | test x"$(grep "^/$2/" "$1/CVS/Entries" | cut -d/ -f5)" = x"$3" |
| 21 | stat=$? |
| 22 | echo "$1 $2 $stat '$3'" >> "${WORKDIR}/marked.log" |
| 23 | return $stat |
| 24 | } |
| 25 | |
| 26 | not_present() { |
| 27 | foundEntry="$(grep "^/$2/" "$1/CVS/Entries")" |
| 28 | if [ -r "$1/$2" ] ; then |
| 29 | echo "Error: File still exists: $1 $2" >> "${WORKDIR}/marked.log" |
| 30 | return 1; |
| 31 | fi |
| 32 | if [ x"$foundEntry" != x"" ] ; then |
| 33 | echo "Error: should not have found: $1 $2" >> "${WORKDIR}/marked.log" |
| 34 | return 1; |
| 35 | else |
| 36 | echo "Correctly not found: $1 $2" >> "${WORKDIR}/marked.log" |
| 37 | return 0; |
| 38 | fi |
| 39 | } |
| 40 | |
Matthew Ogilvie | abd66f2 | 2012-10-13 23:42:23 -0600 | [diff] [blame] | 41 | check_status_options() { |
| 42 | (cd "$1" && |
| 43 | GIT_CONFIG="$git_config" cvs -Q status "$2" > "${WORKDIR}/status.out" 2>&1 |
| 44 | ) |
| 45 | if [ x"$?" != x"0" ] ; then |
| 46 | echo "Error from cvs status: $1 $2" >> "${WORKDIR}/marked.log" |
| 47 | return 1; |
| 48 | fi |
Ben Walton | db7fde9 | 2012-10-25 16:58:19 +0100 | [diff] [blame] | 49 | got="$(sed -n -e 's/^[ ]*Sticky Options:[ ]*//p' "${WORKDIR}/status.out")" |
Matthew Ogilvie | abd66f2 | 2012-10-13 23:42:23 -0600 | [diff] [blame] | 50 | expect="$3" |
| 51 | if [ x"$expect" = x"" ] ; then |
| 52 | expect="(none)" |
| 53 | fi |
| 54 | test x"$got" = x"$expect" |
| 55 | stat=$? |
| 56 | echo "cvs status: $1 $2 $stat '$3' '$got'" >> "${WORKDIR}/marked.log" |
| 57 | return $stat |
| 58 | } |
| 59 | |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 60 | cvs >/dev/null 2>&1 |
| 61 | if test $? -ne 1 |
| 62 | then |
Ævar Arnfjörð Bjarmason | fadb515 | 2010-06-24 17:44:48 +0000 | [diff] [blame] | 63 | skip_all='skipping git-cvsserver tests, cvs not found' |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 64 | test_done |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 65 | fi |
Jeff King | 1b19ccd | 2009-04-03 15:33:59 -0400 | [diff] [blame] | 66 | if ! test_have_prereq PERL |
| 67 | then |
Ævar Arnfjörð Bjarmason | fadb515 | 2010-06-24 17:44:48 +0000 | [diff] [blame] | 68 | skip_all='skipping git-cvsserver tests, perl not available' |
Jeff King | 1b19ccd | 2009-04-03 15:33:59 -0400 | [diff] [blame] | 69 | test_done |
| 70 | fi |
Jeff King | 94221d2 | 2013-10-28 21:23:03 -0400 | [diff] [blame] | 71 | perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || { |
Ævar Arnfjörð Bjarmason | fadb515 | 2010-06-24 17:44:48 +0000 | [diff] [blame] | 72 | skip_all='skipping git-cvsserver tests, Perl SQLite interface unavailable' |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 73 | test_done |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 74 | } |
| 75 | |
| 76 | unset GIT_DIR GIT_CONFIG |
Johannes Schindelin | fd318a9 | 2016-01-27 17:19:59 +0100 | [diff] [blame] | 77 | WORKDIR=$PWD |
| 78 | SERVERDIR=$PWD/gitcvs.git |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 79 | git_config="$SERVERDIR/config" |
| 80 | CVSROOT=":fork:$SERVERDIR" |
Johannes Schindelin | fd318a9 | 2016-01-27 17:19:59 +0100 | [diff] [blame] | 81 | CVSWORK="$PWD/cvswork" |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 82 | CVS_SERVER=git-cvsserver |
| 83 | export CVSROOT CVS_SERVER |
| 84 | |
| 85 | rm -rf "$CVSWORK" "$SERVERDIR" |
| 86 | test_expect_success 'setup' ' |
Junio C Hamano | e2a83b2 | 2013-01-04 16:24:32 -0800 | [diff] [blame] | 87 | git config push.default matching && |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 88 | echo "Simple text file" >textfile.c && |
| 89 | echo "File with embedded NUL: Q <- there" | q_to_nul > binfile.bin && |
| 90 | mkdir subdir && |
| 91 | echo "Another text file" > subdir/file.h && |
| 92 | echo "Another binary: Q (this time CR)" | q_to_cr > subdir/withCr.bin && |
Jonathan Nieder | a48fcd8 | 2010-10-30 20:46:54 -0500 | [diff] [blame] | 93 | echo "Mixed up NUL, but marked text: Q <- there" | q_to_nul > mixedUp.c && |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 94 | echo "Unspecified" > subdir/unspecified.other && |
| 95 | echo "/*.bin -crlf" > .gitattributes && |
| 96 | echo "/*.c crlf" >> .gitattributes && |
| 97 | echo "subdir/*.bin -crlf" >> .gitattributes && |
| 98 | echo "subdir/*.c crlf" >> .gitattributes && |
| 99 | echo "subdir/file.h crlf" >> .gitattributes && |
| 100 | git add .gitattributes textfile.c binfile.bin mixedUp.c subdir/* && |
| 101 | git commit -q -m "First Commit" && |
Johannes Sixt | 7fd3ef1 | 2009-03-07 00:04:09 +0100 | [diff] [blame] | 102 | git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 && |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 103 | GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true && |
| 104 | GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log" |
| 105 | ' |
| 106 | |
| 107 | test_expect_success 'cvs co (default crlf)' ' |
| 108 | GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 && |
| 109 | test x"$(grep '/-k' cvswork/CVS/Entries cvswork/subdir/CVS/Entries)" = x"" |
| 110 | ' |
| 111 | |
| 112 | rm -rf cvswork |
| 113 | test_expect_success 'cvs co (allbinary)' ' |
| 114 | GIT_DIR="$SERVERDIR" git config --bool gitcvs.allbinary true && |
| 115 | GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 && |
| 116 | marked_as cvswork textfile.c -kb && |
| 117 | marked_as cvswork binfile.bin -kb && |
| 118 | marked_as cvswork .gitattributes -kb && |
| 119 | marked_as cvswork mixedUp.c -kb && |
| 120 | marked_as cvswork/subdir withCr.bin -kb && |
| 121 | marked_as cvswork/subdir file.h -kb && |
| 122 | marked_as cvswork/subdir unspecified.other -kb |
| 123 | ' |
| 124 | |
| 125 | rm -rf cvswork cvs.log |
| 126 | test_expect_success 'cvs co (use attributes/allbinary)' ' |
| 127 | GIT_DIR="$SERVERDIR" git config --bool gitcvs.usecrlfattr true && |
| 128 | GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 && |
| 129 | marked_as cvswork textfile.c "" && |
| 130 | marked_as cvswork binfile.bin -kb && |
| 131 | marked_as cvswork .gitattributes -kb && |
| 132 | marked_as cvswork mixedUp.c "" && |
| 133 | marked_as cvswork/subdir withCr.bin -kb && |
| 134 | marked_as cvswork/subdir file.h "" && |
| 135 | marked_as cvswork/subdir unspecified.other -kb |
| 136 | ' |
| 137 | |
| 138 | rm -rf cvswork |
| 139 | test_expect_success 'cvs co (use attributes)' ' |
| 140 | GIT_DIR="$SERVERDIR" git config --bool gitcvs.allbinary false && |
| 141 | GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 && |
| 142 | marked_as cvswork textfile.c "" && |
| 143 | marked_as cvswork binfile.bin -kb && |
| 144 | marked_as cvswork .gitattributes "" && |
| 145 | marked_as cvswork mixedUp.c "" && |
| 146 | marked_as cvswork/subdir withCr.bin -kb && |
| 147 | marked_as cvswork/subdir file.h "" && |
| 148 | marked_as cvswork/subdir unspecified.other "" |
| 149 | ' |
| 150 | |
| 151 | test_expect_success 'adding files' ' |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 152 | (cd cvswork && |
| 153 | (cd subdir && |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 154 | echo "more text" > src.c && |
| 155 | GIT_CONFIG="$git_config" cvs -Q add src.c >cvs.log 2>&1 && |
| 156 | marked_as . src.c "" && |
Ville Skyttä | 2e3a16b | 2016-08-09 11:53:38 +0300 | [diff] [blame] | 157 | echo "pseudo-binary" > temp.bin |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 158 | ) && |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 159 | GIT_CONFIG="$git_config" cvs -Q add subdir/temp.bin >cvs.log 2>&1 && |
| 160 | marked_as subdir temp.bin "-kb" && |
| 161 | cd subdir && |
| 162 | GIT_CONFIG="$git_config" cvs -Q ci -m "adding files" >cvs.log 2>&1 && |
| 163 | marked_as . temp.bin "-kb" && |
| 164 | marked_as . src.c "" |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 165 | ) |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 166 | ' |
| 167 | |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 168 | test_expect_success 'updating' ' |
| 169 | git pull gitcvs.git && |
| 170 | echo 'hi' > subdir/newfile.bin && |
| 171 | echo 'junk' > subdir/file.h && |
| 172 | echo 'hi' > subdir/newfile.c && |
| 173 | echo 'hello' >> binfile.bin && |
| 174 | git add subdir/newfile.bin subdir/file.h subdir/newfile.c binfile.bin && |
| 175 | git commit -q -m "Add and change some files" && |
| 176 | git push gitcvs.git >/dev/null && |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 177 | (cd cvswork && |
| 178 | GIT_CONFIG="$git_config" cvs -Q update |
| 179 | ) && |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 180 | marked_as cvswork textfile.c "" && |
| 181 | marked_as cvswork binfile.bin -kb && |
| 182 | marked_as cvswork .gitattributes "" && |
| 183 | marked_as cvswork mixedUp.c "" && |
| 184 | marked_as cvswork/subdir withCr.bin -kb && |
| 185 | marked_as cvswork/subdir file.h "" && |
| 186 | marked_as cvswork/subdir unspecified.other "" && |
| 187 | marked_as cvswork/subdir newfile.bin -kb && |
| 188 | marked_as cvswork/subdir newfile.c "" && |
| 189 | echo "File with embedded NUL: Q <- there" | q_to_nul > tmpExpect1 && |
| 190 | echo "hello" >> tmpExpect1 && |
| 191 | cmp cvswork/binfile.bin tmpExpect1 |
| 192 | ' |
| 193 | |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 194 | rm -rf cvswork |
| 195 | test_expect_success 'cvs co (use attributes/guess)' ' |
| 196 | GIT_DIR="$SERVERDIR" git config gitcvs.allbinary guess && |
| 197 | GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 && |
| 198 | marked_as cvswork textfile.c "" && |
| 199 | marked_as cvswork binfile.bin -kb && |
| 200 | marked_as cvswork .gitattributes "" && |
| 201 | marked_as cvswork mixedUp.c "" && |
| 202 | marked_as cvswork/subdir withCr.bin -kb && |
| 203 | marked_as cvswork/subdir file.h "" && |
| 204 | marked_as cvswork/subdir unspecified.other "" && |
| 205 | marked_as cvswork/subdir newfile.bin -kb && |
| 206 | marked_as cvswork/subdir newfile.c "" |
| 207 | ' |
| 208 | |
| 209 | test_expect_success 'setup multi-line files' ' |
| 210 | ( echo "line 1" && |
| 211 | echo "line 2" && |
| 212 | echo "line 3" && |
| 213 | echo "line 4 with NUL: Q <-" ) | q_to_nul > multiline.c && |
| 214 | git add multiline.c && |
| 215 | ( echo "line 1" && |
| 216 | echo "line 2" && |
| 217 | echo "line 3" && |
| 218 | echo "line 4" ) | q_to_nul > multilineTxt.c && |
| 219 | git add multilineTxt.c && |
| 220 | git commit -q -m "multiline files" && |
| 221 | git push gitcvs.git >/dev/null |
| 222 | ' |
| 223 | |
| 224 | rm -rf cvswork |
| 225 | test_expect_success 'cvs co (guess)' ' |
| 226 | GIT_DIR="$SERVERDIR" git config --bool gitcvs.usecrlfattr false && |
| 227 | GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 && |
| 228 | marked_as cvswork textfile.c "" && |
| 229 | marked_as cvswork binfile.bin -kb && |
| 230 | marked_as cvswork .gitattributes "" && |
| 231 | marked_as cvswork mixedUp.c -kb && |
| 232 | marked_as cvswork multiline.c -kb && |
| 233 | marked_as cvswork multilineTxt.c "" && |
| 234 | marked_as cvswork/subdir withCr.bin -kb && |
| 235 | marked_as cvswork/subdir file.h "" && |
| 236 | marked_as cvswork/subdir unspecified.other "" && |
| 237 | marked_as cvswork/subdir newfile.bin "" && |
| 238 | marked_as cvswork/subdir newfile.c "" |
| 239 | ' |
| 240 | |
| 241 | test_expect_success 'cvs co another copy (guess)' ' |
| 242 | GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 master >cvs.log 2>&1 && |
| 243 | marked_as cvswork2 textfile.c "" && |
| 244 | marked_as cvswork2 binfile.bin -kb && |
| 245 | marked_as cvswork2 .gitattributes "" && |
| 246 | marked_as cvswork2 mixedUp.c -kb && |
| 247 | marked_as cvswork2 multiline.c -kb && |
| 248 | marked_as cvswork2 multilineTxt.c "" && |
| 249 | marked_as cvswork2/subdir withCr.bin -kb && |
| 250 | marked_as cvswork2/subdir file.h "" && |
| 251 | marked_as cvswork2/subdir unspecified.other "" && |
| 252 | marked_as cvswork2/subdir newfile.bin "" && |
| 253 | marked_as cvswork2/subdir newfile.c "" |
| 254 | ' |
| 255 | |
Matthew Ogilvie | abd66f2 | 2012-10-13 23:42:23 -0600 | [diff] [blame] | 256 | test_expect_success 'cvs status - sticky options' ' |
| 257 | check_status_options cvswork2 textfile.c "" && |
| 258 | check_status_options cvswork2 binfile.bin -kb && |
| 259 | check_status_options cvswork2 .gitattributes "" && |
| 260 | check_status_options cvswork2 mixedUp.c -kb && |
| 261 | check_status_options cvswork2 multiline.c -kb && |
| 262 | check_status_options cvswork2 multilineTxt.c "" && |
| 263 | check_status_options cvswork2/subdir withCr.bin -kb && |
| 264 | check_status_options cvswork2 subdir/withCr.bin -kb && |
| 265 | check_status_options cvswork2/subdir file.h "" && |
| 266 | check_status_options cvswork2 subdir/file.h "" && |
| 267 | check_status_options cvswork2/subdir unspecified.other "" && |
| 268 | check_status_options cvswork2/subdir newfile.bin "" && |
| 269 | check_status_options cvswork2/subdir newfile.c "" |
| 270 | ' |
| 271 | |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 272 | test_expect_success 'add text (guess)' ' |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 273 | (cd cvswork && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 274 | echo "simpleText" > simpleText.c && |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 275 | GIT_CONFIG="$git_config" cvs -Q add simpleText.c |
| 276 | ) && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 277 | marked_as cvswork simpleText.c "" |
| 278 | ' |
| 279 | |
| 280 | test_expect_success 'add bin (guess)' ' |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 281 | (cd cvswork && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 282 | echo "simpleBin: NUL: Q <- there" | q_to_nul > simpleBin.bin && |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 283 | GIT_CONFIG="$git_config" cvs -Q add simpleBin.bin |
| 284 | ) && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 285 | marked_as cvswork simpleBin.bin -kb |
| 286 | ' |
| 287 | |
| 288 | test_expect_success 'remove files (guess)' ' |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 289 | (cd cvswork && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 290 | GIT_CONFIG="$git_config" cvs -Q rm -f subdir/file.h && |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 291 | (cd subdir && |
| 292 | GIT_CONFIG="$git_config" cvs -Q rm -f withCr.bin |
| 293 | )) && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 294 | marked_as cvswork/subdir withCr.bin -kb && |
| 295 | marked_as cvswork/subdir file.h "" |
| 296 | ' |
| 297 | |
| 298 | test_expect_success 'cvs ci (guess)' ' |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 299 | (cd cvswork && |
| 300 | GIT_CONFIG="$git_config" cvs -Q ci -m "add/rm files" >cvs.log 2>&1 |
| 301 | ) && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 302 | marked_as cvswork textfile.c "" && |
| 303 | marked_as cvswork binfile.bin -kb && |
| 304 | marked_as cvswork .gitattributes "" && |
| 305 | marked_as cvswork mixedUp.c -kb && |
| 306 | marked_as cvswork multiline.c -kb && |
| 307 | marked_as cvswork multilineTxt.c "" && |
| 308 | not_present cvswork/subdir withCr.bin && |
| 309 | not_present cvswork/subdir file.h && |
| 310 | marked_as cvswork/subdir unspecified.other "" && |
| 311 | marked_as cvswork/subdir newfile.bin "" && |
| 312 | marked_as cvswork/subdir newfile.c "" && |
| 313 | marked_as cvswork simpleBin.bin -kb && |
| 314 | marked_as cvswork simpleText.c "" |
| 315 | ' |
| 316 | |
| 317 | test_expect_success 'update subdir of other copy (guess)' ' |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 318 | (cd cvswork2/subdir && |
| 319 | GIT_CONFIG="$git_config" cvs -Q update |
| 320 | ) && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 321 | marked_as cvswork2 textfile.c "" && |
| 322 | marked_as cvswork2 binfile.bin -kb && |
| 323 | marked_as cvswork2 .gitattributes "" && |
| 324 | marked_as cvswork2 mixedUp.c -kb && |
| 325 | marked_as cvswork2 multiline.c -kb && |
| 326 | marked_as cvswork2 multilineTxt.c "" && |
| 327 | not_present cvswork2/subdir withCr.bin && |
| 328 | not_present cvswork2/subdir file.h && |
| 329 | marked_as cvswork2/subdir unspecified.other "" && |
| 330 | marked_as cvswork2/subdir newfile.bin "" && |
| 331 | marked_as cvswork2/subdir newfile.c "" && |
| 332 | not_present cvswork2 simpleBin.bin && |
| 333 | not_present cvswork2 simpleText.c |
| 334 | ' |
| 335 | |
| 336 | echo "starting update/merge" >> "${WORKDIR}/marked.log" |
| 337 | test_expect_success 'update/merge full other copy (guess)' ' |
| 338 | git pull gitcvs.git master && |
| 339 | sed "s/3/replaced_3/" < multilineTxt.c > ml.temp && |
| 340 | mv ml.temp multilineTxt.c && |
| 341 | git add multilineTxt.c && |
| 342 | git commit -q -m "modify multiline file" >> "${WORKDIR}/marked.log" && |
| 343 | git push gitcvs.git >/dev/null && |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 344 | (cd cvswork2 && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 345 | sed "s/1/replaced_1/" < multilineTxt.c > ml.temp && |
| 346 | mv ml.temp multilineTxt.c && |
Jens Lehmann | fd4ec4f | 2010-09-06 20:39:54 +0200 | [diff] [blame] | 347 | GIT_CONFIG="$git_config" cvs update > cvs.log 2>&1 |
| 348 | ) && |
Matthew Ogilvie | 90948a4 | 2008-05-14 22:35:48 -0600 | [diff] [blame] | 349 | marked_as cvswork2 textfile.c "" && |
| 350 | marked_as cvswork2 binfile.bin -kb && |
| 351 | marked_as cvswork2 .gitattributes "" && |
| 352 | marked_as cvswork2 mixedUp.c -kb && |
| 353 | marked_as cvswork2 multiline.c -kb && |
| 354 | marked_as cvswork2 multilineTxt.c "" && |
| 355 | not_present cvswork2/subdir withCr.bin && |
| 356 | not_present cvswork2/subdir file.h && |
| 357 | marked_as cvswork2/subdir unspecified.other "" && |
| 358 | marked_as cvswork2/subdir newfile.bin "" && |
| 359 | marked_as cvswork2/subdir newfile.c "" && |
| 360 | marked_as cvswork2 simpleBin.bin -kb && |
| 361 | marked_as cvswork2 simpleText.c "" && |
| 362 | echo "line replaced_1" > tmpExpect2 && |
| 363 | echo "line 2" >> tmpExpect2 && |
| 364 | echo "line replaced_3" >> tmpExpect2 && |
| 365 | echo "line 4" | q_to_nul >> tmpExpect2 && |
| 366 | cmp cvswork2/multilineTxt.c tmpExpect2 |
| 367 | ' |
| 368 | |
Matthew Ogilvie | 8a06a63 | 2008-05-14 22:35:47 -0600 | [diff] [blame] | 369 | test_done |