views:

165

answers:

4

I have checked out source code from a SVN server, which is not in my control. I would like to know whenever there are new updates available and classify those as modification, new additions etc. Googling led me to believe "svn status --show-updates" was the command I was looking for. However when I run it on the repository root, it does not gives me the A/M flags but just * in status column. Any ideas on how to get this? TIA.

+8  A: 

A nice tool for the job is CommitMonitor.

Stefan
Stefan, unfortunately I need this on linux.
I'm sorry, but CommitMonitor only runs on Windows. And I don't know if there's a similar tool for Linux - maybe someone else knows...
Stefan
+2  A: 

"svn status" shows you whether your working copy has any changes compared to the repository copy that you checked out. the --show-updates flag shows whether updates are available on the server, and the * means that there are.

Edit: Ok, if you can go gui, i use subversive in eclipse, but in order to stay commandline, how about this. What you want sounds similar to a dryrun of a merge... you want to see what all the A,D,M will happen when you update to the HEAD. So try this:

svn merge --dry-run -r BASE:HEAD
John Ellinwood
John, exactly what I want to know, ie, if there are new or modified files on the repository.
Ok, I think I figured out what you need. a merge dryrun
John Ellinwood
+1  A: 
svn status --show-updates

will put * in front of every file that changed in repository since last update.

You can see detailed changes between your working copy base (last update) and current repository head using:

svn log --revision BASE:HEAD

Adding option --verbose will list all changed files prepended with M, A etc. Adding option --quiet will hide commit messages.

Update:

svn diff --summarize --revision BASE:HEAD

will list all changed files prepended with M, A etc in all revisions in range collapsed in one list. I guess that's what you're looking for.

Tomek Szpakowicz
A: 

Try eSvn. It has a feature to show status of files/directories in real time.

Saneef