CVS ÐÏÚ×ÏÌÑÅÔ ÉÚÏÌÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ × ÏÔÄÅÌØÎÏÊ ÌÉÎÉÉ ÒÁÚÒÁÂÏÔËÉ, ÎÁÚÙ×ÁÅÍÏÊ ×ÅÔËÏÊ. ëÏÇÄÁ ×Ù ÉÚÍÅÎÑÅÔÅ ÆÁÊÌÙ ÎÁ ×ÅÔËÅ, ÜÔÉ ÉÚÍÅÎÅÎÉÑ ÎÅ ÐÏÑ×ÌÑÀÔÓÑ × ÏÓÎÏ×ÎÏÍ ÓÔ×ÏÌÅ ÉÌÉ ÎÁ ÄÒÕÇÉÈ ×ÅÔËÁÈ.
ðÏÚÖÅ ×Ù ÍÏÖÅÔÅ ÐÅÒÅÍÅÓÔÉÔØ ÉÚÍÅÎÅÎÉÑ Ó ÏÄÎÏÊ ×ÅÔËÉ ÎÁ ÄÒÕÇÕÀ ÉÌÉ
ÖÅ Ó ×ÅÔËÉ × ÓÔ×ÏÌ, ÜÔÏ ÎÁÚÙ×ÁÅÔÓÑ ÓÌÉÑÎÉÅÍ. óÎÁÞÁÌÁ
×ÙÐÏÌÎÑÅÔÓÑ cvs update -j
, ÞÔÏÂÙ ÓÌÉÔØ ÉÚÍÅÎÅÎÉÑ ×
ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ, Á ÚÁÔÅÍ ÜÔÉ ÉÚÍÅÎÅÎÉÑ ÍÏÖÎÏ ÚÁÆÉËÓÉÒÏ×ÁÔØ, ÞÔÏ
ÆÁËÔÉÞÅÓËÉ ÐÒÉ×ÅÄÅÔ
Ë ËÏÐÉÒÏ×ÁÎÉÀ ÉÚÍÅÎÅÎÉÊ ÎÁ ÄÒÕÇÕÀ ×ÅÔËÕ.
ðÒÅÄÐÏÌÏÖÉÍ, ÂÙÌ ×ÙÐÕÝÅÎ tc ×ÅÒÓÉÉ 1.0. ÷Ù ÐÒÏÄÏÌÖÁÅÔÅ ÅÇÏ ÒÁÚÒÁÂÏÔËÕ, ÐÌÁÎÉÒÕÑ ×ÙÐÕÓÔÉÔØ ×ÅÒÓÉÀ 1.1 ÞÅÒÅÚ ÐÁÒÕ ÍÅÓÑÃÅ×. þÅÒÅÚ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ ×ÁÛÉ ÐÏÌØÚÏ×ÁÔÅÌÉ ÎÁÞÉÎÁÀÔ ÖÁÌÏ×ÁÔØÓÑ ÎÁ ÓÅÒØÅÚÎÕÀ ÏÛÉÂËÕ. ÷Ù ÉÚ×ÌÅËÁÅÔÅ ×ÅÒÓÉÀ 1.0 (see section íÅÔËÉ ÒÅ×ÉÚÉÊ) É ÎÁÈÏÄÉÔÅ ÏÛÉÂËÕ, ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ËÏÔÏÒÏÊ ÔÒÅÂÕÅÔÓÑ ×ÓÅÇÏ ÌÉÛØ ÔÒÉ×ÉÁÌØÎÏÅ ÉÚÍÅÎÅÎÉÅ). ïÄÎÁËÏ ÖÅ, ÔÅËÕÝÁÑ ×ÅÒÓÉÑ ÉÓÈÏÄÎÉËÏ× ÎÁÈÏÄÉÔÓÑ × ËÒÁÊÎÅ ÎÅÓÔÁÂÉÌØÎÏÍ ÓÏÓÔÏÑÎÉÉ É ÎÅ ÓÔÁÂÉÌÉÚÉÒÕÅÔÓÑ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÅÝÅ ÍÅÓÑÃ. ÷Ù ÎÅ ÍÏÖÅÔÅ ×ÙÐÕÓÔÉÔØ ÉÓÐÒÁ×ÌÅÎÎÕÀ ×ÅÒÓÉÀ, ÏÓÎÏ×Ù×ÁÑÓØ ÎÁ Ó×ÅÖÉÈ ÉÓÈÏÄÎÉËÁÈ.
÷ ÐÏÄÏÂÎÏÊ ÓÉÔÕÁÃÉÉ ÉÍÅÅÔ ÓÍÙÓÌ ÓÏÚÄÁÔØ ×ÅÔËÕ × ÄÅÒÅ×Å ÒÅ×ÉÚÉÊ, ÓÏÄÅÒÖÁÝÕÀ ÆÁÊÌÙ, ÉÚ ËÏÔÏÒÙÈ ÓÏÓÔÏÑÌÁ ×ÅÒÓÉÑ 1.0. úÁÔÅÍ ×Ù ×ÎÏÓÉÔÅ ÉÚÍÅÎÅÎÉÑ × ×ÅÔר ÂÅÚ ×ÔÏÒÖÅÎÉÑ × ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ. ðÏÔÏÍ ×Ù ÓÍÏÖÅÔÅ ÌÉÂÏ ×ÎÅÓÔÉ ÔÅ ÖÅ ÓÁÍÙÅ ÉÚÍÅÎÅÎÉÑ × ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ, ÌÉÂÏ ÏÓÔÁ×ÉÔØ ÉÈ ÔÏÌØËÏ ÎÁ ×ÅÔ×É.
÷Ù ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ×ÅÔר, ÉÓÐÏÌØÚÕÑ cvs tag -b
. îÁÐÒÉÍÅÒ,
ÅÓÌÉ ×Ù ÎÁÈÏÄÉÔÅÓØ × ËÁÔÁÌÏÇÅ Ó ÒÁÂÏÞÅÊ ËÏÐÉÅÊ:
$ cvs tag -b rel-1-0-patches
üÔÏ ÏÔÝÅÐÌÑÅÔ ×ÅÔËÕ, ÏÓÎÏ×ÁÎÎÕÀ ÎÁ ÔÅËÕÝÅÊ ÒÅ×ÉÚÉÉ ÒÁÂÏÞÅÊ ËÏÐÉÉ, É ÐÒÉÓ×ÁÉ×ÁÅÔ ÜÔÏÊ ×ÅÔËÅ ÉÍÑ `rel-1-0-patches'.
÷ÁÖÎÏ ÐÏÎÉÍÁÔØ, ÞÔÏ ×ÅÔËÉ ÓÏÚÄÁÀÔÓÑ × ÒÅÐÏÚÉÔÏÒÉÉ, Á ÎÅ × ÒÁÂÏÞÅÊ ËÏÐÉÉ. óÏÚÄÁÎÉÅ ×ÅÔËÉ, ÏÓÎÏ×ÁÎÎÏÊ ÎÁ ÔÅËÕÝÅÊ ÒÅ×ÉÚÉÉ, ËÁË × ×ÙÛÅÐÒÉ×ÅÄÅÎÎÏÍ ÐÒÉÍÅÒÅ, îå ÐÅÒÅËÌÀÞÁÅÔ ÒÁÂÏÞÕÀ ËÏÐÉÀ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ×ÅÔËÉ (See section äÏÓÔÕÐ Ë ×ÅÔËÁÍ, ÇÄÅ ÏÐÉÓÁÎÏ, ËÁË ÓÄÅÌÁÔØ ÜÔÏ).
íÏÖÎÏ ÔÁËÖÅ ÓÏÚÄÁÔØ ×ÅÔËÕ ×ÏÏÂÝÅ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÒÁÂÏÞÅÊ ËÏÐÉÉ,
ÉÓÐÏÌØÚÕÑ rtag
.
$ cvs rtag -b -r rel-1-0 rel-1-0-patches tc
`-r rel-1-0' ÏÚÎÁÞÁÅÔ, ÞÔÏ ÜÔÁ ×ÅÔËÁ ÉÍÅÅÔ ËÏÒÎÅ×ÕÀ ÒÅ×ÉÚÉÀ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÍÅÔËÅ `rel-1-0'. üÔÏ ÎÅ ÏÂÑÚÁÔÅÌØÎÏ ÄÏÌÖÎÁ ÂÙÔØ ÓÁÍÁÑ ÐÏÓÌÅÄÎÑÑ ÒÅ×ÉÚÉÑ: ÄÏ×ÏÌØÎÏ ÞÁÓÔÏ ÂÙ×ÁÅÔ ÐÏÌÅÚÎÏ ÏÔÝÅÐÉÔØ ×ÅÔËÕ ÏÔ ÓÔÁÒÏÊ ÒÅ×ÉÚÉÉ (ÎÁÐÒÉÍÅÒ, ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂËÉ × ÓÔÁÒÏÊ ×ÅÒÓÉÉ, ËÏÔÏÒÁÑ × ÏÓÎÏ×ÎÏÍ ÓÔÁÂÉÌØÎÁ).
ëÁË É × ÓÌÕÞÁÅ Ó `tag', ËÌÀÞ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ `-b'
ÚÁÓÔÁ×ÌÑÅÔ rtag
ÓÏÚÄÁÔØ ×ÅÔËÕ (Á ÎÅ ÓÉÍ×ÏÌØÎÏÅ ÉÍÑ
ÒÅ×ÉÚÉÉ). úÁÍÅÔØÔÅ, ÞÔÏ ÎÏÍÅÒÁ ÒÅ×ÉÚÉÊ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ
`rel-1-0', ÓËÏÒÅÅ ×ÓÅÇÏ, ÂÕÄÕÔ ÒÁÚÎÙÍÉ × ÒÁÚÎÙÈ ÆÁÊÌÁÈ.
ôÁËÉÍ ÏÂÒÁÚÏÍ, ÐÏÌÎÙÊ ÜÆÆÅËÔ ÜÔÏÊ ËÏÍÁÎÄÙ -- ÓÏÚÄÁÔØ ÎÏ×ÕÀ ×ÅÔËÕ, ËÏÔÏÒÁÑ ÎÁÚÙ×ÁÅÔÓÑ `rel-1-0-patches', × ÍÏÄÕÌÅ `tc', ËÏÔÏÒÁÑ ÒÁÓÔÅÔ × ÄÅÒÅ×Å ÒÅ×ÉÚÉÊ ÉÚ ÔÏÞËÉ, ÐÏÍÅÞÅÎÎÏÊ ËÁË `rel-1-0'.
÷Ù ÍÏÖÅÔÅ ÉÚ×ÌÅÞØ ×ÅÔËÕ Ä×ÕÍÑ ÓÐÏÓÏÂÁÍÉ: ÉÚ×ÌÅËÁÑ ÅÅ ÉÚ ÒÅÐÏÚÉÔÏÒÉÑ × ÞÉÓÔÏÍ ËÁÔÁÌÏÇÅ ÉÌÉ ÐÅÒÅËÌÀÞÁÑ ÓÕÝÅÓÔ×ÕÀÝÕÀ ÒÁÂÏÞÕÀ ËÏÐÉÀ ÎÁ ×ÅÔËÕ.
äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÉÚ×ÌÅÞØ ×ÅÔËÕ ÉÚ ÒÅÐÏÚÉÔÏÒÉÑ, ×ÙÐÏÌÎÉÔÅ ËÏÍÁÎÄÕ `checkout' Ó ËÌÀÞÏÍ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ `-r', Ó ÉÍÅÎÅÍ ÍÅÔËÉ × ËÁÞÅÓÔ×Å ÐÁÒÁÍÅÔÒÁ (see section óÏÚÄÁÎÉÅ ×ÅÔ×É).
$ cvs checkout -r rel-1-0-patches tc
åÓÌÉ Õ ×ÁÓ ÕÖÅ ÅÓÔØ ÒÁÂÏÞÁÑ ËÏÐÉÑ, ×Ù ÍÏÖÅÔÅ ÐÅÒÅËÌÀÞÉÔØ ÅÅ ÎÁ ÎÕÖÎÕÀ ×ÅÔËÕ Ó ÐÏÍÏÝØÀ `update -r':
$ cvs update -r rel-1-0-patches tc
ÉÌÉ, ÞÔÏ ÔÏ ÖÅ ÓÁÍÏÅ:
$ cd tc $ cvs update -r rel-1-0-patches
îÅ×ÁÖÎÏ, ÞÔÏ ÒÁÂÏÞÁÑ ËÏÐÉÑ ÂÙÌÁ ÉÚ×ÌÅÞÅÎÁ ÉÚ ÏÓÎÏ×ÎÏÇÏ ÓÔ×ÏÌÁ ÉÌÉ ËÁËÏÊ-ÎÉÂÕÄØ ÄÒÕÇÏÊ ×ÅÔËÉ: ×ÙÛÅÐÒÉ×ÅÄÅÎÎÁÑ ËÏÍÁÎÄÁ ÐÅÒÅËÌÀÞÉÔ ÅÅ ÎÁ ÕËÁÚÁÎÎÕÀ ×ÅÔËÕ. ðÏÄÏÂÎÏ ÏÂÙÞÎÏÊ ËÏÍÁÎÄÅ `update', `update -r' ÓÌÉ×ÁÅÔ ÓÄÅÌÁÎÎÙÅ ÉÚÍÅÎÅÎÉÑ, Õ×ÅÄÏÍÌÑÑ ×ÁÓ Ï ÐÒÏÉÚÏÛÅÄÛÉÈ ËÏÎÆÌÉËÔÁÈ.
ëÏÇÄÁ ×Ù Ó×ÑÚÙ×ÁÅÔÅ ÒÁÂÏÞÕÀ ËÏÐÉÀ Ó ËÁËÏÊ-ÌÉÂÏ ×ÅÔËÏÊ, ÏÎÁ ÂÕÄÅÔ ÏÓÔÁ×ÁÔØÓÑ Ó×ÑÚÁÎÎÏÊ, ÐÏËÁ ×Ù ÎÅ ÕËÁÖÅÔÅ ÏÂÒÁÔÎÏÇÏ. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÉÚÍÅÎÅÎÉÑ, ËÏÔÏÒÙÅ ÆÉËÓÉÒÕÀÔÓÑ ÉÚ ÒÁÂÏÞÅÊ ËÏÐÉÉ, ÂÕÄÕÔ ÄÏÂÁ×ÌÑÔØ ÎÏ×ÙÅ ÒÅ×ÉÚÉÉ ÎÁ ×ÅÔËÕ, ÏÓÔÁ×ÌÑÑ ÂÅÚ ÉÚÍÅÎÅÎÉÊ ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ É ÄÒÕÇÉÅ ×ÅÔËÉ.
þÔÏÂÙ ÕÚÎÁÔØ, ÎÁ ËÁËÏÊ ×ÅÔ×É ÎÁÈÏÄÉÔÓÑ ÒÁÂÏÞÁÑ ËÏÐÉÑ, ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ `status'. ÷ ÔÏÍ, ÞÔÏ ÏÎÁ ×Ù×ÅÌÁ ÎÁ ÜËÒÁÎ, ÏÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÐÏÌÅ, ËÏÔÏÒÏÅ ÎÁÚÙ×ÁÅÔÓÑ `Sticky tag' (see section ìÉÐËÉÅ ÍÅÔËÉ) -- ÚÄÅÓØ CVS ÓÏÏÂÝÁÅÔ, ÎÁ ËÁËÏÊ ×ÅÔ×É ÎÁÈÏÄÑÔÓÑ ÒÁÂÏÞÉÅ ÆÁÊÌÙ:
$ cvs status -v driver.c backend.c =================================================================== File: driver.c Status: Up-to-date Version: 1.7 Sat Dec 5 18:25:54 1992 RCS Version: 1.7 /u/cvsroot/yoyodyne/tc/driver.c,v Sticky Tag: rel-1-0-patches (branch: 1.7.2) Sticky Date: (none) Sticky Options: (none) Existing Tags: rel-1-0-patches (branch: 1.7.2) rel-1-0 (revision: 1.7) =================================================================== File: backend.c Status: Up-to-date Version: 1.4 Tue Dec 1 14:39:01 1992 RCS Version: 1.4 /u/cvsroot/yoyodyne/tc/backend.c,v Sticky Tag: rel-1-0-patches (branch: 1.4.2) Sticky Date: (none) Sticky Options: (none) Existing Tags: rel-1-0-patches (branch: 1.4.2) rel-1-0 (revision: 1.4) rel-0-4 (revision: 1.4)
îÅ ÓÍÕÝÁÊÔÅÓØ ÔÅÍ, ÞÔÏ ÎÏÍÅÒÁ ×ÅÔ×ÅÊ ÄÌÑ ËÁÖÄÏÇÏ ÆÁÊÌÁ ÒÁÚÌÉÞÎÙ (`1.7.2' É `1.4.2', ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ). íÅÔËÁ ×ÅÔ×É ÏÄÎÁ É ÔÁ ÖÅ, `rel-1-0-patches', É ×ÓÅ ÆÁÊÌÙ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÎÁÈÏÄÑÔÓÑ ÎÁ ÏÄÎÏÊ É ÔÏÊ ÖÅ ×ÅÔËÅ. îÏÍÅÒÁ ÌÉÛØ ÏÔÒÁÖÁÀÔ ÔÕ ÔÏÞËÕ × ÉÓÔÏÒÉÉ ÆÁÊÌÁ, × ËÏÔÏÒÏÊ ÐÏÑ×ÉÌÁÓØ ×ÅÔר. éÚ ×ÙÛÅÐÒÉ×ÅÄÅÎÎÏÇÏ ÐÒÉÍÅÒÁ ÍÏÖÎÏ ÕÚÎÁÔØ, ÞÔÏ ÐÅÒÅÄ ÔÅÍ, ËÁË ÂÙÌÁ ÓÏÚÄÁÎÁ ×ÅÔËÁ, `driver.c' ÐÒÅÔÅÒÐÅÌ ÂÏÌØÛÅ ÉÚÍÅÎÅÎÉÊ, ÞÅÍ `backend.c'.
óÍÏÔÒÉ section ÷ÅÔËÉ É ÒÅ×ÉÚÉÉ, ÇÄÅ ÐÏÄÒÏÂÎÏ ÏÐÉÓÁÎÏ, ËÁË ÕÓÔÒÏÅÎÙ ÎÏÍÅÒÁ ×ÅÔ×ÅÊ.
ïÂÙÞÎÏ ÉÓÔÏÒÉÑ ÒÅ×ÉÚÉÊ ÆÁÊÌÁ -- ÜÔÏ ÌÉÎÅÊÎÁÑ ×ÏÚÒÁÓÔÁÀÝÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÎÏÍÅÒÏ× (see section îÏÍÅÒÁ ÒÅ×ÉÚÉÊ):
+-----+ +-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 ! +-----+ +-----+ +-----+ +-----+ +-----+
ïÄÎÁËÏ ÖÅ, CVS ÎÅ ÏÇÒÁÎÉÞÅÎ ÌÉÎÅÊÎÏÊ ÒÁÚÒÁÂÏÔËÏÊ. äÅÒÅ×Ï ÒÅ×ÉÚÉÊ ÍÏÖÅÔ ÂÙÔØ ÒÁÓÝÅÐÌÅÎÏ ÎÁ ×ÅÔ×É, ÇÄÅ ËÁÖÄÁÑ ×ÅÔר -- ÓÁÍÏÓÔÏÑÔÅÌØÎÁÑ ÌÉÎÉÑ ÒÁÚÒÁÂÏÔËÉ. éÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ ÎÁ ÏÄÎÏÊ ×ÅÔËÅ, ÌÅÇËÏ ÍÏÇÕÔ ÂÙÔØ ×ÎÅÓÅÎÙ ÔÁËÖÅ É × ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ.
ëÁÖÄÁÑ ×ÅÔËÁ ÉÍÅÅÔ ÎÏÍÅÒ ×ÅÔËÉ, ÓÏÓÔÏÑÝÉÊ ÉÚ ÎÅÞÅÔÎÏÇÏ ÞÉÓÌÁ ÄÅÓÑÔÉÞÎÙÈ ÞÉÓÅÌ, ÒÁÚÄÅÌÅÎÎÙÈ ÔÏÞËÁÍÉ. îÏÍÅÒ ×ÅÔËÉ ÓÏÚÄÁÅÔÓÑ ÐÕÔÅÍ ÄÏÂÁ×ÌÅÎÉÑ ÃÅÌÏÇÏ ÞÉÓÌÁ Ë ÎÏÍÅÒÕ ÒÅ×ÉÚÉÉ, ÏÔ ËÏÔÏÒÏÊ ÂÙÌÁ ÏÔÝÅÐÌÅÎÁ ×ÅÔËÁ. îÏÍÅÒÁ ×ÅÔÏË ÐÏÚ×ÏÌÑÀÔ ÏÔÝÅÐÌÑÔØ ÏÔ ÏÄÎÏÊ É ÔÏÊ ÖÅ ÒÅ×ÉÚÉÉ ÎÅÓËÏÌØËÏ ×ÅÔÏË.
÷ÓÅ ÒÅ×ÉÚÉÉ ÎÁ ×ÅÔËÅ ÉÍÅÀÔ ÎÏÍÅÒÁ ÒÅ×ÉÚÉÊ, ÏÂÒÁÚÏ×ÁÎÎÙÅ ÐÕÔÅÍ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÒÑÄËÏ×ÏÇÏ ÎÏÍÅÒÁ Ë ÎÏÍÅÒÕ ×ÅÔËÉ. ÷ÏÔ ÉÌÌÀÓÔÒÁÃÉÑ ÓÏÚÄÁÎÉÑ ×ÅÔÏË.
+-------------+ 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.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 ! +---------+ +---------+ +---------+
ïÂÙÞÎÏ ÎÅ ÔÒÅÂÕÅÔÓÑ ÚÁÄÕÍÙ×ÁÔØÓÑ Ï ÔÏÞÎÙÈ ÄÅÔÁÌÑÈ ÔÏÇÏ, ËÁË ÓÔÒÏÑÔÓÑ ÎÏÍÅÒÁ ×ÅÔÏË, ÎÏ ×ÏÔ ÅÝÅ ÐÏÄÒÏÂÎÏÓÔÉ: ËÏÇÄÁ CVS ÓÏÚÄÁÅÔ ÎÏÍÅÒ ×ÅÔËÉ, ÏÎ ÂÅÒÅÔ ÐÅÒ×ÏÅ ÎÅÉÓÐÏÌØÚÏ×ÁÎÎÏÅ ÞÅÔÎÏÅ ÞÉÓÌÏ, ÎÁÞÉÎÁÑ Ó Ä×ÏÊËÉ. ðÏÜÔÏÍÕ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÓÏÚÄÁÔØ ×ÅÔËÕ ÏÔ ÒÅ×ÉÚÉÉ 6.4, ÏÎÁ ÂÕÄÅÔ ÎÁÚÙ×ÁÔØÓÑ 6.4.2. îÏÍÅÒÁ ×ÅÔÏË, ÚÁËÁÎÞÉ×ÁÀÝÉÅÓÑ ÎÁ ÎÏÌØ (ÎÁÐÒÉÍÅÒ, 6.4.0), ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ×ÎÕÔÒÅÎÎÉÈ ÎÕÖÄ CVS (see section ÷ÏÌÛÅÂÎÙÅ ÎÏÍÅÒÁ ×ÅÔÏË). ÷ÅÔËÁ 1.1.1 ÉÍÅÅÔ ÓÐÅÃÉÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ. See section óÌÅÖÅÎÉÅ ÚÁ ÞÕÖÉÍÉ ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ.
÷ ÜÔÏÊ ÓÅËÃÉÉ ÏÐÉÓÁÎÁ ×ÏÚÍÏÖÎÏÓÔØ CVS, ÎÁÚÙ×ÁÀÝÁÑÓÑ ×ÏÌÛÅÂÎÙÅ ×ÅÔËÉ. ÷ ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ×ÁÍ ÎÅ ÐÏÔÒÅÂÕÅÔÓÑ ÂÅÓÐÏËÏÉÔØÓÑ Ï ×ÏÌÛÅÂÎÙÈ ×ÅÔËÁÈ, ÔÁË ËÁË CVS ÓÁÍ ÓÌÅÄÉÔ ÚÁ ÎÉÍÉ. ïÄÎÁËÏ, ÐÒÉ ÏÐÒÅÄÅÌÅÎÎÙÈ ÕÓÌÏ×ÉÑÈ ÉÈ ÍÏÖÎÏ Õ×ÉÄÅÔØ, É ÐÏÜÔÏÍÕ ÐÏÌÅÚÎÏ ÂÙÌÏ ÂÙ ÕÚÎÁÔØ, ËÁË ÏÎÉ ÒÁÂÏÔÁÀÔ.
îÏÍÅÒÁ ×ÅÔÏË ÓÏÓÔÏÑÔ ÉÚ ÎÅÞÅÔÎÏÇÏ ËÏÌÉÞÅÓÔ×Á ÄÅÓÑÔÉÞÎÙÈ ÃÅÌÙÈ ÞÉÓÅÌ, ÒÁÚÄÅÌÅÎÎÙÈ ÔÏÞËÁÍÉ. See section îÏÍÅÒÁ ÒÅ×ÉÚÉÊ. ïÄÎÁËÏ ÖÅ, ÜÔÏ ÎÅ ÐÏÌÎÁÑ ÐÒÁ×ÄÁ. éÚ ÓÏÏÂÒÁÖÅÎÉÊ ÜÆÆÅËÔÉ×ÎÏÓÔÉ CVS ÉÎÏÇÄÁ ×ÓÔÁ×ÌÑÅÔ ÌÉÛÎÉÊ ÎÏÌØ ×Ï ×ÔÏÒÕÀ ÓÐÒÁ×Á ÐÏÚÉÃÉÀ (1.2.4 ÓÔÁÎÏ×ÉÔÓÑ 1.2.0.4, Á 8.9.10.11.12 ÓÔÁÎÏ×ÉÔÓÑ 8.9.10.11.0.12 É ÔÁË ÄÁÌÅÅ).
CVS ÄÏ×ÏÌØÎÏ ÈÏÒÏÛÏ ÐÒÑÞÅÔ ÔÁËÉÅ "×ÏÌÛÅÂÎÙÅ" ×ÅÔËÉ, ÎÏ × ÎÅÓËÏÌØËÉÈ ÍÅÓÔÁÈ ÅÍÕ ÜÔÏ ÎÅ ÕÄÁÅÔÓÑ:
cvs log
.
cvs
admin
.
íÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ admin
, ÞÔÏÂÙ ÐÅÒÅÎÁÚÎÁÞÉÔØ
ÓÉÍ×ÏÌÉÞÅÓËÏÅ ÉÍÑ ×ÅÔËÉ ÎÁ ÔÏ, ËÏÔÏÒÏÅ ÏÖÉÄÁÅÔ Õ×ÉÄÅÔØ CVS.
îÁÐÒÉÍÅÒ, ÅÓÌÉ R4patches
ÐÒÉÓ×ÏÅÎÏ ×ÅÔËÅ 1.4.2 (×ÏÌÛÅÂÎÙÊ
ÎÏÍÅÒ 1.4.0.2) × ÆÁÊÌÅ `numbers.c', ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË:
$ cvs admin -NR4patches:1.4.2 numbers.c
üÔÏ ÓÒÁÂÏÔÁÅÔ, ÔÏÌØËÏ ÅÓÌÉ ÈÏÔÑ ÂÙ ÏÄÎÁ ÒÅ×ÉÚÉÑ ÕÖÅ ÂÙÌÁ ÚÁÆÉËÓÉÒÏ×ÁÎÁ ÎÁ ×ÅÔËÅ. âÕÄØÔÅ ÏÞÅÎØ ÏÓÔÏÒÏÖÎÙ, ÞÔÏÂÙ ÎÅ ÐÒÉÓ×ÏÉÔØ ÍÅÔËÕ ÎÅÐÒÁ×ÉÌØÎÏÍÕ ÞÉÓÌÕ, ÔÁË ËÁË ÎÅÔ ÓÐÏÓÏÂÁ ÕÚÎÁÔØ, ÞÅÍÕ ÂÙÌÁ ÐÒÉÓ×ÏÅÎÁ ÜÔÁ ÍÅÔËÁ ×ÞÅÒÁ (ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÅÖÅÄÎÅ×ÎÏÇÏ ÒÅÚÅÒ×ÎÏÇÏ ËÏÐÉÒÏ×ÁÎÉÑ).
÷Ù ÍÏÖÅÔÅ ÏÂßÅÄÉÎÉÔØ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ ÎÁ ×ÅÔËÅ, Ó ×ÁÛÅÊ
ÒÁÂÏÞÅÊ ËÏÐÉÅÊ, ÄÏÂÁ×É× ÆÌÁÇ `-j ×ÅÔËÁ' Ë ËÏÍÁÎÄÅ
update
. ÷ ÒÅÚÕÌØÔÁÔÅ CVS ×ÎÅÄÒÑÅÔ × ÒÁÂÏÞÕÀ ËÏÐÉÀ
ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ ÍÅÖÄÕ ËÏÒÎÅ×ÏÊ ÒÅ×ÉÚÉÅÊ ×ÅÔËÉ É
Ó×ÅÖÁÊÛÅÊ ÒÅ×ÉÚÉÅÊ ÎÁ ÜÔÏÊ ×ÅÔËÅ.
ëÌÀÞ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ `-j' ÏÚÎÁÞÁÅÔ "ÏÂßÅÄÉÎÉÔØ" (join).
ðÒÅÄÓÔÁרÔÅ ÓÅÂÅ ÔÁËÏÅ ÄÅÒÅ×Ï ÒÅ×ÉÚÉÊ:
+-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 ! <- ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ +-----+ +-----+ +-----+ +-----+ ! ! ! +---------+ +---------+ ÷ÅÔר R1fix -> +---! 1.2.2.1 !----! 1.2.2.2 ! +---------+ +---------+
÷ÅÔËÅ 1.2.2 ÂÙÌÁ ÎÁÚÎÁÞÅÎÁ ÍÅÔËÁ (ÓÉÍ×ÏÌØÎÏÅ ÉÍÑ) `R1fix'. ÷ ÎÉÖÅÓÌÅÄÕÀÝÅÍ ÐÒÉÍÅÒÅ ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ, ÞÔÏ ÍÏÄÕÌØ `mod' ÓÏÄÅÒÖÉÔ ÅÄÉÎÓÔ×ÅÎÎÙÊ ÆÁÊÌ, `m.c'.
$ cvs checkout mod # éÚ×ÌÅÞØ ÐÏÓÌÅÄÎÀÀ ÒÅ×ÉÚÉÀ, 1.4 $ cvs update -j R1fix m.c # óÌÉÔØ ×ÓÅ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ ÎÁ ×ÅÔËÅ, # Ô. Å. ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ ÒÅ×ÉÚÉÑÍÉ 1.2 # É 1.2.2.2, × ÒÁÂÏÞÕÀ ËÏÐÉÀ ÆÁÊÌÁ $ cvs commit -m "Included R1fix" # ÓÏÚÄÁÔØ ÒÅ×ÉÚÉÀ 1.5.
÷ ÒÅÚÕÌØÔÁÔÅ ÏÐÅÒÁÃÉÉ ÓÌÉÑÎÉÑ ÍÏÖÅÔ ÐÒÏÉÚÏÊÔÉ ËÏÎÆÌÉËÔ. ÷ ÜÔÏ ÓÌÕÞÁÅ ×ÁÍ ÓÎÁÞÁÌÁ ÎÁÄÏ ÓÐÒÁ×ÉÔØÓÑ Ó ÎÉÍ ÐÅÒÅÄ ÆÉËÓÉÒÏ×ÁÎÉÅÍ ÉÚÍÅÎÅÎÉÊ. See section ðÒÉÍÅÒ ËÏÎÆÌÉËÔÁ.
ëÏÍÁÎÄÁ checkout
ÔÁËÖÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÆÌÁÇ `-j
×ÅÔËÁ'. íÏÖÎÏ ÄÏÂÉÔØÓÑ ÜÆÆÅËÔÁ, ÏÂÓÕÖÄÁ×ÛÅÇÏÓÑ ×ÙÛÅ, Ó
ÐÏÍÏÝØÀ
$ cvs checkout -j R1fix mod $ cvs commit -m "äÏÂÁ×ÌÅÎ R1fix"
íÙ ÐÒÏÄÏÌÖÁÅÍ ÏÂÓÕÖÄÅÎÉÅ ÐÒÉÍÅÒÁ. ôÅÐÅÒØ ÄÅÒÅ×Ï ÒÅ×ÉÚÉÊ ×ÙÇÌÑÄÉÔ ÔÁË:
+-----+ +-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 ! <- ÓÔ×ÏÌ +-----+ +-----+ +-----+ +-----+ +-----+ ! * ! * ! +---------+ +---------+ ÷ÅÔר R1fix -> +---! 1.2.2.1 !----! 1.2.2.2 ! +---------+ +---------+
úÄÅÓØ ÌÉÎÉÑ ÉÚ Ú×ÅÚÄÏÞÅË ÐÒÅÄÓÔÁ×ÌÑÅÔ ÓÏÂÏÊ ÓÌÉÑÎÉÅ ×ÅÔËÉ `R1fix' Ó ÏÓÎÏ×ÎÙÍ ÓÔ×ÏÌÏÍ, ÏÂÓÕÖÄÁ×ÛÅÅÓÑ ÔÏÌØËÏ ÞÔÏ.
ðÒÅÄÐÏÌÏÖÉÍ ÔÅÐÅÒØ, ÞÔÏ ÒÁÚÒÁÂÏÔËÁ ×ÅÔËÉ `R1fix' ÐÒÏÄÏÌÖÁÅÔÓÑ:
+-----+ +-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 ! <- ÓÔ×ÏÌ +-----+ +-----+ +-----+ +-----+ +-----+ ! * ! * ! +---------+ +---------+ +---------+ ÷ÅÔר R1fix -> +---! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 ! +---------+ +---------+ +---------+
É ÔÅÐÅÒØ ×Ù ÏÐÑÔØ ÈÏÔÉÔÅ ÓÌÉÔØ Ó×ÅÖÁÊÛÉÅ ÉÚÍÅÎÅÎÉÑ Ó ÏÓÎÏ×ÎÙÍ
ÓÔ×ÏÌÏÍ. åÓÌÉ ÂÙ ×Ù ÐÒÏÓÔÏ ÉÓÐÏÌØÚÏ×ÁÌÉ ËÏÍÁÎÄÕ cvs update
-j R1fix m.c
, ÔÏ CVS ÐÏÐÙÔÁÌÁÓØ ÂÙ ÏÐÑÔØ ÓÌÉÔØ ÕÖÅ ÓÌÉÔÙÅ
ÉÚÍÅÎÅÎÉÑ, ÞÔÏ ÐÒÉ×ÅÌÏ ÂÙ Ë ÎÅÖÅÌÁÔÅÌØÎÙÍ ÒÅÚÕÌØÔÁÔÁÍ.
÷ÍÅÓÔÏ ÜÔÏÇÏ ×ÁÍ ÎÕÖÎÏ ÕËÁÚÁÔØ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÓÌÉÔØ ÔÏÌØËÏ ÔÅ ÉÚÍÅÎÅÎÉÑ ÎÁ ×ÅÔËÅ, ÞÔÏ ÅÝÅ ÎÅ ÂÙÌÉ ÏÂßÅÄÉÎÅÎÙ ÓÏ ÓÔ×ÏÌÏÍ. äÌÑ ÜÔÏÇÏ ×Ù ÕËÁÚÙ×ÁÅÔÅ Ä×Á ËÌÀÞÁ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ `-j', É CVS ÓÌÉ×ÁÅÔ ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ ÐÅÒ×ÏÊ É ×ÔÏÒÏÊ ÒÅ×ÉÚÉÑÍÉ. îÁÐÒÉÍÅÒ, × ÜÔÏÍ ÓÌÕÞÁÅ ÓÁÍÙÍ ÐÒÏÓÔÙÍ ÓÐÏÓÏÂÏÍ ÂÕÄÅÔ
cvs update -j 1.2.2.2 -j R1fix m.c # óÌÉÔØ ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ 1.2.2.2 É # ÇÏÌÏ×ÏÊ ×ÅÔËÉ R1fix
ðÒÏÂÌÅÍÏÊ ÚÄÅÓØ Ñ×ÌÑÅÔÓÑ ÔÏ, ÞÔÏ ×Ù ÄÏÌÖÎÙ ×ÒÕÞÎÕÀ ÕËÁÚÁÔØ ÒÅ×ÉÚÉÀ 1.2.2.2. þÕÔØ ÌÕÞÛÉÍ ÐÏÄÈÏÄÏÍ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÄÁÔÙ ÓÏ×ÅÒÛÅÎÉÑ ÐÏÓÌÅÄÎÅÇÏ ÓÌÉÑÎÉÑ.
cvs update -j R1fix:yesterday -j R1fix m.c
åÝÅ ÌÕÞÛÅ ÂÙÌÏ ÂÙ ÐÏÍÅÞÁÔØ ×ÅÔËÕ `R1fix' ÐÏÓÌÅ ËÁÖÄÏÇÏ ÓÌÉÑÎÉÑ ÓÏ ÓÔ×ÏÌÏÍ, É ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ÍÅÔËÕ ÄÌÑ ÄÁÌØÎÅÊÛÉÈ ÓÌÉÑÎÉÊ:
cvs update -j merged_from_R1fix_to_trunk -j R1fix m.c
ó ÐÏÍÏÝØÀ Ä×ÕÈ ÆÌÁÇÏ× `-j ÒÅ×ÉÚÉÑ', ËÏÍÁÎÄÙ update
É
checkout
ÍÏÇÕÔ ÓÌÉ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ ÌÀÂÙÍÉ Ä×ÕÍÑ ÒÅ×ÉÚÉÑÍÉ ×
×ÁÛ ÒÁÂÏÞÉÊ ÆÁÊÌ.
$ cvs update -j 1.5 -j 1.3 backend.c
ÏÔÍÅÎÉÔ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ ÍÅÖÄÕ ÒÅ×ÉÚÉÑÍÉ 1.3 É 1.5. ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÐÏÒÑÄÏË ÕËÁÚÁÎÉÑ ÒÅ×ÉÚÉÊ!
åÓÌÉ ×Ù ÐÏÐÒÏÂÕÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ÏÐÃÉÀ ÐÒÉ ÒÁÂÏÔÅ Ó ÎÅÓËÏÌØËÉÍÉ ÆÁÊÌÁÍÉ, ÐÏÍÎÉÔÅ, ÞÔÏ ÎÏÍÅÒÁ ÒÅ×ÉÚÉÊ, ×ÅÒÏÑÔÎÏ, ÂÕÄÕÔ ÓÉÌØÎÏ ÏÔÌÉÞÁÔØÓÑ ÄÌÑ ÒÁÚÎÙÈ ÆÁÊÌÏ×. ÷ ÔÁËÉÈ ÓÌÕÞÁÑÈ ÐÏÞÔÉ ×ÓÅÇÄÁ ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÉÍ×ÏÌØÎÙÅ ÍÅÔËÉ, Á ÎÅ ÎÏÍÅÒÁ ÒÅ×ÉÚÉÊ.
õËÁÚÁ× Ä×Á ËÌÀÞÁ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ `-j', ÍÏÖÎÏ ÔÁËÖÅ ÏÔÍÅÎÉÔØ ÕÄÁÌÅÎÉÅ ÉÌÉ ÄÏÂÁ×ÌÅÎÉÅ ÆÁÊÌÁ. îÁÐÒÉÍÅÒ, ÐÒÅÄÐÏÌÏÖÉÍ, Õ ×ÁÓ ÅÓÔØ ÆÁÊÌ `file1', ÓÕÝÅÓÔ×Ï×Á×ÛÉÊ × ÒÅ×ÉÚÉÉ 1.1. úÁÔÅÍ ×Ù ÕÄÁÌÉÌÉ ÅÇÏ, ÓÏÚÄÁ× "ÍÅÒÔ×ÕÀ" ÒÅ×ÉÚÉÀ 1.2. ôÅÐÅÒØ ÐÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÄÏÂÁ×ÉÔØ ÅÇÏ ÏÐÑÔØ, Ó ÔÅÍ ÖÅ ÓÁÍÙÍ ÓÏÄÅÒÖÉÍÙÍ, ÞÔÏ ÏÎ ÉÍÅÌ ÒÁÎÅÅ. ÷ÏÔ ËÁË ÓÄÅÌÁÔØ ÜÔÏ:
$ cvs update -j 1.2 -j 1.1 file1 U file1 $ cvs commit -m test Checking in file1; /tmp/cvs-sanity/cvsroot/first-dir/file1,v <-- file1 new revision: 1.3; previous revision: 1.2 done $
åÓÌÉ ÉÚÍÅÎÅÎÉÑ, ËÏÔÏÒÙÅ ×Ù ÓÌÉ×ÁÅÔÅ, ×ËÌÀÞÁÀÔ × ÓÅÂÑ ÕÄÁÌÅÎÉÅ ÉÌÉ
ÄÏÂÁ×ÌÅÎÉÅ ËÁËÉÈ-ÌÉÂÏ ÆÁÊÌÏ×, ÔÏ ËÏÍÁÎÄÁ update -j
ÕÞÔÅÔ ÔÁËÉÅ
ÄÏÂÁ×ÌÅÎÉÑ É ÕÄÁÌÅÎÉÑ.
For example:
cvs update -A touch a b c cvs add a b c ; cvs ci -m "added" a b c cvs tag -b branchtag cvs update -r branchtag touch d ; cvs add d rm a ; cvs rm a cvs ci -m "added d, removed a" cvs update -A cvs update -jbranchtag
ðÏÓÌÅ ÔÏÇÏ, ËÁË ÜÔÉ ËÏÍÁÎÄÙ ×ÙÐÏÌÎÅÎÙ, Á ÔÁËÖÅ ×ÙÐÏÌÎÅÎÁ ËÏÍÁÎÄÁ `cvs commit', ÆÁÊÌ `a' ÂÕÄÅÔ ÕÄÁÌÅÎ, Á ÆÁÊÌ `d' ÂÕÄÅÔ ÄÏÂÁ×ÌÅÎ × ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ.
Go to the first, previous, next, last section, table of contents.