P4PORT=localhost:$P4DPORT
P4CLIENT=client
-P4EDITOR=:
-export P4PORT P4CLIENT P4EDITOR
+P4USER=author
+P4EDITOR=true
+unset P4CHARSET
+export P4PORT P4CLIENT P4USER P4EDITOR P4CHARSET
db="$TRASH_DIRECTORY/db"
cli="$TRASH_DIRECTORY/cli"
git="$TRASH_DIRECTORY/git"
pidfile="$TRASH_DIRECTORY/p4d.pid"
+# git p4 submit generates a temp file, which will
+# not get cleaned up if the submission fails. Don't
+# clutter up /tmp on the test machine.
+TMPDIR="$TRASH_DIRECTORY"
+export TMPDIR
+
start_p4d() {
mkdir -p "$db" "$cli" "$git" &&
rm -f "$pidfile" &&
return 1
fi
+ # build a p4 user so author@example.com has an entry
+ p4_add_user author
+
# build a client
client_view "//depot/... //client/..." &&
return 0
}
+p4_add_user() {
+ name=$1 &&
+ p4 user -f -i <<-EOF
+ User: $name
+ Email: $name@example.com
+ FullName: Dr. $name
+ EOF
+}
+
kill_p4d() {
pid=$(cat "$pidfile")
# it had better exist for the first kill
printf "\t%s\n" "$@"
) | p4 client -i
}
+
+is_cli_file_writeable() {
+ # cygwin version of p4 does not set read-only attr,
+ # will be marked 444 but -w is true
+ file="$1" &&
+ if test_have_prereq CYGWIN && p4 -V | grep -q CYGWIN
+ then
+ stat=$(stat --format=%a "$file") &&
+ test $stat = 644
+ else
+ test -w "$file"
+ fi
+}