#!/bin/bash . ${0%/*}/common files=$(p4 $p4opts diff -sl ${1+"$@"} | sed 's/ /:/') add= delete= diff= for found in $files; do mode=${found%%:*} file=${found#*:} case $mode in "diff") diff="$diff $file" ;; "missing") delete="$delete $file" ;; "same");; esac done add=$(find . -type f -o -type l | xargs p4 $p4opts files 2>&1 | sed -n 's/ - no such file(s).*//p;s/#[0-9]* - delete change.*//p') [ -n "$add" ] && echo "$add" | xargs p4 $p4opts add [ -n "$diff" ] && echo "$diff" | xargs p4 $p4opts edit [ -n "$delete" ] && echo "$delete" | xargs p4 $p4opts delete