




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This exam is intended for professionals who manage and work with Subversion (SVN), a version control system. The test covers the ability to manage repositories, track changes, branch and merge code, and handle conflicts. Candidates will demonstrate proficiency in using SVN for team collaboration, version tracking, and maintaining code integrity across multiple versions. The exam includes practical scenarios such as branching strategies, commit policies, and integration with build systems.
Typology: Exams
1 / 101
This page cannot be seen from the preview
Don't miss anything!





























































































Question 1. What component stores the complete history of all files and directories in a Subversion system? A) Working copy B) Repository C) Tag D) Branch Answer: B Explanation: The repository is the central storage that maintains every revision of every file and directory. Question 2. In Subversion, what does the term “atomic commit” mean? A) Only one file can be committed at a time B) The commit is recorded as a single, indivisible transaction C) Commits are automatically merged D) Commits are split into multiple revisions Answer: B Explanation: An atomic commit ensures that either all changes are stored together or none are, preserving data integrity. Question 3. Which of the following statements best describes a working copy? A) A read‑only snapshot of the repository B) A local, editable copy of a portion of the repository C) A backup of the repository on the server D) A branch that cannot be modified
Answer: B Explanation: A working copy is the local directory where developers edit files before committing them back to the repository. Question 4. How are revision numbers assigned in Subversion? A) Per file, starting at 1 for each file B) Globally, incremented by one for every commit to the repository C) Randomly generated UUIDs D) Only for branches, not for trunk Answer: B Explanation: Subversion uses a single, monotonically increasing revision number for the whole repository. Question 5. What is the primary advantage of the “copy is cheap” principle in Subversion? A) It reduces network bandwidth usage B) Branches and tags are created instantly without copying file contents C) It compresses the repository automatically D) It disables versioning for copied files Answer: B Explanation: Subversion implements branches and tags as cheap copies that share history, making creation fast and storage efficient. Question 6. Which backend stores each revision as a separate file on the filesystem?
Answer: C Explanation: The pre‑commit hook runs before the transaction is finalized, allowing validation or rejection of the commit. Question 9. In the standard repository layout, where should stable releases be stored? A) /trunk B) /branches C) /tags D) /releases Answer: C Explanation: Tags are intended for immutable snapshots such as stable releases. Question 10. Which property controls how Subversion treats line endings on checkout? A) svn:mime-type B) svn:keywords C) svn:eol-style D) svn:externals Answer: C Explanation: svn:eol-style normalizes line endings according to the specified style (native, LF, CRLF). Question 11. How would you set a property that expands $Id$ keywords in a file? A) svn propset svn:keywords Id filename
B) svn propedit svn:eol-style native filename C) svn propset svn:mime-type text/plain filename D) svn propdel svn:keywords filename Answer: A Explanation: Setting svn:keywords to “Id” enables Subversion to substitute the $Id$ keyword with revision information. Question 12. Which command retrieves a fresh copy of a repository path into a new local directory? A) svn update B) svn checkout C) svn export D) svn switch Answer: B Explanation: svn checkout creates a working copy that is linked to the repository for future commits. Question 13. After running “svn update”, you see a “G” status next to a file. What does this indicate? A) The file was added locally B) The file was deleted locally C) The file was merged automatically with no conflicts D) The file is missing
A) svn add B) svn copy C) svn import D) svn mkdir Answer: A Explanation: svn add marks a file or directory to be added in the next commit. Question 17. What is the effect of “svn move” on the repository history? A) It creates a new file without preserving history B) It performs a copy followed by a delete, preserving history as a move C) It only renames the file locally, not in the repository D) It deletes the source file permanently Answer: B Explanation: svn move is implemented as a copy plus delete, keeping the history of the original file. Question 18. How can you discard all local changes to a file and revert it to the base revision? A) svn revert filename B) svn update - r HEAD filename C) svn diff filename D) svn log filename
Answer: A Explanation: svn revert restores the file to the pristine version stored in the working copy. Question 19. Which command compares the differences between revision 10 and revision 15 of a file? A) svn diff - r 10:15 filename B) svn log - r 10:15 filename C) svn merge - r 10:15 filename D) svn annotate - r 10:15 filename Answer: A Explanation: The - r option specifies the start and end revisions for the diff. Question 20. How do you view the commit log limited to the last five revisions? A) svn log - l 5 B) svn log - r HEAD: C) svn log --limit= D) Both A and C Answer: D Explanation: Both “-l 5” and “--limit=5” restrict the output to the most recent five entries. Question 21. What does the “@” syntax (peg revision) allow you to do? A) Specify a revision for a property change B) Refer to a path as it existed at a particular revision, even if it was renamed or moved
Question 24. After manually fixing a conflict, which command tells Subversion that the conflict is resolved? A) svn revert B) svn resolved C) svn commit D) svn unlock Answer: B Explanation: svn resolved removes conflict markers from the working copy’s metadata. Question 25. Which command creates a branch named “feature-x” from the current trunk? A) svn copy ^/trunk ^/branches/feature-x - m "Create branch" B) svn branch ^/trunk feature-x C) svn mkdir ^/branches/feature-x - m "Create branch" D) svn copy ^/trunk ^/tags/feature-x - m "Create branch" Answer: A Explanation: svn copy creates a cheap copy of trunk under /branches, establishing a branch. Question 26. What is the main semantic difference between a branch and a tag in Subversion? A) Branches are read‑only, tags are writable B) Branches are intended for ongoing development; tags are immutable snapshots C) Branches must be stored under /tags, tags under /branches
D) There is no difference; they are interchangeable Answer: B Explanation: Branches allow further commits, while tags capture a fixed point in time. Question 27. Which naming convention best supports a clear branching model? A) feature/xyz, release/1.2, bugfix/ B) /branches/xyz, /tags/xyz, /trunk/xyz C) dev1, dev2, dev D) temp/branch, temp/tag Answer: A Explanation: Prefixes like feature/, release/, bugfix/ convey purpose and improve readability. Question 28. Starting with Subversion 1.5, what feature tracks which revisions have already been merged? A) Mergeinfo property B) svn:merge‑track property C) svn:externals D) svn:log Answer: A Explanation: The svn:mergeinfo property records merge history, enabling automatic merge tracking.
Answer: B Explanation: Reintegration merges a finished feature branch into trunk while cleaning up merge tracking. Question 32. To undo a specific commit (revision 100) without creating a new revision that reverses it, which command is appropriate? A) svn merge - c - 100. B) svn revert - r 100. C) svn delete - r 100. D) svn copy - r 100. Answer: A Explanation: Using a negative revision number with - c performs a reverse merge, effectively undoing that change. Question 33. Which command shows who last modified each line of a file? A) svn log filename B) svn blame filename C) svn annotate filename D) Both B and C Answer: D Explanation: “svn blame” and “svn annotate” are synonyms that display line‑by‑line revision and author information.
Question 34. How can you change a working copy that is currently on trunk to point to a branch without re‑checkout? A) svn update --switch ^/branches/branch‑x B) svn checkout ^/branches/branch‑x C) svn switch ^/branches/branch‑x D) svn relocate ^/branches/branch‑x Answer: C Explanation: svn switch changes the working copy’s URL to a different branch or tag while preserving local modifications. Question 35. Which tool allows you to apply a patch file generated by “svn diff” without a network connection? A) svn apply B) svn patch C) svn import D) svn merge Answer: B Explanation: svn patch reads a diff/patch file and applies it to the working copy, useful for offline work. Question 36. Which command is used to inspect the contents of a repository transaction from a hook script? A) svnlook changed /path/to/repo - t TXN B) svnadmin dump /path/to/repo - t TXN
Question 39. Which command creates a new empty repository on the filesystem? A) svnadmin create /path/to/repo B) svn create /path/to/repo C) svnadmin init /path/to/repo D) svn init /path/to/repo Answer: A Explanation: svnadmin create initializes a fresh repository directory structure. Question 40. Where are repository‑wide configuration files stored after creation? A) /etc/subversion/ B) conf/ directory inside the repository folder C) /var/lib/svn/ D) In the working copy’s .svn directory Answer: B Explanation: The conf subdirectory holds svnserve.conf, authz, and passwd files for repository configuration. Question 41. Which of the following is a recommended permission setting for the repository directory on a Unix system? A) 777 for all files B) Owner read/write, group read/write, others no access (770) C) Owner read/write/execute, others read only (755)
D) No permissions at all Answer: B Explanation: 770 (or similar) ensures that only the repository owner and group can modify the data, enhancing security. Question 42. Which command creates a hot backup of a live repository without stopping the server? A) svnadmin dump --incremental B) svnadmin hotcopy /path/to/repo /path/to/backup C) svnadmin create /path/to/backup D) svn backup /path/to/repo Answer: B Explanation: hotcopy copies the repository while preserving its current state, safe for live servers. Question 43. To perform an incremental backup of revisions 200‑250, which command is appropriate? A) svnadmin dump - r 200:250 /repo > dumpfile B) svnadmin hotcopy /repo /backup – r 200: C) svnadmin load - r 200:250 /repo < dumpfile D) svnadmin verify - r 200:250 /repo Answer: A
B) passwd C) svnserve.conf D) users.conf Answer: B Explanation: The passwd file maps usernames to passwords for svnserve’s simple authentication. Question 47. In an Apache‑based Subversion setup, which authentication method sends credentials in clear text unless SSL is used? A) Digest authentication B) Basic authentication C) Kerberos D) OAuth Answer: B Explanation: Basic authentication encodes credentials in Base64, which is not encrypted; SSL/TLS is required for security. Question 48. Which LDAP attribute commonly maps to the Subversion username? A) uid B) cn C) mail D) sn Answer: A
Explanation: The uid attribute typically holds the login name and is used by Subversion for LDAP authentication. Question 49. In the authz file, what does the asterisk () represent?* A) All repositories B) All users or groups, depending on context C) The root directory only D) No one; it disables access Answer: B Explanation: * is a wildcard matching every user (or every path, when used in the path column). Question 50. Which statement correctly describes path‑based authorization inheritance? A) Child paths always inherit the most restrictive rule from any parent B) A rule defined on a child path overrides any parent rule for that child and its descendants C) Only the repository root can have authz rules D) Inheritance is disabled by default Answer: B Explanation: Specific rules on a deeper path take precedence over inherited rules from higher levels. Question 51. To grant read‑only access to the /trunk directory for user “bob”, which authz entry is needed? A) [/trunk] bob = rw B) [/trunk] bob = r