NAME

yacdiff - Yet Another diff for code


SYNOPSIS

  yacdiff [-fmt=TXT|HTML|HTML4.01] [-width=N] [-context=N] [-before=N]
          [-after=N] [-fast] [-sign] [-numbering] [-global-numbering]
          [-comment=C|CPP|SHARP|SEMICOLON|HTML|AUTO] [-no-reverse]
          [-f1-window=+N1+N2|+N1-N2] [-f2-window=+N1+N2|+N1-N2]
          [-vanilla] [-config=config_filename]
          [-tiny-nav] [style-href=style_href_str]
          [-without-squote] [-perl-spec] [-diff-style]
          [-o=outputfile] file1 file2
  yacdiff -dump-style
  yacdiff -show-text-sample
  yacdiff -help
  yacdiff -man


OPTIONS

fmt=TXT|HTML|HTML4.01

specify the output format TXT: text format with colors escaped characters or HTML: an html (basic HTML close to 3.5 version) page is produced (either in a file or on the standard output) HTML4.01: an html (with style support) page is produced (either in a file or on the standard output)

width=N

The shown lines of each files are shortened to N characters.

context=N

Only N lines around each difference are shown.

before=N

Only N lines before each difference are shown.

after=N

In TXT mode, only N lines after each difference are shown.

fast

This option make the process faster because it discard the analyse of lines that differs for highlighting characters differences in those lines.

no-reverse

Don't reverse the file order when file2 is older than file1.

o=OutputFilename

Set the output a file named OutputFilename. Without this option, the result is produced on the standard output.

numbering

Show the line number of each file.

global-numbering

Show a number for each line of the file that would be produced by a sdiff command.

sign

Show sdiff sign (<, >, | or `` '') in the middle of the screen.

help

Show usage.

man

Show usage and options description.

show-text-sample

Show text color convention and quit.

comment=XXX

Set comment detection and comments type. More than one comment type can be set. This option is cumulativ. Known XXX comments type are C : /*..*/, CPP : //..., SHARP : #..., SEMICOLON : ; ... , HTML : <! ... --> and AUTO : which try to guess comment type from files extension.

f1-window=+N1+N2|+N1-N2

Restricts the file1 to the lines whose numbers are in the range [N1;N1+N2] (if N2 > 0) or [N1;FILE1END-N2] if ( N2 < 0 ). FILE1END designate the last line of file1.

f2-window=+N1+N2|+N1-N2

Idem as for f1-windows. But sets a window on file2.

-vanilla

Do not take in account a config. file.

-config=config_filename

Specify the name of the configuration file.

-without-squote

Do not treat ' for single quoting.

-perl-spec

The langage should interpret perl specific quoting such as tr s << q and qq.

-tiny-nav

In HTML page the < and > navigation characters, are no more separated by a whitespace character.

-dump-style

Only dump the style definition for HTML4.01.

-style-href=string_href_style

Replace the style definition within the yacdiff HTML page by the provided string.

-diff-style

This option impose TXT fmt, and it present the differences more like diff rather than sdiff. This option should be used when the terminal you are in is too small.

NOTES: In HTML mode, the diff is displayed in a table. There are cells for line numbers, navigation links < >, and each line of code. Without -dump-style or -style-href options, yacdiff compute an optimized cells widths. With those options no optimised width are computed, the HTML viewer will try to do its best to displayed the diff. Thus the result may be different and not optimized.


DESCRIPTION

yacdiff output differences from 2 files (basically code sources). The result looks like sdiff but whith coloring features in HTML or text with VT204 coloring codes.

It is possible to customize the colors and the styles through a configuration file. Please refer to specific man chapter.


EXAMPLES

   yacdiff -numbering -comment=CPP file1.c file2.c -o=diff.html

If not existing, it create a file diff.html showing the differences between file1.c and file2.c. C++ comments are taken into account and there are two columns showing the line numbers of the 2 files.

   yacdiff -comment=AUTO -f1-window=+102+30 -f2-window=+15+30 file1.v0.c file2.v1.c -o=diff.html

For explample to study the differences of a code part moved and maybe modified. This part of code was extraced from file1.v0.c between the lines 102 and 132, and added (with modification ?) at line 15 of file2.v0.c to form file2.v1.c

   yacdiff -fmt=TXT -context=5 -sign -comment=AUTO file1.v0.c file1.v1.c | less -r

This diplayed in text five lines around each modification.


CONFIGURATION FILE

