Index: /trunk/ippTools/src/disttool.c
===================================================================
--- /trunk/ippTools/src/disttool.c	(revision 27541)
+++ /trunk/ippTools/src/disttool.c	(revision 27542)
@@ -1673,4 +1673,13 @@
     PXOPT_COPY_STR(config->args, where, "-dist_group", "dist_group", "LIKE");
 
+    PXOPT_LOOKUP_BOOL(clean, config->args, "-clean", false);
+    PXOPT_LOOKUP_BOOL(full, config->args, "-full", false);
+    if (full && clean) {
+        psError(PS_ERR_UNKNOWN, true, "-full and -clean makes no sense, chose one or the other");
+        psFree(where);
+        return false;
+    }
+        
+
     PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false);
     if (!state) {
@@ -1692,4 +1701,10 @@
     }
     psFree(where);
+
+    if (clean) {
+        psStringAppend(&query, " AND distTarget.clean");
+    } else {
+        psStringAppend(&query, " AND NOT distTarget.clean");
+    }
 
     if (!p_psDBRunQueryF(config->dbh, query, state)) {
Index: /trunk/ippTools/src/disttoolConfig.c
===================================================================
--- /trunk/ippTools/src/disttoolConfig.c	(revision 27541)
+++ /trunk/ippTools/src/disttoolConfig.c	(revision 27542)
@@ -301,4 +301,6 @@
     psMetadataAddStr(updateinterestArgs, PS_LIST_TAIL, "-dest_name",    0, "define destination name", NULL);
     psMetadataAddStr(updateinterestArgs, PS_LIST_TAIL, "-dist_group",    0, "define distribution group", NULL);
+    psMetadataAddBool(updateinterestArgs, PS_LIST_TAIL,"-clean",     0, "update clean interests", false);
+    psMetadataAddBool(updateinterestArgs, PS_LIST_TAIL,"-full",     0, "update full interests", false);
 
     // -listinterests
