Latest release from Cyclic Software
authortholo <tholo@openbsd.org>
Sat, 29 Mar 1997 04:37:20 +0000 (04:37 +0000)
committertholo <tholo@openbsd.org>
Sat, 29 Mar 1997 04:37:20 +0000 (04:37 +0000)
21 files changed:
gnu/usr.bin/cvs/ChangeLog
gnu/usr.bin/cvs/cvsnt.mak
gnu/usr.bin/cvs/doc/ChangeLog
gnu/usr.bin/cvs/doc/Makefile.in
gnu/usr.bin/cvs/doc/cvs.texinfo
gnu/usr.bin/cvs/doc/cvsclient.texi
gnu/usr.bin/cvs/src/ChangeLog
gnu/usr.bin/cvs/src/Makefile.in
gnu/usr.bin/cvs/src/classify.c
gnu/usr.bin/cvs/src/client.c
gnu/usr.bin/cvs/src/entries.c
gnu/usr.bin/cvs/src/filesubr.c
gnu/usr.bin/cvs/src/rcs.c
gnu/usr.bin/cvs/src/rcs.h
gnu/usr.bin/cvs/src/recurse.c
gnu/usr.bin/cvs/src/sanity.sh
gnu/usr.bin/cvs/src/version.c
gnu/usr.bin/cvs/windows-NT/SCC/ChangeLog
gnu/usr.bin/cvs/windows-NT/SCC/scc.c
gnu/usr.bin/cvs/zlib/ChangeLog
gnu/usr.bin/cvs/zlib/Makefile.in

index 3c4bfc7..263d078 100644 (file)
@@ -1,3 +1,15 @@
+Wed Mar 19 14:06:40 1997  Jim Meyering  <meyering@totoro.cyclic.com>
+
+       * configure.in (test for shadow passwords): Use AC_MSG_RESULT
+       rather than echo, so configure obeys --quiet.
+       Use yes and no in message rather than yup and nope.
+
+19 Mar 1997  Jim Kingdon
+
+       * cvsnt.mak: Now Visual C++ wants to add a bunch of dependencies
+       for the Release configuration as well as the Debug one.  Why it
+       didn't do this before, I have no idea.
+
 13 Mar 1997  Jim Kingdon
 
        * cvsnt.mak: Recent changes have added a number of getline.h
index cfa7575..c3de608 100644 (file)
@@ -534,6 +534,21 @@ LINK32_OBJS= \
 # Begin Source File
 
 SOURCE=.\src\mkmodules.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_MKMOD=\
+       ".\src\cvs.h"\
+       ".\lib\savecwd.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\mkmodules.obj" : $(SOURCE) $(DEP_CPP_MKMOD) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_MKMOD=\
        ".\src\cvs.h"\
        ".\lib\savecwd.h"\
@@ -567,11 +582,27 @@ NODEP_CPP_MKMOD=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\subr.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_SUBR_=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\subr.obj" : $(SOURCE) $(DEP_CPP_SUBR_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_SUBR_=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -604,11 +635,26 @@ NODEP_CPP_SUBR_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\admin.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_ADMIN=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\admin.obj" : $(SOURCE) $(DEP_CPP_ADMIN) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_ADMIN=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -640,11 +686,32 @@ NODEP_CPP_ADMIN=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\server.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_SERVE=\
+       ".\src\cvs.h"\
+       ".\src\watch.h"\
+       ".\src\edit.h"\
+       ".\src\fileattr.h"\
+       ".\lib\getline.h"\
+       ".\src\buffer.h"\
+       {$(INCLUDE)}"\sys\Types.h"\
+       
+
+"$(INTDIR)\server.obj" : $(SOURCE) $(DEP_CPP_SERVE) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_SERVE=\
        ".\src\cvs.h"\
        ".\src\watch.h"\
@@ -681,11 +748,26 @@ NODEP_CPP_SERVE=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\diff.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_DIFF_=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\diff.obj" : $(SOURCE) $(DEP_CPP_DIFF_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_DIFF_=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -717,11 +799,31 @@ NODEP_CPP_DIFF_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\client.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_CLIEN=\
+       ".\windows-NT\config.h"\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       ".\src\edit.h"\
+       ".\src\buffer.h"\
+       ".\lib\md5.h"\
+       
+
+"$(INTDIR)\client.obj" : $(SOURCE) $(DEP_CPP_CLIEN) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_CLIEN=\
        ".\windows-NT\config.h"\
        ".\src\cvs.h"\
@@ -757,11 +859,26 @@ NODEP_CPP_CLIEN=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\checkout.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_CHECK=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\checkout.obj" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_CHECK=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -793,11 +910,26 @@ NODEP_CPP_CHECK=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\no_diff.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_NO_DI=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\no_diff.obj" : $(SOURCE) $(DEP_CPP_NO_DI) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_NO_DI=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -829,11 +961,27 @@ NODEP_CPP_NO_DI=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\entries.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_ENTRI=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\entries.obj" : $(SOURCE) $(DEP_CPP_ENTRI) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_ENTRI=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -866,11 +1014,27 @@ NODEP_CPP_ENTRI=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\tag.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_TAG_C=\
+       ".\src\cvs.h"\
+       ".\lib\savecwd.h"\
+       
+
+"$(INTDIR)\tag.obj" : $(SOURCE) $(DEP_CPP_TAG_C) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_TAG_C=\
        ".\src\cvs.h"\
        ".\lib\savecwd.h"\
