Check diff against file on the server

筅森魡賤 提交于 2019-12-20 08:06:03

问题


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 arguments.

Is there a way for me to do this?


回答1:


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.




回答2:


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.


来源:https://stackoverflow.com/questions/3773345/check-diff-against-file-on-the-server

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!