Author Topic: Support for 3rd-party Diff  (Read 2383 times)

rdroaten

  • Community Member
  • Posts: 13
  • Hero Points: 0
Support for 3rd-party Diff
« on: July 23, 2009, 01:24:24 pm »
Support for use of a third-party diff viewer.

Scotty

  • Junior Community Member
  • Posts: 2
  • Hero Points: 0
Re: Support for 3rd-party Diff
« Reply #1 on: July 11, 2011, 06:45:35 pm »
I would also like to see the capability to use a 3rd party diff tool.
The one I currently use is Beyond Compare.

chip.dip

  • Community Member
  • Posts: 18
  • Hero Points: 1
Re: Support for 3rd-party Diff
« Reply #2 on: July 11, 2011, 07:04:53 pm »
 "I would also like to see the capability to use a 3rd party diff tool.
The one I currently use is Beyond Compare."

Beyond Compare is greatly superior to DiffZilla.

This could be done by SE invoking a user specified external process/

Phil Barila

  • Senior Community Member
  • Posts: 742
  • Hero Points: 61
Re: Support for 3rd-party Diff
« Reply #3 on: July 12, 2011, 02:11:55 pm »
Beyond Compare is greatly superior to DiffZilla.

That's an understatement.  When I started using SE, I though DiffZilla was a giant leap ahead of previous things like WinDiff, and it was.  Then someone showed me Beyond Compare, and I realized how much better DiffZilla could be.  I even suggested to Scott W that he license BC for inclusion into SE, it's that good.  Scott didn't take my suggestion, apparently.   :D

I have a love-hate relationship with SE right now.  I really like the things it does well, such as raw C/C++ code editing.  For that task, SE is best in class!

For other things, SE really is a wannabe.  One example is mouse support.  Use VS, and then SE, and you can see that using the mouse was designed into VS from the very beginning.  Even after all these years, using the mouse in SE shows the "added in later" nature of that beast.

XMLDoc comments are another one.  Both SE and VS will toss up an XMLDoc comment block if you type "///" on the line above a function declaration or definition.  The difference is that VS knows the difference between a class and a function, and also can discern the difference between a void function and one that returns something.  And most important of all, way more than those two, when you type "<" in an XMLDoc comment, it offers to insert appropriate tags.  That little feature is so helpful that I've developed the habit of generating the XMLDoc block, and inserting any tags I think I'll need, in VS, then go to SE to finish the comment.

I already mentioned DiffZilla.

Lastly, I'm working in an almost completely .NET environment right now, and .NET support is still being sorted out in SE.  v16 is a massive improvement over v15 in that regard, but it's just still so far from done, it's maddening.

The main reason why I keep using SE is that I comment my code like crazy, and SE is still way better at editing comments, less the XMLDoc deficiencies enumerated above, than VS.  SE is also better at continuing to work when your code is so broken as to be impossible to compile.  Sometimes VS gets a bit confused at that, and can't Intellisense so well.  So I'll continue to use SE, but I would so badly like it to be best in class at what I'm doing now!

vivitron

  • Senior Community Member
  • Posts: 162
  • Hero Points: 10
Re: Support for 3rd-party Diff
« Reply #4 on: July 12, 2011, 03:29:57 pm »
I cannot say what Phil did in a better way - especially the comments on .NET support.   I second his post.

That's an understatement.  When I started using SE, I though DiffZilla was a giant leap ahead of previous things like WinDiff, and it was.  Then someone showed me Beyond Compare, and I realized how much better DiffZilla could be.  I even suggested to Scott W that he license BC for inclusion into SE, it's that good.  Scott didn't take my suggestion, apparently.   :D

I have a love-hate relationship with SE right now.  I really like the things it does well, such as raw C/C++ code editing.  For that task, SE is best in class!

For other things, SE really is a wannabe.  One example is mouse support.  Use VS, and then SE, and you can see that using the mouse was designed into VS from the very beginning.  Even after all these years, using the mouse in SE shows the "added in later" nature of that beast.