Background colors... may be specified in a configuration file. The name of this configuration file is given by the -config option. Or the programs takes when existing the first configuration file of the list : ( ./.yacdiff.conf , $HOME/.yacdiff.conf ).

VANILLA CONFIGURATION SAMPLE

   ####################################################################
   # Config Langage basis:
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # SHARP char :'#' is the beginning of a comment
   # Parameters are regrouped in classes : Warn, PAGE_HTML3D5, 
   #             PAGE_HTML4D01, STYLE_HTML3D5, STYLE_HTML4D01 and
   #             STYLE_TXT
   #
   # A parameter should always be begin by its class and ::
   # To modify a value of one parameter, 3 syntax are available:
   #   CLASS::param1 = "texte with any char but double quote";
   #   CLASS::param2 = 'texte with any char but simple quote';
   #   CLASS::param3 = << "ENDING_STING";
   #   any texte in on multiple line
   #   is captured and affexted until,
   #   one line is found matching the ending_string only
   #   ENDING_STRING
   #
   # RQ:in all the three syntaxes the newlines :\n are considered as 
   #  part of the new value.
   #
   # !!!!!!!!!!!!! BE WARE : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   # When any parameter of a class is modified, all the parameters of
   # this class should be provided also.
   #
   #------------------------------------------------------------------
   # Config parameters usual abbreviation :
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # FGColor : ForeGround Color
   # BGColor : BackGround Color
   # Com : comment
   # Std : standard
   # Ws : whiteSpace
   # F1 : for File 1 column
   # F2 : for File 2 column
   # Signif : significant
   # Diff : differences
   #
   #-------------------------------------------------------------------
   # Filling Rules
   #-------------------------------------------------------------------
   # HTML :
   #   Colors : this fields are used directly in as is in HTML langage
   #      for color specifications. They must follow the HTML color 
   #      specification. In the next examples, I use #FF0000 RGB notation.
   #      For more information please refer to HTML langage specifications.
   #   Texts : For powerness, it was chosen to be able to include HTML
   #      codes into it. Thus the only treatment don on those field is 
   #      CONFIGURATION VARIATION substitutions please refer to this
   #      man section.
   #
   # TXT : 
   #   Colors : the color and style used are defined with strings and 
   #     translated into ANSI terminal color codes by the very used 
   #     Term::ANSIColor perl module (written by Zenin and Allbery).
   #     For further information please refer to : man Term::ANSIColor
   ####################################################################
   #-
   ####################################################################
   # Class Area : Warn::
   # Warning messages
   # N.B.: By adding any item of this class, you MUST add all these
   #       Class's items
   ####################################################################
   Warn::Provide_Full_Path = "Please provide the complete path : ";
   Warn::File_Exchg        = << "EOF";
   warning the most recent file is rigth given
   Automatic exchange of 
   EOF
   #-
   Warn::Bad_Window        = "WARNING:I:Reduction probably too big ";
   Warn::Sign_Pb           = "sdiff sign problem lg:D";
   Warn::No_file_signif    = "None of the file is significant";
   Warn::The_File          = "Warning : ";
   Warn::Is_Not_Signif     = " is not significant";
   #-
   ####################################################################
   # Class Area : PAGE_HTML3D5::
   # Html page parameters (html version 3.5 with no css style)
   # N.B.: By adding any item of this class, you MUST add all these
   #       Class's items
   ####################################################################
   PAGE_HTML3D5::Gene_Info_Head = << "EOF";
   <HR>
   Generation Information.
   EOF
   #-
   PAGE_HTML3D5::Bottom         = << "EOF";
   <HR>
   File generated with yacdiff.<BR>
   
   EOF
   #-
   PAGE_HTML3D5::Head_Title     = "yacdiff";
   PAGE_HTML3D5::Body_Title     = '<H1><FONT COLOR="#00FFFF">Difference between &f1_filename_long; and &f2_filename_long;</FONT></H1>';# 00FFFF# cyan
   PAGE_HTML3D5::Bg_Color       = "#FFFFFF";
   PAGE_HTML3D5::Link           = "#33CC00";# 33CC00# darkgreen
   PAGE_HTML3D5::VLink          = "#000000";
   PAGE_HTML3D5::ALink          = "#FF0000";
   PAGE_HTML3D5::Generation_Information = << "EOF";
   Diff generated at &gene_time_hh;:&gene_time_mm;:&gene_time_ss; &gene_time_DD;/&gene_time_MM;/&gene_time_YYYY; from
   <TABLE>
     <TR>
        <TD><FONT COLOR="#FF0000">size</FONT></TD>
        <TD><FONT COLOR="#FF0000">mtime date</FONT></TD>
        <TD><FONT COLOR="#FF0000">filename</FONT></TD>
     </TR>
     <TR>
        <TD><FONT COLOR="#FF0000">&f1_size;</FONT></TD>
        <TD><FONT COLOR="#FF0000">&f1_mtime_hh;:&f1_mtime_mm;:&f1_mtime_ss; &f1_mtime_DD;/&f1_mtime_MM;/&f1_mtime_YYYY; </FONT></TD>
        <TD><FONT COLOR="#FF0000">&f1_filename;</FONT></TD>
     </TR>
     <TR>
        <TD><FONT COLOR="#FF0000">&f2_size;</FONT></TD>
        <TD><FONT COLOR="#FF0000">&f2_mtime_hh;:&f2_mtime_mm;:&f2_mtime_ss; &f2_mtime_DD;/&f2_mtime_MM;/&f2_mtime_YYYY; </FONT></TD>
        <TD><FONT COLOR="#FF0000">&f2_filename;</FONT></TD>
     </TR>
   </TABLE>
   EOF
   #-
   PAGE_HTML3D5::Table_F1_Head_txt = '<center><font color="#FF0000">&f1_filename_long;</font></center>';
   PAGE_HTML3D5::Table_F1_Head_BGColor = "#FFFFFF";
   PAGE_HTML3D5::Table_F2_Head_txt = '<center><font color="#FF0000">&f2_filename_long;</font></center>';
   PAGE_HTML3D5::Table_F2_Head_BGColor = "#FFFFFF";
   PAGE_HTML3D5::Table_F1_Bottom_txt = "";
   PAGE_HTML3D5::Table_F1_Bottom_BGColor = "#000000";
   PAGE_HTML3D5::Table_F2_Bottom_txt = "";
   PAGE_HTML3D5::Table_F2_Bottom_BGColor = "#000000";
   #-
   ####################################################################
   # Class Area : PAGE_HTML4D01::
   # Html page parameters (html version 4.01 with css style)
   # N.B.: By adding any item of this class, you MUST add all these
   #       Class's items
   ####################################################################
   PAGE_HTML4D01::Gene_Info_Head = "<HR>
   Generation Information.
   ";
   PAGE_HTML4D01::Bottom = "<HR>
   File generated with yacdiff.<BR>
   ";
   PAGE_HTML4D01::Head_Title = "yacdiff";
   PAGE_HTML4D01::Body_Title = '<H1><FONT COLOR="#00FFFF">Difference between &f1_filename_long; and &f2_filename_long;</FONT></H1>';# 00FFFF# cyan
   PAGE_HTML4D01::Bg_Color   = "#FFFFFF";
   PAGE_HTML4D01::Link    = "#33CC00";# 33CC00# darkgreen
   PAGE_HTML4D01::VLink   = "#000000";
   PAGE_HTML4D01::ALink   = "#FF0000";
   PAGE_HTML4D01::Generation_Information = << "EOF";
   Diff generated at &gene_time_hh;:&gene_time_mm;:&gene_time_ss; &gene_time_DD;/&gene_time_MM;/&gene_time_YYYY; from
   <TABLE>
     <TR>
        <TD><P class="info">size</P></TD>
        <TD><P class="info">mtime date</P></TD>
        <TD><P class="info">filename</P></TD>
     </TR>
     <TR>
        <TD><P class="info">&f1_size;</P></TD>
        <TD><P class="info">&f1_mtime_hh;:&f1_mtime_mm;:&f1_mtime_ss; &f1_mtime_DD;/&f1_mtime_MM;/&f1_mtime_YYYY; </P></TD>
        <TD><P class="info">&f1_filename;</P></TD>
     </TR>
     <TR>
        <TD><P class="info">&f2_size;</P></TD>
        <TD><P class="info">&f2_mtime_hh;:&f2_mtime_mm;:&f2_mtime_ss; &f2_mtime_DD;/&f2_mtime_MM;/&f2_mtime_YYYY; </P></TD>
        <TD><P class="info">&f2_filename;</P></TD>
     </TR>
   </TABLE>
   EOF
   #-
   PAGE_HTML4D01::Table_F1_Head_txt = '<center><font color="#FF0000">&f1_filename_long;</font></center>';
   PAGE_HTML4D01::Table_F2_Head_txt = '<center><font color="#FF0000">&f2_filename_long;</font></center>';
   PAGE_HTML4D01::Table_F1_Bottom_txt = "";
   PAGE_HTML4D01::Table_F2_Bottom_txt = "";
   PAGE_HTML4D01::Added_css_style = << "EOF";
   P.info { 
               font-family : monospace;
               white-space : pre;
               margin-top : 0 em;
               margin-bottom : 0 em;
               margin-left : 0 em;
               margin-right : 0 em;
               color : #FF0000;
             }
   EOF
   #-
   ####################################################################
   # Class Area : STYLE_HTML3D5::
   # Html style parameters (html version 3.5 with no css style)
   # N.B.: By adding any item of this class, you MUST add all these
   #       Class's items
   ####################################################################
   STYLE_HTML3D5::Color_Warning           = "#FF0000";
   STYLE_HTML3D5::FGColor_Comment         = "#006400";# 006400#DarkGreen
   STYLE_HTML3D5::FGColor_Standart        = "#000000";
   STYLE_HTML3D5::FGColor_Lg              = "#008B8B";# 008B8B#Cyan4
   STYLE_HTML3D5::FGColor_AbsLg           = "#00FFFF";# 00FFFF# cyan
   STYLE_HTML3D5::FGColor_Modif_Diff      = "#FF00FF";# FF00FF#magenta
   STYLE_HTML3D5::FGColor_Added_Diff      = "#FF1493";# FF1493#Deep Pink
   STYLE_HTML3D5::BGColor_No_Diff         = "#FFFFFF";
   STYLE_HTML3D5::BGColor_Withspace_Diff  = "#DEDEDE";# DEDEDE#Grey
   STYLE_HTML3D5::BGColor_Comment_Diff    = "#9AFF9A";# 9AFF9A#Pale Green
   STYLE_HTML3D5::BGColor_Standart_Diff   = "#87CEFF";# 87CEFF#Skye Blue
   #-
   #-----------------------------------------------------------------
   ######When line are greater than specified width : Continuing Char
   #-----------------------------------------------------------------
   STYLE_HTML3D5::ContChar_Color_Ws       = "#DEDEDE";# DEDEDE#Grey
   STYLE_HTML3D5::ContChar_Char_Ws        = '&not;';
   STYLE_HTML3D5::ContChar_Color_Com      = "#006400";# 006400#DarkGreen
   STYLE_HTML3D5::ContChar_Char_Com       = '&not;';
   STYLE_HTML3D5::ContChar_Color_Std      = "#000000";
   STYLE_HTML3D5::ContChar_Char_Std       = '<B>&not;</B>';
   STYLE_HTML3D5::ContChar_Color_Diff_Ws  = "#DEDEDE";# DEDEDE#Grey
   STYLE_HTML3D5::ContChar_Char_Diff_Ws   = '<B>&not;</B>';
   STYLE_HTML3D5::ContChar_Color_Diff_Com = "#006400";# 006400#DarkGreen
   STYLE_HTML3D5::ContChar_Char_Diff_Com  = '&not;';
   STYLE_HTML3D5::ContChar_Color_Diff_Std = "#000000";
   STYLE_HTML3D5::ContChar_Char_Diff_Std  = '<B>&not;</B>';
   STYLE_HTML3D5::ContChar_Color_Add_Ws   = "#008B8B";# 008B8B#Cyan4
   STYLE_HTML3D5::ContChar_Char_Add_Ws    = '<B>&not;</B>';
   STYLE_HTML3D5::ContChar_Color_Add_Com  = "#FF00FF";# FF00FF#magenta
   STYLE_HTML3D5::ContChar_Char_Add_Com   = '<B>&not;</B>';
   STYLE_HTML3D5::ContChar_Color_Add_Std  = "#FF1493";# FF1493#Deep Pink
   STYLE_HTML3D5::ContChar_Char_Add_Std   = '<B>&not;</B>';
   #-
   ####################################################################
   # Class Area : STYLE_HTML4D01::
   # Html style parameters (html version 4.01 with css style)
   # N.B.: By adding any item of this class, you MUST add all these
   #       Class's items
   ####################################################################
   STYLE_HTML4D01::Color_Warning           = "#FF0000";
   STYLE_HTML4D01::FGColor_Comment         = "#006400";# 006400#DarkGreen
   STYLE_HTML4D01::FGColor_Standart        = "#000000";
   STYLE_HTML4D01::FGColor_Lg              = "#008B8B";# 008B8B#Cyan4
   STYLE_HTML4D01::FGColor_AbsLg           = "#00FFFF";# 00FFFF# cyan
   STYLE_HTML4D01::FGColor_Modif_Diff      = "#FF00FF";# FF00FF#magenta
   STYLE_HTML4D01::FGColor_Added_Diff      = "#FF1493";# FF1493#Deep Pink
   STYLE_HTML4D01::BGColor_No_Diff         = "#FFFFFF";
   STYLE_HTML4D01::BGColor_Withspace_Diff  = "#DEDEDE";# DEDEDE#Grey
   STYLE_HTML4D01::BGColor_Comment_Diff    = "#9AFF9A";# 9AFF9A#Pale Green
   STYLE_HTML4D01::BGColor_Standart_Diff   = "#87CEFF";# 87CEFF#Skye Blue
   #-
   #-----------------------------------------------------------------
   ######When line are greater than specified width : Continuing Char
   #-----------------------------------------------------------------
   STYLE_HTML4D01::ContChar_Color_Ws       = "#DEDEDE";# DEDEDE#Grey
   STYLE_HTML4D01::ContChar_Char_Ws        = '&not;';
   STYLE_HTML4D01::ContChar_Color_Com      = "#006400";# 006400#DarkGreen
   STYLE_HTML4D01::ContChar_Char_Com       = '&not;';
   STYLE_HTML4D01::ContChar_Color_Std      = "#000000";
   STYLE_HTML4D01::ContChar_Char_Std       = '<B>&not;</B>';
   STYLE_HTML4D01::ContChar_Color_Diff_Ws  = "#DEDEDE";# DEDEDE#Grey
   STYLE_HTML4D01::ContChar_Char_Diff_Ws   = '<B>&not;</B>';
   STYLE_HTML4D01::ContChar_Color_Diff_Com = "#006400";# 006400#DarkGreen
   STYLE_HTML4D01::ContChar_Char_Diff_Com  = '&not;';
   STYLE_HTML4D01::ContChar_Color_Diff_Std = "#000000";
   STYLE_HTML4D01::ContChar_Char_Diff_Std  = '<B>&not;</B>';
   STYLE_HTML4D01::ContChar_Color_Add_Ws   = "#008B8B";# 008B8B#Cyan4
   STYLE_HTML4D01::ContChar_Char_Add_Ws    = '<B>&not;</B>';
   STYLE_HTML4D01::ContChar_Color_Add_Com  = "#FF00FF";# FF00FF#magenta
   STYLE_HTML4D01::ContChar_Char_Add_Com   = '<B>&not;</B>';
   STYLE_HTML4D01::ContChar_Color_Add_Std  = "#FF1493";# FF1493#Deep Pink
   STYLE_HTML4D01::ContChar_Char_Add_Std   = '<B>&not;</B>';
   #-
   ####################################################################
   # Class Area : STYLE_TXT::
   # Xterm ANSI colors for text format output
   # N.B.: By adding any item of this class, you MUST add all these
   #       Class's items
   ####################################################################
   STYLE_TXT::FGColor_Comment          = 'green';
   STYLE_TXT::FGColor_Standart         = 'yellow';
   STYLE_TXT::FGColor_Lg               = 'white';
   STYLE_TXT::FGColor_AbsLg            = 'white';
   STYLE_TXT::FGColor_Modif_Diff       = 'red';
   STYLE_TXT::FGColor_Added_Diff       = 'magenta';
   STYLE_TXT::BGColor_No_Diff          = 'yellow on_black';
   STYLE_TXT::BGColor_Withspace_Diff   = 'yellow on_black bold';
   STYLE_TXT::BGColor_Comment_Diff     = 'yellow on_black underline';
   STYLE_TXT::BGColor_Standart_Diff    = 'yellow on_blue';
   #-
   #-----------------------------------------------------------------
   ######When line are greater than specified width : Continuing Char
   #-----------------------------------------------------------------
   STYLE_TXT::ContChar_Color_Ws       = "white on_black";
   STYLE_TXT::ContChar_Char_Ws        = "-";
   STYLE_TXT::ContChar_Color_Com      = "green on_black";
   STYLE_TXT::ContChar_Char_Com       = "-";
   STYLE_TXT::ContChar_Color_Std      = "yellow on_black";
   STYLE_TXT::ContChar_Char_Std       = "-";
   STYLE_TXT::ContChar_Color_Diff_Ws  = "bold white on_black";
   STYLE_TXT::ContChar_Char_Diff_Ws   = "-";
   STYLE_TXT::ContChar_Color_Diff_Com = "underline green on_black";
   STYLE_TXT::ContChar_Char_Diff_Com  = "-";
   STYLE_TXT::ContChar_Color_Diff_Std = "bold yellow on_blue";
   STYLE_TXT::ContChar_Char_Diff_Std  = "-";
   STYLE_TXT::ContChar_Color_Add_Ws   = "bold cyan on_blue";
   STYLE_TXT::ContChar_Char_Add_Ws    = "-";
   STYLE_TXT::ContChar_Color_Add_Com  = "bold magenta on_blue";
   STYLE_TXT::ContChar_Char_Add_Com   = "-";
   STYLE_TXT::ContChar_Color_Add_Std  = "bold red on_blue";
   STYLE_TXT::ContChar_Char_Add_Std   = "-";
   #-
   ####################################################################
   # END OF CONFIG FILE
   ####################################################################

