Original address: http://blog.chinaunix.net/uid-22150747-id-189264.html
Recently often use SVN for code management, these commands always can't remember, have to go online to check, finally found a Linux under the SVN command use Daquan:
1. Checkout files to a local directory
SVN checkout Path (path is a directory on the server)
Example: SVN checkout Svn://192.168.1.1/pro/domain
Shorthand: SVN Co
2. Add a new file to the repository
SVN Add File
Example: SVN add test.php (add test.php)
SVN add *.php (Add all php files in the current directory)
3. Submit the changed files to the repository
SVN commit-m "LogMessage" [-n] [--no-unlock] PATH (use –no-unlock switch if hold lock is selected)
Example: SVN commit-m "Add test file for my test" test.php
Shorthand: svn ci
4. Locking/Unlock
SVN lock-m "Lockmessage" [--force] PATH
Example: SVN lock-m "lock test File" test.php
SVN unlock PATH
5. Update to a version
SVN update-r m path
For example:
SVN update If there is no directory behind it, the default is to update all files in the current directory and subdirectories to the latest version.
SVN update-r test.php (Restore the file test.php in the repository to version 200)
SVN update test.php (updated, sync in Repository.) If the prompt expires at the time of submission, it is because of the conflict, you need to update, modify the file, then clear the SVN resolved, and then commit the commit)
Shorthand: SVN up
6. View file or directory status
1) SVN status path (status of files and subdirectories under directory, normal status not shown)
"?: not in SVN control; M: Content modified; C: conflict; A: Scheduled to be added to Repository; K: Locked"
2) SVN status-v path (show file and subdirectory status)
The first column remains the same, the second column shows the work version number, and the third and fourth columns show the last modified version number and the modified person.
Note: The SVN status, SVN diff, and SVN revert three commands can be executed without a network, because SVN retains the original copy of the local version in. svn.
Shorthand: SVN St
7. Delete Files
SVN delete path-m "Delete test Fle"
Example: SVN delete svn://192.168.1.1/pro/domain/test.php-m "Delete test file"
Or go directly to svn delete test.php and then svn ci-m ' delete test file ', which we recommend using this
Shorthand: SVN (del, remove, RM)
8. View Logs
SVN log path
For example: SVN log test.php shows all changes to this file, and its version number
9. View File Details
SVN info Path
Example: SVN info test.php
10. Compare Differences
SVN diff path (compares the modified file to the base version)
Example: SVN diff test.php
SVN diff-r m:n Path (difference between version m and version N)
Example: SVN diff-r 200:201 test.php
Shorthand: SVN di
11. Merge the differences between the two versions into the current file
SVN merge-r m:n Path
For example: SVN merge-r 200:205 test.php (the difference between version 200 and 205 is merged into the current file, but generally conflicts occur and need to be addressed)
12. SVN Help
SVN help
SVN help CI
——————————————————————————
The above is a common command, the following write a few common
——————————————————————————
13. List of files and directories under the repository
SVN list Path
Displays all files and directories belonging to the repository under the path directory
Shorthand: SVN ls
14. Create a new directory under version control
SVN mkdir: Create a new directory under the included version control.
Usage: 1, mkdir PATH ...
2. mkdir URL ...
Create a version-controlled directory.
1. Each directory specified in the working copy PATH will be created on the local side and added
Scheduled to be submitted for the next time.
2. Each directory specified in the URL will be created by submitting it to the repository immediately.
In both cases, all intermediate directories must exist beforehand.
15. Restore Local Modifications
SVN revert: Restores the original unchanged working copy file (restores most of the local modifications). Revert
Usage: revert PATH ...
Note: The notebook command will not access the network and will release the conflicting condition. But it won't recover.
Directories that were deleted
16. Code Base URL Change
SVN switch (SW): Updates the working copy to a different URL.
Usage: 1, switch URL [PATH]
2. Switch–relocate from to [PATH ...]
1, update your working copy, map to a new URL, its behavior is similar to "SVN update", will also
The files on the server are merged with the local files. This is the one where the working copy corresponds to a branch or tag in the same warehouse.
Method.
2, rewrite the working copy of the URL metadata to reflect the simple URL changes. When the root URL of the warehouse changes
(such as scheme name or host name change), but the working copy is still used when mapping to the same directory in the same warehouse
This command updates the correspondence between the working copy and the warehouse.
My example: SVN switch--relocate http://59.41.99.254/mytt Http://www.mysvn.com/mytt
17. Conflict Resolution
SVN resolved: Removes the "conflicting" status of the working Copy's directory or file.
Usage: Resolved PATH ...
Note: The book command does not resolve the conflict by syntax or remove the conflict token; it simply removes the conflicting
File, and then allow PATH to submit again.
18. Output the contents of the specified file or URL.
SVN cat Target [@ VERSION] ... If a version is specified, the lookup starts from the specified version.
SVN cat-r PREV filename > filename (PREV is the previous version, you can also write a specific version number so that the output can be submitted)
19. Find all the remaining log files in the working copy, delete the locks in the process .
When subversion changes your working copy (or any information in. svn), it will be as careful as possible, before modifying anything, it writes the intent to the log file, executes the command in the log file, and then deletes the log file, similar to the file system schema of the ledger. If subversion is interrupted (for example: The process is killed, the machine is dead), the log file is saved on the hard disk, and by re-executing the log file, subversion can complete the last operation, and your working copy can return to a consistent state.
This is what svn cleanup does: It looks for all the remaining log files in the working copy and deletes the locks in the process. If subversion tells you that a part of your work copy is "locked", you need to run the command. Similarly,SVN status will use L to display locked items:
$ SVN status
L Somedir
M SOMEDIR/FOO.C
$ svn cleanup
$ SVN status
M SOMEDIR/FOO.C
20.
copy a user's non-versioned directory tree to the repository.
The SVN import command is the quickest way to copy a user's non-versioned directory tree to the repository and, if necessary, to create some intermediary files.
$ svnadmin Create/usr/local/svn/newrepos $ svn import mytree file:///usr/local/svn/newrepos/some/project Adding mytree/ FOO.C Adding mytree/bar.c Adding mytree/subdir Adding mytree/subdir/quux.h Committed Revision 1.
In the previous example, the directory Mytree will be copied to the repository some/project:
$ svn list file:///usr/local/svn/newrepos/some/project bar.c foo.c subdir/
Note that after the import, the original directory tree has not been converted into a working copy, in order to get started, you still need to run svn checkout to export a working copy.
Additional: Add an email notification to SVN
The ability to add a mailing list to SVN via the Subversion hook script
After compiling and installing subversion, there is a comm-email.pl perl script under Source Tools, and in your file directory there is a hooks directory that goes into the hooks directory to Post-commit.tmpl Rename to Post-commit and give it permission to execute.
Change the Post-commit script to add the comm-email.pl script to the path, otherwise SVN cannot find comm-email.pl
Repos= "$"
rev= "$"
/usr/local/svn/resp/commit-email.pl "$REPOS" "$REV" [email protected] [email protected]
#log-commit.py--repository "$REPOS"--revision "$REV"
The last line is for the log. I didn't use this function, so I commented out.
[Reprint]linux under SVN command use Daquan