XMLDoc comments are another one.  Both SE and VS will toss up an XMLDoc comment block if you type "///" on the line above a function declaration or definition.  The difference is that VS knows the difference between a class and a function, and also can discern the difference between a void function and one that returns something.  And most important of all, way more than those two, when you type "<" in an XMLDoc comment, it offers to insert appropriate tags.  That little feature is so helpful that I've developed the habit of generating the XMLDoc block, and inserting any tags I think I'll need, in VS, then go to SE to finish the comment.

I already mentioned DiffZilla.

Lastly, I'm working in an almost completely .NET environment right now, and .NET support is still being sorted out in SE.  v16 is a massive improvement over v15 in that regard, but it's just still so far from done, it's maddening.

The main reason why I keep using SE is that I comment my code like crazy, and SE is still way better at editing comments, less the XMLDoc deficiencies enumerated above, than VS.  SE is also better at continuing to work when your code is so broken as to be impossible to compile.  Sometimes VS gets a bit confused at that, and can't Intellisense so well.  So I'll continue to use SE, but I would so badly like it to be best in class at what I'm doing now!
[/color]

chuck97224

  • Community Member
  • Posts: 5
  • Hero Points: 1
Re: Support for 3rd-party Diff
« Reply #5 on: August 28, 2011, 04:15:19 pm »
Support BeyondCompare as an alternative to DiffZilla.  It's really much, much better and runs on all platforms (linux, windows, mac).

rdroaten

  • Community Member
  • Posts: 13
  • Hero Points: 0
Re: Support for 3rd-party Diff
« Reply #6 on: February 20, 2014, 02:35:38 pm »
I'd like to see support for replacing vsdiff/Diffzilla with a third party diff utility.  I love the Backup History feature of SlickEdit.  But the fact that it relies upon vsdiff is a major annoyance.  Most version control packages support use of a third party diff/merge utility.  I'd like to see SlickEdit do the same.

flethuseo

  • Senior Community Member
  • Posts: 177
  • Hero Points: 2
Re: Support for 3rd-party Diff
« Reply #7 on: December 27, 2015, 05:46:58 pm »
A way to select my own diffing tool. I like diffzilla and all but I really like using BeyondCompare 2 for a great deal of things. Specifically, I like that I can tell it how I want to to align and compare my code.

Ted

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 5177
  • Hero Points: 429
Re: Support for 3rd-party Diff
« Reply #8 on: December 28, 2015, 04:01:57 am »
A way to select my own diffing tool. I like diffzilla and all but I really like using BeyondCompare 2 for a great deal of things. Specifically, I like that I can tell it how I want to to align and compare my code.

Ted
Can you explain what you mean by "align and compare my code"?

Difzilla is so tightly integrated that there's realistically no way to be able to choose a replacement.

mwb1100

  • Senior Community Member
  • Posts: 144
  • Hero Points: 13
Re: Support for 3rd-party Diff
« Reply #9 on: December 28, 2015, 05:00:37 am »
Difzilla is so tightly integrated that there's realistically no way to be able to choose a replacement.

Couldn't there be an alternative to Diffzilla that just calls an external program or script with a couple filenames to run the compare on?  This is similar to how external diff programs are usually integrated into source control programs.  When one or both of the things to compare is a buffer, then the name of a temporary file would be passed in.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2442
  • Hero Points: 137
Re: Support for 3rd-party Diff
« Reply #10 on: December 28, 2015, 01:46:10 pm »
Difzilla is so tightly integrated that there's realistically no way to be able to choose a replacement.

Couldn't there be an alternative to Diffzilla that just calls an external program or script with a couple filenames to run the compare on?  This is similar to how external diff programs are usually integrated into source control programs.  When one or both of the things to compare is a buffer, then the name of a temporary file would be passed in.

