Updated August 10, 2026
A software versioning and revision control system distributed as an open-source license by Apache. A version control system helps software developers work together and maintain a complete history of their work.
A VCS is divided into two categories:
- A centralized version control system (CVCS)
- Distributed/ Decentralized Version Control System (DVCS)
Steps to work with SVN
Below are the steps:
- Create a repository: This is the central place where all the files and the history of changes made to those files are stored. The create operation is used to create a new repository and is typically used only once during the initial phase of repository creation.
- Checkout: This is the command itself. It is used to get a working copy from the repository.
- Update: This command is also used to update the working copy. This command synchronizes the working copy with the repository.
- Perform changes: After checking out the files, many changes can be done to the files. The most common is an edit. A user can also add files/ directories or delete them.
- Review changes: After any changes done to the file and before committing the changes to the repository, SVN provides the option of reviewing the changes and updating (add/delete) them.
- Fix mistakes: Revert command is used in this step. It helps with undoing the changes made.
- Resolve conflicts: Suppose a file was added in one branch and deleted in another. In such a situation, a user needs to take the decision. The merge command automatically handles conflicts.
- Commit changes: In this step, changes are done locally in the local copy and copied to the repository, and they persist permanently until any modifications are done in the next checkout. The commit command is used to commit changes.
Setting up subversion
As Subversion is open-source software, it is available freely online. It also comes by default in many Linux installations and is already available on machines. To confirm if SVN is available on the current machine, use the following command
$svn –version
If svn is already present, this command will return the installed software version; otherwise, it will return an error.
For RPM-based GNU/Linux systems, the yum command is used for installing SVN, while for Debian-based GNU/Linux systems, the apt command is used. To create a new repository on a server, we need to install the Apache httpd module and the svnadmin tool
If you are looking for a job related to SVN, you need to prepare for the 2026 SVN Interview Questions. Every interview is indeed different depending on the job profile. Here, we have prepared important SVN Interview Questions and answers to help you succeed in your interview.
In this 2026 SVN Interview Questions article, we shall present the 10 most important and frequently asked SVN interview questions. These questions are divided into two parts as follows:
SVN Interview Questions (Basic)
This first part covers basic Interview Questions and Answers.
Q1. What is SVN?
Answer:
An open-source versioning system. It keeps the repository of every change made to code files or any other files in a system. This system also manages the additions or deletions made. This system provides all the details of the person who made changes to the source code. Useful in projects where multiple people work on the same codebase.
Q2. What is SVN used to store?
Answer:
The SVN used in a store is.
- Source code and application files
- Configuration files
- Database scripts and queries
- Build and deployment files
- Documentation
- Requirements and design documents
- Project-related text files
- Test cases and automation scripts
- Other binary or text-based project assets
Q3. What are the G and R codes in SVN?
Answer:
G and R are status codes that can appear when SVN updates a working copy.
Please find below the different tables that are supported:
- G code: Indicates changes made by one user and committed in the repository are automatically updated in a local working copy.
- R code: It means the item was queued for deletion, and another item with the same name is queued for addition.
For example, update running codes
Other commonly encountered SVN status codes include:
- A — Added
- D — Deleted
- M — Modified
- C — Conflict
- U — Updated
- G — Merged
- R — Replaced
Q4. Can you insert a patch directly into one of the subsections without affecting the entire file?
Answer:
This is a basic SVN interview question. Yes, it can be done with the help of some special methods. It is an advantage for users to submit their changes with minimal turnaround time. Simply create a new patch with the help of the command “filename”. diff file,” and the user is free to make use of the command “Apply Patch” for this.
Q5. Explain the terminologies “trunk”, “batch”, and “tag”.
Answer:
The three common SVN repository structures are trunk, branch, and tag.
- Trunk: It is mainstream of development present in the SVN repository created at the start and exists till the end of a project.
- Branch: A copy derived from a trunk. It flows in the direction of certain changes without disturbing other users. Multiple branches can be created, each having its own path of code changes for different functionalities.
- Tag: A tag is a named snapshot of a particular revision, commonly used to identify releases or important milestones such as v1.0, v2.0, or a production release.
For example, a repository may have the following structure:
project/
├── trunk/
├── branches/
└── tags/
SVN Interview Questions (Advanced)
Let us now have a look at the advanced Interview Questions.
Q6. How does the SVN checkout command work?
Answer:
It will simply create a folder on the local system for the first time and copy all the files to that location. To help the user work independently on the code.
SVN downloads the selected files and directories to the local system. The developer can then modify the files locally and use commands such as svn status, svn diff, svn update, and svn to manage changes.
commit
The working copy maintains SVN metadata that allows SVN to track local modifications and communicate with the repository.
Q7. In a subversion, what is the difference between the SVN commit command and the update command?
Answer:
For an updated local copy of the code, a user uses the “Update command”. This command reflects all the changes made and committed by other users in the project team in the current document. Unlikely, the commit command copies all the changes made to the code by you in your local working copy to the main repository. The commit command minimizes user effort by uploading the files to a repository through a single command.
svn commit -m “Updated login validation”
| Command | Purpose |
| svn update | Repository → Working copy |
| svn commit | Working copy → Repository |
Q8. State the differences between SVN and GIT repositories?
Answer:
| SVN | Git |
| Centralized version control system | Distributed version control system |
| Uses a central repository as the primary source of history | Every clone normally contains the repository history |
| Working with the central repository is a common workflow | Many operations can be performed locally |
| Branches and tags are typically represented as repository paths | Branches are lightweight references |
| Can be convenient for centralized access control and established enterprise workflows | Well suited to distributed development and local branching |
| Supports versioning of large binary files, although repository design and storage strategy still matter | Git can also version binary files, but large, frequently changing binaries can require specialized solutions such as Git LFS |
- Using SVN, a user can use “commit” for multiple branches and tags, while GIT has no such provision.
- In Subversion, new folders can be created at any node of the repository tree; in GIT, new folders are created only at the root node.
- In Subversion, every commit or tag can be converted into a branch, and a single tag can be converted into multiple revisions.
- GIT is not a popular choice for handling large files or for frequently changing binary files.
Q9. Why is the revert command used in Subversion?
Answer:
This is the most-asked SVN interview question. As the word suggests, this command will remove the changes made to a local working copy. The working copy will be in sync with the latest copy in the repository.
This command can be called in the following ways.
- Local Revert: it removes recent changes made after the update command is run but before those changes are committed in a repository.
- Repo Revert: it removes changes done at the repository level.
Q10. How can you check the contents of an SVN repository?
Answer:
In SVN, you can see the tree structure of all the directories, folders, and files present under any given repository. There are subversion commands that help with this. The command path for this is Svn list file://home/xsurface/repo/programming_repo
The svn list command, or svn ls, can be used to view the files and directories available at a repository URL.
For example:
svn list https://example.com/svn/project/
You can also list a specific repository path:
svn list https://example.com/svn/project/trunk/
To display the contents recursively, use:
svn list -R https://example.com/svn/project/
Once this command is executed, you will see the exact structure of a repository.
Q11. What is the SVN status command?
Answer:
The svn status command displays the differences between the working copy and the repository’s known state.
For example:
svn status
It can help identify files that have been:
- Modified
- Added
- Deleted
- Missing
- Replaced
- Conflicted
- Scheduled for other changes
Q12. What is an SVN revision?
Answer:
An SVN revision is a repository-wide version number assigned when a change is committed.
For example:
Revision 250
Represents a particular state of the repository after a commit.
Unlike systems where each file may have its own independent revision sequence, SVN uses a global repository revision number. A commit can therefore update several files and directories under the same new repository revision.
Q13. What is an SVN working copy?
Answer:
An SVN working copy is a local directory created from an SVN repository using a command such as:
svn checkout
Developers make changes inside the working copy. SVN tracks those modifications and allows users to compare, update, revert, and commit them.
A simplified workflow is:
SVN Repository
↓
svn checkout
↓
Local Working Copy
↓
Edit Files
↓
svn status / svn diff
↓
svn commit
↓
SVN Repository
Q14. What happens when two developers modify the same file?
Answer:
SVN allows multiple developers to modify files concurrently.
Suppose Developer A and Developer B both update the same file. If Developer A commits first, Developer B may need to run:
svn update
If SVN can automatically merge the incoming changes with Developer B’s local modifications, the update succeeds without conflict.
If both developers changed overlapping portions of the same file, SVN may report a conflict. The developer must then inspect the conflicting sections, resolve them, and mark the conflict as resolved before committing.
A typical workflow is:
svn update
# resolve conflicts if necessary
svn resolve –accept=working filename
svn commit -m “Resolved changes”
Q15. What is SVN merge?
Answer:
The svn merge command applies changes from one branch or repository path to another working copy.
For example, changes from a feature branch may be merged into the trunk.
A simplified workflow is:
svn update
svn merge ^/project/branches/feature-login
svn status
svn diff
svn commit -m “Merged login feature”
Recommended Article
This has been a guide to the list of SVN Interview Questions and Answers so that the candidate can crack these Interview Questions easily. In this post, we have studied the top SVN interview questions that are often asked. You may also look at the following articles to learn more –
