éÓÐÏÌØÚÏ×ÁÎÉÅ ×ÅÔ×ÅÊ É ÍÅÔÏË × CVS ðÒÅÄÐÏÌÏÖÉÍ, ×Ù ×ÅÄÅÔÅ Ó×ÏÊ ÐÒÏÅËÔ, ÉÓÐÏÌØÚÕÑ CVS × ËÁÞÅÓÔ×Å ÓÉÓÔÅÍÙ ËÏÎÔÒÏÌÑ ×ÅÒÓÉÊ. ÷Ù ×ÙÐÕÓËÁÅÔÅ ×ÅÒÓÉÀ 1.0 Ó×ÏÅÇÏ ÐÒÏÄÕËÔÁ, ÏÎÁ ÕÈÏÄÉÔ ÎÁ ÐÏÌËÉ ÍÁÇÁÚÉÎÏ×, Á ×Ù ÐÏÌÎÙÍ ÈÏÄÏÍ ÎÁÞÉÎÁÅÔÅ ÒÁÚÒÁÂÁÔÙ×ÁÔØ ×ÅÒÓÉÀ 2.0. þÅÒÅÚ ÎÅÂÏÌØÛÏÅ ×ÒÅÍÑ ÏÔ ÎÅÄÏ×ÏÌØÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÁÞÉÎÁÀÔ ÐÏÓÔÕÐÁÔØ ÓÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ. òÁÚÏÂÒÁ×ÛÉÓØ, ×Ù ×ÙÑÓÎÑÅÔÅ, ÞÔÏ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÉÓÐÒÁ×ÉÔØ ÏÛÉÂËÕ, ÔÒÅÂÕÅÔÓÑ ×ÎÅÓÔÉ ×ÓÅÇÏ ÌÉÛØ ÎÅÂÏÌØÛÏÅ ÉÓÐÒÁ×ÌÅÎÉÅ × ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ ×ÅÒÓÉÉ 1.0. ôÁËÁÑ ÓÉÔÕÁÃÉÑ ÉÄÅÁÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÅÔÓÑ Ó ÐÏÍÏÝØÀ ÔÁËÉÈ ×ÏÚÍÏÖÎÏÓÔÅÊ CVS, ËÁË ÍÅÔËÉ É ×ÅÔËÉ. íÅÔËÁ -- ÜÔÏ ÉÍÑ, ËÏÔÏÒÏÅ ×Ù ÄÁÌÉ ÏÐÒÅÄÅÌÅÎÎÏÍÕ ÎÁÂÏÒÕ ÒÅ×ÉÚÉÊ ÆÁÊÌÏ×, ÓÏÓÔÁ×ÌÑÀÝÉÈ ÐÒÏÅËÔ. ïÂÙÞÎÏ ÍÅÔËÉ ÓÏÚÄÁÀÔÓÑ × ËÌÀÞÅ×ÙÈ ÔÏÞËÁÈ ÒÁÚ×ÉÔÉÑ ÐÒÏÅËÔÁ, ÔÁËÉÈ ËÁË ×ÙÐÕÓË ÎÏ×ÏÊ ×ÅÒÓÉÉ. ÷ÅÒÎÅÍÓÑ ÎÅÍÎÏÇÏ ÎÁÚÁÄ ÐÏ ÌÉÎÉÉ ×ÒÅÍÅÎÉ É × ÍÏÍÅÎÔ ×ÙÐÕÓËÁ ×ÅÒÓÉÉ ÎÏÍÅÒ ÏÄÉÎ ÐÏÍÅÔÉÍ ÔÅ ÒÅ×ÉÚÉÉ ÆÁÊÌÏ× Ó ÉÓÈÏÄÎÉËÁÍÉ, ËÏÔÏÒÙÅ ÓÏÓÔÁ×ÌÑÀÔ ÜÔÕ ×ÅÒÓÉÀ. $ cvs rtag PRODUCT-1-0 product ``product'' -- ÜÔÏ ÎÁÚ×ÁÎÉÅ ÍÏÄÕÌÑ, × ËÏÔÏÒÏÍ ÈÒÁÎÑÔÓÑ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ ×ÁÛÅÇÏ ÐÒÏÄÕËÔÁ. ôÅÐÅÒØ ÎÁÞÎÅÍ ÒÁÚÒÁÂÏÔËÕ 2.0. ðÏÍÎÉÔÅ, ÞÔÏ ÐÏÍÅÞÅÎÎÁÑ ×ÅÒÓÉÑ 1.0 ÄÏÓÔÕÐÎÁ ÎÁÍ × ÌÀÂÏÊ ÍÏÍÅÎÔ: $ cvs checkout -r PRODUCT-1-0 product óÏÚÄÁÓÔ ËÁÔÁÌÏÇ product/, ×ÎÕÔÒÉ ËÏÔÏÒÏÇÏ ÂÕÄÕÔ ×ÓÅ ÆÁÊÌÙ, ÉÚ ËÏÔÏÒÙÈ × Ó×ÏÅ ×ÒÅÍÑ ÂÙÌÁ ÓËÏÍÐÉÌÉÒÏ×ÁÎÁ ×ÅÒÓÉÑ 1.0. åÓÌÉ ×ÙÐÏÌÎÉÔØ ÐÒÏÓÔÏ ËÏÍÁÎÄÕ $ cvs checkout product ÔÏ × ËÁÔÁÌÏÇÅ product/ ÏËÁÖÅÔÓÑ ÔÅËÕÝÁÑ ÒÁÚÒÁÂÁÔÙ×ÁÅÍÁÑ ×ÅÒÓÉÑ, ÎÁÈÏÄÑÝÁÑÓÑ ÎÁ ÐÏÌÐÕÔÉ ÍÅÖÄÕ 1.0 É 2.0. éÔÁË, ÒÁÚÄÁÀÔÓÑ ÐÅÒ×ÙÅ Ú×ÏÎËÉ ÏÔ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó ÓÏÏÂÝÅÎÉÑÍÉ Ï ÏÛÉÂËÁÈ. ÷ ÒÅÚÕÌØÔÁÔÅ ÒÁÚÂÉÒÁÔÅÌØÓÔ×Á ×ÙÑÓÎÑÅÔÓÑ, ÞÔÏ ÏÛÉÂËÕ ÍÏÖÎÏ ÉÓÐÒÁ×ÉÔØ ÎÅÂÏÌØÛÉÍ ÉÓÐÒÁ×ÌÅÎÉÅÍ. óÏÚÄÁÄÉÍ ×ÅÔËÕ, × ËÏÔÏÒÏÊ ÍÙ ÂÕÄÅÍ ÉÓÐÒÁ×ÌÑÔØ ÏÛÉÂËÕ: $ cvs rtag -b -r PRODUCT-1-0 PATCHED-1-0 product (ëÌÀÞ ``-b'' É ÏÚÎÁÞÁÅÔ "ÓÏÚÄÁÔØ ×ÅÔ×Ø"). ôÅÐÅÒØ ÓÄÅÌÁÅÍ ÏÔÄÅÌØÎÙÊ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ, × ËÏÔÏÒÏÍ ÍÙ ÂÕÄÅÍ ÉÓÐÒÁ×ÌÑÔØ ÏÛÉÂËÉ: $ cvs checkout -r PATCHED-1-0 -d product-patched product õ ×ÁÓ ÐÏÑ×ÉÌÓÑ ËÁÔÁÌÏÇ product-patched/ (ÅÇÏ ÉÍÑ ÚÁÄÁÎÎÏ Ó ÐÏÍÏÝØÀ ËÌÀÞÁ -d). ÷ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ × ÎÅÍ ÎÁÈÏÄÑÔÓÑ ×ÓÅ ÆÁÊÌÙ × ÔÏÍ ÓÏÓÔÏÑÎÉÉ, × ËÏÔÏÒÏÍ ÏÎÉ ÂÙÌÉ ÎÁ ÍÏÍÅÎÔ ×ÙÐÕÓËÁ ×ÅÒÓÉÉ 1.0. éÓÐÒÁ×ÉÍ ÏÛÉÂËÕ. óËÏÍÐÉÌÉÒÕÅÍ. ôÅÐÅÒØ ÚÁÆÉËÓÉÒÕÅÍ ÉÚÍÅÎÅÎÉÅ ÎÁ ×ÅÔËÅ PATCHED-1-0: $ cvs commit çÏÔÏ×Ï. äÅÌÏ × ÔÏÍ, ÞÔÏ ËÏÇÄÁ ×Ù ÉÚ×ÌÅËÁÌÉ ÏÔÄÅÌØÎÙÊ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂÏË, CVS ÚÁÐÏÍÎÉÌÁ, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ×ÅÔ×Ø PATCHED-1-0, É ÔÅÐÅÒØ ÉÍÅÎÎÏ ÜÔÁ ×ÅÔ×Ø ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ×ÓÅÈ ÄÅÊÓÔ×ÉÊ × ÜÔÏÍ ÒÁÂÏÞÅÍ ËÁÔÁÌÏÇÅ. ôÅÐÅÒØ, ÐÏÓÌÅ ÔÏÇÏ, ËÁË ×ÅÒÓÉÑ 1.01 ÏÔÐÒÁ×ÌÅÎÁ ÐÏÌØÚÏ×ÁÔÅÌÑÍ, ÍÏÖÎÏ ÕÄÁÌÉÔØ ËÁÔÁÌÏÇ product-patched/, ÐÏÔÏÍÕ ÞÔÏ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ ÜÔÏÊ ×ÅÒÓÉÉ ÄÏÓÔÕÐÎÙ × ÒÅÐÏÚÉÔÏÒÉÉ Ó ÐÏÍÏÝØÀ ×ÓÅ ÔÏÊ ÖÅ ËÏÍÁÎÄÙ $ cvs checkout -r PATCHED-1-0 -d product-patched product ÷ ÐÏÑ×É×ÛÅÍÓÑ ËÁÔÁÌÏÇÅ product-patched/ ÂÕÄÅÔ ÎÁÈÏÄÉÔØÓÑ ×ÓÅ ÔÁ ÖÅ ×ÅÒÓÉÑ 1.01. ôÅÐÅÒØ ÍÏÖÎÏ ×ÎÅÓÔÉ ÅÝÅ ÏÄÎÏ ÉÓÐÒÁ×ÌÅÎÉÅ, ÓÏÚÄÁ× ×ÅÒÓÉÀ 1.02 É ÚÁÆÉËÓÉÒÏ×ÁÔØ ÅÅ (ÆÉËÓÁÃÉÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÒÏÉÚÏÊÄÅÔ ÎÁ ×ÅÔËÅ), ÐÒÉ ÜÔÏÍ ÎÉÓËÏÌØËÏ ÎÅ ÍÅÛÁÑ ÒÁÚÒÁÂÏÔËÅ ×ÅÒÓÉÉ 2.0, ËÏÔÏÒÁÑ ÐÒÏÉÓÈÏÄÉÔ ÎÁ ÔÁË ÎÁÚÙ×ÁÅÍÏÍ "ÏÓÎÏ×ÎÏÍ ÓÔ×ÏÌÅ". á×ÔÏÍÁÔÉÞÅÓËÏÅ ÓÌÉÑÎÉÅ ÉÚÍÅÎÅÎÉÊ Ó ×ÅÔ×É ÎÁ ÓÔ×ÏÌ éÔÁË, ÔÅÐÅÒØ ÄÅÒÅ×Ï ÒÅ×ÉÚÉÊ × ×ÁÛÅÍ ÐÒÏÅËÔÅ ×ÙÇÌÑÄÉÔ ÔÁË: +-----+ | 1.1 | +-----+ | +-----+ | 1.2 | +-----+ | +-----+ | 1.3 | üÔÁ ÒÅ×ÉÚÉÑ ÐÏÍÅÞÅÎÁ ËÁË PRODUCT-1-0 É Ñ×ÌÑÅÔÓÑ +-----+ ÔÏÞËÏÊ ÏÔ×ÅÔ×ÌÅÎÉÑ | |------- ÉÓÐÒÁ×ÌÅÎÉÅ#1 | \ ÉÓÐÒÁ×ÌÅÎÉÅ#2 +-----+ \ +---------+ +---------+ | 1.4 | --| 1.3.1.1 |---------------| 1.3.1.2 | +-----+ +---------+ +---------+ | | +-----+ | ÉÓÐÒÁ×ÌÅÎÉÅ#3 | 1.5 | | +-----+ +---------+ | | 1.3.1.3 | +-----+ +---------+ | 1.6 | +-----+ òÅ×ÉÚÉÉ Ó 1.1 ÐÏ 1.6 -- ÜÔÏ ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ (trunk). òÅ×ÉÚÉÉ Ó 1.3.1.1 ÐÏ 1.3.1.3 -- ÜÔÏ ×ÅÔËÁ, ÎÁÚÙ×ÁÅÍÁÑ PATCHED-1-0 É ÉÍÅÀÝÁÑ ÎÏÍÅÒ 1.3.1 (× ÎÏÍÅÒÁÈ ×ÅÔÏË ÞÅÔÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÔÏÞÅË!). ÷Ù ÍÏÖÅÔÅ ÐÏÓÍÏÔÒÅÔØ ÓÏÄÅÒÖÁÎÉÅ ÉÓÐÒÁ×ÌÅÎÉÊ, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ $ cvs diff -r PRODUCT-1-0 -r PATCHED-1-0 ÷ ÐÒÉÎÃÉÐÅ ×Ù ÍÏÖÅÔÅ ÚÁÐÉÓÁÔØ ÒÅÚÕÌØÔÁÔ ÜÔÏÊ ËÏÍÁÎÄÙ diff × ÆÁÊÌ, ÐÏÊÔÉ × ËÁÔÁÌÏÇ, ÇÄÅ ÎÁÈÏÄÉÔÓÑ ÒÁÚÒÁÂÁÔÙ×ÁÅÍÁÑ ×ÅÒÓÉÑ ×ÁÛÅÇÏ ÐÒÏÄÕËÔÁ, É ÓËÏÒÍÉÔØ ÜÔÏÔ ÆÁÊÌ ÐÒÏÇÒÁÍÍÅ `patch'. óËÏÒÅÅ ×ÓÅÇÏ, ÉÚÍÅÎÅÎÉÑ ÂÕÄÕÔ ×ÎÅÓÅÎÙ ÐÒÁËÔÉÞÅÓËÉ ÂÅÚ ÐÒÏÂÌÅÍ, ÍÁËÓÉÍÕÍ, ÞÔÏ ÐÏÔÒÅÂÕÅÔÓÑ -- ÎÅÂÏÌØÛÁÑ ÒÕÞÎÁÑ ÐÒÁ×ËÁ. ôÅÐÅÒØ ×Ù ÍÏÖÅÔÅ ÓËÁÚÁÔØ $ cvs commit É × ÉÓÈÏÄÎÉËÁÈ ÎÏ×ÏÊ ×ÅÒÓÉÉ ÐÒÏÄÕËÔÁ ÂÕÄÕÔ ÚÁÆÉËÓÉÒÏ×ÁÎÙ ÔÒÅÂÕÅÍÙÅ ÉÚÍÅÎÅÎÉÑ. ôÏÔ ÖÅ ÓÁÍÙÊ ÐÒÏÃÅÓÓ ÍÏÖÎÏ ÅÝÅ ÂÏÌØÛÅ Á×ÔÏÍÁÔÉÚÉÒÏ×ÁÔØ, ÎÅ ÉÓÐÏÌØÚÕÑ ÐÒÉ ÜÔÏÍ ÎÉÞÅÇÏ, ËÒÏÍÅ cvs. úÁÊÄÉÔÅ × ËÁÔÁÌÏÇ, ÓÏÄÅÒÖÁÝÉÊ ÒÁÚÒÁÂÁÔÙ×ÁÅÍÕÀ ×ÅÒÓÉÀ ÐÒÏÄÕËÔÁ, É ÓËÁÖÉÔÅ $ cvs update -kk -j PRODUCT-1-0 -j PATCHED-1-0 ÷ ÒÅÚÕÌØÔÁÔÅ ÜÔÏÊ ÏÐÅÒÁÃÉÉ ÐÏÌÕÞÉÔÓÑ ÐÏÞÔÉ ÔÏ ÖÅ ÓÁÍÏÅ, ÞÔÏ É ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÇÒÁÍÍÙ `patch'. åÄÉÎÓÔ×ÅÎÎÁÑ ÒÁÚÎÉÃÁ -- ÐÒÉ ÏÂÎÁÒÕÖÅÎÉÉ ËÏÎÆÌÉËÔÏ×. ðÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ × ÓÔÁÒÏÊ ×ÅÒÓÉÉ ÆÁÊÌÁ src.c ÂÙÌÁ ÓÔÒÏÞËÁ v.push_back(elem); éÓÐÒÁ×ÌÑÑ ÐÒÏÄÕËÔ, ×Ù ÚÁÍÅÎÉÌÉ ÅÇÏ ÎÁ v.push_back(elem2); Á × ÎÏ×ÏÊ, ÒÁÚÒÁÂÁÔÙ×ÁÅÍÏÊ ×ÅÒÓÉÉ, ÉÚ-ÚÁ ÓÍÅÎÙ ÔÉÐÁ ÄÁÎÎÙÈ ÜÔÁ ÓÔÒÏÞËÁ ×ÙÇÌÑÄÉÔ ËÁË m.insert(elem); ÷ ÒÅÚÕÌØÔÁÔÅ ×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄÙ `cvs update' × ÆÁÊÌÅ src.c ÏÂÒÁÚÕÅÔÓÑ ËÏÎÆÌÉËÔ: × ÎÅÍ ÐÏÑ×ÑÔÓÑ ÔÁËÉÅ ÓÔÒÏËÉ: <<<<<<< src.c v.push_back(elem2); ======== m.insert(elem); >>>>>>>> src.c éÓÈÏÄÎÁÑ ×ÅÒÓÉÑ src.c, ÎÁÈÏÄÉ×ÛÁÑÓÑ × ×ÁÛÅÍ ÒÁÂÏÞÅÍ ËÁÔÁÌÏÇÅ, ÚÁÐÉÓÁÎÁ ÐÏÄ ÉÍÅÎÅÍ, ÎÁÐÒÉÍÅÒ, `.#src.c.1.2'. ÷ÁÍ ÎÁÄÏ ÒÁÚÏÂÒÁÔØÓÑ × ÐÒÉÞÉÎÅ ËÏÎÆÌÉËÔÁ, ÏÓÔÁ×ÉÔØ ÔÏÌØËÏ ÏÄÎÕ ÉÚ ËÏÎÆÌÉËÔÕÀÝÉÈ ÓÔÒÏË, ÕÂÒÁÔØ ÍÁÒËÅÒÙ ËÏÎÆÌÉËÔÁ (<<<<<<<, ======= É >>>>>>>). æÁÊÌ `.#src.c.1.2' ÍÏÖÎÏ ÕÄÁÌÉÔØ. ôÅÐÅÒØ, ËÏÇÄÁ ËÏÎÆÌÉËÔÙ ÕÓÔÒÁÎÅÎÙ (ÉÌÉ ÉÈ É ÔÁË ÎÅ ÂÙÌÏ), ÍÏÖÎÏ ÓËÁÚÁÔØ `cvs commit', É × ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ ÂÕÄÕÔ ×ÎÅÓÅÎÙ ×ÓÅ ÔÒÉ ÉÚÍÅÎÅÎÉÑ, ËÏÔÏÒÙÅ ×Ù ÓÄÅÌÁÌÉ ÎÁ ×ÅÔËÅ PATCHED-1-0. ÷ ÓÌÕÞÁÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÏÍÁÎÄÙ patch ÏÎÁ, ×ÓÔÒÅÔÉ× ËÏÎÆÌÉËÔ ÍÅÖÄÕ .diff-ÆÁÊÌÏÍ É ÆÁÊÌÏÍ src.c, ÚÁÐÉÓÁÌÁ ÂÙ ÜÔÏÔ ËÏÎÆÌÉËÔ × src.c.rej, É ×ÁÍ ×ÓÅ ÒÁ×ÎÏ ÐÒÉÛÌÏÓØ ÂÙ ÒÁÚÏÂÒÁÔØÓÑ Ó ÎÉÍ ×ÒÕÞÎÕÀ. ëÌÀÞ -kk ÎÕÖÅÎ, ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÌÏÖÎÙÈ ËÏÎÆÌÉËÔÏ×, Ó×ÑÚÁÎÎÙÈ Ó ÐÏÄÓÔÁÎÏ×ËÏÊ ËÌÀÞÅ×ÙÈ ÓÌÏ×. ÷ ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ×, ËÁË ÐÏËÁÚÙ×ÁÅÔ ÐÒÁËÔÉËÁ, ËÏÎÆÌÉËÔÏ× ÉÌÉ ÎÅ ×ÏÚÎÉËÁÅÔ ×Ï×ÓÅ, ÉÌÉ ÖÅ ÏÎÉ ÔÒÉ×ÉÁÌØÎÙ É ÒÅÛÁÀÔÓÑ ÚÁ ÎÅÓËÏÌØËÏ ÓÅËÕÎÄ. äÏÐÏÌÎÉÔÅÌØÎÁÑ ÉÎÆÏÒÍÁÃÉÑ: http://www.cyclic.com. "÷×ÅÄÅÎÉÅ × CVS": http://alexm.here.ru/cvs-intro-rus/cvs-intro-rus.html òÕÓÓËÉÊ ÐÅÒÅ×ÏÄ ÄÏËÕÍÅÎÔÁÃÉÉ ÎÁ CVS: http://alexm.here.ru/cvs-ru/ Alexey Mahotkin $Date: 2000/04/17 22:19:34 $