git-remote-mediawiki: obey advice.pushNonFastForward
[gitweb.git] / t / t9800-git-p4.sh
index aec3ba1641ca368635214e48cc15dbb8b7c2070a..97ec9753b45b4f2786e247e2897b3185b7b66df8 100755 (executable)
@@ -191,6 +191,7 @@ test_expect_success 'refuse to preserve users without perms' '
        "$GITP4" clone --dest="$git" //depot &&
        test_when_finished cleanup_git &&
        cd "$git" &&
+       git config git-p4.skipSubmitEditCheck true &&
        echo "username-noperms: a change by alice" >> file1 &&
        git commit --author "Alice <alice@localhost>" -m "perms: a change by alice" file1 &&
        ! P4EDITOR=touch P4USER=bob P4PASSWD=secret "$GITP4" commit --preserve-user &&
@@ -202,7 +203,7 @@ test_expect_success 'preserve user where author is unknown to p4' '
        "$GITP4" clone --dest="$git" //depot &&
        test_when_finished cleanup_git &&
        cd "$git" &&
-       git config git-p4.skipSubmitEditCheck true
+       git config git-p4.skipSubmitEditCheck true &&
        echo "username-bob: a change by bob" >> file1 &&
        git commit --author "Bob <bob@localhost>" -m "preserve: a change by bob" file1 &&
        echo "username-unknown: a change by charlie" >> file1 &&
@@ -248,6 +249,25 @@ test_expect_success 'not preserving user with mixed authorship' '
        p4_check_commit_author usernamefile3 alice
 '
 
+marshal_dump() {
+       what=$1
+       python -c 'import marshal, sys; d = marshal.load(sys.stdin); print d["'$what'"]'
+}
+
+# Sleep a bit so that the top-most p4 change did not happen "now".  Then
+# import the repo and make sure that the initial import has the same time
+# as the top-most change.
+test_expect_success 'initial import time from top change time' '
+       p4change=$(p4 -G changes -m 1 //depot/... | marshal_dump change) &&
+       p4time=$(p4 -G changes -m 1 //depot/... | marshal_dump time) &&
+       sleep 3 &&
+       "$GITP4" clone --dest="$git" //depot &&
+       test_when_finished cleanup_git &&
+       cd "$git" &&
+       gittime=$(git show -s --raw --pretty=format:%at HEAD) &&
+       echo $p4time $gittime &&
+       test $p4time = $gittime
+'
 
 test_expect_success 'shutdown' '
        pid=`pgrep -f p4d` &&