Top Banner
Concurrent Version management CVS (tortoise, smart cvs etc.) Slide Prepared By @Mirza Mohtashim Alam
41
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Concurrent version management(tortoise CVS)

Concurrent Version management

CVS (tortoise, smart cvs etc.)

Slide Prepared By @Mirza Mohtashim Alam

Page 2: Concurrent version management(tortoise CVS)

A short briefing

• What is CVS? And Why Do we need it?

• What Are the features?

• What are the tools?

Slide Prepared By @Mirza Mohtashim Alam

Page 3: Concurrent version management(tortoise CVS)

• Concurrent access by multiple developers

• Multiple development lines in a single repository

• Symbolic source tagging

• Difference between versions

• Binary files support

• Repository event triggers

• Grouping sources into modules

CVS futures

Slide Prepared By @Mirza Mohtashim Alam

Page 4: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.1

A generic software

Slide Prepared By @Mirza Mohtashim Alam

Page 5: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.1

A generic software

Repository

Check In

Slide Prepared By @Mirza Mohtashim Alam

Page 6: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

A generic software

Repository

Check In

Slide Prepared By @Mirza Mohtashim Alam

Page 7: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Check In

Slide Prepared By @Mirza Mohtashim Alam

Page 8: Concurrent version management(tortoise CVS)

What are the benefits?

Slide Prepared By @Mirza Mohtashim Alam

Page 9: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Easy to know about other related programs updates those are being developed by other programmers.

Slide Prepared By @Mirza Mohtashim Alam

Page 10: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

All the versions of the builds of the programs are being stored in the

repository in a hierarchy.

Slide Prepared By @Mirza Mohtashim Alam

Page 11: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Easy to work with client. BUT HOW?

Slide Prepared By @Mirza Mohtashim Alam

Page 12: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Suppose, All the versions of the

programs are now in the repository after

being updated several times by the developers

Slide Prepared By @Mirza Mohtashim Alam

Page 13: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Now client wants a software that works with the build 1.2 version of

program_2 with build 1.1 version of program_3 and

program_1

Slide Prepared By @Mirza Mohtashim Alam

Page 14: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

It can be easily managed by tagging and

update it into the repository.

Slide Prepared By @Mirza Mohtashim Alam

Page 15: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Solution: TAG program_1 version1.1,

program_2 version 1.1,program_3

version1.3 with some name and update

them into repository.

Tag_1 Tag_1

Tag_1

Slide Prepared By @Mirza Mohtashim Alam

Page 16: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Solution: TAG program_1 version1.1,

program_2 version 1.1,program_3

version1.3 with some name and update

them into repository.

Tag_1 Tag_1

Tag_1

Update Tag_1 named under client1

into the repository.

Slide Prepared By @Mirza Mohtashim Alam

Page 17: Concurrent version management(tortoise CVS)

Versioning of software

Repository will now have a tag Client1:Tag_1

Repository

CLIENT1:TAG_1

Slide Prepared By @Mirza Mohtashim Alam

Page 18: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Tag_2

Tag_2

Tag_2

Update Tag_2 named under client2

into the repository.

Slide Prepared By @Mirza Mohtashim Alam

Page 19: Concurrent version management(tortoise CVS)

Versioning of software

Repository will now have a tag Client1:Tag_1

Repository

CLIENT1:TAG_1CLIENT2:TAG_2

Slide Prepared By @Mirza Mohtashim Alam

Page 20: Concurrent version management(tortoise CVS)

Versioning of software

Program_1

Version 1.1

Version 1.2

Program_2Program_3

Version 1.1

Version 1.2

Version 1.1

Version 1.3

A generic software

Repository

Version 1.1.2

Version 1.1.3

Everyone find this version

faulty

BRANCHING:A new Branch

has been created of program_1

Slide Prepared By @Mirza Mohtashim Alam

Page 21: Concurrent version management(tortoise CVS)

Sample Process of CVS

• Repository

WorkingCopyV1.7 Working

Copy V1.1WorkingCopy V1.2

WorkingCopyV1.7

WorkingCopyV1.2.2.1

Programmer_2 Programmer_4Programmer_5

X XV1.8 or 1.9

V1.8 or 1.9V1.2.2.2

checkin

checkincheckin

