svn
Manage versions of files and directories
TLDR
Check out a working copy from a repository
Bring changes from the repository into the working copy
Put files and directories under version control, scheduling them for addition to repository. They will be added in next commit
Send changes from your working copy to the repository
Display changes from the last 10 revisions, showing modified files for each revision
Display help
SYNOPSIS
svn subcommand [options] [args]
PARAMETERS
checkout
Check out a working copy from a repository.
commit
Commit changes from your working copy to the repository.
update
Update your working copy with changes from the repository.
add
Add files or directories to the repository.
delete
Schedule files or directories for deletion.
copy
Copy a file or directory.
move
Move a file or directory.
diff
Display the differences between files or revisions.
log
Show the history of a file or directory.
status
Show the status of files in your working copy.
info
Display information about a file or directory.
resolve
Resolve conflicts in a working copy.
--username ARG
Specify a username for authentication.
--password ARG
Specify a password for authentication.
--revision ARG
Specify a revision number or range.
DESCRIPTION
The svn command is the primary command-line client for interacting with Subversion repositories. Subversion (often abbreviated SVN) is a software versioning and revision control system.
The svn command allows users to perform a variety of operations, including checking out working copies from a repository, committing changes to the repository, updating working copies with changes from the repository, examining the history of files and directories, resolving conflicts, and managing branches and tags. It serves as the user's primary interface to the version control system.
It is essential for managing source code, documents, and other files over time, enabling collaboration and providing a historical record of changes. svn interacts with a central repository storing data. This client-server architecture enables multiple users to concurrently access and modify the same project files, promoting collaborative development and simplified maintenance. Properly using this command provides reliable version tracking.
CAVEATS
Authentication may be required for some operations. Incorrect usage can lead to data loss or repository corruption. Ensure you understand the implications of each subcommand before executing it.
WORKFLOW
The typical workflow involves checking out a working copy, making changes, and then committing those changes back to the repository. Frequent updates are recommended to minimize conflicts.
BRANCHES AND TAGS
svn allows you to create branches for parallel development and tags for marking specific releases or milestones. These are essentially lightweight copies within the repository.
HISTORY
Subversion was created to address the limitations of CVS (Concurrent Versions System). It was designed to be a better version control system, offering features such as atomic commits, versioned directories, and improved branching and merging capabilities. svn quickly became a popular choice for version control in various software development projects and remained widely used until the widespread adoption of Git.