Difference between revisions of "SVN"
(→Make changes to your working copy) |
(→Examine your changes) |
||
Line 40: | Line 40: | ||
==Examine your changes== | ==Examine your changes== | ||
− | + | ===svn status=== | |
− | + | *After you've made changes, it's a good idea to take a look at exactly what you've changed before committing them to the repository. | |
:<pre>$svn status</pre> | :<pre>$svn status</pre> | ||
:This will detect all file and tree changes you've made | :This will detect all file and tree changes you've made | ||
− | + | *By passing a specific path, you will get information about that item alone: | |
<pre>$svn status stuff/filename3.c | <pre>$svn status stuff/filename3.c | ||
D stuff/filename3.c | D stuff/filename3.c | ||
Line 56: | Line 56: | ||
:C <filename> - File received conflicting changes from the server | :C <filename> - File received conflicting changes from the server | ||
− | |||
− | *<pre>svn | + | *To show the status of every item in your working copy: |
+ | <pre>$ svn status --verbose</pre> | ||
+ | |||
+ | ===svn diff=== | ||
+ | |||
+ | ===svn revert=== | ||
==Merge other's changes into your working copy== | ==Merge other's changes into your working copy== |
Revision as of 19:40, 22 October 2006
Branch Maintenance
Repository layout:
- trunk directory - "main line" of development
- branches directory - branch copies
- tag directory - tag copies
SVN commands
The typical work cycle will use the following commands:
Update your working copy
- When working on a project with a team, you'll want to update your working copy to receive changes made by other developers since your last update
$svn update U filename1.c U filename2.c Updated to revision 2.
- U <filename> - file was updated (received changes from the server)
Make changes to your working copy
svn add
- To add file to repository after you commit:
svn add filename1.c
svn delete
- To delete file from repository and your working copy after you commit:
svn delete filename1.c
svn copy
- To create item2 as a duplicate of item1. When item2 is added to the repository on the next commit, its copy history is recorded:
svn copy item1 item2
svn move
- item2 is scheduled for addition as a copy of item1, and item1 is scheduled for removal:
svn move item1 item2
Examine your changes
svn status
- After you've made changes, it's a good idea to take a look at exactly what you've changed before committing them to the repository.
$svn status
- This will detect all file and tree changes you've made
- By passing a specific path, you will get information about that item alone:
$svn status stuff/filename3.c D stuff/filename3.c
- D <filename/directory> - File or directory was deleted from your working copy
- A <filename/directory> - File or directory was added to your working copy
- R <filename/directory> - File or directory was replaces in your working copy
- G <filename> - File received new changes from repository but your local copy of the file had your modifications
- C <filename> - File received conflicting changes from the server
- To show the status of every item in your working copy:
$ svn status --verbose
svn diff
svn revert
Merge other's changes into your working copy
svn update
svn resolved
Commit your changes
svn commit
More commands
- Compare changes from one revision to another:
svn diff --revision 1:4 filename1.cpp
- This example allows us to see what's changed between the first and fourth revision of the filename1.cpp file.
- For a complete guide: http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.diff.html