1 #! /bin/ksh -p 2 # 3 # CDDL HEADER START 4 # 5 # The contents of this file are subject to the terms of the 6 # Common Development and Distribution License (the "License"). 7 # You may not use this file except in compliance with the License. 8 # 9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 # or http://www.opensolaris.org/os/licensing. 11 # See the License for the specific language governing permissions 12 # and limitations under the License. 13 # 14 # When distributing Covered Code, include this CDDL HEADER in each 15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 # If applicable, add the following below this CDDL HEADER, with the 17 # fields enclosed by brackets "[]" replaced with your own identifying 18 # information: Portions Copyright [yyyy] [name of copyright owner] 19 # 20 # CDDL HEADER END 21 # 22 23 # 24 # Copyright 2006 Sun Microsystems, Inc. All rights reserved. 25 # Use is subject to license terms. 26 # 27 # ident "%Z%%M% %I% %E% SMI" 28 # 29 30 # 31 # The CDPATH variable causes ksh's `cd' builtin to emit messages to stdout 32 # under certain circumstances, which can really screw things up; unset it. 33 # 34 unset CDPATH 35 36 PATH=/usr/bin:/usr/ccs/bin 37 38 # yield an exit status and no other output 39 # /dev/null redirection guards against noise in the event that neither $1 40 # nor $2 exist 41 isnewer() { 42 [ "$1" -nt "$2" ] && return 0 43 [ "$1" -ot "$2" ] && return 1 44 left=$(/bin/ls -E "$1" 2>/dev/null | awk '{print $7}') 45 left=${left##*.} 46 right=$(/bin/ls -E "$2" 2>/dev/null | awk '{print $7}') 47 right=${right##*.} 48 [ -z "$left" -o -z "$right" -o "$left" -gt "$right" ] && return 0 49 return 1 50 } 51 52 if [ $# -ne 1 ]; then 53 echo "Usage: $0 workspace" 1>&2 54 exit 1 55 fi 56 57 CODEMGR_WS="$1" 58 59 if [ ! -d "${CODEMGR_WS}" ]; then 60 echo "${CODEMGR_WS}: not a directory" 1>&2 61 echo "Usage: $0 workspace" 1>&2 62 exit 1 63 fi 64 65 if [ ! -f "${CODEMGR_WS}"/Codemgr_wsdata/nametable ]; then 66 echo "${CODEMGR_WS}: not a workspace (no Codemgr_wsdata/nametable)" 1>&2 67 echo "Usage: $0 workspace" 1>&2 68 exit 1 69 fi 70 71 cd ${CODEMGR_WS} && 72 tail +2 Codemgr_wsdata/nametable | 73 while read file etc; do 74 file="./$file" 75 sfile="${file%/*}/SCCS/s.${file##*/}" 76 if isnewer "$sfile" "$file"; then 77 ls -E "$sfile" 78 ls -E "$file" 79 echo "reget $file:" 80 # -G needed so file doesn't land in working dir. 81 sccs get -G "$file" "$file" 82 fi 83 done 84