106 lines
2.6 KiB
Plaintext
106 lines
2.6 KiB
Plaintext
This is CVS 1.3, RCS 5.6, GNU diff and patch for Linux.
|
|
This should be everything you need to do decent version control.
|
|
|
|
CVS is a frontend to RCS, which in turn uses diff and patch.
|
|
pcl-cvs, an Emacs frontend to CVS is also included.
|
|
|
|
If you extract this in your root directory, you need to
|
|
|
|
setenv CVSROOT /home/Master (csh users, in ~/.login)
|
|
or
|
|
export CVSROOT=/home/Master (bash/zsh, in ~/.{,z}profile)
|
|
|
|
Then get your favourite software package (e.g. Linux) and do
|
|
|
|
cd /tmp
|
|
tar xvzf linux-0.99.14.tar.gz
|
|
cd linux
|
|
cvs import -m LINUX_0_99_14 linux LINUX LINUX_0_99_14
|
|
cd ..
|
|
rm -rf linux
|
|
tar xvzf ALPHA-pl14a.tar.gz
|
|
cd linux
|
|
cvs import -m LINUX_0_99_14A linux LINUX LINUX_0_99_14A
|
|
cd ..
|
|
rm -rf linux
|
|
tar xvzf ALPHA-pl14b.tar.gz
|
|
cd linux
|
|
cvs import -m LINUX_0_99_14B linux LINUX LINUX_0_99_14B
|
|
cd ..
|
|
rm -rf linux
|
|
|
|
... and so on. To see the diffs between LINUX_0_99_14A and LINUX_0_99_14B
|
|
do
|
|
|
|
cvs rdiff -u -r LINUX_0_99_14A -r LINUX_0_99_14B linux
|
|
|
|
If you want to compile/hack the kernel, do
|
|
|
|
cd /usr/src
|
|
mv linux linux.old
|
|
cvs checkout linux
|
|
cd linux
|
|
[ hack away ... ]
|
|
|
|
If you want to see what you have changed:
|
|
|
|
cvs diff -u
|
|
or
|
|
cvs diff -u <file_or_dir>
|
|
|
|
When you feel confident that you want to commit your changes:
|
|
|
|
cd /usr/src/linux
|
|
cvs commit -m 'Your log message goes here'
|
|
cvs tag my_hacked_version_of_pl14b
|
|
|
|
Then look at your diffs:
|
|
|
|
cvs rdiff -u -r LINUX_0_99_14B -r my_hacked_version_of_pl14b
|
|
|
|
If you get conflicts after importing a new version (pl14c :-) ):
|
|
|
|
cd /usr/src/linux
|
|
cvs update -jLINUX:yesterday -jLINUX
|
|
|
|
which should do the same as
|
|
|
|
cvs update -j LINUX_0_99_14B -j LINUX_0_99_14C
|
|
|
|
and resolve the conflicts manually. Conflicts look like this
|
|
|
|
<<<<
|
|
your hack version...
|
|
||||
|
|
what patch expected...
|
|
====
|
|
the new stuff
|
|
>>>
|
|
|
|
You might want to do (in Emacs)
|
|
|
|
M-x dired /usr/src/linux
|
|
M-x grep -n '^<<<' `find -type f .`
|
|
or
|
|
M-x grep -n '^<<<' **/*(.) for zsh users
|
|
|
|
to correct the conflicts. Use C-x ` to go to the next conflict.
|
|
|
|
RTFM!!!! Really.
|
|
|
|
CVS/RCS is *not* trivial. Read the papers about CVS and RCS in the
|
|
/usr/doc directory.
|
|
|
|
I also uploaded the CVS paper as cvs-paper.ps.gz
|
|
|
|
Have fun,
|
|
|
|
Dirk
|
|
|
|
-----------------------------------------------------------------------------
|
|
Dirk W. Steinberg - RWTH Aachen - Internet email: steinber@ert.rwth-aachen.de
|
|
Aachen University of Technology / IS2-Integrated Systems in Signal Processing
|
|
Rhein.Westf.Tech.Hochsch. Aachen / Integrierte Systeme der Signalverarbeitung
|
|
Templergraben 55 / D-52056 Aachen / phone:+49 241 807879 / fax:+49 241 807631
|
|
Home address: Kleikstr. 63, D-52134 Herzogenrath,Germany/phone: +49 2406 7225
|