Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
1,14 MB
Nội dung
Concurrent Versions System • Overview of CVS architecture • Repository structure • Basic development tasks in WinCvs • Branching and merging • Other CVS interfaces CVS Features • Concurrent access by multiple developers • Multiple development lines in a single repository • Grouping sources into modules • Symbolic source tagging • Diffs between versions • Configurable logging support • Binary files support • Repository event triggers Client-server architecture • separate server (UNIX or NT) • no shared filesystems • a server process per connection ewacvs The CVS Repository ewacvs:/data1/cvsroot CVSROOT shr project1 project2 project3 devkits ar cgi doc install reports web cgipr unix nt • Resides on a server • No working files inside the repository util esapps forms CVS Usage Model Checkout, Commit, Update • Checkout Makes private copy in working directory Can check out anywhere Check out multiple copies, multiple versions • Commit Commit changes to the repository when finished Working copies must be up to date with repository • Update Brings working copy up to date with repository Book Checkout does not lock the files in repository Concurrent checkout Master Repository foo.c ec ch Karen Working Copy V1.7 checkin V1.8 or 1.9 ut ko es la t checkout V1.1 Michael Working Copy V1.1 X che c t checkout V1.2 ch ec Chris Working Copy V1.2 X checkin prohibited ko ut la te k ou st t br anc h re Brigid Working Copy V1.7 checkin V1.8 or 1.9 l _ 1_ fi x Patrick Working Copy V1.2.2.1 checkin V1.2.2.2 CVS and the Development Cycle Check out source files in working directory Edit source files Unit test your code Update working files to merge in changes from other developers (if necessary) Test again if the sources were merged on step Commit changes Repeat from step until you have a new release Tag the release Submit the module name and release tag for integration build Ideal development with CVS development checkout checkin update Developer A repository Developer B Real development with CVS checkin conflict checkin update resolution Developer A repository X Developer B conflict WinCVS on your desktop • • • • • • • • Configuration Main screen Checking out the sources Viewing source history Dif Commit Update Tag WinCVS: Configuration Your UNIX login branch name file type revision number state icon WinCvs: Main screen file view modules status view Checking out the sources Source history & diff Commit, Update & Tag update commit tag When to commit • Commit to mark a working state that you might want to return to later • Commit related files in a single operation Use a common log message for all the files • Commit to backup your sources • Commit from an office desktop to be able to access the files from home much faster than through filesystem sharing Working on branches fi x patch _1 _ cvs tag -b rel_1_fix 1.2.2.2 rel 1.2.2.1 1.1 1.2 1.3 release_1 1.4 release_2 cvs up -r rel_1_fix cvs tag release_1 cvs tag release_2 Branch if you need • to create sustaining (patch) releases • to have multiple development lines from a single repository • to experimental development to merge later or forget about it • to keep temporary state of development without afecting builds Common CVS commands cvs [cvs-options] command [cmd-options] [files] cvs checkout Check out source for editing cvs add Add new file/directory to repository cvs remove Remove an entry from the repository cvs status Show status of checked out files cvs log Show revision history for files cvs diff Compare working files to version in repository or versions inside the repository cvs update Bring working files into sync with repository cvs commit check files into the repository cvs tag Label the sources Other CVS clients CVSweb Diff between versions of the file Directory listing Other CVS clients jCVS Diff Directory betweenlisting versions of the file CVS online • Official CVS site: http://www.cyclic.com • CVS Bubbles: http://www.loria.fr/~molli/cvs-index.html • CVS for Web development: • WinCvs: http://www.wincvs.org • jCVS: http://durak.org:81/cvswebsites http://www.jcvs.org/ • Netscape’s Mozilla under CVS: http://cvs-mirror.mozilla.org/webtools/tindertest/showbuilds.cgi?tree=SeaMonkey • FreeBSD CVS repository: http://www.freebsd.org/support.html#cvs DEM O [...]... repository cvs commit check files into the repository cvs tag Label the sources Other CVS clients CVSweb Diff between 2 versions of the file Directory listing Other CVS clients jCVS Diff Directory betweenlisting 2 versions of the file CVS online • Official CVS site: http://www.cyclic.com • CVS Bubbles: http://www.loria.fr/~molli /cvs- index.html • CVS for Web development: • WinCvs: http://www.wincvs.org • jCVS:... afecting builds Common CVS commands cvs [cvs- options] command [cmd-options] [files] cvs checkout Check out source for editing cvs add Add new file/directory to repository cvs remove Remove an entry from the repository cvs status Show status of checked out files cvs log Show revision history for files cvs diff Compare working files to version in repository or versions inside the repository cvs update Bring... http://www.loria.fr/~molli /cvs- index.html • CVS for Web development: • WinCvs: http://www.wincvs.org • jCVS: http://durak.org:81/cvswebsites http://www.jcvs.org/ • Netscape’s Mozilla under CVS: http:/ /cvs- mirror.mozilla.org/webtools/tindertest/showbuilds.cgi?tree=SeaMonkey • FreeBSD CVS repository: http://www.freebsd.org/support.html #cvs DEM O ... backup your sources • Commit from an office desktop to be able to access the files from home much faster than through filesystem sharing Working on branches fi x patch _1 _ cvs tag -b rel_1_fix 1.2.2.2 rel 1.2.2.1 1.1 1.2 1.3 release_1 1.4 release_2 cvs up -r rel_1_fix cvs tag release_1 cvs tag release_2 Branch if you need • to create sustaining (patch) releases • to have multiple development lines from...WinCVS: Configuration Your UNIX login branch name file type revision number state icon WinCvs: Main screen file view modules status view Checking out the sources Source history & diff Commit, Update & Tag update commit tag When to commit • Commit