tags:

views:

508

answers:

4

SVN newbie here:

I've commited changes in numerous files to a SVN repository from Eclipse.

I then go to website directory on the linux box where I want to update these changes from the repository to the directory there.

I want to say "svn update project100" which will update the directories under "project100" with all my added and changed files, etc.

HOWEVER, I don't want to necessarily update changes that I didn't make. So I thought I could say "svn status project100" but when I do this I get a totally different list of changes that will be made, none of mine are in the list, which is odd.

Hence to be sure that only my changes are updated to the web directory, I am forced to navigate to every directory where I know there is a change that I made and explicitly update only those files, e.g. "svn update newfile1.php" etc. which is tedious.

Can anyone shed any light on the standard working procedure here, namely how do I get an accurate list of all the changes that are about to be made before I execute the "svn update" command? I thought it was the "status" command.

+5  A: 

You can see what will updated (without actually updating) by issuing:

svn merge --dry-run -r BASE:HEAD .

More details here.

Ben Hoffstein
Much better answer than mine.
Andrew
svn: Not enough arguments provided; try 'svn help' for more infoThe correct command is: "svn merge --dry-run -r BASE:HEAD ."
cvk
@cvk: I don't understand your comment. Is that the complete error message or are you suggesting the syntax of my command is incorrect?
Ben Hoffstein
I think he's saying there should be a trailing dot.
Adam Bellaire
Ah, sorry I missed that. I've corrected it now.
Ben Hoffstein
+2  A: 

You can use 'svn diff' to see the difference between your working copy and the repository.

Andrew
+9  A: 

Try:

svn status --show-updates

or (the same but shorter):

svn status -u
Dave Webb
A: 

In theory you could make all your changes in a branch which you created for your own use. You would then be reasonably sure that you were the only one committing to it.

IMHO feature development should be done like this.

Then you could update this target machine from this branch instead of from the trunk.

Rory Becker