开发者

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 using svn revert
  • working copy: local modifications to <file> which has been checked out / updated as recently as BASE
  • HEAD: latest modifications in repository. Equivalent to BASE iff no changes have been committed since <file> was checked out / updated as working copy.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