OSDN Git Service

Merge branch 'master' of git.sourceforge.jp:/gitroot/eos/base
[eos/base.git] / sbin / sccsPut
1 #!/bin/sh
2 # sccsPut  1.3
3 #
4 # The latest update : at 23:21:38
5 #
6 #@(#) A new SCCS file is created if no SCCS. If one have SCCS, delta commands.
7 #@(#) 
8 #
9 #@(#) Usage : sccsPut SourceFileName
10 #@(#)
11 #@(#) Attention
12 #@(#)
13 #@(#) Parameter: 
14 #@(#)     Essential:
15 #@(#)         SourceFileName
16 #@(#)     Optional:
17 #@(#)
18
19 # Store Flags
20 FlagsCharacter="-"
21
22 while [ `echo $1 | cut -c1` = "-" ]
23 do
24         parms="$ {parms} $1"
25         shift 
26 done
27
28 case $# in
29         0) # No filename 
30                 echo "Enter SourceFileName"
31                 read filename
32                 ;;
33         1) # 
34                 filename=$1
35                 ;;
36         *) #
37                 filename="$*"
38                 ;;
39 esac
40 #
41 EosSCCSHome=$EOS_HOME/sccs
42 currentDir=`pwd`
43
44 for file in ${filename}
45 do
46         FullName=${currentDir}/${file}  
47         Name=`basename ${FullName}`
48         Dir=`dirname ${FullName}`
49 #       echo Full=${FullName} Name=${Name} EosHome=$EOS_HOME
50
51         currentSCCSDir=`echo $Dir | awk '{sub(/\/[a-zA-Z0-9\/]*\/Eos\//, ""); print $0}'` 
52         sccsDir=${EosSCCSHome}/${currentSCCSDir}
53 #       echo sccsDir=${sccsDir} currentSCCSDir=${currentSCCSDir}
54 #       exit
55
56         echo ">>>> ${Name}"
57
58         if [ -x $file ]
59         then 
60                 Executable="+x"
61         else
62                 Executable="-x"
63         fi
64
65         if [ -f ${sccsDir}/s.${Name} ] 
66         then
67                 echo "newline is \\"
68                 delta ${sccsDir}/s.${Name} 
69         else
70                 if [ ! -d ${sccsDir} ]
71                 then
72                         mkdir -p  ${sccsDir}
73                 fi
74                 admin -n -i${file} ${sccsDir}/s.${Name}
75         fi
76         if [ -f ${file} ]
77         then
78                 if [ -f ${sccsDir}/s.${Name} ]
79                 then
80                         rm $file
81                 fi
82         fi
83
84         cd ${Dir}
85         get   ${sccsDir}/s.${Name}
86         chgrp Eos ${Name}
87         chmod 444 ${Name} 
88         chmod ${Executable} ${Name}
89 done