Index: /trunk/ippTasks/rcserver.pro
===================================================================
--- /trunk/ippTasks/rcserver.pro	(revision 28791)
+++ /trunk/ippTasks/rcserver.pro	(revision 28792)
@@ -12,4 +12,5 @@
 ### Database lists
 $rcPendingFS_DB = 0
+$rcRevertFS_DB = 0
 
 ### Check status of tasks
@@ -38,4 +39,13 @@
   task rcserver.makefileset.run
     active false
+  end
+  task rcserver.revert
+    active false
+  end
+end
+
+macro rcserver.revert.on
+  task rcserver.revert
+    active true
   end
 end
@@ -156,2 +166,49 @@
   end
 end
+
+
+task rcserver.revert
+  host         local
+
+  periods      -poll 60.0
+  periods      -exec 1800.0
+  periods      -timeout 120.0
+  npending     1
+
+  stdout NULL
+  stderr $LOGSUBDIR/revert.log
+
+  task.exec
+    if ($LABEL:n == 0) break
+    $run = disttool -revertfileset
+    if ($DB:n == 0)
+      option DEFAULT
+    else
+      # save the DB name for the exit tasks
+      option $DB:$rcRevertFS_DB
+      $run = $run -dbname $DB:$rcRevertFS_DB
+      $rcRevertFS_DB ++
+      if ($rcRevertFS_DB >= $DB:n) set rcRevertFS_DB = 0
+    end
+    add_poll_labels run
+    command $run
+  end
+
+  # success
+  task.exit    0
+  end
+
+  # locked list
+  task.exit    default
+    showcommand failure
+  end
+
+  task.exit    crash
+    showcommand crash
+  end
+
+  # operation times out?
+  task.exit    timeout
+    showcommand timeout
+  end
+end
