How to get diff between all files inside 2 folders that are on the web?
Solution 1
Once you have the source trees, e.g.
diff -ENwbur repos1/ repos2/
Even better
diff -ENwbur repos1/ repos2/ | kompare -o -
and have a crack at it in a good gui tool :)
- -Ewb ignore the bulk of whitespace changes
- -N detect new files
- -u unified
- -r recurse
Solution 2
You urls are not in the same repository, so you can't do it with the svn diff
command.
svn: 'http://svn.boost.org/svn/boost/sandbox/boost/extension' isn't in the same repository as 'http://cloudobserver.googlecode.com/svn'
Another way you could do it, is export each repos using svn export
, and then use the diff command to compare the 2 directories you exported.
// Export repositories
svn export http://svn.boost.org/svn/boost/sandbox/boost/extension/ repos1
svn export http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ repos2
// Compare exported directories
diff repos1 repos2 > file.diff
Related videos on Youtube
Comments
-
Rella almost 2 years
So I want to compare this folder
http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/
with thishttp://svn.boost.org/svn/boost/sandbox/boost/extension/
. I want to get a diff file as a result. These folders are under svn control but I'd prefer git styled diff file (like one shown here) I triedgit diff
but it seems not to work that way for web folders. So how to do the same thing with one command on Linux?Update: So we had a great answer. But it works strangely - it seems to me it shows that all files (same files) have all theire contents replaced with very same contents (while I know for sure that there were only like 3-4 code lines changed at all)...
Update 2: To achieve what I really needed (dif file with only really changed lines, with git styling, on Linux) do:
$ svn export http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ repos2 --native-eol CRLF $ svn export http://svn.boost.org/svn/boost/sandbox/boost/extension/ repos --native-eol CRLF $ git diff repos repos2 > fileWithReadableDiff.diff
-
sehe about 13 yearshaha; I just noticed you linked to my diff with
one shown here
... wotta coincidence
-
-
Rella about 13 yearsI replaced last line with
git diff repos1 repos2 > file2.diff
and it got more informative... but it seems to me it shows that all files (same files) have all thare contents replaced with wary same contents (while I know for sure that there were only like 3 code lines changed at all)... -
Rella about 13 yearsso... yep - loved your
diff style
, sent a full diff patch on yours+mine boost.extension to Jeremy... (see this post update for my way of getting it)... I still wonder how to do such thing with one line=) -
sehe about 13 yearsWell thanks for the accept; I guess my original (rev. 2) instructions in that other post hid my secret: I used 'git svn clone ... svn..../branches/v0.4' and just edited locally. It then becomes a simple
git diff
or gitformat-patch
depending on how much work was done -
Aaron over 8 yearsdidn't know about kompare before, this is exactly what I was looking for. Thanks
-
gilad905 almost 5 yearswould be nice to add a reference to
kompare
as it's an external package (at least on my Ubuntu 16.04) -
Hybris95 over 4 yearsYou can totally use notepad++ with Language set on "Diff" it works like a charm (without kompare)
-
sehe over 4 years@Hybris95 does that do side-by-side diffs? Personally, I don't take to context/unified diffs too well