checkin prohibited

programmer_3

Programmer_1

Slide Prepared By @Mirza Mohtashim Alam

Page 22: Concurrent version management(tortoise CVS)

CVS and Development Cycle

1. Check out source files in working directory.

2. Edit source files.

3. Unit test your code.

4. Update working files to merge in changes from other developers (if necessary).

5. Test again if the sources were merged on step 4.

6. Commit changes.

7. Repeat from step 2 until you have a new release.

8. Tag the release.

Slide Prepared By @Mirza Mohtashim Alam

Page 23: Concurrent version management(tortoise CVS)

Tortoise CVS

ABOUT:TortoiseCVS is a CVS client for Microsoft Windowsreleased under the GNU General Public License. Unlike most

CVS tools, it includes itself in Windows' shell by adding entries in the contextual menu of the file explorer, therefore it does not run in its own window. Moreover, it adds icons onto files

and directories controlled by CVS, giving additional information to the user without having to run a full-scale

stand-alone application. It has a good user interface to work with. People find it easier to use.

Slide Prepared By @Mirza Mohtashim Alam

Page 24: Concurrent version management(tortoise CVS)

USING Tortoise CVS

New File Creation:

Slide Prepared By @Mirza Mohtashim Alam

Page 25: Concurrent version management(tortoise CVS)

USING Tortoise CVS

New File Creation:

Slide Prepared By @Mirza Mohtashim Alam

Page 26: Concurrent version management(tortoise CVS)

USING Tortoise CVS

Check-in:

Slide Prepared By @Mirza Mohtashim Alam

Page 27: Concurrent version management(tortoise CVS)

USING Tortoise CVS

Check-in:

Slide Prepared By @Mirza Mohtashim Alam

Page 28: Concurrent version management(tortoise CVS)

USING Tortoise CVS

Check-out:

Slide Prepared By @Mirza Mohtashim Alam

Page 29: Concurrent version management(tortoise CVS)

USING Tortoise CVS

Check-out:

Slide Prepared By @Mirza Mohtashim Alam

Page 30: Concurrent version management(tortoise CVS)

USING Tortoise CVS

Check-out:

Slide Prepared By @Mirza Mohtashim Alam

Page 31: Concurrent version management(tortoise CVS)

USING Tortoise CVS

TAG:

Slide Prepared By @Mirza Mohtashim Alam

Page 32: Concurrent version management(tortoise CVS)

USING Tortoise CVS

TAG:

Slide Prepared By @Mirza Mohtashim Alam

Page 33: Concurrent version management(tortoise CVS)

USING Tortoise CVS

TAG:

Slide Prepared By @Mirza Mohtashim Alam

Page 34: Concurrent version management(tortoise CVS)

USING Tortoise CVS

BRANCHING:

Slide Prepared By @Mirza Mohtashim Alam

Page 35: Concurrent version management(tortoise CVS)

USING Tortoise CVS

BRANCHING:

Slide Prepared By @Mirza Mohtashim Alam

Page 36: Concurrent version management(tortoise CVS)

USING Tortoise CVS

BRANCHING:

Slide Prepared By @Mirza Mohtashim Alam

Page 37: Concurrent version management(tortoise CVS)

USING Tortoise CVS

BRANCHING:

Slide Prepared By @Mirza Mohtashim Alam

Page 38: Concurrent version management(tortoise CVS)

USING Tortoise CVS

BRANCHING:

Slide Prepared By @Mirza Mohtashim Alam

Page 39: Concurrent version management(tortoise CVS)

USING Tortoise CVS

When to commit(check-in):

• 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.

Slide Prepared By @Mirza Mohtashim Alam

Page 40: Concurrent version management(tortoise CVS)

USING Tortoise CVS

Branch Needed When:

• to create sustaining (patch) releases

• to have multiple development lines from a single repository

• to do experimental development to merge later or forget about

it

• to keep temporary state of development without affecting

builds

Slide Prepared By @Mirza Mohtashim Alam

Page 41: Concurrent version management(tortoise CVS)

USING Tortoise CVS

You can get this slide from http://www.slideshare.net/Mirza_Mohtashim/concurrent-version-managementtortoise-cvs

Slide Prepared By @Mirza Mohtashim Alam