SlideShare a Scribd company logo
Subversion
How to use Tortoise SVN client
for Subversion
Current Versions of Server
• Subversion 1.4.6
• Open source from Tigris.Org
Current Version of client
• TortoiseSVN 1.4.8 works against
Subversion 1.4.6
• Available at Tigris.org
• It works in the Windows Explorer, and is
not bound to any software development
tool
• Is similar to most industrial strength Version
control systems
• More robust
– Atomic commits
– Concurrent usage possible
– Repository is stored in trees with differential data
– No options like ‘Leave local copy / checkout from
repository ?’
– Can be used remotely with greater confidence
Advantages of SVN over VSS
‘Check out’
• Check out is done the first time the client
working copy (working folder) is being set
up
• Create a folder as instructed by the TL
(maybe D:/SVNClient)
• Right click on this new folder and choose
‘SVN Checkout’
Subversion client
Check out
• Click on the ‘SVN Checkout’ option in the
pop up menu
• A Checkout dialog box will pop up
• Key in the URL of the Subversion
repository
(svn://chakravarthy:3691/myWebApp)
• Ensure checkout directory is correct
• Click ‘Ok’
Subversion client
Checkout
• The authentication dialog box will open up
• Key in your ‘Username’ and ‘password’
• Press ‘Ok’
• The checkout dialog box will list the files it
has checked out and it’s revision number
Subversion client
Checkout
• The SVNClient folder now has a green tick
mark to say that the client working folder
(called working copy) is in synch with the
repository
Subversion client
Work as usual ..
• Work as usual to edit or add files in the
folders which have the working copy
• Please note that TortoiseSVN is not
integrated into Visual Studio.NET .
Subversion client
Working on the files
• After some time you save your work
• Now notice the red tick mark on the file
you just now edited
Subversion client
What was the change I did ..
• You can see what are the changes you did
just now
• Right click on the file with the red tick,
choose ‘TortoiseSVN’ and choose ‘Diff’
Subversion client
Changes I did …
• You get a difference between the working
copy and the version you had recently
updated from server
Subversion client
Send changes to repository
• Now that you are satisfied with the change
you made, you can ‘commit’ the change to
the server
• Right click on the file, or any of its parent
folders, and choose ‘SVN Commit’
Subversion client
Key in commit message
• The log message box opens for you to
select the files you wish to commit. Tick
the files you wish to commit
• Only commit files that you are editing, or
files which are needed to rebuild the
system . Do not commit outputs of
compilation
• Key in a suitable message for this commit
Subversion client
Oops file has changed in repository
• If someone else has already committed
the very same file in the meantime, SVN
will ask you to first update your working
copy
Subversion client
Update the working copy
• Right click the file or the parent folders
and choose the ‘SVN Update’ option
Subversion client
Merged
• You will now get a ‘merged’ message box
which means that your change and the
change in the server have got merged in
the working copy
Subversion client
My first conflict !
• If the file I am trying to commit is out of
date, SVN asks me to update my copy first
• So I update it
• However, if the same lines have been
edited or touched in my working copy as
well as the Repository copy, then I get a
conflict error message …..
• The file and folders now have a yellow
warning sign
Subversion client
When there is a conflict …
• When there is a conflict there are 2
additional files beside the file which has
the conflict
• These files have names like
‘filename.mine’, ‘filename.revisionx’ and
‘filename.revisiony’
• Open the conflicting file in an editor
Conflict
• The changes made by you and the
changes made by the other SVN user are
marked by arrows <<<<<<<
• Your change has a caption ‘.mine’ and the
other change has a caption ‘.r(n)’ where n
is the revision number
Subversion client
Edit the conflicting file
• Retain the change which is correct, and
remove the unwanted change
• Save the file
Subversion client
Click the ‘Resolved’ option
• Having cleaned up the conflicting file, now
right click the file or the parent folders and
click the ‘Resolved’ option
Subversion client
Subversion client
Conflict has been resolved
• Conflict has been resolved , unwanted
revision files removed
• Now we need to commit
Subversion client
How to add a file to the repository
• If you have added a file in your working
copy which needs to be added to
repository, right click the file and click
‘Add’
• The ‘file’ that has been added will have a
blue plus sign – but it is not yet in
repository !
Subversion client
Subversion client
Subversion client
Deleting a file in Server
• If you choose a folder / file , right click ,
choose ‘Delete’ and then commit, the
files / folders will get deleted from the
repository
• If you only want to delete the client copy
and get a fresh one from repository, use a
normal file delete and Update your root
folder
Delete a file in SVN
Deleting a file using Tortoise
• Now the file ‘A new file’ has disappeared
from the folder since I used the Tortoise
Delete option against the file
Subversion client
Now I try to commit the parent
folder
The folder needs to be comitted
• After deleting a file using the Tortoise
client, the parent folder needs to be
committed for the file to be deleted from
the repository
• Otherwise the client file would have been
deleted but the server repository still has
the file
Subversion client
Use Tortoise rename
• If you wish to rename a file which is under
SVN, use the Tortoise rename, not the
Windows file rename
Subversion client
Renaming
• The tortoise rename does 2 steps – it first
copies the file to another file with the new
name and it deletes the earlier file
Subversion client
Commit folder after rename
View the history of all changes
• To view who did what , right click the
folder, or file and choose ‘Show Log’
Subversion client
Subversion client
See modifications
• Right click and choose ‘Check for
modifications’
Subversion client
Subversion client
Subversion client
To see contents of Repository
• Right click any item in SVN client, choose
‘Repo browser’
Subversion client
Subversion client
How to tag
• svn copy comes to the rescue. If you want to
create a snapshot of /calc/trunk exactly as it
looks in the HEAD revision, then make a copy of
it:
• $ svn copy
http://svn.example.com/repos/calc/trunk 
http://svn.example.com/repos/calc/tags/release-
1.0  -m "Tagging the 1.0 release of the 'calc'
project." Committed revision 351. This example
assumes that a /calc/tags directory already
exists. (If it doesn't, see svn mkdir).
Authorization
• SVN can authorize a person to read, or
read and write , or not read any particular
folder
• So the SVN Admin will be assigning folder
rights to different roles so that each user
of a certain role only gets the file rights
that is required for him
Resources
• Please read the Tortoise SVN Help which
will be in the client
• You could also read the SVN Book in the
site http://svnbook.red-bean.com/
Glossary – BASE revision
• This is the revision the file or folder was in,
when the last checkout, update or commit
was run .
Glossary - Branch
• You can create a branch off the main
development line so as to develop a new
feature without rendering the main line
unstable. Or you can branch a stable
release to which you make only bugfixes,
while new developments take place on the
unstable trunk. In Subversion a branch is
implemented as a “cheap copy”.
Glossary - Blame
• This command is for text files only, and it
annotates every line to show the
repository revision in which it was last
changed, and the author who made that
change. Our GUI implementation is called
TortoiseBlame and it also shows the
commit date/time and the log message
when you hover the mouse of the revision
number.
Glossary - Commit
• This Subversion command is used to pass
the changes in your local working copy
back into the repository, creating a new
repository revision.
Glossary BDB
• Berkeley DB. A well tested database
backend for repositories, that cannot be
used on network shares. Default for pre
1.2 repositories.
Glossary - Checkout
• A Subversion command which creates a
local working copy in an empty directory
by downloading versioned files from the
repository.
Glossary - Copy
In a Subversion repository you can create a
copy of a single file or an entire tree. These
are implemented as “cheap copies” which act
a bit like a link to the original in that they take
up almost no space. Making a copy preserves
the history of the item in the copy, so you can
trace changes made before the copy was
made.
To ‘tag’ a version , create a SVN folder and use
‘Copy’ to copy the snapshot to the new folder
Glossary - Export
• This command produces a copy of a
versioned folder, just like a working copy,
but without the local .svn folders.
FSFS
• FS File system. A proprietary Subversion
file system backend for repositories. Can
be used on network shares. Default for 1.2
and newer repositories.
Diff
• Shorthand for “Show Differences”. Very
useful when you want to see exactly what
changes have been made.
HEAD revision
• The latest revision of a file or folder in the
repository.
Glossary - Patch
• If a working copy has changes to text files only,
it is possible to use Subversion's Diff command
to generate a single file summary of those
changes in Unified Diff format. A file of this type
is often referred to as a “Patch”, and it can be
emailed to someone else (or to a mailing list)
and applied to another working copy. Someone
without commit access can make changes and
submit a patch file for an authorized committer to
apply. Or if you are unsure about a change you
can submit a patch for others to review.
Glossary - Merge
– The process by which changes from the
repository are added to your working copy
without disrupting any changes you have
already made locally. Sometimes these
changes cannot be reconciled automatically
and the working copy is said to be in conflict.
– Merging happens automatically when you
update your working copy. You can also
merge specific changes from another branch
using TortoiseSVN's Merge command.
Glossary - Switch
• Just as “Update-to-revision” changes the
time window of a working copy to look at a
different point in history, so “Switch”
changes the space window of a working
copy so that it points to a different part of
the repository. It is particularly useful when
working on trunk and branches where only
a few files differ. You can switch your
working copy between the two and only
the changed files will be transferred.
Glossary - Update
• This Subversion command pulls down the
latest changes from the repository into
your working copy, merging any changes
made by others with local changes in the
working copy
Glossary – Working Copy
• This is your local “sandbox”, the area
where you work on the versioned files,
and it normally resides on your local hard
disk. You create a working copy by doing
a “Checkout” from a repository, and you
feed your changes back into the repository
using “Commit”.
Glossary - Property
• In addition to versioning your directories and
files, Subversion allows you to add versioned
metadata - referred to as “properties” to each of
your versioned directories and files. Each
property has a name and a value, rather like a
registry key. Subversion has some special
properties which it uses internally, such as
svn:eol-style. TortoiseSVN has some too, such
as tsvn:logminsize. You can add your own
properties with any name and value you choose
Glossary - Import
• Subversion command to import an entire
folder hierarchy into the repository in a
single revision
Glossary - Relocate
• If your repository moves, perhaps because you
have moved it to a different directory on your
server, or the server domain name has changed,
you need to “relocate” your working copy so that
its repository URLs point to the new location.
• Note: you should only use this command if your
working copy is referring to the same location in
the same repository, but the repository itself has
moved. In any other circumstance you probably
need the “Switch” command instead.
Glossary - Revision
• Every time you commit a set of changes,
you create one new “revision” in the
repository. Each revision represents the
state of the repository tree at a certain
point in its history. If you want to go back
in time you can examine the repository as
it was at revision N.
Glossary - Lock
• When you take out a lock on a versioned
item, you mark it in the repository as un-
committable, except from the working
copy where the lock was taken out.
Glossary - Cleanup
• To quote from the Subversion book: “
Recursively clean up the working copy,
removing locks and resuming unfinished
operations. If you ever get a working copy
locked error, run this command to remove
stale locks and get your working copy into
a usable state again. ” Note that in this
context “lock” refers to local file system
locking, not repository locking.
Integration with Bug Tracking
• To tag each commit to a Bug ID, you can
set one these one of these properties
while configuring Subversion :-
• bugtraq:url : Set this property to the url of
your bugtracking tool. It must be properly
URI encoded and it has to contain
%BUGID%
• http://issues.tortoisesvn.net/?
do=details&id=%BUGID%
Integration with bug tracking
• bugtraq:warnifnoissue
• Set this to true, if you want TortoiseSVN to
warn you because of an empty
issuenumber textfield. Valid values are
true/false. If not defined, false is assumed.
Integration with Bug Tracking
• bugtraq:logregex
• This property activates the Bugtracking
System in Regex mode. It contains one or
two regular expressions, separated by a
newline
• If only one expression is set, then the bare
bug ID's must be matched in the groups of
the regex string. Example: [Ii]ssue(?:s)?
#?(d+)
Tools to integrate with VS.NET
• AnkhSVN
• VisualSVN

More Related Content

What's hot (20)

PPT
Subversion workshop
TrafeX
 
ODP
Nguyễn Vũ Hưng: Subversion best practices
Vu Hung Nguyen
 
PPTX
SVN Basics
Shiva Somvanshi
 
PPTX
SVN Information
RAHUL TRIPATHI
 
PPT
SVN Tool Information : Best Practices
Maidul Islam
 
PDF
Introduction to Subversion
Atul Jha
 
PDF
Subversion Best Practices
Matt Wood
 
PPT
Part 4 - Managing your svn repository using jas forge
Jasmine Conseil
 
PDF
Version Control With Subversion
Samnang Chhun
 
PPT
Subversion Overview
polarion
 
PPTX
Subversion
thebdot1
 
PPTX
Getting Started With Subversion
Jordan Hatch
 
ODP
Practical SVN for PHP Developers
Lorna Mitchell
 
KEY
SVN Best Practices
abackstrom
 
PDF
Svn tutorial
kalyansiri
 
PDF
How to use CVS applied to SOLab
Pablo Arriazu
 
PPTX
SVN Best Practices
ESRI Bulgaria
 
PPTX
Subversion last minute survival crash course
Fazreil Amreen Abdul Jalil
 
PDF
Version Control with SVN
PHPBelgium
 
PDF
Version Control with Subversion
Guy K. Kloss
 
Subversion workshop
TrafeX
 
Nguyễn Vũ Hưng: Subversion best practices
Vu Hung Nguyen
 
SVN Basics
Shiva Somvanshi
 
SVN Information
RAHUL TRIPATHI
 
SVN Tool Information : Best Practices
Maidul Islam
 
Introduction to Subversion
Atul Jha
 
Subversion Best Practices
Matt Wood
 
Part 4 - Managing your svn repository using jas forge
Jasmine Conseil
 
Version Control With Subversion
Samnang Chhun
 
Subversion Overview
polarion
 
Subversion
thebdot1
 
Getting Started With Subversion
Jordan Hatch
 
Practical SVN for PHP Developers
Lorna Mitchell
 
SVN Best Practices
abackstrom
 
Svn tutorial
kalyansiri
 
How to use CVS applied to SOLab
Pablo Arriazu
 
SVN Best Practices
ESRI Bulgaria
 
Subversion last minute survival crash course
Fazreil Amreen Abdul Jalil
 
Version Control with SVN
PHPBelgium
 
Version Control with Subversion
Guy K. Kloss
 

Similar to Subversion client (20)

PPTX
Subversion
Vaibhav Sakhalkar
 
PPTX
Slide set 7 (Source Code Management History Overview) - Copy.pptx
UTKARSHBHARDWAJ71
 
PPTX
SVN
enggHeads
 
PPT
Source control
anushka perera
 
PPT
Subversion on .Unix
Trong Dinh
 
PPT
Subversion on .Unix
Trong Dinh
 
PPTX
Random House
victorlukianchikov
 
PPTX
02-version control(DevOps Series)
Mohammed Shaban
 
PDF
Difference between team foundation server and subversion
Umar Ali
 
PPTX
Source version control using subversion
Mangesh Bhujbal
 
PPTX
Version Control Training - First Lego League
Jeffrey T. Pollock
 
PPT
subversion.ppt
TahaKhayyam
 
PPT
SVN session from PiTechnologies
PiTechnologies
 
PPTX
Git
Okba Mahdjoub
 
PDF
Git your life for fun & profit
Geeks Anonymes
 
PDF
Grasp(eo) versioning system Final presentation
Nikita Grishin
 
PDF
Git your life for fun & profit
Interface ULg, LIEGE science park
 
PDF
Drupal Version Control & File System Basics
Julia Kulla-Mader
 
PPTX
Subversion
Murtaza Abbas
 
Subversion
Vaibhav Sakhalkar
 
Slide set 7 (Source Code Management History Overview) - Copy.pptx
UTKARSHBHARDWAJ71
 
Source control
anushka perera
 
Subversion on .Unix
Trong Dinh
 
Subversion on .Unix
Trong Dinh
 
Random House
victorlukianchikov
 
02-version control(DevOps Series)
Mohammed Shaban
 
Difference between team foundation server and subversion
Umar Ali
 
Source version control using subversion
Mangesh Bhujbal
 
Version Control Training - First Lego League
Jeffrey T. Pollock
 
subversion.ppt
TahaKhayyam
 
SVN session from PiTechnologies
PiTechnologies
 
Git your life for fun & profit
Geeks Anonymes
 
Grasp(eo) versioning system Final presentation
Nikita Grishin
 
Git your life for fun & profit
Interface ULg, LIEGE science park
 
Drupal Version Control & File System Basics
Julia Kulla-Mader
 
Subversion
Murtaza Abbas
 
Ad

More from rchakra (11)

PPTX
Requirement management presentation to a software team
rchakra
 
PPT
Sql 2005 the ranking functions
rchakra
 
PPT
Sql basics 2
rchakra
 
PPT
T-Sql basics
rchakra
 
PPT
Sql architecture
rchakra
 
PPT
Introduction to ADO.NET
rchakra
 
PPTX
Intro to Microsoft.NET
rchakra
 
PPT
Object oriented programming systems
rchakra
 
PPT
Subversion Admin
rchakra
 
PPT
Intro to UML 2
rchakra
 
PPT
Intro To .Net Threads
rchakra
 
Requirement management presentation to a software team
rchakra
 
Sql 2005 the ranking functions
rchakra
 
Sql basics 2
rchakra
 
T-Sql basics
rchakra
 
Sql architecture
rchakra
 
Introduction to ADO.NET
rchakra
 
Intro to Microsoft.NET
rchakra
 
Object oriented programming systems
rchakra
 
Subversion Admin
rchakra
 
Intro to UML 2
rchakra
 
Intro To .Net Threads
rchakra
 
Ad

Subversion client

  • 1. Subversion How to use Tortoise SVN client for Subversion
  • 2. Current Versions of Server • Subversion 1.4.6 • Open source from Tigris.Org
  • 3. Current Version of client • TortoiseSVN 1.4.8 works against Subversion 1.4.6 • Available at Tigris.org • It works in the Windows Explorer, and is not bound to any software development tool
  • 4. • Is similar to most industrial strength Version control systems • More robust – Atomic commits – Concurrent usage possible – Repository is stored in trees with differential data – No options like ‘Leave local copy / checkout from repository ?’ – Can be used remotely with greater confidence Advantages of SVN over VSS
  • 5. ‘Check out’ • Check out is done the first time the client working copy (working folder) is being set up • Create a folder as instructed by the TL (maybe D:/SVNClient) • Right click on this new folder and choose ‘SVN Checkout’
  • 7. Check out • Click on the ‘SVN Checkout’ option in the pop up menu • A Checkout dialog box will pop up • Key in the URL of the Subversion repository (svn://chakravarthy:3691/myWebApp) • Ensure checkout directory is correct • Click ‘Ok’
  • 9. Checkout • The authentication dialog box will open up • Key in your ‘Username’ and ‘password’ • Press ‘Ok’ • The checkout dialog box will list the files it has checked out and it’s revision number
  • 11. Checkout • The SVNClient folder now has a green tick mark to say that the client working folder (called working copy) is in synch with the repository
  • 13. Work as usual .. • Work as usual to edit or add files in the folders which have the working copy • Please note that TortoiseSVN is not integrated into Visual Studio.NET .
  • 15. Working on the files • After some time you save your work • Now notice the red tick mark on the file you just now edited
  • 17. What was the change I did .. • You can see what are the changes you did just now • Right click on the file with the red tick, choose ‘TortoiseSVN’ and choose ‘Diff’
  • 19. Changes I did … • You get a difference between the working copy and the version you had recently updated from server
  • 21. Send changes to repository • Now that you are satisfied with the change you made, you can ‘commit’ the change to the server • Right click on the file, or any of its parent folders, and choose ‘SVN Commit’
  • 23. Key in commit message • The log message box opens for you to select the files you wish to commit. Tick the files you wish to commit • Only commit files that you are editing, or files which are needed to rebuild the system . Do not commit outputs of compilation • Key in a suitable message for this commit
  • 25. Oops file has changed in repository • If someone else has already committed the very same file in the meantime, SVN will ask you to first update your working copy
  • 27. Update the working copy • Right click the file or the parent folders and choose the ‘SVN Update’ option
  • 29. Merged • You will now get a ‘merged’ message box which means that your change and the change in the server have got merged in the working copy
  • 31. My first conflict ! • If the file I am trying to commit is out of date, SVN asks me to update my copy first • So I update it • However, if the same lines have been edited or touched in my working copy as well as the Repository copy, then I get a conflict error message ….. • The file and folders now have a yellow warning sign
  • 33. When there is a conflict … • When there is a conflict there are 2 additional files beside the file which has the conflict • These files have names like ‘filename.mine’, ‘filename.revisionx’ and ‘filename.revisiony’ • Open the conflicting file in an editor
  • 34. Conflict • The changes made by you and the changes made by the other SVN user are marked by arrows <<<<<<< • Your change has a caption ‘.mine’ and the other change has a caption ‘.r(n)’ where n is the revision number
  • 36. Edit the conflicting file • Retain the change which is correct, and remove the unwanted change • Save the file
  • 38. Click the ‘Resolved’ option • Having cleaned up the conflicting file, now right click the file or the parent folders and click the ‘Resolved’ option
  • 41. Conflict has been resolved • Conflict has been resolved , unwanted revision files removed • Now we need to commit
  • 43. How to add a file to the repository • If you have added a file in your working copy which needs to be added to repository, right click the file and click ‘Add’ • The ‘file’ that has been added will have a blue plus sign – but it is not yet in repository !
  • 47. Deleting a file in Server • If you choose a folder / file , right click , choose ‘Delete’ and then commit, the files / folders will get deleted from the repository • If you only want to delete the client copy and get a fresh one from repository, use a normal file delete and Update your root folder
  • 48. Delete a file in SVN
  • 49. Deleting a file using Tortoise • Now the file ‘A new file’ has disappeared from the folder since I used the Tortoise Delete option against the file
  • 51. Now I try to commit the parent folder
  • 52. The folder needs to be comitted • After deleting a file using the Tortoise client, the parent folder needs to be committed for the file to be deleted from the repository • Otherwise the client file would have been deleted but the server repository still has the file
  • 54. Use Tortoise rename • If you wish to rename a file which is under SVN, use the Tortoise rename, not the Windows file rename
  • 56. Renaming • The tortoise rename does 2 steps – it first copies the file to another file with the new name and it deletes the earlier file
  • 59. View the history of all changes • To view who did what , right click the folder, or file and choose ‘Show Log’
  • 62. See modifications • Right click and choose ‘Check for modifications’
  • 66. To see contents of Repository • Right click any item in SVN client, choose ‘Repo browser’
  • 69. How to tag • svn copy comes to the rescue. If you want to create a snapshot of /calc/trunk exactly as it looks in the HEAD revision, then make a copy of it: • $ svn copy http://svn.example.com/repos/calc/trunk http://svn.example.com/repos/calc/tags/release- 1.0 -m "Tagging the 1.0 release of the 'calc' project." Committed revision 351. This example assumes that a /calc/tags directory already exists. (If it doesn't, see svn mkdir).
  • 70. Authorization • SVN can authorize a person to read, or read and write , or not read any particular folder • So the SVN Admin will be assigning folder rights to different roles so that each user of a certain role only gets the file rights that is required for him
  • 71. Resources • Please read the Tortoise SVN Help which will be in the client • You could also read the SVN Book in the site http://svnbook.red-bean.com/
  • 72. Glossary – BASE revision • This is the revision the file or folder was in, when the last checkout, update or commit was run .
  • 73. Glossary - Branch • You can create a branch off the main development line so as to develop a new feature without rendering the main line unstable. Or you can branch a stable release to which you make only bugfixes, while new developments take place on the unstable trunk. In Subversion a branch is implemented as a “cheap copy”.
  • 74. Glossary - Blame • This command is for text files only, and it annotates every line to show the repository revision in which it was last changed, and the author who made that change. Our GUI implementation is called TortoiseBlame and it also shows the commit date/time and the log message when you hover the mouse of the revision number.
  • 75. Glossary - Commit • This Subversion command is used to pass the changes in your local working copy back into the repository, creating a new repository revision.
  • 76. Glossary BDB • Berkeley DB. A well tested database backend for repositories, that cannot be used on network shares. Default for pre 1.2 repositories.
  • 77. Glossary - Checkout • A Subversion command which creates a local working copy in an empty directory by downloading versioned files from the repository.
  • 78. Glossary - Copy In a Subversion repository you can create a copy of a single file or an entire tree. These are implemented as “cheap copies” which act a bit like a link to the original in that they take up almost no space. Making a copy preserves the history of the item in the copy, so you can trace changes made before the copy was made. To ‘tag’ a version , create a SVN folder and use ‘Copy’ to copy the snapshot to the new folder
  • 79. Glossary - Export • This command produces a copy of a versioned folder, just like a working copy, but without the local .svn folders.
  • 80. FSFS • FS File system. A proprietary Subversion file system backend for repositories. Can be used on network shares. Default for 1.2 and newer repositories.
  • 81. Diff • Shorthand for “Show Differences”. Very useful when you want to see exactly what changes have been made.
  • 82. HEAD revision • The latest revision of a file or folder in the repository.
  • 83. Glossary - Patch • If a working copy has changes to text files only, it is possible to use Subversion's Diff command to generate a single file summary of those changes in Unified Diff format. A file of this type is often referred to as a “Patch”, and it can be emailed to someone else (or to a mailing list) and applied to another working copy. Someone without commit access can make changes and submit a patch file for an authorized committer to apply. Or if you are unsure about a change you can submit a patch for others to review.
  • 84. Glossary - Merge – The process by which changes from the repository are added to your working copy without disrupting any changes you have already made locally. Sometimes these changes cannot be reconciled automatically and the working copy is said to be in conflict. – Merging happens automatically when you update your working copy. You can also merge specific changes from another branch using TortoiseSVN's Merge command.
  • 85. Glossary - Switch • Just as “Update-to-revision” changes the time window of a working copy to look at a different point in history, so “Switch” changes the space window of a working copy so that it points to a different part of the repository. It is particularly useful when working on trunk and branches where only a few files differ. You can switch your working copy between the two and only the changed files will be transferred.
  • 86. Glossary - Update • This Subversion command pulls down the latest changes from the repository into your working copy, merging any changes made by others with local changes in the working copy
  • 87. Glossary – Working Copy • This is your local “sandbox”, the area where you work on the versioned files, and it normally resides on your local hard disk. You create a working copy by doing a “Checkout” from a repository, and you feed your changes back into the repository using “Commit”.
  • 88. Glossary - Property • In addition to versioning your directories and files, Subversion allows you to add versioned metadata - referred to as “properties” to each of your versioned directories and files. Each property has a name and a value, rather like a registry key. Subversion has some special properties which it uses internally, such as svn:eol-style. TortoiseSVN has some too, such as tsvn:logminsize. You can add your own properties with any name and value you choose
  • 89. Glossary - Import • Subversion command to import an entire folder hierarchy into the repository in a single revision
  • 90. Glossary - Relocate • If your repository moves, perhaps because you have moved it to a different directory on your server, or the server domain name has changed, you need to “relocate” your working copy so that its repository URLs point to the new location. • Note: you should only use this command if your working copy is referring to the same location in the same repository, but the repository itself has moved. In any other circumstance you probably need the “Switch” command instead.
  • 91. Glossary - Revision • Every time you commit a set of changes, you create one new “revision” in the repository. Each revision represents the state of the repository tree at a certain point in its history. If you want to go back in time you can examine the repository as it was at revision N.
  • 92. Glossary - Lock • When you take out a lock on a versioned item, you mark it in the repository as un- committable, except from the working copy where the lock was taken out.
  • 93. Glossary - Cleanup • To quote from the Subversion book: “ Recursively clean up the working copy, removing locks and resuming unfinished operations. If you ever get a working copy locked error, run this command to remove stale locks and get your working copy into a usable state again. ” Note that in this context “lock” refers to local file system locking, not repository locking.
  • 94. Integration with Bug Tracking • To tag each commit to a Bug ID, you can set one these one of these properties while configuring Subversion :- • bugtraq:url : Set this property to the url of your bugtracking tool. It must be properly URI encoded and it has to contain %BUGID% • http://issues.tortoisesvn.net/? do=details&id=%BUGID%
  • 95. Integration with bug tracking • bugtraq:warnifnoissue • Set this to true, if you want TortoiseSVN to warn you because of an empty issuenumber textfield. Valid values are true/false. If not defined, false is assumed.
  • 96. Integration with Bug Tracking • bugtraq:logregex • This property activates the Bugtracking System in Regex mode. It contains one or two regular expressions, separated by a newline • If only one expression is set, then the bare bug ID's must be matched in the groups of the regex string. Example: [Ii]ssue(?:s)? #?(d+)
  • 97. Tools to integrate with VS.NET • AnkhSVN • VisualSVN