[comp.unix.programmer] Automagic checkin

srp@babar.mmwb.ucsf.edu (Scott R. Presnell) (05/31/91)

Does anyone have a script or patch to "patch" that does an automagic
checkin/checkout (basically ci -l) on a file before applying a patch?  I
find myself doing this manually quite often, and with the recent patches to
cap60, the situation has again presented itself.

	Just trying to be organized (yeah, right, *organized hacking?*)

	- Scott Presnell (srp@cgl.ucsf.edu)
--
Scott Presnell				        +1 (415) 476-9890
Pharm. Chem., S-926				Internet: srp@cgl.ucsf.edu
University of California			UUCP: ...ucbvax!ucsfcgl!srp
San Francisco, CA. 94143-0446			Bitnet: srp@ucsfcgl.bitnet

bill@camco.Celestial.COM (Bill Campbell) (06/03/91)

In <srp.675705482@babar.mmwb.ucsf.edu> srp@babar.mmwb.ucsf.edu (Scott R. Presnell) writes:

>Does anyone have a script or patch to "patch" that does an automagic
>checkin/checkout (basically ci -l) on a file before applying a patch?  I
>find myself doing this manually quite often, and with the recent patches to
>cap60, the situation has again presented itself.

>	Just trying to be organized (yeah, right, *organized hacking?*)

I'm using cvs (on top of rcs) and use it's checkin program as I
get revisions to third-party sources (with some pre-processing
required because of file names > 12 characters on SysV).  Checkin
provides warnings about locally modified files and gives you an
easy way to merge those changes with the new sources.

I've found the easiest way to handle patches is to maintain a
pure copy of the sources (not checked in to RCS locally) for
patching purposes.  This way I don't get a bunch of patches
failed becauses of different RCS Revision numbers.  This is
particularly true with cvs which checks in outside sources on the
1.1.1 tree regardless of its original revision numbers.

Currently I'm using cvs 1.2 and there may be a better solution to
this in the current release, but I haven't had time to update rcs
and cvs to the most recent release.

I would appreciate it if someone has a better suggestion for
handling this problem since I'm not totally happy with the way
I'm doing it here.

Bill
-- 
INTERNET:  bill@Celestial.COM   Bill Campbell; Celestial Software
UUCP:   ...!thebes!camco!bill   6641 East Mercer Way
             uunet!camco!bill   Mercer Island, WA 98040; (206) 947-5591

pinard@IRO.UMontreal.CA (Francois Pinard) (06/03/91)

In article <srp.675705482@babar.mmwb.ucsf.edu> srp@babar.mmwb.ucsf.edu (Scott R. Presnell) writes:

   Does anyone have a script or patch to "patch" that does an automagic
   checkin/checkout (basically ci -l) on a file before applying a
   patch?

I think this should be another option to the patch program itself,
which already pays attention to backup creation in various ways.  My
main need would be to checkin the file, but only if it has never been
checked in yet.  A subsidiary need would be to check in a file
unconditionnaly before patching it.
--
Franc,ois Pinard          ``Vivement GNU!''         pinard@iro.umontreal.ca
(514) 588-4656    cp 886 L'Epiphanie (Qc) J0K 1J0    ...!uunet!iros1!pinard

eggert@twinsun.com (Paul Eggert) (06/05/91)

bill@camco.Celestial.COM (Bill Campbell) writes:

>I've found the easiest way to handle patches is to maintain a
>pure copy of the sources (not checked in to RCS locally) for
>patching purposes.  This way I don't get a bunch of patches
>failed becauses of different RCS Revision numbers.  This is
>particularly true with cvs which checks in outside sources on the
>1.1.1 tree regardless of its original revision numbers.

If you have RCS 5.5, you can use `co -ko' to check out the file just as
it was originally checked in.  This avoids the revision number blues
when patching.  `co -ko' works even if the file was checked in by a
pre-5.5 version of RCS.

berliner (06/06/91)

In <1991Jun5.050932.5219@twinsun.com> eggert@twinsun.com (Paul Eggert) writes:

>If you have RCS 5.5, you can use `co -ko' to check out the file just as
>it was originally checked in.  This avoids the revision number blues
>when patching.  `co -ko' works even if the file was checked in by a
>pre-5.5 version of RCS.

Once I finish up CVS 1.3, you will be able to do "cvs co -ko module" as
well, to get the RCS 5.5 support of -ko in CVS.  Furthermore, in CVS 1.3
the "-k" options are "sticky", in that if you checkout or update a file
with a particular -k option, future updates of the file -- without
specifying a -k option -- will automatically be checked out using the
originally specified -k option.  This is also true of tags and dates (-r
and -D options), but that's another story.

Now, to just find some time....

	-Brian