CONFIGURATION VARIABLES

Some configuration items may contains special strings which are replaced automatically by yacdiff.

&f2_mtime_DD;

is replaced by a 2 digits number giving the day of the modification date of file2.

&f1_mtime_ss;

is replaced by a 2 digits number giving the seconds of the modification date of file1.

&f2_size;

is replaced by the size in bytes of file2.

&f2_mtime_hh;

is replaced by a 2 digits number giving the hour of the modification date of file2.

&f2_mtime_YYYY;

is replaced by a 4 digits number giving the year of the modification date of file2.

&f2_mtime_ss;

is replaced by a 2 digits number giving the seconds of the modification date of file2.

&f1_mtime_mm;

is replaced by a 2 digits number giving the minutes of the modification date of file1.

&f1_mtime_YYYY;

is replaced by a 4 digits number giving the year of the modification date of file1.

&f1_mtime_DD;

is replaced by a 2 digits number giving the day of the modification date of file1.

&f1_size;

is replaced by the size in bytes of file1.

&f2_mtime_mm;

is replaced by a 2 digits number giving the minutes of the modification date of file2.

&f1_mtime_hh;

is replaced by a 2 digits number giving the hour of the modification date of file1.

&gene_time_DD;

is replaced by a 2 digits number giving the day of the generation date.

