ceriel 36 роки тому
батько
коміт
8c69e4fc51
7 змінених файлів з 34 додано та 34 видалено
  1. 4 15
      distr/How_To
  2. 2 2
      distr/dwalk
  3. 1 1
      distr/echod
  4. 4 4
      distr/listall
  5. 1 1
      distr/listall.d
  6. 19 1
      distr/mkd
  7. 3 10
      distr/mkf

+ 4 - 15
distr/How_To

@@ -20,19 +20,12 @@ error messages.
 The file f.attf contains mktree error messages and should be compared
 The file f.attf contains mktree error messages and should be compared
 to Exceptions.
 to Exceptions.
 The actions of mktree are quite complicated. It starts in the current
 The actions of mktree are quite complicated. It starts in the current
-directory checking out the .distr file, and copying it to the destination
-directory
+directory creating a version in the destination directory.
+Then it reads the .distr file.
 For each file mentioned there it performes certain actions:
 For each file mentioned there it performes certain actions:
 1- Directory	Change to that directory and call yourself recursively.
 1- Directory	Change to that directory and call yourself recursively.
 2- File
 2- File
-   a-           Try to do "co -rdistr4 destination_tree/path/destination_file"
-                on succes "chmod +w destination_file" 
-              else
-   b-           Try to do "co destination_tree/destination_file"
-                on succes "chmod +w destination_file" and
-                give message that says "Missing distr4 entry" (or some such). 
-              else
-   c-           I   Does a file LIST exist in this directory AND
+   a-               Does a file LIST exist in this directory AND
                     is the first line of LIST equal to the name of the
                     is the first line of LIST equal to the name of the
                     destination file? If so, try to extract all the files
                     destination file? If so, try to extract all the files
                     named in the rest of the LIST file and call the program
                     named in the rest of the LIST file and call the program
@@ -40,11 +33,7 @@ For each file mentioned there it performes certain actions:
                     In this manner libraries can be distributed whose members
                     In this manner libraries can be distributed whose members
                     have their own RCS file! 
                     have their own RCS file! 
               else
               else
-                II  try to do "cp file destination_tree/path/destination_file"
-                    on succes give message that says "Missing RCS entry"
-                    (or some such). 
-              else
-   d-
+   b-
               give message that says "Missing entry" (or some such). 
               give message that says "Missing entry" (or some such). 
 
 
 Now you have the tree but not everything is kosher yet.
 Now you have the tree but not everything is kosher yet.

+ 2 - 2
distr/dwalk

@@ -1,4 +1,5 @@
 : ${CDIR=.}
 : ${CDIR=.}
+${DD-:} $CDIR
 ${DF-:} $CDIR .distr
 ${DF-:} $CDIR .distr
 if test ! -r $DESTDIR/$CDIR/.distr
 if test ! -r $DESTDIR/$CDIR/.distr
 then
 then
@@ -11,10 +12,9 @@ do
         then
         then
                 ( if cd $i
                 ( if cd $i
 		  then 
 		  then 
-			${DD-:} $CDIR $i
 			CDIR=$CDIR/$i
 			CDIR=$CDIR/$i
 			export CDIR
 			export CDIR
-			exec /proj/em/distr/dwalk
+			exec /proj/em/Work/distr/dwalk
 		  else
 		  else
 			echo ++ Could not access $CDIR/$i
 			echo ++ Could not access $CDIR/$i
 		  fi
 		  fi

+ 1 - 1
distr/echod

@@ -1 +1 @@
-echo $1/$2
+echo $1

+ 4 - 4
distr/listall

@@ -1,10 +1,10 @@
 case $# in
 case $# in
-0)	DIR=. ;;
-1)	DIR=$1 ;;
+0)	DESTDIR=. ;;
+1)	DESTDIR=$1 ;;
 *)	echo $0 [directory] ; exit 1 ;;
 *)	echo $0 [directory] ; exit 1 ;;
 esac
 esac
 DD=`pwd`/listall.d
 DD=`pwd`/listall.d
 DW=`pwd`/dwalk
 DW=`pwd`/dwalk
-export DD
-cd $DIR
+export DD DESTDIR
+cd $DESTDIR
 $DW
 $DW

+ 1 - 1
distr/listall.d

@@ -1,2 +1,2 @@
-echo "<$1/$2>"
+echo "<$1>"
 ls -bCdx `cat .distr`
 ls -bCdx `cat .distr`

+ 19 - 1
distr/mkd

@@ -1 +1,19 @@
-mkdir $DESTDIR/$1/$2
+case $1 in
+.)	;;
+*)	mkdir $DESTDIR/$1
+	;;
+esac
+p=`pwd`
+cd $DESTDIR/$1
+if `RV $p $p/Distr4 > /dev/null 2>&1`
+then
+	:
+else
+	echo "-- $1 no Distr4 Save Record yet"
+	if `CV $p > /dev/null 2>&1`
+	then
+		:
+	else
+		echo "-- $1 CV failed for some reason"
+	fi
+fi

+ 3 - 10
distr/mkf

@@ -1,18 +1,11 @@
-if co -q -rdistr4 $DESTDIR/$1/$2 >/dev/null 2>&1
+if [ -f $DESTDIR/$1/$2 ]
 then
 then
-	chmod +w $DESTDIR/$1/$2
-elif co -q $DESTDIR/$1/$2 >/dev/null 2>&1
-then
-	chmod +w $DESTDIR/$1/$2
-	echo -- $1/$2 no distr4 yet
-elif grep LIST .distr >/dev/null 2>&1 &&
+	:
+elif grep LIST $DESTDIR/$1/.distr >/dev/null 2>&1 &&
      (test "$2" = "`head -1 $DESTDIR/$1/LIST`") >/dev/null 2>&1 &&
      (test "$2" = "`head -1 $DESTDIR/$1/LIST`") >/dev/null 2>&1 &&
      ${DA-false} "$1" "$2"
      ${DA-false} "$1" "$2"
 then
 then
 :	Fetched library contents one by one and put them together
 :	Fetched library contents one by one and put them together
-elif cp $2 $DESTDIR/$1/$2 >/dev/null 2>&1
-then
-	echo -- $1/$2 no RCS file
 else
 else
 	echo ++ $1/$2 not present
 	echo ++ $1/$2 not present
 fi
 fi