300 likes | 341 Views
Version Control with Subversion (SVN). http://flic.kr/p/6oP7x7. What are you going to learn about today?. Subversion (SVN)! Version control with… Eclipse Subversive plug-in particulars. http://flic.kr/p/8JpkTg. Basic Version-Control Model. Repository. Client. HEAD. rev1.
E N D
Version Control with Subversion (SVN) http://flic.kr/p/6oP7x7
What are you goingto learn about today? • Subversion (SVN)! • Version control with… • Eclipse Subversive plug-in particulars http://flic.kr/p/8JpkTg
Basic Version-Control Model Repository Client HEAD rev1
Basic Version-Control Model Repository Client svn checkout workingcopy HEAD rev1
Basic Version-Control Model Repository Client workingcopy HEAD rev1 edits/changes
Basic Version-Control Model Repository Client workingcopy rev1 svn commit HEAD rev2
Basic Version-Control Model Repository Client workingcopy rev1 HEAD rev2 more edits/changes
Basic Version-Control Model Repository Client workingcopy rev1 svn commit rev2 HEAD rev3
Basic Version-Control Model Repository Client workingcopy rev1 client can checkout old revisions if he/she wants to rev2 HEAD rev3
Basic Version-Control Model Repository Client workingcopy rev1 rev2 If (this or another) client does checkout without specifying the revision, he/she will get the HEAD revision HEAD rev3
Repository rev305 Client A B C branches trunk tags MyProj
Repository working copy rev305 Client A A B B C C svn checkout branches trunk tags MyProj trunk
Repository working copy rev305 Client A A B B C C branches trunk tags MyProj trunk Note: User can name this folder whatever he/she wants
Repository working copy rev305 Client B’ A A B C C branches trunk tags MyProj trunk User edits a file
Repository working copy rev306 Client B’ B’ A A C C svn commit branches trunk tags MyProj trunk
Repository working copy rev306 Client B’ B’ A A C C branches trunk tags MyProj trunk How would the user tag this revision of the trunk?
Repository working copy rev307 Client svn copy B’ B’ B’ A A A C C C branches trunk trunk HW0 MyProj tags
Repository working copy rev307 Client B’ B’ B’ C’ A A A C C tags HW0 trunk trunk branches MyProj User edits a file
Repository working copy rev308 Client B’ B’ B’ C’ C’ A A A C svn commit MyProj HW0 trunk trunk branches tags
Repository working copy rev308 Client B’ B’ B’ C’ C’ A A A C MyProj tags HW0 trunk trunk branches User can checkout/edit tagged copy if he/she wants to
Repository working copy rev308 Client B’ B’ B’ C’ C’ D A A A C HW0 trunk MyProj trunk branches tags User createsa new file
Repository working copy rev308 Client B’ B’ B’ C’ C’ D A A A C HW0 trunk MyProj trunk branches tags What would happen if the user were to commit?
Repository working copy rev308 Client B’ B’ B’ C’ C’ D A A A C HW0 trunk MyProj trunk branches tags Nothing. User must svn add the file
Repository working copy rev309 Client B’ B’ B’ C’ C’ D D A A A C svn commit MyProj tags trunk branches trunk HW0 Now the commit will do something
Some basic SVN client operations • Getting started: • import • checkout • Keeping synced • commit • update • revert • Comparing w/ repos • status • diff • File management • add • remove • move • copy • Repos history/inspection • log • cat • list • Getting non-svn copy • export Your SVN client (e.g., Eclipse Subversive plug-in)exposes these and/or uses them “under the hood”
Time for a demonstration withEclipse/Subversive http://flic.kr/p/5dfuqL
Summary • SVN version control • Basic SVN operations http://flic.kr/p/YSY3X