Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check diff against file on the server

Tags:

diff

svn

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?

like image 677
Mantas Vidutis Avatar asked Sep 22 '10 20:09

Mantas Vidutis


People also ask

How do I view a git diff file?

The diff can be done with git diff (followed by the filename or nothing if you want to see the diff of all modified files). But if you already did something like git add * , you have to undo with git restore --staged .

How can I compare the contents of two files?

Right-click on the first file. Click on “Select for Compare” from the menu. Proceed to right-click on the second file. Click on “Compare with Selected.


2 Answers

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.

like image 55
John Kugelman Avatar answered Oct 21 '22 15:10

John Kugelman


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.
like image 43
Chadwick Avatar answered Oct 21 '22 14:10

Chadwick