Author Topic: vsdiff requires parameter for directory? Can this be removed?  (Read 2981 times)

astromme

  • Community Member
  • Posts: 89
  • Hero Points: 0
I'm trying to integrate vsdiff as the default diff viewer for TortoiseHg.  It appears that vsdiff requires an additional parameter if you want to diff 2 files versus 2 directories.

Is this even remotely required?  Can't it look at the arguments and determine whether they are files or directories?  I don't believe I can use vsdiff with TortoiseHg given the (currently) required extra parameter.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2159
  • Hero Points: 112
Re: vsdiff requires parameter for directory? Can this be removed?
« Reply #1 on: March 11, 2011, 04:04:16 pm »
vsdiff filename1 filename2

Should work. 

How are you setting this up?  I installed TortoiseHg, but it looks like the actual configuration for this lies in Mercurial, which I do not currently have installed.

Phil Barila

  • Senior Community Member
  • Posts: 742
  • Hero Points: 61
Re: vsdiff requires parameter for directory? Can this be removed?
« Reply #2 on: March 11, 2011, 04:33:44 pm »
I think the question is about needing another parameter when you want to diff two dirs?
Code: [Select]
C:\Program Files (x86)\SlickEditV16.0.0 Beta3\win>vsdiff.exe . "D:\Program Files (x86)\SlickEditV16.0.0 Beta2\win"Resulted in a dialog with the following text:
Code: [Select]
File '"D:\Program Files (x86)\SlickEditV16.0.0 Beta2\win\"' does not exist.

astromme

  • Community Member
  • Posts: 89
  • Hero Points: 0
Re: vsdiff requires parameter for directory? Can this be removed?
« Reply #3 on: March 11, 2011, 07:01:41 pm »
I'm using SlickEdit Version 15.0.1.3

----------------------------------------

C:\temp\difftest>dir /s
 Volume in drive C is OS
 Volume Serial Number is 365E-3652

 Directory of C:\temp\difftest

03/11/2011  12:43 PM    <DIR>          .
03/11/2011  12:43 PM    <DIR>          ..
03/11/2011  12:48 PM    <DIR>          dir1
03/11/2011  12:48 PM    <DIR>          dir2
               0 File(s)              0 bytes

 Directory of C:\temp\difftest\dir1

03/11/2011  12:48 PM    <DIR>          .
03/11/2011  12:48 PM    <DIR>          ..
03/11/2011  12:43 PM                 0 d1f1
03/11/2011  12:43 PM                 0 d1f2
03/11/2011  12:48 PM                 0 file1
03/11/2011  12:48 PM                 0 file2
               4 File(s)              0 bytes

 Directory of C:\temp\difftest\dir2

03/11/2011  12:48 PM    <DIR>          .
03/11/2011  12:48 PM    <DIR>          ..
03/11/2011  12:43 PM                 0 d2f1
03/11/2011  12:43 PM                 0 d2f2
03/11/2011  12:48 PM                 0 file1
03/11/2011  12:48 PM                 0 file2
               4 File(s)              0 bytes

     Total Files Listed:
               8 File(s)              0 bytes
               8 Dir(s)  23,135,625,216 bytes free

C:\temp\difftest>vsdiff dir1 dir2

C:\temp\difftest>vsdiff -recursive dir1 dir2

C:\temp\difftest>vsdiff dir1\file1 dir2\file2

C:\temp\difftest>vsdiff -recursive dir1\file1 dir2\file2

----------------------------------------

vsdiff dir1 dir2
gives me a simple diff window comparing two files: "C:\temp\difftest\dir1\*.*(File)" and "C:\temp\difftest\dir2\*.*(File)"
This seems very incorrect.

vsdiff -recursive dir1 dir2
gives me the expected directory diff window

vsdiff dir1\file1 dir2\file2
gives me the expected file diff window

vsdiff -recursive dir1\file1 dir2\file2
gives me a dialog reporting "Error in Path 2" and no diff window

From what I can gather after reviewing these links:
http://mercurial.selenic.com/wiki/MergeToolConfiguration
http://www.selenic.com/mercurial/hgrc.5.html
http://groups.google.com/group/mercurial_general/browse_thread/thread/7ddf94b16227005f

TortoiseHg/Mercurial doesn't recognize the idea of requiring separate options for file vs directory diffs.  Removing this required parameter allows me to use DIFFzilla much more than I do today, in a manner consistent with all other diff tools mentioned in the above links.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2159
  • Hero Points: 112
Re: vsdiff requires parameter for directory? Can this be removed?
« Reply #4 on: March 11, 2011, 07:07:59 pm »
Seems like we can do better here, I will look into this.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2159
  • Hero Points: 112
Re: vsdiff requires parameter for directory? Can this be removed?
« Reply #5 on: May 29, 2012, 07:12:01 pm »
What we are going to do for the next release is make recursing subdirectories the default, and make a "-norecurse" option.  I think this will be more useful because usually if you want to compare two directories, you want it to recurse. 

This will also be more likely to work for setting up 3rd party tools since there is no option required.