&f2_mtime_MM;

is replaced by a 2 digits number giving the month of the modification date of file2.

&gene_time_mm;

is replaced by a 2 digits number giving the minutes of the generation date.

&gene_time_MM;

is replaced by a 2 digits number giving the month of the generation date.

&gene_time_ss;

is replaced by a 2 digits number giving the seconds of the generation date.

&f1_mtime_MM;

is replaced by a 2 digits number giving the month of the modification date of file1.

&gene_time_hh;

is replaced by a 2 digits number giving the hour of the generation date.

&gene_time_YYYY;

is replaced by a 4 digits number giving the year of the generation date.

&f1_filename;

is replaced by the name of file1.

&f2_filename;

is replaced by the name of file2. file2.

&f1_filename_long;

is replaced by the name of file1 and its window.

&f2_filename_long;

is replaced by the name of file2 and its window.


ENVIRONNEMENT

yacdiff may use HOME environnement variable.


KNOWN BUGS/LIMITATIONS

The comment detection and the perl specificities are basic algorithm. I hope it can make a good job in most cases. But :

The set of characters deliming quoting or comments should be on the same line. Ex1: qq{ those three letters (beginning of a perl quoting) should be on the same line. Ex2: --> thoes three letters (end an HTML comment) should be on the same line.

The coments whithin a perl extended matching expression are not detected as comments.

The contexts options -context -after, -before numbers are not strictly respected. But the contexts dumped is not far than what you can expect.


PREREQUISITES

This script requires the strict, diagnostics, File::Basename, Env, Getopt::Long, Pod::Usage, Term::ANSIColor, File::stat, Time::localtime modules. It also requires Algorithm::Diff 1.19_01.

A diff tool like GNU diff.


COREQUISITES

None


OSNAMES

Linux *NIX


SCRIPT CATEGORIES

CPAN/Miscellaneous Programming/Utilities


AUTHOR

 Alexis CHEVRANT-BRETON.


SEE ALSO

perl(1). sdiff


COPYRIGHT

 yacdiff.pl is Copyright (c) 2007, by Alexis CHEVRANT-BRETON. 
 All rights reserved. You may distribute this code under the terms 
 of either the GNU General Public License or the Artistic License, 
 as specified in the Perl README file.
 There is NO warranty of any kind; not even for MERCHANTABILITY or 
 FITNESS FOR A PARTICULAR PURPOSE, to the extent permitted by law.

SourceForge.net Logo