Author Topic: Undo doesn't work after diff  (Read 33634 times)

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2896
  • Hero Points: 153
Re: Undo doesn't work after diff
« Reply #30 on: September 13, 2017, 02:25:13 AM »
BCs unimportant logic is both spacing and comments. I find it to be very very fast, I have no issues with BCs performance.

Also, attached is a picture illustrating the differences from my last post.

Coloring the line pink and the actual line red I'm not a fan of, I'd rather see the language's natural color coding.

We felt it was important to show what was changed for source diff.  If it gets skipped, I guess I don't see what difference it makes.

I'll have to look in the morning to see the timings. Performance is very important to us, always has been in fact there is work going on right now that should speed up he diff quite a bit, especially with large files.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2896
  • Hero Points: 153
Re: Undo doesn't work after diff
« Reply #31 on: September 13, 2017, 02:27:49 AM »
There is a <<Line button in DIFFzilla. You have to click the line.  I'm not sure how it works in BC.  Also, in DIFFzilla you could copy/paste the lines, you may be able to in BC too, I don't know.

rowbearto

  • Senior Community Member
  • Posts: 2335
  • Hero Points: 132
Re: Undo doesn't work after diff
« Reply #32 on: September 13, 2017, 02:42:08 AM »
In DIFFZilla, the <<Line button only does 1 line. In BC, the equivalent of <<Line will do the (multiple) lines that I highlight.

rowbearto

  • Senior Community Member
  • Posts: 2335
  • Hero Points: 132
Re: Undo doesn't work after diff
« Reply #33 on: September 13, 2017, 02:45:22 AM »
Quote
Coloring the line pink and the actual line red I'm not a fan of, I'd rather see the language's natural color coding.

I am a fan of it. Seeing the language's natural color coding is not that important to me when diffing. I'd rather have the background color change without the language's natural color coding, don't really need the language's natural color coding when diffing, and it may even be a distraction.

Quote
We felt it was important to show what was changed for source diff.  If it gets skipped, I guess I don't see what difference it makes.

Because when I don't want to see unimportant differences, I don't want to be distracted by them getting highlighted. I can always see this by turning off "minor".

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2896
  • Hero Points: 153
Re: Undo doesn't work after diff
« Reply #34 on: September 13, 2017, 02:50:02 AM »
What time zone are you in? I'm in bed and should be sleeping except there's a baseball game on  ;). We love that we have passionate customers who give ideas for the product. We can't implement all of them, but a lot of them are really good ideas.

SlickEdit supports multiple cursors, so we should be able to change this.  You would press Ctrl+click on each line, then the line copy button.  Probably can't do this for 22.0.0. A lot of diff things I hope I can deal with for 22.0.1, but it will depend how things go, I have some other responsibilities.

rowbearto

  • Senior Community Member
  • Posts: 2335
  • Hero Points: 132
Re: Undo doesn't work after diff
« Reply #35 on: September 13, 2017, 03:06:12 AM »
I'm eastern time zone (New Jersey) and will be going to bed now too.

Just one more comment about the natural language color coding while diffing. When editing, the color coding is great, but when I'm diffing, I only want differences highlighted, so I find the natural color coding a big distraction as I want to zoom in on differences, but even in the same window there are different colors due to the color coding.

As for implementing all these things in the diff tool - I'd much rather you worked on my issue for the "Date modified" with my project of 31,000 files. I'm fully set using Beyond Compare for now - although I was happy to give you my feedback. But solving the performance issue with "Date Modified" in Smart open would make me much happier ;). This issue: https://community.slickedit.com/index.php/topic,15505.msg59309.html#msg59309
« Last Edit: September 13, 2017, 01:12:56 PM by rowbearto »

Graeme

  • Senior Community Member
  • Posts: 2793
  • Hero Points: 347
Re: Undo doesn't work after diff
« Reply #36 on: September 13, 2017, 11:59:40 AM »
Since we're talking about diff features, I thought I'd throw out some that people might not know about.  Some of these only SlickEdit has because they use SlickEdit's context tagging engine.


Maybe you could add "diff a range of lines" to this list.  I use the xcompare_diff_region I posted here quite a lot.  I would be happy if you added these to slickedit.  I know you can do it through the diff dialog but it's quite laborious.
https://community.slickedit.com/index.php/topic,11186.msg47177.html#msg47177

"History diff" needs a "save" button.  If you change the code directly in diffzilla, there's no indication that you changed anything and the only way to do a save is Ctrl-S or exit the diff and use the exit prompt.

Well, I noticed some problems in beta3 while writing this so here they are. 
1) Diff the current file with a version from backup history, make a change to the file inside diffzilla, then use Ctrl-Z repeatedly  - the result is a bit weird.
2) Make a change to the current file without saving it, then diff two files, one of which is the file you just changed - and using "compare symbols all".  The buffer you had open loses the changes you made and gets some green highlighting in the places you had changed.  Now do it again but this time, save the buffer before you run the diff.  Diffzilla says "no differences" and the buffer somehow loses the changes you just made and saved  - it does on my machine anyway.
3) When you diff two files and select "compare symbols all" for path one, for path two you can't select "compare symbols all".  I'm not sure why path two even has a dropdown list for this ??.
4) Diff two files on disk one of which is open, diffzilla pro opens with the file on the right (the one that is open) marked as read only (why?).  When you right click in the right hand pane and select "edit file", slick ignores you and keeps diffzilla open.



Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2896
  • Hero Points: 153