Like Clark said, it really isn't realistic. There's places all over where we're passing buffer IDs straight into the diff from multi-file diff to version control to backup history.

What does Beyond Compare do to align your source?  Maybe we can make you happier with DIFFzilla.  Have you tried our Source Diff?

b

  • Senior Community Member
  • Posts: 308
  • Hero Points: 26
Re: Support for 3rd-party Diff
« Reply #11 on: December 28, 2015, 05:57:06 pm »
I have seen where Beyond Compare can work around some of the line/source diffing that diffzilla doesn't easily handle.

For example.  If I take a function within a file and move it to the end of the file and then make one line change (e.g., add a character) within that moved function.

With Beyond Compare, you can open the old file and the new file, tell it to realign a starting block (F7) with a different location in the other file (click where to start realignment) so that the two (old/new) locations of the function line up and then I can see my single change of the function, even though it moved several lines/functions away from its original location.   I have yet to figure out how to make these realignments on the fly within diffzilla.

When diff'ing XML (particularly XML that applications reorder all the time), this is very useful.

flethuseo

  • Senior Community Member
  • Posts: 177
  • Hero Points: 2
Re: Support for 3rd-party Diff
« Reply #12 on: December 28, 2015, 06:36:47 pm »
Yes, I agree with what b said. Also I would like to add that other functionalities it has, is that you can choose how you want to compare your files. You can put some rules to tell it what can be ignored, or do a line by line comparison. I don't know of a way to do this with Slickedit.




Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2442
  • Hero Points: 137
Re: Support for 3rd-party Diff
« Reply #13 on: December 28, 2015, 06:41:46 pm »
I have seen where Beyond Compare can work around some of the line/source diffing that diffzilla doesn't easily handle.

For example.  If I take a function within a file and move it to the end of the file and then make one line change (e.g., add a character) within that moved function.

With Beyond Compare, you can open the old file and the new file, tell it to realign a starting block (F7) with a different location in the other file (click where to start realignment) so that the two (old/new) locations of the function line up and then I can see my single change of the function, even though it moved several lines/functions away from its original location.   I have yet to figure out how to make these realignments on the fly within diffzilla.

When diff'ing XML (particularly XML that applications reorder all the time), this is very useful.

Does this work if all that happened in a file was one function changed?

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 5177
  • Hero Points: 429
Re: Support for 3rd-party Diff
« Reply #14 on: December 28, 2015, 06:43:04 pm »
I have seen where Beyond Compare can work around some of the line/source diffing that diffzilla doesn't easily handle.

For example.  If I take a function within a file and move it to the end of the file and then make one line change (e.g., add a character) within that moved function.

With Beyond Compare, you can open the old file and the new file, tell it to realign a starting block (F7) with a different location in the other file (click where to start realignment) so that the two (old/new) locations of the function line up and then I can see my single change of the function, even though it moved several lines/functions away from its original location.   I have yet to figure out how to make these realignments on the fly within diffzilla.

When diff'ing XML (particularly XML that applications reorder all the time), this is very useful.
Interesting. There are some workarounds.

If you move a function, you could do a symbol diff. A resync would be nice since it has the advantage of handling more than just the one function symbol.

There are some non-diffzilla compare commands which can come in handy. I almost always use them when I need to compare two parts of the same file (yep you heard right). The commands are "compare" and "compare-options". No where near the power of DIFFzilla but these are very useful. the "compare-options" command displays some simple but useful compare options.

To use the "compare" command, close all edit windows, open the first file, do a split window, and open a second file (unless comparing parts of the same file). Put the cursor location where you want to start the compare in both windows. Now invoke the "compare" command. I think it's bound to F6. There is a "resync" command but I haven't used it and don't remember what it does (maybe finds lines which match). Whatever it does it's very primitive. After the mismatch, just adjust the cursors in each window and do another compare.

This will work for your XML example and will also work when you want to compare to parts in the same source file (that's what I use it for).