Check diff against file on the server
I have a working copy of a repository on my machine, and I know that it has been updated on the server. I would like to know how to get the difference between the new version and the version in my working copy by using svn
command line开发者_C百科 arguments.
Is there a way for me to do this?
The working copy is revision BASE. The latest copy from the repository is revision HEAD. This will compare your working copy against the HEAD revision:
svn diff -r HEAD <file>
Actually that'll spit the changes out in reverse, i.e. it tells you how to go from HEAD to BASE. So technically you want:
svn diff -r BASE:HEAD <file>
Can you spare the keyboard strokes? Only you and your deity know that answer.
The difference between working copy and HEAD
; the changes which would need to be made to what is now in the repository (HEAD
), to produce your working copy:
svn diff -r HEAD --old=<file>
Of possible interest, the difference between BASE
and HEAD
; changes that have been checked into the repository since you last updated working copy:
svn diff -r BASE:HEAD <file>
And of course the difference between BASE
and working copy; the changes you have made since you last updated working copy:
svn diff <file>
There are three versions being discussed: BASE
, working copy, and HEAD
.
BASE
:<file>
as last checked out / updated. What working copy would revert to after usingsvn revert
- working copy: local modifications to
<file>
which has been checked out / updated as recently asBASE
HEAD
: latest modifications in repository. Equivalent toBASE
iff no changes have been committed since<file>
was checked out / updated as working copy.
精彩评论