version controlling in software development

23
1

Transcript of version controlling in software development

Page 1: version controlling in software development

1

Page 2: version controlling in software development

What is version control. Goals of version control system. centralized version control system basics. Subversion of basics. distributed version control system basics. Advantages. Weaknesses

2

Page 3: version controlling in software development

A version control system is a piece of software that helps the developers on a software team together and also achieve a complete history of their work.

3

Page 4: version controlling in software development

We want people to be able to work simultaneously, not serially.

When people are working at the same time, we want their changes to not conflict with each other.

We want to archive every version of every thing that has ever exited.

4

Page 5: version controlling in software development

Create◦ Create a new, empty repository.

Checkout◦ Create a working copy.

Commit◦ Apply the modifications in the working copy to the

repository as a new changeset.

5

Page 6: version controlling in software development

Update◦ update the working copy with respect to the

repository

Add◦ Add a file or directory

6

Page 7: version controlling in software development

Edit◦ Modify a file.

Delete◦ Delete a file or directory.

7

Page 8: version controlling in software development

Rename◦ Rename a file or directory.

Move◦ Move a file or directory.

8

Page 9: version controlling in software development

Status◦ List the modifications that have been made to

the working copy.

Diff◦ List the modifications that have been made to the

working copy.

9

Page 10: version controlling in software development

Revert◦ Undo modifications that have been made to the

working copy.

Log ◦ Show the history of changes to the repository.

10

Page 11: version controlling in software development

Tag◦ Associate a meaningful name with a specific

version in the repository.

Branch◦ Create another line of development.

11

Page 12: version controlling in software development

Merge◦ Apply changes from one branch to another.

Resolve◦ Handle conflicts resulting from a merge.

12

Page 13: version controlling in software development

Lock◦ Prevent other people from modifying a file.

13

Page 14: version controlling in software development

Operation Subversion Command

Create svnadmin create

Checkout svn checkout

Commit svn commit

Update svn update

Add svn add

Edit a

Delete svn delete

14

Page 15: version controlling in software development

Rename svn move

Move svn move

Status svn status

Diff svn diff

Revert svn revert

Log svn log

Tag svn copyb

15

Page 16: version controlling in software development

Branch svn copyc Merge svn merge Resolve svn resolve Lock svn lock

A Automatic: Subversion will notice that the file has changed. B Built on Subversion’s “cheap copy” mechanism. Appears as a directory in the tree. Equivalent to a branch that never gets modified. C Built on Subversion’s “cheap copy” mechanism. Appears as a directory in the tree.

16

Page 17: version controlling in software development

Clone ◦ Create a new repository instance that is a copy of

another. Push

◦ Copy changesets from a local repository instance to a remote one.

Pull ◦ Copy changesets from a remote repository

instance to a local one.

17

Page 18: version controlling in software development

A variety of version numbering schemes have been created to keep track of different versions of a piece of software.

Some schemes use a zero in the first sequence to designate alpha or beta status for releases that are not stable enough for general or practical deployment and are intended for testing or internal use only.

18

Page 19: version controlling in software development

It can be used in the third position:

◦ 0 for alpha (status)◦ 1 for beta (status)◦ 2 for release candidate◦ 3 for (final) release

19

Page 20: version controlling in software development

Private Workspace Fast Offline Flexible Workflows Easier Merging

20

Page 21: version controlling in software development

Locks Very Large Repositories Integration

21

Page 22: version controlling in software development

http://www.ericsink.com/vcbe

22

Page 23: version controlling in software development

23