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# 34unset CDPATH 35 36PATH=/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 41isnewer() { 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 52if [ $# -ne 1 ]; then 53 echo "Usage: $0 workspace" 1>&2 54 exit 1 55fi 56 57CODEMGR_WS="$1" 58 59if [ ! -d "${CODEMGR_WS}" ]; then 60 echo "${CODEMGR_WS}: not a directory" 1>&2 61 echo "Usage: $0 workspace" 1>&2 62 exit 1 63fi 64 65if [ ! -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 69fi 70 71cd ${CODEMGR_WS} && 72tail +2 Codemgr_wsdata/nametable | 73while 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 83done 84