[svn-r18164] Purpose:

Add a feature to compare through links. Relate to bugzilla report 1754.

Description:
    Currently, h5diff command only compares the name(path) of target object 
    not the actual data. With this feature, h5diff will go through the link(s) 
    and figure out the actual object at the end of the link and compare data 
    if exist. Internally we have hard-link, soft-link, external-link (as part 
    of user_defined-link). This feature will provide a user transparent 
    experience when comparing link objects as the user can specify any of 
    those 3 type of links to be compared in any combination.

Tested on Jam.
This commit is contained in:
Jonathan Kim
2010-01-25 16:43:48 -05:00
parent bb25c85e79
commit 79cd5838d1
3 changed files with 593 additions and 40 deletions

View File

@@ -31,7 +31,7 @@ const char *progname = "h5diff";
* Command-line options: The user can specify short or long-named
* parameters.
*/
static const char *s_opts = "hVrvqn:d:p:Nc";
static const char *s_opts = "hVrvqn:d:p:Ncl";
static struct long_options l_opts[] = {
{ "help", no_arg, 'h' },
{ "version", no_arg, 'V' },
@@ -44,6 +44,7 @@ static struct long_options l_opts[] = {
{ "nan", no_arg, 'N' },
{ "compare", no_arg, 'c' },
{ "use-system-epsilon", no_arg, 'e' },
{ "link-follow", no_arg, 'l' },
{ NULL, 0, '\0' }
};
@@ -100,6 +101,9 @@ void parse_command_line(int argc,
case 'r':
options->m_report = 1;
break;
case 'l':
options->linkfollow = 1;
break;
case 'd':
options->d=1;
@@ -360,6 +364,7 @@ void usage(void)
printf(" -r, --report Report mode. Print differences\n");
printf(" -v, --verbose Verbose mode. Print differences, list of objects\n");
printf(" -q, --quiet Quiet mode. Do not do output\n");
printf(" -l, --link-follow Follow link(s)\n");
printf(" -c, --compare List objects that are not comparable\n");
printf(" -N, --nan Avoid NaNs detection\n");
printf(" -n C, --count=C Print differences up to C number, C is a positive integer.\n");