sabriansyah r.a version control. the repository subversion adalah sistem tersentralisasi untuk...

20
Sabriansyah R.A Version Control

Upload: everett-goodwin

Post on 19-Jan-2016

212 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Sabriansyah R.A

Version Control

Page 2: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

The RepositoryThe Repository• Subversion adalah sistem tersentralisasi untuk

informasi sharing• Repository adalah pusat penyimpanan data dalam

betuk filesystem tree.

2

Page 3: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Problem of File-Sharing Problem of File-Sharing

3

Page 4: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Lock-Modify-Unlock Solution Lock-Modify-Unlock Solution

4

Page 5: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Copy-Modify-Merge Solution Copy-Modify-Merge Solution

5

Page 6: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Version Control ?

• Mengatur file sharing untuk Concurrent Development

• Keeps track of changes withVersion Control

• SubVersion (SVN) http://subversion.tigris.org/ is a version control system

Page 7: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

SubversionSubversion

http://subversion.tigris.org/

http://svnbook.red-bean.com/

7

Subversion is the free/open-source version control system

Manages files and directories over time.

Remember every change even made to files and directories.

Allows to recover older version of the code or examine the history of how your data changed.

Collaborative editing and sharing of data (source code).

Page 8: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Concurrent Development

• Server holds all original files of a project Gives out copies to participants (clients)

• Participants modify their copies Submit their changes to server

• Automatically merges changes into original files. Huge!

• Conflicts only occur when modifications are done – by more then one participant – at the same location in their respective copies.– Then participants have to manually resolve such conflicts.

Rare!

• Powerful edit and merge tools help make this task easy

Page 9: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Version Control• SVN keeps log of any changes made to any file.

Ever!Also keeps copies of those changes. For ever!

• Participants can go back and receive older versions of a file or even an older version of an entire project state

Example:• The current version number of our project in SVN is

#5 In the future you can always load the project exactly as it is today by requesting project version #5; et voila you can run an age old demo!

Page 10: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

How to use SVN (in a nutshell)

Checkout:• receives a copy of an entire project from the SVN server• (source files, project & make files, resource files, etc.)

Update:• receives copies of individual files or folders on the server

and merges them with your current copy (locally)

Commit:• sends an updated file (your local copy) to the SVN server

where it is incorporated into the original project database; a new version number is assigned not the entire project

Add:• notifies SVN of a new file or folder that needs to be added

to the existing project (only if SVN is aware of a file, can you commit the file)

Page 11: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

SubversionSubversion

11

Subversion Repository

Subversionlibrary

Internet/Intranet(any TCP/IP Network)

Client interface

Command line

TortoiseSVN

Subversionserver

http://joolz.csie.ncku.edu.tw/svn/team_name

projectrepository

your project working copyProj

SPMSPMProj

Page 12: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

RepositoryRepository• Access Mode

– The SVN server of Lab. is constructed in Apache server

12

Page 13: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

SVN CLIENSVN CLIENTT

13

Page 14: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

SVN Client : TortoiseSVNSVN Client : TortoiseSVNhttp://tortoisesvn.sourceforge.net/

14

TortoiseSVN is a free open-source client for the Subversion version control system.

Extension for the Windows Explorer.

Icons overlay shows all versioned / modified files.

All Subversion commands available from the explorer context menu.

available via a simple right click.

TortoiseSVN requires the administrative rights on your computer to be installed.

TortoiseSVN is a free open-source client for the Subversion version control system.

Extension for the Windows Explorer.

Icons overlay shows all versioned / modified files.

All Subversion commands available from the explorer context menu.

available via a simple right click.

TortoiseSVN requires the administrative rights on your computer to be installed.

Page 15: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Explorer showing icon Explorer showing icon overlaysoverlays

15

Page 16: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data
Page 17: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data
Page 18: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Further Considerations• before doing a commityou MUST do an UPDATE (and resolve any possible conflicts) BEFORE you COMMIT your copy

• to add a new file or folderyou need to use ADD and then COMMIT

• if you want to get rid of a file,you need to delete it in your local folder and then COMMIT the folder

Page 19: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

Further Considerations (cont.)

• Make sure to UPDATE REGULARLYotherwise you will have lots of conflicts

• SVN will not help you if you do not COMMIT REGULARLY

• If you add lots of new stuff,make sure to COMMIT EVERYTING

Page 20: Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data

SVN vs. CVS

• Functional replacement for CVS• Directory versioning (renames and moves)

• Atomic commits (all or nothing)• Faster network access (binary diffs)

• Requires less network access