Re: Undo doesn't work after diff
« Reply #37 on: September 13, 2017, 02:12:16 PM »
Maybe you could add "diff a range of lines" to this list.  I use the xcompare_diff_region I posted here quite a lot.  I would be happy if you added these to slickedit.  I know you can do it through the diff dialog but it's quite laborious.
https://community.slickedit.com/index.php/topic,11186.msg47177.html#msg47177
The problem here is that there can only be one selection in SlickEdit.  So you can't select two different line ranges then diff.  Have you tried the drop down? It will bring up the file for you to select.

"History diff" needs a "save" button.  If you change the code directly in diffzilla, there's no indication that you changed anything and the only way to do a save is Ctrl-S or exit the diff and use the exit prompt.

You're right, this probably needs a save button.  I don't know if I will be able to do it for 22.0.0

Well, I noticed some problems in beta3 while writing this so here they are. 
1) Diff the current file with a version from backup history, make a change to the file inside diffzilla, then use Ctrl-Z repeatedly  - the result is a bit weird.

We do the best we can with the undo in DIFFzilla, but it is possible to get it out of sync from time to time.  There's a possible way to improve this, but I need a feature from somebody else.

2) Make a change to the current file without saving it, then diff two files, one of which is the file you just changed - and using "compare symbols all".  The buffer you had open loses the changes you made and gets some green highlighting in the places you had changed.  Now do it again but this time, save the buffer before you run the diff.  Diffzilla says "no differences" and the buffer somehow loses the changes you just made and saved  - it does on my machine anyway.

I can't reproduce this one.  Did you actually diff a symbol?  Were you diffing two files, or diffing with version control?

3) When you diff two files and select "compare symbols all" for path one, for path two you can't select "compare symbols all".  I'm not sure why path two even has a dropdown list for this ??.

When you select "Compare Symbols: All", that's what it's going to do, so it just doesn't care what you pick in the second combobox.

4) Diff two files on disk one of which is open, diffzilla pro opens with the file on the right (the one that is open) marked as read only (why?).  When you right click in the right hand pane and select "edit file", slick ignores you and keeps diffzilla open.

Are you running vsdiff externally?

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2896
  • Hero Points: 153
Re: Undo doesn't work after diff
« Reply #38 on: September 13, 2017, 02:45:53 PM »
With regards to the copy line discussion last night, you can do copy line multiple consecutive times, so this should be as good as doing it on a selections, right?

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2896
  • Hero Points: 153
Re: Undo doesn't work after diff
« Reply #39 on: September 13, 2017, 02:52:10 PM »
With regards to "Minor" vs Source Diff, while Minor is a very clever feature, it doesn't handle everything.  Here are two screenshots that shows where Source Diff sort of shines.

rowbearto

  • Senior Community Member
  • Posts: 2335
  • Hero Points: 132
Re: Undo doesn't work after diff
« Reply #40 on: September 13, 2017, 02:53:44 PM »
I could do copy line multiple times, but lets say I have a much larger selection, copy line multiple times would get tedious and more prone to error.

I decided to try out the 3 way merge this morning, as I was already doing 3 way merges. Attached are some screenshots with my feedback.
« Last Edit: September 13, 2017, 03:21:04 PM by rowbearto »

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6823
  • Hero Points: 526
Re: Undo doesn't work after diff
« Reply #41 on: September 13, 2017, 03:16:10 PM »
With regards to "Minor" vs Source Diff, while Minor is a very clever feature, it doesn't handle everything.  Here are two screenshots that shows where Source Diff sort of shines.

If you beautify a C++ file and change some brace style, BC can't detect that there are no changes. Source Diff does.

rowbearto

  • Senior Community Member
  • Posts: 2335
  • Hero Points: 132
Re: Undo doesn't work after diff
« Reply #42 on: September 13, 2017, 04:16:27 PM »
I just tried using directory compare, but it has a severe limitation that BC doesn't have.

DZ only allows to specify include/exclude filespecs. But BC also allows to specify include/exclude directory specs.

See attached screenshot for what I have configured in one of my BC directory compare sessions.

In my diff, I want to:

1) Only include 2 subdirectories (from the top level) in the diff:
     a) dir1/dir2/dir3
     b) dir1/dir4
2) Within those 2 subdirectories and their tree, I want all files: *.*
3) Under those dir trees, there are certain files I want to exclude, and certain directories I want to exclude, these are listed in the "Exclude Files" and "Exclude folders". For the dirs typed into "Exclude folders" for example "obj", it would exclude any directory "obj" no matter what its level in the directory tree. But if there is a file called "obj", I don't want it excluded, I only want "obj" excluded if it is a directory.

How to do this with DZ?

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2896
  • Hero Points: 153
Re: Undo doesn't work after diff
« Reply #43 on: September 13, 2017, 04:19:19 PM »
SlickEdit supports Ant style matching, so you should be able to get what you want with the filespec.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6823
  • Hero Points: 526
Re: Undo doesn't work after diff
« Reply #44 on: September 13, 2017, 08:34:04 PM »
To exclude any directory named foo, use "foo/". This is a short hand for "**/foo/**". You can get fancy though and only exclude foo if it's under some parent hierarchy (ie "**/parent/foo/**" or "**/backup*/foo/**/*.cpp").