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"
 
-\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
-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
-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
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;
+    } else if(strncmp(dirname2, "and:", 4) == 0) {
+      dirname2 += 4;
     }
     if(show_progress) {
       fprintf(stderr, "%s ... ", dirname2);
@@ -465,9 +467,9 @@ void start(const char *dirname1, const char *dirname2) {
 }
 
 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, "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");