1) What is SVN?
2) What is the difference between GIT and SVN repository?
- Git does not support “commits” across multiple branches or tags. Subversion allows the creation of folders at any location in the repository layout
- Gits are unchangeable while subversion enables committers to treat a tag a branch and to create multiple revisions under a tag root
- Git is less preferred for handling large files or frequently changing binary files while SVN is capable of handling multiple projects stored in the same repository
3) List out what all things should be stored in the SVN repository?
- Source Code
- Build scripts
- Test data used by QA
- DB schema
- Project settings (When the whole team is using the same IDE)
- Project documentation (Internal and External)
- Minutes of meetings, significant e-mails, and info from the web
- Expensively generated artifacts
- And other documents related to the project
4) What is the command to add a file or dir?
- svn add filename
- svn add dirname
5) List out the common subversion commands?
6) What is the difference between commit and update?
7) Explain how you can apply a patch in SVN?
8) What is the command to create a new directory under version control?
- svn mkdir directory
- svn mkdir http://url/directory
9) How you can import your existing directory into the new repository?
svn import/home/mysurface/programming file:///home/mysurface/repo/programing_repo-m “initial import”
10) What is the command to see what is inside the repository?
11) What is the command to view the difference between the local version and repository version?
- svn diff filename
- svn diff dirname
12) Mention what does the result codes G and R in svn indicates?
- G code: Changes on the repo were automatically merged into the working copy
- R code: This code indicates that the item has been replaced in your working copy. This means the file was programmed or scheduled for deletion, and a new file with the same name was scheduled for addition in its place
13) Mention what is the function of Revert in subversion?
14) Explain how you can revert to a previous version?
- svn merge –r 101:201 abc.txt
- svn commit –m “Reverted to revision 201” abc.txt
15) Which commands can be used to move some subset of code and history of this code from one SVN repo to another?
- svnadmin dump
- svndumpfilter include
- svnadmin load
- svn remove
16) List out what is the best practices for SVN?
- Update and Test before commit
- Work from your own local workspace
- Commit small autonomous changes
- Validate the files you are committing, you actually changed
- Keep in touch with repository
- Watch for conflicts
- Always group your check-in logically
- Use comment
17) Explain what checkout command is and how to use the checkout command in SVN?
For example, you have a project located in the repository created at URL location http://www.guru99.com/svn/myrepo/myproject. So you have to checkout myproject into your local system assuming myrepo is a public repository. You will use code
- svn co http://www.guru99.com/svn/myrepo/myproject .
This command will copy all your files to your current directory. If you want checkout the directory which is in a private repository, you will then use the following command
- svn co http://www.guru99.com/svn/privaterepo/myproject –username admin –password admin