Open Source Development With Cvs

by ;
Edition: 2nd
Format: Paperback
Pub. Date: 2001-10-01
Publisher(s): Oreilly & Associates Inc
List Price: $41.99

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

The popular first edition was one of the first books available on development and implementation of open source software using CVS. The second edition is enhanced with more value-added material covering strategies, third-party tools, scalability, client access limits, and server administration for CVS. In order to practice what we preach, some chapters of this book have been made available online under GNU General Public License.

Author Biography

Moshe Bar has an M.Sc. and Ph.D. in computer science and teaches advanced operating systems courses at Tel Aviv University and several European universities Karl Fogel co-founded Cyclic Software in 1995 He now works as a programmer in Chicago, IL

Table of Contents

Introductionp. xvii
Why Open Source Development and CVS Go Togetherp. 1
What Is Free Software?p. 1
Open Source Softwarep. 2
Open Source Licensesp. 3
Open Source Business Modelsp. 4
How It All Startedp. 5
Stallman's Ideap. 5
The Two Types of Developmentp. 6
What Does CVS Have to Do with It?p. 7
diff and patchp. 8
RCSp. 9
The Winner: CVSp. 9
Principles of Open Source Development and How CVS Helpsp. 10
What Makes It All Tick?p. 12
Necessityp. 12
Communityp. 12
Gloryp. 13
Moneyp. 13
Factionalism as a Sign of Strengthp. 14
An Overview of CVSp. 17
CVS Basicsp. 17
What CVS Is Not: The Lock-Modify-Unlock Modelp. 18
What CVS Is: The Copy-Modify-Merge Modelp. 18
Other Revision Control Systemsp. 21
Microsoft VSSp. 21
RCS and GNU/RCSp. 22
SCCSp. 23
A Tour of CVSp. 24
Invoking CVSp. 25
Repository Access and the Working Environmentp. 26
Starting a New Projectp. 29
Checking Out a Working Copyp. 31
Making a Changep. 34
Finding Out What You (and Others) Did: update and diffp. 34
CVS and Implied Argumentsp. 39
Committingp. 42
Finding Out Who Did What (Browsing Log Messages)p. 50
Examining and Reverting Changesp. 53
Other Useful CVS Commandsp. 58
Adding Filesp. 58
Adding Directoriesp. 58
Removing Filesp. 60
Removing Directoriesp. 60
Renaming Files and Directoriesp. 61
Avoiding Option Fatiguep. 62
Getting Snapshots (Dates and Tagging)p. 62
Acceptable Date Formatsp. 66
Marking a Moment in Time (Tags)p. 67
Branchesp. 73
Merging Changes from Branch to Trunkp. 79
Multiple Mergesp. 82
Creating a Tag or Branch without a Working Copyp. 84
CVS Repository Administrationp. 87
The Administrator's Rolep. 87
Getting and Installing CVSp. 87
Building CVS from Sourcep. 88
Getting and Installing CVS under Windowsp. 91
Getting and Installing CVS on a Macintoshp. 92
Limitations of the Windows and Macintosh Versionsp. 92
Anatomy of a CVS Distributionp. 92
Informational Filesp. 92
Subdirectoriesp. 94
Other Sources of Informationp. 96
Starting a Repositoryp. 97
The Password-Authenticating Serverp. 99
Repository Structure Explained in Detailp. 104
RCS Format Always Quotes @ Signsp. 110
What Happens When You Remove a Filep. 112
The CVSROOT/Administrative Directoryp. 113
Finding Out Morep. 124
Advanced CVSp. 125
Beyond the Basicsp. 125
CVS as Telephonep. 125
Watches: Knowing Who's Working on What, Whenp. 125
Log Messages and Commit Emailsp. 139
Getting Rid of a Working Copyp. 141
A Bird's-Eye View of Project Historyp. 142
Bird's-Eye View, with Telescope: The annotate Commandp. 145
Using Keyword Expansionp. 150
Going out on a Limb: How to Work with Branches and Survivep. 152
Merging Repeatedly into the Trunkp. 153
The Dovetail Approach: Merging in and out of the Trunkp. 160
The Flying Fish Approach: A Simpler Wayp. 162
Tracking Third-Party Sources: Vendor Branchesp. 164
New CVS Featuresp. 168
You Are Now a Guru!p. 169
Tips and Troubleshootingp. 171
What to Do When Things Go Wrongp. 171
The Usual Suspectsp. 172
The Working Copy Administrative Areap. 172
Repository Permissionsp. 174
Common Problems and How to Solve Themp. 175
Some Real-Life Problems, with Solutionsp. 176
Things Changep. 186
Building, Testing, and Releasingp. 187
What Good Are Releases?p. 187
Starting the Release Processp. 188
Avoiding the "Code Cram" Effectp. 189
Freezingp. 190
Development vs. Stable Branchesp. 191
Testingp. 192
Recruiting and Retaining Testersp. 193
Automated Testingp. 193
Building, Installing, and Packagingp. 194
Building and Installing: make and autoconfp. 194
Let CVS Help You with Packagingp. 197
Releasingp. 199
Telling the World about Changesp. 200
Recording the Release in CVS: Tags and Revision Numbersp. 200
Finding Out Morep. 201
System Administration with CVSp. 203
Main Sysadmin Tasksp. 203
Using CVS the Right Way: Versioningp. 205
Dependenciesp. 206
The named Treep. 207
Regression Testingp. 207
Other Sysadmin Work with CVSp. 208
Creating New Targetsp. 208
Delegating Responsibility for Filesp. 209
When Problems Occur with Hostsp. 210
Administering Routers and Appliancesp. 210
Conclusionp. 211
The Open Source Processp. 213
Failure and Successp. 213
Starting a Projectp. 214
Release Something Usefulp. 216
Packagingp. 219
Announcing the Programp. 222
Running a Projectp. 222
Cultivating Technical Judgmentp. 225
So, Who Is the Maintainer, Really?p. 227
Rule by Committeep. 228
How to Do a Fork, if You Absolutely Mustp. 230
Changing Maintainersp. 232
Stasisp. 233
Knowing What We Don't Knowp. 233
Designing for Decentralized Developmentp. 235
The Importance of Software Designp. 235
Proprietary Software Design vs. Free Software Designp. 236
Cost Issuesp. 237
Design Invariantsp. 238
Code Designp. 239
The Design Documentp. 239
Dividing Code into Files and Directoriesp. 240
Dividing Code into Modulesp. 241
Evolution-Centered Designp. 243
Principles of Free Software Designp. 244
Don't Limit Inputp. 245
Use a Consistent Interfacep. 245
Document Data Structuresp. 246
Make It Portablep. 247
When in Doubt, Abstainp. 248
Third-Party Tools that Work with CVSp. 249
What Are Third-Party Tools?p. 249
pcl-cvs: An Emacs Interface to CVSp. 249
Installing pcl-cvsp. 250
Using pcl-cvsp. 252
Error Handling in pcl-cvsp. 253
cvsutils: General Utilities for Use with CVSp. 253
Cervisiap. 254
cvsup. 254
cvsdop. 255
cvschrootp. 256
cvsrmadmp. 256
cvspurgep. 256
cvsdiscardp. 256
cvscop. 257
cvs2cl.pl: Generate GNU-Style ChangeLogs from CVS Logsp. 257
-h, --helpp. 258
-r, --revisionsp. 258
-t, --tagsp. 258
-b, --branchesp. 258
-g OPTS, --global-opts OPTSp. 258
-l OPTS, --log-opts OPTSp. 259
-d, --distributedp. 259
cvslock: Lock Repositories for Atomicityp. 259
Other Packagesp. 261
Jalindi Igloop. 261
CVSUp (Part of the FreeBSD Project)p. 262
CVSWeb: A Web Interface to CVS Repositoriesp. 262
The CVS contrib/Directoryp. 262
Writing Your Own Toolsp. 262
Complete CVS Referencep. 265
Organization and Conventionsp. 265
Commandsp. 265
General Patterns in CVS Commandsp. 266
Global Optionsp. 267
List of Commandsp. 271
Keyword Substitution (RCS Keywords)p. 301
Controlling Keyword Expansionp. 301
List of Keywordsp. 302
Repository Administrative Filesp. 304
Shared Syntaxp. 304
List of Repository Administrative Filesp. 305
Run Control Filesp. 311
Working Copy Filesp. 312
Environment Variablesp. 314
GNU General Public Licensep. 317
GNU Free Documentation Licensep. 325
Bibliographyp. 333
Indexp. 335
Table of Contents provided by Syndetics. All Rights Reserved.

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.