|
|
|
# COMP8440: SCM Tips
|
|
|
|
As part of your lab work, you will be using a number of source code management systems. For detailed information on how to use them you should read the documentation of each system, but in case you need to get up to speed quickly, here are some basic pointers.
|
|
|
|
|
|
|
|
## git
|
|
|
|
* Typical Initial checkout
|
|
|
|
```
|
|
|
|
git clone git://git.samba.org/tridge/ctdb.git ctdb
|
|
|
|
```
|
|
|
|
* Updating your tree with the latest changes
|
|
|
|
```
|
|
|
|
git pull
|
|
|
|
```
|
|
|
|
* Reverting your tree, discarding any local changes
|
|
|
|
```
|
|
|
|
git reset --hard; git clean -f
|
|
|
|
```
|
|
|
|
* Listing the changed files in your tree
|
|
|
|
```
|
|
|
|
git status
|
|
|
|
```
|
|
|
|
* Produce a patch showing your local changes
|
|
|
|
```
|
|
|
|
git diff
|
|
|
|
```
|
|
|
|
* Committing all your changes
|
|
|
|
```
|
|
|
|
git commit -a
|
|
|
|
```
|
|
|
|
* Show recent commits
|
|
|
|
```
|
|
|
|
git log
|
|
|
|
```
|
|
|
|
* Show recent commits, with patches
|
|
|
|
```
|
|
|
|
git log -p
|
|
|
|
```
|
|
|
|
|
|
|
|
## svn (subversion)
|
|
|
|
* Typical Initial checkout
|
|
|
|
```
|
|
|
|
svn co svn://svn.gnome.org/svn/gedit
|
|
|
|
```
|
|
|
|
* Updating your tree with the latest changes
|
|
|
|
```
|
|
|
|
svn update
|
|
|
|
```
|
|
|
|
* Reverting your tree, discarding any local changes
|
|
|
|
```
|
|
|
|
svn revert .
|
|
|
|
```
|
|
|
|
* Listing the changed files in your tree
|
|
|
|
```
|
|
|
|
svn status
|
|
|
|
```
|
|
|
|
* Produce a patch showing your local changes
|
|
|
|
```
|
|
|
|
svn diff
|
|
|
|
```
|
|
|
|
* Show recent commits
|
|
|
|
```
|
|
|
|
svn log
|
|
|
|
```
|
|
|
|
|
|
|
|
## cvs
|
|
|
|
* Typical Initial checkout
|
|
|
|
```
|
|
|
|
cvs -d :pserver:cvs@pserver.samba.org:/cvsroot co ccache
|
|
|
|
```
|
|
|
|
* Updating your tree with the latest changes
|
|
|
|
```
|
|
|
|
cvs update
|
|
|
|
```
|
|
|
|
* Reverting your tree, discarding any local changes
|
|
|
|
```
|
|
|
|
rm CHANGEDFILES; cvs update
|
|
|
|
```
|
|
|
|
* Listing the changed files in your tree
|
|
|
|
```
|
|
|
|
cvs status
|
|
|
|
```
|
|
|
|
* Produce a patch showing your local changes
|
|
|
|
```
|
|
|
|
cvs diff -up
|
|
|
|
```
|
|
|
|
* Show all commits
|
|
|
|
```
|
|
|
|
cvs log
|
|
|
|
``` |