Added the and: syntax.
authorFrancois Fleuret <francois@fleuret.org>
Fri, 12 Mar 2010 07:04:09 +0000 (08:04 +0100)
committerFrancois Fleuret <francois@fleuret.org>
Fri, 12 Mar 2010 07:04:09 +0000 (08:04 +0100)
finddup.1
finddup.c

index e021a81..3092d75 100644 (file)
--- a/finddup.1
+++ b/finddup.1
@@ -10,20 +10,22 @@ finddup \- Find files common to two directories (or not)
 
 .SH "SYNOPSIS"
 
 
 .SH "SYNOPSIS"
 
-\fBfinddup\fP [OPTION]... DIR1 [[not:]DIR2]
+\fBfinddup\fP [OPTION]... DIR1 [[and:|not:]DIR2]
 
 .SH "DESCRIPTION"
 
 With a single directory argument, \fBfinddup\fP prints the duplicated
 files found in it. With two directories, it prints either the files
 common to both DIR1 and DIR2, or with the `not:' prefix, the ones
 
 .SH "DESCRIPTION"
 
 With a single directory argument, \fBfinddup\fP prints the duplicated
 files found in it. With two directories, it prints either the files
 common to both DIR1 and DIR2, or with the `not:' prefix, the ones
-present in DIR1 and not in DIR2.
+present in DIR1 and not in DIR2. The and: prefix is assumed by default
+and necessary only if you have a directory name starting with `not:'.
 
 
-It compares files by first comparing their sizes, hence goes
+This command compares files by first comparing their sizes, hence goes
 reasonably fast.
 
 When looking for identical files, \fBfinddup\fP associates by default
 reasonably fast.
 
 When looking for identical files, \fBfinddup\fP associates by default
-a group ID to every content, and prints it along the file names.
+a group ID to every content, and prints it along the file names. Use
+the \fB-g\fP to switch it off.
 
 Note that
 .B finddup DIR
 
 Note that
 .B finddup DIR
index 688fb02..05c3999 100644 (file)
--- a/finddup.c
+++ b/finddup.c
@@ -380,6 +380,8 @@ void start(const char *dirname1, const char *dirname2) {
       /* groups are not computed in the not: mode */
       show_groups = 0;
       dirname2 += 4;
       /* groups are not computed in the not: mode */
       show_groups = 0;
       dirname2 += 4;
+    } else if(strncmp(dirname2, "and:", 4) == 0) {
+      dirname2 += 4;
     }
     if(show_progress) {
       fprintf(stderr, "%s ... ", dirname2);
     }
     if(show_progress) {
       fprintf(stderr, "%s ... ", dirname2);
@@ -465,9 +467,9 @@ void start(const char *dirname1, const char *dirname2) {
 }
 
 void print_help(FILE *out) {
 }
 
 void print_help(FILE *out) {
-  fprintf(out, "Usage: finddup [OPTION]... DIR1 [[not:]DIR2]\n");
+  fprintf(out, "Usage: finddup [OPTION]... DIR1 [[and:|not:]DIR2]\n");
   fprintf(out, "Version %s (%s)\n", VERSION_NUMBER, UNAME);
   fprintf(out, "Version %s (%s)\n", VERSION_NUMBER, UNAME);
-  fprintf(out, "Without DIR2, lists duplicated files found in DIR1. With DIR2, lists files common to both directories. With the not: prefix, lists files found in DIR1 which do not exist in DIR2.\n");
+  fprintf(out, "Without DIR2, lists duplicated files found in DIR1. With DIR2, lists files common to both directories. With the not: prefix, lists files found in DIR1 which do not exist in DIR2. The and: prefix is the default and should be used only if you have a directory starting with 'not:'\n");
   fprintf(out, "\n");
   fprintf(out, "   -h   show this help\n");
   fprintf(out, "   -d   ignore dot files and directories\n");
   fprintf(out, "\n");
   fprintf(out, "   -h   show this help\n");
   fprintf(out, "   -d   ignore dot files and directories\n");