@@ -903,11 +1067,26 @@ NODEP_CPP_TAG_C=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\rtag.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_RTAG_=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\rtag.obj" : $(SOURCE) $(DEP_CPP_RTAG_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_RTAG_=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -939,11 +1118,26 @@ NODEP_CPP_RTAG_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\status.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_STATU=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\status.obj" : $(SOURCE) $(DEP_CPP_STATU) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_STATU=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -975,11 +1169,27 @@ NODEP_CPP_STATU=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\root.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_ROOT_=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\root.obj" : $(SOURCE) $(DEP_CPP_ROOT_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_ROOT_=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1012,11 +1222,27 @@ NODEP_CPP_ROOT_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\myndbm.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_MYNDB=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\myndbm.obj" : $(SOURCE) $(DEP_CPP_MYNDB) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_MYNDB=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1049,11 +1275,26 @@ NODEP_CPP_MYNDB=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\hash.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_HASH_=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\hash.obj" : $(SOURCE) $(DEP_CPP_HASH_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_HASH_=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1085,11 +1326,27 @@ NODEP_CPP_HASH_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\repos.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_REPOS=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\repos.obj" : $(SOURCE) $(DEP_CPP_REPOS) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_REPOS=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1122,11 +1379,27 @@ NODEP_CPP_REPOS=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\parseinfo.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_PARSE=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\parseinfo.obj" : $(SOURCE) $(DEP_CPP_PARSE) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_PARSE=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1159,11 +1432,26 @@ NODEP_CPP_PARSE=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\vers_ts.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_VERS_=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\vers_ts.obj" : $(SOURCE) $(DEP_CPP_VERS_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_VERS_=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1195,11 +1483,28 @@ NODEP_CPP_VERS_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\checkin.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_CHECKI=\
+       ".\src\cvs.h"\
+       ".\src\fileattr.h"\
+       ".\src\edit.h"\
+       
+
+"$(INTDIR)\checkin.obj" : $(SOURCE) $(DEP_CPP_CHECKI) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_CHECKI=\
        ".\src\cvs.h"\
        ".\src\fileattr.h"\
@@ -1233,11 +1538,29 @@ NODEP_CPP_CHECKI=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\commit.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_COMMI=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       ".\src\edit.h"\
+       ".\src\fileattr.h"\
+       
+
+"$(INTDIR)\commit.obj" : $(SOURCE) $(DEP_CPP_COMMI) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_COMMI=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1272,11 +1595,26 @@ NODEP_CPP_COMMI=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\version.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_VERSI=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\version.obj" : $(SOURCE) $(DEP_CPP_VERSI) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_VERSI=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1308,11 +1646,27 @@ NODEP_CPP_VERSI=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\cvsrc.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_CVSRC=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\cvsrc.obj" : $(SOURCE) $(DEP_CPP_CVSRC) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_CVSRC=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1345,11 +1699,26 @@ NODEP_CPP_CVSRC=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\remove.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_REMOV=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\remove.obj" : $(SOURCE) $(DEP_CPP_REMOV) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_REMOV=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1381,11 +1750,32 @@ NODEP_CPP_REMOV=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\update.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_UPDAT=\
+       ".\src\cvs.h"\
+       ".\lib\savecwd.h"\
+       ".\lib\md5.h"\
+       ".\src\watch.h"\
+       ".\src\fileattr.h"\
+       ".\src\edit.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\update.obj" : $(SOURCE) $(DEP_CPP_UPDAT) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_UPDAT=\
        ".\src\cvs.h"\
        ".\lib\savecwd.h"\
@@ -1419,15 +1809,31 @@ NODEP_CPP_UPDAT=\
        ".\lib\tcpip.h"\
        
 
-"$(INTDIR)\update.obj" : $(SOURCE) $(DEP_CPP_UPDAT) "$(INTDIR)"
+"$(INTDIR)\update.obj" : $(SOURCE) $(DEP_CPP_UPDAT) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF 
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\src\logmsg.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_LOGMS=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\logmsg.obj" : $(SOURCE) $(DEP_CPP_LOGMS) "$(INTDIR)"
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
-# End Source File
-################################################################################
-# Begin Source File
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
 
-SOURCE=.\src\logmsg.c
 DEP_CPP_LOGMS=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1460,11 +1866,26 @@ NODEP_CPP_LOGMS=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\classify.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_CLASS=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\classify.obj" : $(SOURCE) $(DEP_CPP_CLASS) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_CLASS=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1496,11 +1917,27 @@ NODEP_CPP_CLASS=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\history.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_HISTO=\
+       ".\src\cvs.h"\
+       ".\lib\savecwd.h"\
+       
+
+"$(INTDIR)\history.obj" : $(SOURCE) $(DEP_CPP_HISTO) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_HISTO=\
        ".\src\cvs.h"\
        ".\lib\savecwd.h"\
@@ -1533,11 +1970,27 @@ NODEP_CPP_HISTO=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\add.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_ADD_C=\
+       ".\src\cvs.h"\
+       ".\lib\savecwd.h"\
+       
+
+"$(INTDIR)\add.obj" : $(SOURCE) $(DEP_CPP_ADD_C) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_ADD_C=\
        ".\src\cvs.h"\
        ".\lib\savecwd.h"\
@@ -1570,11 +2023,26 @@ NODEP_CPP_ADD_C=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\lock.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_LOCK_=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\lock.obj" : $(SOURCE) $(DEP_CPP_LOCK_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_LOCK_=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1606,11 +2074,29 @@ NODEP_CPP_LOCK_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\recurse.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_RECUR=\
+       ".\src\cvs.h"\
+       ".\lib\savecwd.h"\
+       ".\src\fileattr.h"\
+       ".\src\edit.h"\
+       
+
+"$(INTDIR)\recurse.obj" : $(SOURCE) $(DEP_CPP_RECUR) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_RECUR=\
        ".\src\cvs.h"\
        ".\lib\savecwd.h"\
@@ -1645,11 +2131,27 @@ NODEP_CPP_RECUR=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\modules.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_MODUL=\
+       ".\src\cvs.h"\
+       ".\lib\savecwd.h"\
+       
+
+"$(INTDIR)\modules.obj" : $(SOURCE) $(DEP_CPP_MODUL) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_MODUL=\
        ".\src\cvs.h"\
        ".\lib\savecwd.h"\
@@ -1682,11 +2184,26 @@ NODEP_CPP_MODUL=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\find_names.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_FIND_=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\find_names.obj" : $(SOURCE) $(DEP_CPP_FIND_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_FIND_=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1718,11 +2235,26 @@ NODEP_CPP_FIND_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\rcs.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_RCS_C=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\rcs.obj" : $(SOURCE) $(DEP_CPP_RCS_C) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_RCS_C=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1754,11 +2286,26 @@ NODEP_CPP_RCS_C=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\create_adm.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_CREAT=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\create_adm.obj" : $(SOURCE) $(DEP_CPP_CREAT) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_CREAT=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1790,11 +2337,26 @@ NODEP_CPP_CREAT=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\main.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_MAIN_=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\main.obj" : $(SOURCE) $(DEP_CPP_MAIN_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_MAIN_=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1826,11 +2388,27 @@ NODEP_CPP_MAIN_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\patch.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_PATCH=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\patch.obj" : $(SOURCE) $(DEP_CPP_PATCH) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_PATCH=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1863,11 +2441,27 @@ NODEP_CPP_PATCH=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\release.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_RELEA=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\release.obj" : $(SOURCE) $(DEP_CPP_RELEA) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_RELEA=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -1900,11 +2494,26 @@ NODEP_CPP_RELEA=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\rcscmds.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_RCSCM=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\rcscmds.obj" : $(SOURCE) $(DEP_CPP_RCSCM) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_RCSCM=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -1936,11 +2545,27 @@ NODEP_CPP_RCSCM=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\import.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_IMPOR=\
+       ".\src\cvs.h"\
+       ".\lib\savecwd.h"\
+       
+
+"$(INTDIR)\import.obj" : $(SOURCE) $(DEP_CPP_IMPOR) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_IMPOR=\
        ".\src\cvs.h"\
        ".\lib\savecwd.h"\
@@ -1973,11 +2598,27 @@ NODEP_CPP_IMPOR=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\ignore.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_IGNOR=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\ignore.obj" : $(SOURCE) $(DEP_CPP_IGNOR) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_IGNOR=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -2006,15 +2647,30 @@ NODEP_CPP_IGNOR=\
        ".\lib\tcpip.h"\
        
 
-"$(INTDIR)\ignore.obj" : $(SOURCE) $(DEP_CPP_IGNOR) "$(INTDIR)"
+"$(INTDIR)\ignore.obj" : $(SOURCE) $(DEP_CPP_IGNOR) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF 
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\src\log.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_LOG_C=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\log.obj" : $(SOURCE) $(DEP_CPP_LOG_C) "$(INTDIR)"
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
-# End Source File
-################################################################################
-# Begin Source File
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
 
-SOURCE=.\src\log.c
 DEP_CPP_LOG_C=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -2046,11 +2702,27 @@ NODEP_CPP_LOG_C=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\wrapper.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_WRAPP=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\wrapper.obj" : $(SOURCE) $(DEP_CPP_WRAPP) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_WRAPP=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -2083,11 +2755,26 @@ NODEP_CPP_WRAPP=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\error.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_ERROR=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\error.obj" : $(SOURCE) $(DEP_CPP_ERROR) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_ERROR=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -2119,11 +2806,27 @@ NODEP_CPP_ERROR=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\expand_path.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_EXPAN=\
+       ".\src\cvs.h"\
+       {$(INCLUDE)}"\sys\Types.h"\
+       
+
+"$(INTDIR)\expand_path.obj" : $(SOURCE) $(DEP_CPP_EXPAN) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_EXPAN=\
        ".\src\cvs.h"\
        {$(INCLUDE)}"\sys\Types.h"\
@@ -2155,11 +2858,30 @@ NODEP_CPP_EXPAN=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\edit.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_EDIT_=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       ".\src\watch.h"\
+       ".\src\edit.h"\
+       ".\src\fileattr.h"\
+       
+
+"$(INTDIR)\edit.obj" : $(SOURCE) $(DEP_CPP_EDIT_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_EDIT_=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -2195,11 +2917,28 @@ NODEP_CPP_EDIT_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\fileattr.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_FILEA=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       ".\src\fileattr.h"\
+       
+
+"$(INTDIR)\fileattr.obj" : $(SOURCE) $(DEP_CPP_FILEA) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_FILEA=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -2233,11 +2972,29 @@ NODEP_CPP_FILEA=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\watch.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_WATCH=\
+       ".\src\cvs.h"\
+       ".\src\edit.h"\
+       ".\src\fileattr.h"\
+       ".\src\watch.h"\
+       
+
+"$(INTDIR)\watch.obj" : $(SOURCE) $(DEP_CPP_WATCH) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_WATCH=\
        ".\src\cvs.h"\
        ".\src\edit.h"\
@@ -2272,11 +3029,27 @@ NODEP_CPP_WATCH=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\login.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_LOGIN=\
+       ".\src\cvs.h"\
+       ".\lib\getline.h"\
+       
+
+"$(INTDIR)\login.obj" : $(SOURCE) $(DEP_CPP_LOGIN) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_LOGIN=\
        ".\src\cvs.h"\
        ".\lib\getline.h"\
@@ -2309,11 +3082,26 @@ NODEP_CPP_LOGIN=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\scramble.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_SCRAM=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\scramble.obj" : $(SOURCE) $(DEP_CPP_SCRAM) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_SCRAM=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -2345,11 +3133,27 @@ NODEP_CPP_SCRAM=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\buffer.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_BUFFE=\
+       ".\src\cvs.h"\
+       ".\src\buffer.h"\
+       
+
+"$(INTDIR)\buffer.obj" : $(SOURCE) $(DEP_CPP_BUFFE) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_BUFFE=\
        ".\src\cvs.h"\
        ".\src\buffer.h"\
@@ -2382,11 +3186,29 @@ NODEP_CPP_BUFFE=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=.\src\zlib.c
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_ZLIB_=\
+       ".\src\cvs.h"\
+       ".\src\buffer.h"\
+       ".\zlib\zlib.h"\
+       ".\zlib\zconf.h"\
+       
+
+"$(INTDIR)\zlib.obj" : $(SOURCE) $(DEP_CPP_ZLIB_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_ZLIB_=\
        ".\src\cvs.h"\
        ".\src\buffer.h"\
@@ -2421,6 +3243,8 @@ NODEP_CPP_ZLIB_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
@@ -2685,6 +3509,19 @@ DEP_CPP_VASPR=\
 # Begin Source File
 
 SOURCE=".\windows-NT\mkdir.c"
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_MKDIR=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\mkdir.obj" : $(SOURCE) $(DEP_CPP_MKDIR) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_MKDIR=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -2716,11 +3553,26 @@ NODEP_CPP_MKDIR=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=".\windows-NT\run.c"
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_RUN_C=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\run.obj" : $(SOURCE) $(DEP_CPP_RUN_C) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_RUN_C=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -2752,6 +3604,8 @@ NODEP_CPP_RUN_C=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
@@ -2770,6 +3624,19 @@ DEP_CPP_PWD_C=\
 # Begin Source File
 
 SOURCE=".\windows-NT\filesubr.c"
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_FILES=\
+       ".\src\cvs.h"\
+       
+
+"$(INTDIR)\filesubr.obj" : $(SOURCE) $(DEP_CPP_FILES) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_FILES=\
        ".\src\cvs.h"\
        ".\windows-NT\config.h"\
@@ -2801,6 +3668,8 @@ NODEP_CPP_FILES=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
@@ -2857,6 +3726,20 @@ SOURCE=".\windows-NT\stripslash.c"
 # Begin Source File
 
 SOURCE=".\windows-NT\rcmd.c"
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_RCMD_=\
+       ".\src\cvs.h"\
+       ".\windows-NT\rcmd.h"\
+       
+
+"$(INTDIR)\rcmd.obj" : $(SOURCE) $(DEP_CPP_RCMD_) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_RCMD_=\
        ".\src\cvs.h"\
        ".\windows-NT\rcmd.h"\
@@ -2889,11 +3772,27 @@ NODEP_CPP_RCMD_=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
 
 SOURCE=".\windows-NT\startserver.c"
+
+!IF  "$(CFG)" == "cvsnt - Win32 Release"
+
+DEP_CPP_START=\
+       ".\src\cvs.h"\
+       ".\windows-NT\rcmd.h"\
+       
+
+"$(INTDIR)\startserver.obj" : $(SOURCE) $(DEP_CPP_START) "$(INTDIR)"
+   $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF  "$(CFG)" == "cvsnt - Win32 Debug"
+
 DEP_CPP_START=\
        ".\src\cvs.h"\
        ".\windows-NT\rcmd.h"\
@@ -2926,6 +3825,8 @@ NODEP_CPP_START=\
    $(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+!ENDIF 
+
 # End Source File
 ################################################################################
 # Begin Source File
index e956d4f..27314be 100644 (file)
@@ -1,3 +1,45 @@
+Mon Mar 24 13:50:24 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
+
+       * cvs.texinfo (Creating a branch): Add comment about -r in branch
+       example.
+
+       * cvsclient.texi (Responses): Discuss meaning of tagspec and
+       future expansion in Set-sticky.  The behavior described is the one
+       which CVS has always implemented.
+
+Fri Mar 21 14:19:05 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
+
+       * cvsclient.texi (Requests): Revise meaning of "Case" per change
+       to CVS.
+
+Tue Mar 18 15:50:47 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
+
+       The following reorganization hopefully presents numeric revisions
+       in a slightly more coherent fashion.  The only new material is the
+       paragraph about assigning revisions for added files.
+       * cvs.texinfo (A sample session): Bring in a sentence from Basic
+       concepts node, defining a repository.
+       (Revisions and branches): Renamed from Branches (it has always
+       covered non-branch tags too).  Bring in nodes "Revision numbers" and
+       "Versions revisions releases" from Basic concepts, the former in
+       particular was way too detailed for an intro section.
+       (A sample session): Add comment about how we need an introduction
+       and what might go into one.  Also bring in the paragraph from
+       Basic concepts introducing modules, but comment it out.
+       (Viewing differences): Add comment about 
+       (Basic concepts): Removed; its content has been farmed out as
+       described above, and as the comment said, it was fundamentally
+       flawed.
+       (Assigning revisions): New node.  Incorporates the "New major
+       release number" subsubsec which was in "commit examples".  Add
+       paragraph concerning how CVS assigns revisions on added files.
+       (commit options): Refer to that node under -r.
+       (Invoking CVS): Add comment about text for -r.
+
+Tue Mar 18 13:04:30 1997  Jim Meyering  <meyering@totoro.cyclic.com>
+
+       * Makefile.in: (install-info): Depend on installdirs.
+
 Sun Mar 16 12:37:12 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 
        * cvs.texinfo (File permissions): CVSUMASK now works for RCS
index b281fe6..b071b93 100644 (file)
@@ -96,7 +96,7 @@ cvsclient.txt: cvsclient.texi CVSvn.texi
 # in the build dir.
 # (Note: don't solve this problem with "cd"; INSTALL_DATA might be a
 # relative path to install-sh).
-install-info: info
+install-info: info installdirs
        if test -f cvs.info ; then docdir=.; else docdir=$(srcdir);fi; \
        for i in $$docdir/*.info* ; do \
          $(INSTALL_DATA) $$i $(infodir)/`basename $$i` ; \
index a047b8b..5e8e26b 100644 (file)
@@ -139,12 +139,11 @@ This info manual describes how to use and administer
 @menu
 * Preface::                     About this manual
 * What is CVS?::                What is CVS?
-* Basic concepts::              Basic concepts of revision management
 * A sample session::            A tour of basic CVS usage
 * Repository::                  Where all your sources are stored
 * Starting a new project::      Starting a project with CVS
 * Multiple developers::         How CVS helps a group of developers
-* Branches::                    Parallel development explained
+* Revisions and branches::      Numeric, symbolic, and branch revisions
 * Merging::                     How to move changes between branches
 * Recursive behavior::          CVS descends directories
 * Adding files::                Adding files
@@ -621,142 +620,6 @@ and then merging certain changes over to a stable tree
 only once they have been proven.
 @end table
 
-@c ---------------------------------------------------------------------
-@node Basic concepts
-@chapter Basic concepts
-@cindex Modules (intro)
-
-@c This node doesn't know what it wants.  We don't talk
-@c about *all* the concepts of CVS, just a few random ones
-@c which don't make any sense in isolation.  Nor do we
-@c start with what a beginner most needs to know.  We also
-@c jump into branches, which are a very advanced topic for
-@c this stage in the manual.  I'd just nuke the node if
-@c I could figure out where this stuff should go instead.
-@c The real intro to the repository is in Repository
-@sc{cvs} stores all files in a centralized
-@dfn{repository} (@pxref{Repository}).
-
-The repository contains directories and files, in an
-arbitrary tree.  The @dfn{modules} feature can be used
-to group together a set of directories or files into a
-single entity (@pxref{modules}).  A typical usage is to
-define one module per project.
-
-@menu
-* Revision numbers::            The meaning of a revision number
-* Versions revisions releases::  Terminology used in this manual
-@end menu
-
-@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-@node Revision numbers
-@section Revision numbers
-@cindex Revision numbers
-@cindex Revision tree
-@cindex Linear development
-@cindex Number, revision-
-@cindex Decimal revision number
-@cindex Main trunk (intro)
-@cindex Branch number
-@cindex Number, branch
-
-Each version of a file has a unique @dfn{revision
-number}.  Revision numbers look like @samp{1.1},
-@samp{1.2}, @samp{1.3.2.2} or even @samp{1.3.2.2.4.5}.
-A revision number always has an even number of
-period-separated decimal integers.  By default revision
-1.1 is the first revision of a file.  Each successive
-revision is given a new number by increasing the
-rightmost number by one.  The following figure displays
-a few revisions, with newer revisions to the right.
-
-@example
-       +-----+    +-----+    +-----+    +-----+    +-----+
-       ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
-       +-----+    +-----+    +-----+    +-----+    +-----+
-@end example
-
-@sc{cvs} is not limited to linear development.  The
-@dfn{revision tree} can be split into @dfn{branches},
-where each branch is a self-maintained line of
-development.  Changes made on one branch can easily be
-moved back to the main trunk.  
-
-Each branch has a @dfn{branch number}, consisting of an
-odd number of period-separated decimal integers.  The
-branch number is created by appending an integer to the
-revision number where the corresponding branch forked
-off.  Having branch numbers allows more than one branch
-to be forked off from a certain revision.
-
-@need 3500
-All revisions on a branch have revision numbers formed
-by appending an ordinal number to the branch number.
-The following figure illustrates branching with an
-example.
-
-@example
-@group
-                                                     +-------------+
-                          Branch 1.2.2.3.2 ->        ! 1.2.2.3.2.1 !
-                                                   / +-------------+
-                                                  /
-                                                 /
-                 +---------+    +---------+    +---------+    +---------+
-Branch 1.2.2 -> _! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !----! 1.2.2.4 !
-               / +---------+    +---------+    +---------+    +---------+
-              /
-             /
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      <- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !
-                !
-                !   +---------+    +---------+    +---------+
-Branch 1.2.4 -> +---! 1.2.4.1 !----! 1.2.4.2 !----! 1.2.4.3 !
-                    +---------+    +---------+    +---------+
-
-@end group
-@end example
-
-@c --   However, at least for me the figure is not enough.  I suggest more
-@c --   text to accompany it.  "A picture is worth a thousand words", so you
-@c --   have to make sure the reader notices the couple of hundred words
-@c --   *you* had in mind more than the others!
-
-@c --   Why an even number of segments?  This section implies that this is
-@c --   how the main trunk is distinguished from branch roots, but you never
-@c --   explicitly say that this is the purpose of the [by itself rather
-@c --   surprising] restriction to an even number of segments.
-
-The exact details of how the branch number is
-constructed is not something you normally need to be
-concerned about, but here is how it works: When
-@sc{cvs} creates a branch number it picks the first
-unused even integer, starting with 2.  So when you want
-to create a branch from revision 6.4 it will be
-numbered 6.4.2.  All branch numbers ending in a zero
-(such as 6.4.0) are used internally by @sc{cvs}
-(@pxref{Magic branch numbers}).  The branch 1.1.1 has a
-special meaning.  @xref{Tracking sources}.
-
-@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-@node Versions revisions releases
-@section Versions, revisions and releases
-@cindex Revisions, versions and releases
-@cindex Versions, revisions and releases
-@cindex Releases, revisions and versions
-
-A file can have several versions, as described above.
-Likewise, a software product can have several versions.
-A software product is often given a version number such
-as @samp{4.1.1}.
-
-Versions in the first sense are called @dfn{revisions}
-in this document, and versions in the second sense are
-called @dfn{releases}.  To avoid confusion, the word
-@dfn{version} is almost never used in this document.
-
 @c ---------------------------------------------------------------------
 @node A sample session
 @chapter A sample session
@@ -767,9 +630,39 @@ called @dfn{releases}.  To avoid confusion, the word
 @cindex tc, Trivial Compiler (example)
 @cindex Trivial Compiler (example)
 
-This section describes a typical work-session using
-@sc{cvs}.  It assumes that a repository is set up
-(@pxref{Repository}).
+@c I think an example is a pretty good way to start.  But
+@c somewhere in here, maybe after the sample session,
+@c we need something which is kind of
+@c a "roadmap" which is more directed at sketching out
+@c the functionality of CVS and pointing people to
+@c various other parts of the manual.  As it stands now
+@c people who read in order get dumped right into all
+@c manner of hair regarding remote repositories,
+@c creating a repository, etc.
+@c 
+@c The following was in the old Basic concepts node.  I don't
+@c know how good a job it does at introducing modules,
+@c or whether they need to be introduced so soon, but 
+@c something of this sort might go into some
+@c introductory material somewhere.
+@ignore
+@cindex Modules (intro)
+The repository contains directories and files, in an
+arbitrary tree.  The @dfn{modules} feature can be used
+to group together a set of directories or files into a
+single entity (@pxref{modules}).  A typical usage is to
+define one module per project.
+@end ignore
+
+As a way of introducing @sc{cvs}, we'll go through a
+typical work-session using @sc{cvs}.  The first thing
+to understand is that @sc{cvs} stores all files in a
+centralized @dfn{repository} (@pxref{Repository}); this
+section assumes that a repository is set up.
+@c I'm not sure that the sentence concerning the
+@c repository quite tells the user what they need to
+@c know at this point.  Might need to expand on "centralized"
+@c slightly (maybe not here, maybe further down in the example?)
 
 Suppose you are working on a simple compiler.  The source
 consists of a handful of C files and a @file{Makefile}.
@@ -928,6 +821,7 @@ This command runs @code{diff} to compare the version of @file{driver.c}
 that you checked out with your working copy.  When you see the output
 you remember that you added a command line option that enabled the
 optimization pass.  You check it in, and release the module.
+@c FIXME: we haven't yet defined the term "check in".
 
 @example
 $ cvs commit -m "Added an optimization pass" driver.c
@@ -3250,29 +3144,202 @@ best of both the reserved checkout and unreserved
 checkout worlds.
 
 @c ---------------------------------------------------------------------
-@node Branches
-@chapter Branches
+@node Revisions and branches
+@chapter Revisions and branches
 @cindex Branches
 @cindex Main trunk and branches
 @cindex Revision tree, making branches
 
-So far, all revisions shown in this manual have been on
-the @dfn{main trunk}
-of the revision tree, i.e., all revision numbers
-have been of the form @var{x}.@var{y}.  One useful
-feature, especially when maintaining several releases
-of a software product at once, is the ability to make
-branches on the revision tree.  @dfn{Tags}, symbolic
-names for revisions, will also be
-introduced in this chapter.
+For many uses of @sc{cvs}, one doesn't need to worry
+too much about revision numbers; @sc{cvs} assigns
+numbers such as @code{1.1}, @code{1.2}, and so on, and
+that is all one needs to know.  However, some people
+prefer to have more knowledge and control concerning
+how @sc{cvs} assigns revision numbers.
+
+If one wants to keep track of a set of revisions
+involving more than one file, such as which revisions
+went into a particular release, one uses a @dfn{tag},
+which is a symbolic revision which can be assigned to a
+numeric revision in each file.
+
+Another useful feature, especially when maintaining
+several releases of a software product at once, is the
+ability to make branches on the revision tree.
+@c FIXME: probably want another sentence or two, very
+@c briefly motivating branches.
 
 @menu
+* Revision numbers::            The meaning of a revision number
+* Versions revisions releases::  Terminology used in this manual
+* Assigning revisions::         Assigning revisions
 * Tags::                        Tags--Symbolic revisions
 * Branches motivation::         What branches are good for
 * Creating a branch::           Creating a branch
 * Sticky tags::                 Sticky tags
 @end menu
 
+@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+@node Revision numbers
+@section Revision numbers
+@cindex Revision numbers
+@cindex Revision tree
+@cindex Linear development
+@cindex Number, revision-
+@cindex Decimal revision number
+@cindex Main trunk (intro)
+@cindex Branch number
+@cindex Number, branch
+
+Each version of a file has a unique @dfn{revision
+number}.  Revision numbers look like @samp{1.1},
+@samp{1.2}, @samp{1.3.2.2} or even @samp{1.3.2.2.4.5}.
+A revision number always has an even number of
+period-separated decimal integers.  By default revision
+1.1 is the first revision of a file.  Each successive
+revision is given a new number by increasing the
+rightmost number by one.  The following figure displays
+a few revisions, with newer revisions to the right.
+
+@example
+       +-----+    +-----+    +-----+    +-----+    +-----+
+       ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
+       +-----+    +-----+    +-----+    +-----+    +-----+
+@end example
+
+@c Probably should move the following down a few
+@c sections, until after "branch motivation".
+@sc{cvs} is not limited to linear development.  The
+@dfn{revision tree} can be split into @dfn{branches},
+where each branch is a self-maintained line of
+development.  Changes made on one branch can easily be
+moved back to the main trunk.  
+
+Each branch has a @dfn{branch number}, consisting of an
+odd number of period-separated decimal integers.  The
+branch number is created by appending an integer to the
+revision number where the corresponding branch forked
+off.  Having branch numbers allows more than one branch
+to be forked off from a certain revision.
+
+@need 3500
+All revisions on a branch have revision numbers formed
+by appending an ordinal number to the branch number.
+The following figure illustrates branching with an
+example.
+
+@example
+@group
+                                                     +-------------+
+                          Branch 1.2.2.3.2 ->        ! 1.2.2.3.2.1 !
+                                                   / +-------------+
+                                                  /
+                                                 /
+                 +---------+    +---------+    +---------+    +---------+
+Branch 1.2.2 -> _! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !----! 1.2.2.4 !
+               / +---------+    +---------+    +---------+    +---------+
+              /
+             /
++-----+    +-----+    +-----+    +-----+    +-----+
+! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      <- The main trunk
++-----+    +-----+    +-----+    +-----+    +-----+
+                !
+                !
+                !   +---------+    +---------+    +---------+
+Branch 1.2.4 -> +---! 1.2.4.1 !----! 1.2.4.2 !----! 1.2.4.3 !
+                    +---------+    +---------+    +---------+
+
+@end group
+@end example
+
+@c --   However, at least for me the figure is not enough.  I suggest more
+@c --   text to accompany it.  "A picture is worth a thousand words", so you
+@c --   have to make sure the reader notices the couple of hundred words
+@c --   *you* had in mind more than the others!
+
+@c --   Why an even number of segments?  This section implies that this is
+@c --   how the main trunk is distinguished from branch roots, but you never
+@c --   explicitly say that this is the purpose of the [by itself rather
+@c --   surprising] restriction to an even number of segments.
+
+The exact details of how the branch number is
+constructed is not something you normally need to be
+concerned about, but here is how it works: When
+@sc{cvs} creates a branch number it picks the first
+unused even integer, starting with 2.  So when you want
+to create a branch from revision 6.4 it will be
+numbered 6.4.2.  All branch numbers ending in a zero
+(such as 6.4.0) are used internally by @sc{cvs}
+(@pxref{Magic branch numbers}).  The branch 1.1.1 has a
+special meaning.  @xref{Tracking sources}.
+
+@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+@node Versions revisions releases
+@section Versions, revisions and releases
+@cindex Revisions, versions and releases
+@cindex Versions, revisions and releases
+@cindex Releases, revisions and versions
+
+A file can have several versions, as described above.
+Likewise, a software product can have several versions.
+A software product is often given a version number such
+as @samp{4.1.1}.
+
+Versions in the first sense are called @dfn{revisions}
+in this document, and versions in the second sense are
+called @dfn{releases}.  To avoid confusion, the word
+@dfn{version} is almost never used in this document.
+
+@node Assigning revisions
+@section Assigning revisions
+
+@c We avoid the "major revision" terminology.  It seems
+@c like jargon.  Hopefully "first number" is clear enough.
+By default, @sc{cvs} will assign numeric revisions by
+leaving the first number the same and incrementing the
+second number.  For example, @code{1.1}, @code{1.2},
+@code{1.3}, etc.
+
+When adding a new file, the second number will always
+be one and the first number will equal the highest
+first number of any file in that directory.  For
+example, the current directory contains files whose
+highest numbered revisions are @code{1.7}, @code{3.1},
+and @code{4.12}, then an added file will be given the
+numeric revision @code{4.1}.
+
+@c This is sort of redundant with something we said a
+@c while ago.  Somewhere we need a better way of
+@c introducing how the first number can be anything
+@c except "1", perhaps.  Also I don't think this
+@c presentation is clear on why we are discussing releases
+@c and first numbers of numeric revisions in the same
+@c breath.
+Normally there is no reason to care
+about the revision numbers---it is easier to treat them
+as internal numbers that @sc{cvs} maintains, and tags
+provide a better way to distinguish between things like
+release 1 versus release 2 of your product
+(@pxref{Tags}).  However, if you want to set the
+numeric revisions, the @samp{-r} option to @code{cvs
+commit} can do that.
+
+For example, to bring all your files up to the @sc{rcs}
+revision 3.0 (including those that haven't changed),
+you might invoke:
+
+@c Why does this not require -f to get the "those that
+@c haven't changed" part?  That isn't clear to me.
+@example
+$ cvs commit -r 3.0
+@end example
+
+Note that the number you specify with @samp{-r} must be
+larger than any existing revision number.  That is, if
+revision 3.0 exists, you cannot @samp{cvs commit
+-r 1.3}.  If you want to maintain several releases in
+parallel, you need to use a branch (@pxref{Revisions and branches}).
+
 @c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 @node Tags
 @section Tags--Symbolic revisions
@@ -3494,6 +3561,13 @@ does not require that you have a working copy of the
 module.  @xref{rtag}.  (You can also use the @code{tag}
 command; @pxref{tag}).
 
+@c Why does this example use -r?  That seems like a
+@c confusing thing to do in an example where we are
+@c introducing branches.  One user thought it was
+@c a mandatory part of creating a branch for example.
+@c And we are not sufficiently
+@c "step by step" in terms of explaining
+@c what argument one should give to -r.
 @example
 $ cvs rtag -b -r release-1-0 release-1-0-patches tc
 @end example
@@ -4018,7 +4092,7 @@ $ cvs commit -m "Early version. Not yet compilable." backend.c
 @end example
 
 When you add a file it is added only on the branch
-which you are working on (@pxref{Branches}).  You can
+which you are working on (@pxref{Revisions and branches}).  You can
 later merge the additions to another branch if you want
 (@pxref{Merging adds and removals}).
 @c Should we mention that earlier versions of CVS
@@ -4134,7 +4208,7 @@ U oj.c
 @end example
 
 When you remove a file it is removed only on the branch
-which you are working on (@pxref{Branches}).  You can
+which you are working on (@pxref{Revisions and branches}).  You can
 later merge the removals to another branch if you want
 (@pxref{Merging adds and removals}).
 
@@ -6496,8 +6570,10 @@ Commit directories recursively.  This is on by default.
 @item -r @var{revision}
 Commit to @var{revision}.  @var{revision} must be
 either a branch, or a revision on the main trunk that
-is higher than any existing revision number.  You
+is higher than any existing revision number
+(@pxref{Assigning revisions}).  You
 cannot commit to a specific revision on a branch.
+@c FIXME: Need xref for branch case.
 @end table
 
 @code{commit} also supports these options:
@@ -6538,36 +6614,6 @@ invoking an editor.
 @node commit examples
 @appendixsubsec commit examples
 
-@appendixsubsubsec New major release number
-
-@c "commit examples" seems like a bad place for this.
-@c What is the right place?
-By default, @sc{cvs} will assign numeric revisions by
-leaving the first number the same and incrementing the
-second number.  For example, @code{1.1}, @code{1.2},
-@code{1.3}, etc.  Normally there is no reason to care
-about the revision numbers---it is easier to treat them
-as internal numbers that @sc{cvs} maintains, and tags
-provide a better way to distinguish between things like
-release 1 versus release 2 of your product
-(@pxref{Tags}).  However, if you want to set the
-numeric revisions, the @samp{-r} option to @code{cvs
-commit} can do that.
-
-For example, to bring all your files up to the @sc{rcs}
-revision 3.0 (including those that haven't changed),
-you might invoke:
-
-@example
-$ cvs commit -r 3.0
-@end example
-
-Note that the number you specify with @samp{-r} must be
-larger than any existing revision number.  That is, if
-revision 3.0 exists, you cannot @samp{cvs commit
--r 1.3}.  If you want to maintain several releases in
-parallel, you need to use a branch (@pxref{Branches}).
-
 @appendixsubsubsec Committing to a branch
 
 You can commit to a branch revision (one that has an
@@ -7775,7 +7821,7 @@ symbolic tag as development continues (and files get
 removed from the up-coming distribution).
 
 @item -b
-Make the tag a branch tag.  @xref{Branches}.
+Make the tag a branch tag.  @xref{Revisions and branches}.
 
 @item -d
 Delete the tag instead of creating it.
@@ -7946,7 +7992,7 @@ Two special options are available:
 @table @code
 @item -b
 The -b option makes the tag a branch tag
-(@pxref{Branches}), allowing concurrent, isolated
+(@pxref{Revisions and branches}), allowing concurrent, isolated
 development.  This is most useful for creating a patch
 to a previously released software distribution.
 
@@ -8394,6 +8440,9 @@ behavior}.
 
 @item -r @var{rev}
 Commit to @var{rev}.  See @ref{commit options}.
+@c FIXME: should be dragging over text from
+@c commit options, especially if it can be cleaned up
+@c and made concise enough.
 @end table
 
 @item diff [@var{options}] [@var{files}@dots{}]
index 6e3fbee..7feee6c 100644 (file)
@@ -432,12 +432,20 @@ recent @code{Directory} request.
 @c requests, but isn't documented and should be.
 
 @item Case \n
-Response expected: no.
-Tell the server that filenames should be matched against ignore patterns
-in a case-insensitive fashion.  Note that this does not apply to other
-comparisons---for example the filenames given in @code{Entry} and
-@code{Modified} requests for the same file must match in case regardless
-of whether the @code{Case} request is sent.
+Response expected: no.  Tell the server that filenames should be matched
+in a case-insensitive fashion.  Note that this is not the primary
+mechanism for achieving case-insensitivity; for the most part the client
+keeps track of the case which the server wants to use and takes care to
+always use that case regardless of what the user specifies.  For example
+the filenames given in @code{Entry} and @code{Modified} requests for the
+same file must match in case regardless of whether the @code{Case}
+request is sent.  The latter mechanism is more general (it could also be
+used for 8.3 filenames, VMS filenames with more than one @samp{.}, and
+any other situation in which there is a predictable mapping between
+filenames in the working directory and filenames in the protocol), but
+there are some situations it cannot handle (ignore patterns, or
+situations where the user specifies a filename and the client does not
+know about that file).
 
 @item Argument @var{text} \n
 Response expected: no.
@@ -731,8 +739,10 @@ Like @code{Set-static-directory}, but clear, not set, the flag.
 Additional data: @var{tagspec} \n.  Tell the client to set a sticky tag
 or date, which should be supplied with the @code{Sticky} request for
 future operations.  @var{pathname} ends in a slash; its purpose is to
-specify a directory, not a file within a directory.  The first character
-of @var{tagspec} is @samp{T} for a tag, or @samp{D} for a date.  The
+specify a directory, not a file within a directory.  The client should
+store @var{tagspec} and pass it back to the server as-is, to allow for
+future expansion.  The first character of @var{tagspec} is @samp{T} for
+a tag, @samp{D} for a date, or something else for future expansion.  The
 remainder of @var{tagspec} contains the actual tag or date.
 
 @item Clear-sticky @var{pathname} \n
index a78216d..42a631e 100644 (file)
@@ -1,5 +1,60 @@
+Tue Mar 25 13:26:52 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
+
+       * version.c: Version 1.9.6.
+
+Mon Mar 24 13:02:04 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
+
+       * entries.c (ParseTag): Add comment about unrecognized characters
+       in CVS/Tag file.
+
+       * classify.c (Classify_File): Add comment about how specifying a
+       tag (bogusly?) suppresses certain messages.
+
+Fri Mar 21 13:37:46 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
+
+       * rcs.h (struct rcsnode): Add comment about case of PATH.
+       * rcs.c (RCS_parse): If ign_case, then try opening the file with
+       fopen_case.
+       * ignore.c (ign_case): Adjust comment.
+       * cvs.h, filesubr.c (cvs_casecmp, fopen_case): New functions.
+
+20 Mar 1997  Jim Kingdon
+
+       * client.c (send_repository): When sending Directory request,
+       send any ISDIRSEP character as '/'.  Fixes
+       "cvs log foo\bar\baz.c" on NT & friends.
+
+       * client.c (send_file_names): Don't try to read Entries file if
+       CVSADM directory does not exist.  Fixes fairly serious regression
+       (warning on all fresh checkouts) introduced by 1997-01-08 change.
+
+Tue Mar 18 13:03:33 1997  Jim Meyering  <meyering@totoro.cyclic.com>
+
+       * sanity.sh (RCSINIT): Define to be empty and export, to hide any
+       existing value that might cause spurious failures.
+
+       * Makefile.in: (install): Depend on installdirs.
+       Remove `CYGNUS LOCAL' comment saying not to.
+
+Tue Mar 18 09:36:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
+
+       * recurse.c (struct recursion_frame): Reindent.
+       (do_dir_proc): Print message if we try to recurse into a CVSADM
+       directory.
+       * sanity.sh (basicb): New test basicb-4a tests for above fix.
+
 Sun Mar 16 10:18:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 
+       * sanity.sh (death2): Replace regexp matching temporary file name
+       with new variable ${tempname}.  For most of the tests this is a
+       cosmetic change, but death2-diff-6 had been missing _ which caused
+       it to fail on Solaris (at least sometimes).
+
+       * sanity.sh (modes): Don't use export -n; it doesn't seem
+       to be sufficiently portable.
+
+       * version.c: Change version number to 1.9.5.
+
        * version.c: Version 1.9.4.
 
        * rcscmds.c (RCS_checkin): Preserve the mode of the rcsfile.
index e2dbe8d..f02edf2 100644 (file)
@@ -85,8 +85,7 @@ saber_cvs:
 lint:
        @cd ..; $(MAKE) lint SUBDIRS=src
 
-# CYGNUS LOCAL: Do not depend upon installdirs
-install:
+install: installdirs
        @for prog in $(PROGS); do \
          echo Installing $$prog in $(bindir); \
          $(INSTALL) $$prog $(bindir)/$$prog ; \
index 522017a..55851f7 100644 (file)
@@ -48,6 +48,11 @@ Classify_File (finfo, tag, date, options, force_tag_match, aflag, versp,
            if (vers->ts_user == NULL)
            {
                /* there is no user file */
+               /* FIXME: Why do we skip this message if vers->tag or
+                  vers->date is set?  It causes "cvs update -r tag98 foo"
+                  to silently do nothing, which is seriously confusing
+                  behavior.  "cvs update foo" gives this message, which
+                  is what I would expect.  */
                if (!force_tag_match || !(vers->tag || vers->date))
                    if (!really_quiet)
                        error (0, 0, "nothing known about %s", finfo->fullname);
@@ -56,6 +61,11 @@ Classify_File (finfo, tag, date, options, force_tag_match, aflag, versp,
            else
            {
                /* there is a user file */
+               /* FIXME: Why do we skip this message if vers->tag or
+                  vers->date is set?  It causes "cvs update -r tag98 foo"
+                  to silently do nothing, which is seriously confusing
+                  behavior.  "cvs update foo" gives this message, which
+                  is what I would expect.  */
                if (!force_tag_match || !(vers->tag || vers->date))
                    if (!really_quiet)
                        error (0, 0, "use `cvs add' to create an entry for %s",
index 61b3d62..03b0cae 100644 (file)
@@ -2279,7 +2279,28 @@ send_repository (dir, repos, update_dir)
     adm_name = xmalloc (strlen (dir) + 80);
 
     send_to_server ("Directory ", 0);
-    send_to_server (update_dir, 0);
+    {
+       /* Send the directory name.  I know that this
+          sort of duplicates code elsewhere, but each
+          case seems slightly different...  */
+       char buf[1];
+       char *p = update_dir;
+       while (*p != '\0')
+       {
+           assert (*p != '\012');
+           if (ISDIRSEP (*p))
+           {
+               buf[0] = '/';
+               send_to_server (buf, 1);
+           }
+           else
+           {
+               buf[0] = *p;
+               send_to_server (buf, 1);
+           }
+           ++p;
+       }
+    }
     send_to_server ("\012", 1);
     send_to_server (repos, 0);
     send_to_server ("\012", 1);
@@ -4423,7 +4444,11 @@ send_file_names (argc, argv, flags)
        /* For now just do this for files in the local
           directory.  Would be nice to handle the
           non-local case too, though.  */
-       if (p == last_component (p))
+       /* The isdir check could more gracefully be replaced
+          with a way of having Entries_Open report back the
+          error to us and letting us ignore existence_error.
+          Or some such.  */
+       if (p == last_component (p) && isdir (CVSADM))
        {
            List *entries;
            Node *node;
index d9c4e81..8fb22d0 100644 (file)
@@ -671,6 +671,9 @@ ParseTag (tagp, datep)
                *tagp = xstrdup (line + 1);
            else if (*line == 'D' && datep)
                *datep = xstrdup (line + 1);
+           /* if not 'T' or 'D' silently ignore it; it may have been
+              written by a future version of CVS which extends the
+              syntax.  */
        }
        (void) fclose (fp);
        free (line);
index b314254..f105b45 100644 (file)
@@ -722,3 +722,116 @@ expand_wild (argc, argv, pargc, pargv)
     for (i = 0; i < argc; ++i)
        (*pargv)[i] = xstrdup (argv[i]);
 }
+
+#ifdef SERVER_SUPPORT
+/* Case-insensitive string compare.  I know that some systems
+   have such a routine, but I'm not sure I see any reasons for
+   dealing with the hair of figuring out whether they do (I haven't
+   looked into whether this is a performance bottleneck; I would guess
+   not).  */
+int
+cvs_casecmp (str1, str2)
+    char *str1;
+    char *str2;
+{
+    char *p;
+    char *q;
+    int pqdiff;
+
+    p = str1;
+    q = str2;
+    while ((pqdiff = tolower (*p) - tolower (*q)) == 0)
+    {
+       if (*p == '\0')
+           return 0;
+       ++p;
+       ++q;
+    }
+    return pqdiff;
+}
+
+/* Case-insensitive file open.  As you can see, this is an expensive
+   call.  We don't regard it as our main strategy for dealing with
+   case-insensitivity.  Returns errno code or 0 for success.  Puts the
+   new file in *FP.  NAME and MODE are as for fopen.  If PATHP is not
+   NULL, then put a malloc'd string containing the pathname as found
+   into *PATHP.  Note that a malloc'd string is put into *PATHP
+   even if we return an error.  It doesn't mean anything, but it still
+   must be freed.
+
+   Might be cleaner to separate the file finding (which just gives
+   *PATHP) from the file opening (which the caller can do).  For one
+   thing, might make it easier to know whether to put NAME or *PATHP
+   into error messages.  */
+int
+fopen_case (name, mode, fp, pathp)
+    char *name;
+    char *mode;
+    FILE **fp;
+    char **pathp;
+{
+    struct dirent *dp;
+    DIR *dirp;
+    char *dir;
+    char *fname;
+    char *found_name;
+    int retval;
+
+    /* Separate NAME into directory DIR and filename within the directory
+       FNAME.  */
+    dir = xstrdup (name);
+    fname = strrchr (dir, '/');
+    if (fname == NULL)
+       error (1, 0, "internal error: relative pathname in fopen_case");
+    *fname++ = '\0';
+
+    found_name = NULL;
+    dirp = CVS_OPENDIR (dir);
+    if (dirp == NULL)
+       error (1, errno, "cannot read directory %s", dir);
+    errno = 0;
+    while ((dp = readdir (dirp)) != NULL)
+    {
+       if (cvs_casecmp (dp->d_name, fname) == 0)
+       {
+           if (found_name != NULL)
+               error (1, 0, "%s is ambiguous; could mean %s or %s",
+                      fname, dp->d_name, found_name);
+           found_name = xstrdup (dp->d_name);
+       }
+    }
+    if (errno != 0)
+       error (1, errno, "cannot read directory %s", dir);
+    closedir (dirp);
+
+    if (found_name == NULL)
+    {
+       *fp = NULL;
+       retval = ENOENT;
+    }
+    else
+    {
+       char *p;
+
+       /* Copy the found name back into DIR.  We are assuming that
+          found_name is the same length as fname, which is true as
+          long as the above code is just ignoring case and not other
+          aspects of filename syntax.  */
+       p = dir + strlen (dir);
+       *p++ = '/';
+       strcpy (p, found_name);
+       *fp = fopen (dir, mode);
+       if (*fp == NULL)
+           retval = errno;
+       else
+           retval = 0;
+    }
+
+    if (pathp == NULL)
+       free (dir);
+    else
+       *pathp = dir;
+    free (found_name);
+    return retval;
+}
+#endif /* SERVER_SUPPORT */
index 405d375..01ac779 100644 (file)
@@ -58,9 +58,11 @@ static const char spacetab[] = {
 #define whitespace(c)  (spacetab[(unsigned char)c] != 0)
 
 
-/*
- * Parse an rcsfile given a user file name and a repository
- */
+/* Parse an rcsfile given a user file name and a repository.  If there is
+   an error, we print an error message and return NULL.  If the file
+   does not exist, we return NULL without printing anything (I'm not
+   sure this allows the caller to do anything reasonable, but it is
+   the current behavior).  */
 RCSNode *
 RCS_parse (file, repos)
     const char *file;
@@ -111,6 +113,67 @@ RCS_parse (file, repos)
        retval = NULL;
        goto out;
     }
+#if defined (SERVER_SUPPORT) && !defined (FILENAMES_CASE_INSENSITIVE)
+    else if (ign_case)
+    {
+       int status;
+       char *found_path;
+
+       /* The client might be asking for a file which we do have
+          (which the client doesn't know about), but for which the
+          filename case differs.  We only consider this case if the
+          regular CVS_FOPENs fail, because fopen_case is such an
+          expensive call.  */
+       (void) sprintf (rcsfile, "%s/%s%s", repos, file, RCSEXT);
+       status = fopen_case (rcsfile, "rb", &fp, &found_path);
+       if (status == 0)
+       {
+           rcs = RCS_parsercsfile_i (fp, rcsfile);
+           if (rcs != NULL) 
+               rcs->flags |= VALID;
+
+           fclose (fp);
+           free (rcs->path);
+           rcs->path = found_path;
+           retval = rcs;
+           goto out;
+       }
+       else if (! existence_error (status))
+       {
+           error (0, status, "cannot open %s", rcsfile);
+           free (found_path);
+           retval = NULL;
+           goto out;
+       }
+       free (found_path);
+
+       (void) sprintf (rcsfile, "%s/%s/%s%s", repos, CVSATTIC, file, RCSEXT);
+       status = fopen_case (rcsfile, "rb", &fp, &found_path);
+       if (status == 0)
+       {
+           rcs = RCS_parsercsfile_i (fp, rcsfile);
+           if (rcs != NULL)
+           {
+               rcs->flags |= INATTIC;
+               rcs->flags |= VALID;
+           }
+
+           fclose (fp);
+           free (rcs->path);
+           rcs->path = found_path;
+           retval = rcs;
+           goto out;
+       }
+       else if (! existence_error (status))
+       {
+           error (0, status, "cannot open %s", rcsfile);
+           free (found_path);
+           retval = NULL;
+           goto out;
+       }
+       free (found_path);
+    }
+#endif
     retval = NULL;
 
  out:
index ed6ea37..1305b8c 100644 (file)
@@ -47,7 +47,13 @@ struct rcsnode
 {
     int refcount;
     int flags;
+
+    /* File name of the RCS file.  This is not necessarily the name
+       as specified by the user, but it is a name which can be passed to
+       system calls and a name which is OK to print in error messages
+       (the various names might differ in case).  */
     char *path;
+
     char *head;
     char *branch;
     char *symbols_data;
index 8a7a290..804c3a1 100644 (file)
@@ -25,16 +25,16 @@ static List *filelist = NULL; /* holds list of files on which to operate */
 static List *dirlist = NULL; /* holds list of directories on which to operate */
 
 struct recursion_frame {
-  FILEPROC fileproc;
-  FILESDONEPROC filesdoneproc;
-  DIRENTPROC direntproc;
-  DIRLEAVEPROC dirleaveproc;
-  void *callerdat;
-  Dtype flags;
-  int which;
-  int aflag;
-  int readlock;
-  int dosrcs;
+    FILEPROC fileproc;
+    FILESDONEPROC filesdoneproc;
+    DIRENTPROC direntproc;
+    DIRLEAVEPROC dirleaveproc;
+    void *callerdat;
+    Dtype flags;
+    int which;
+    int aflag;
+    int readlock;
+    int dosrcs;
 };
 
 static int do_recursion PROTO ((struct recursion_frame *frame));
@@ -564,6 +564,39 @@ do_dir_proc (p, closure)
     struct saved_cwd cwd;
     char *saved_update_dir;
 
+    if (fncmp (dir, CVSADM) == 0)
+    {
+       /* This seems to most often happen when users (beginning users,
+          generally), try "cvs ci *" or something similar.  On that
+          theory, it is possible that we should just silently skip the
+          CVSADM directories, but on the other hand, using a wildcard
+          like this isn't necessarily a practice to encourage (it operates
+          only on files which exist in the working directory, unlike
+          regular CVS recursion).  */
+
+       /* FIXME-reentrancy: printed_cvs_msg should be in a "command
+          struct" or some such, so that it gets cleared for each new
+          command (this is possible using the remote protocol and a
+          custom-written client).  The struct recursion_frame is not
+          far back enough though, some commands (commit at least)
+          will call start_recursion several times.  An alternate solution
+          would be to take this whole check and move it to a new function
+          validate_arguments or some such that all the commands call
+          and which snips the offending directory from the argc,argv
+          vector.  */
+       static int printed_cvs_msg = 0;
+       if (!printed_cvs_msg)
+       {
+           error (0, 0, "warning: directory %s specified in argument",
+                  dir);
+           error (0, 0, "\
+but CVS uses %s for its own purposes; skipping %s directory",
+                  CVSADM, dir);
+           printed_cvs_msg = 1;
+       }
+       return 0;
+    }
+
     saved_update_dir = update_dir;
     update_dir = xmalloc (strlen (saved_update_dir)
                          + strlen (dir)
index 84e678c..7906ec8 100644 (file)
@@ -85,6 +85,10 @@ PROG=`basename ${testcvs}`
 # not allowed in usernames.  Other than that I'm not sure.
 username="[a-zA-Z0-9][a-zA-Z0-9]*"
 
+# Regexp to match the name of a temporary file (from cvs_temp_name).
+# This appears in certain diff output.
+tempname="[-a-zA-Z0-9/.%_]*"
+
 # FIXME: try things (what things? checkins?) without -m.
 #
 # Some of these tests are written to expect -Q.  But testing with
@@ -448,6 +452,11 @@ cd ${TESTDIR}
 mkdir home
 HOME=${TESTDIR}/home; export HOME
 
+# Make sure this variable is not defined to anything that would
+# change the format of rcs dates.  Otherwise people using e.g.,
+# RCSINIT=-zLT get lots of spurious failures.
+RCSINIT=; export RCSINIT
+
 # Remaining arguments are the names of tests to run.
 #
 # The testsuite is broken up into (hopefully manageably-sized)
@@ -730,6 +739,9 @@ File: sfile1                Status: Locally Added
          dotest basicb-4 "${testcvs} add sfile2" \
 "${PROG} [a-z]*: scheduling file .sfile2. for addition
 ${PROG} [a-z]*: use .cvs commit. to add this file permanently"
+         dotest basicb-4a "${testcvs} -q ci CVS" \
+"${PROG} [a-z]*: warning: directory CVS specified in argument
+${PROG} [a-z]*: but CVS uses CVS for its own purposes; skipping CVS directory"
          cd ..
          dotest basicb-5 "${testcvs} -q ci -m add" \
 'RCS file: /tmp/cvs-sanity/cvsroot/first-dir/sdir1/sfile1,v
@@ -1947,7 +1959,7 @@ ${PROG} [a-z]*: use .${PROG} commit. to remove this file permanently"
 ===================================================================
 RCS file: file1
 diff -N file1
-\*\*\* [-a-zA-Z0-9/.%_]*[      ][      ]*[a-zA-Z0-9: ]*
+\*\*\* ${tempname}[    ][      ]*[a-zA-Z0-9: ]*
 --- /dev/null[         ][      ]*[a-zA-Z0-9: ]*
 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 \*\*\* 1 \*\*\*\*
@@ -1971,7 +1983,7 @@ done'
 ===================================================================
 RCS file: file1
 diff -N file1
-\*\*\* [-a-zA-Z0-9/.%_]*[      ][      ]*[a-zA-Z0-9: ]*
+\*\*\* ${tempname}[    ][      ]*[a-zA-Z0-9: ]*
 --- /dev/null[         ][      ]*[a-zA-Z0-9: ]*
 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 \*\*\* 1 \*\*\*\*
@@ -1986,7 +1998,7 @@ diff -N file1
 ===================================================================
 RCS file: file1
 diff -N file1
-\*\*\* [-a-zA-Z0-9/.%]*[       ][      ]*[a-zA-Z0-9: ]*
+\*\*\* ${tempname}[    ][      ]*[a-zA-Z0-9: ]*
 --- /dev/null[         ][      ]*[a-zA-Z0-9: ]*
 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 \*\*\* 1 \*\*\*\*
@@ -2023,7 +2035,7 @@ diff -c first-dir/file1:1\.1 first-dir/file1:removed
 RCS file: file1
 diff -N file1
 \*\*\* /dev/null[      ][      ]*[a-zA-Z0-9: ]*
---- [-a-zA-Z0-9/.%_]*[         ][      ]*[a-zA-Z0-9: ]*
+--- ${tempname}[       ][      ]*[a-zA-Z0-9: ]*
 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 \*\*\* 0 \*\*\*\*
 --- 1 ----
@@ -2095,7 +2107,7 @@ done'
 RCS file: file3
 diff -N file3
 \*\*\* /dev/null[      ][      ]*[a-zA-Z0-9: ]*
---- [-a-zA-Z0-9/.%_]*[         ][      ]*[a-zA-Z0-9: ]*
+--- ${tempname}[       ][      ]*[a-zA-Z0-9: ]*
 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 \*\*\* 0 \*\*\*\*
 --- 1 ----
@@ -2137,7 +2149,7 @@ Index: file2
 RCS file: file2
 diff -N file2
 \*\*\* /dev/null[      ][      ]*[a-zA-Z0-9: ]*
---- [-a-zA-Z0-9/.%_]*[         ][      ]*[a-zA-Z0-9: ]*
+--- ${tempname}[       ][      ]*[a-zA-Z0-9: ]*
 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 \*\*\* 0 \*\*\*\*
 --- 1 ----
@@ -2147,7 +2159,7 @@ Index: file3
 RCS file: file3
 diff -N file3
 \*\*\* /dev/null[      ][      ]*[a-zA-Z0-9: ]*
---- [-a-zA-Z0-9/.%_]*[         ][      ]*[a-zA-Z0-9: ]*
+--- ${tempname}[       ][      ]*[a-zA-Z0-9: ]*
 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 \*\*\* 0 \*\*\*\*
 --- 1 ----
@@ -2180,7 +2192,7 @@ ${PROG} [a-z]*: file3 is no longer in the repository"
 RCS file: file1
 diff -N file1
 \*\*\* /dev/null[      ][      ]*[a-zA-Z0-9: ]*
---- [-a-zA-Z0-9/.%_]*[         ][      ]*[a-zA-Z0-9: ]*
+--- ${tempname}[       ][      ]*[a-zA-Z0-9: ]*
 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 \*\*\* 0 \*\*\*\*
 --- 1 ----
@@ -5593,7 +5605,11 @@ done'
          # such as whether a second user can check out the files.  But
          # it would be awkward to test the consequences, so we don't.
 
-         export -n CVSUMASK # if unset, defaults to 002
+         # Solaris /bin/sh doesn't support export -n.  I'm not sure
+         # what we can do about this, other than hope that whoever
+         # is running the tests doesn't have CVSUMASK set.
+         #export -n CVSUMASK # if unset, defaults to 002
+
          umask 077
          mkdir 1; cd 1
          dotest modes-1 "${testcvs} -q co -l ." ''
index f09017c..8921e78 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "cvs.h"
 
-char *version_string = "\nConcurrent Versions System (CVS) 1.9.4";
+char *version_string = "\nConcurrent Versions System (CVS) 1.9.6";
 
 #ifdef CLIENT_SUPPORT
 #ifdef SERVER_SUPPORT
index 5b3ca83..d1f67a7 100644 (file)
@@ -1,3 +1,10 @@
+21 Mar 1997  Jim Kingdon
+
+       * scc.c (SccCheckout): Write to debuglog and return
+       -11 instead of -14.  I though maybe that this may be
+       related to the crashes I've been seeing, but those
+       crashes persisted when I deinstalled the SCC DLL.
+
 14 Mar 1997  Jim Kingdon
 
        * scc.c: Go back to using debuglog not outproc for
index 6815208..c8f1051 100644 (file)
 typedef long SCC_return;
 #define SCC_return_success 0
 #define SCC_return_unknown_project -2
+/* The file is not under SCC control.  */
+#define SCC_return_non_scc_file -11
+/* This operation is not supported.  I believe this status can only
+   be returned from SccGet, SccAdd, SccRemove, SccHistory, or
+   SccQueryInfo.  I'm not really sure what happens if it is returned
+   from other calls.  */
 #define SCC_return_not_supported -14
 #define SCC_return_non_specific_error -15
 enum SCC_command
@@ -257,7 +263,16 @@ SccCheckout (void *context_arg, HWND window, LONG num_files,
              LPSTR *file_names, LPSTR comment, LONG options,
              void *prov_options)
 {
-    return SCC_return_not_supported;
+    struct context *context = (struct context *)context_arg;
+    fprintf (context->debuglog, "SccCheckout num_files=%ld\n", num_files);
+    fflush (context->debuglog);
+    /* For the moment we say that all files are not ours.  I'm not sure
+       whether this is ever necessary; that is, whether the IDE will call
+       us except where we have told the IDE that a file is under source
+       control.  */
+    /* I'm not sure what we would do if num_files > 1 and we wanted to
+       return different statuses for different files.  */
+    return SCC_return_non_scc_file;
 }
 
 /* cvs ci.  */
index 7ffad45..02f090f 100644 (file)
@@ -1,3 +1,8 @@
+Tue Mar 18 13:05:37 1997  Jim Meyering  <meyering@totoro.cyclic.com>
+
+       * Makefile.in (DISTFILES): Change glob pattern so that it doesn't
+       match `Makefile'.  Add Make_vms.com explicitly.
+
 1997-01-01  Fred Fish  <fnf@ninemoons.com>
 
        * Makefile.in (CC): Use @CC@ rather than hard coded "cc".
index 0296a9c..93b6096 100644 (file)
@@ -43,8 +43,8 @@ OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
 TEST_OBJS = example.o minigzip.o
 
 # build_zlib.com added for CVS
-DISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] descrip.mms \
-           zlib.def zlib.rc algorithm.doc  *.[ch] \
+DISTFILES = README INDEX ChangeLog configure Makefile.*[a-z0-9] Make_vms.com \
+           descrip.mms zlib.def zlib.rc algorithm.doc *.[ch] \
            build_zlib.com
 
 # For CVS, just build libz.a