private void allowAndCreateInitialSnapshot(Path sourcePath, String snapshotPrefix, HiveConf conf,
      SnapshotUtils.ReplSnapshotCount replSnapshotCount, FileList snapPathFileList, DistributedFileSystem sourceDfs)
      throws IOException {
    SnapshotUtils.allowSnapshot(sourceDfs, sourcePath, conf);
    SnapshotUtils.createSnapshot(sourceDfs, sourcePath, secondSnapshot(snapshotPrefix), conf);
    replSnapshotCount.incrementNumCreated();
    snapPathFileList.add(sourcePath.toString());
  }
Creates copy task for the paths configured, irrespective of which table/partition belongs to it.
@param singlePathLocations paths to be copied. if the value is true then only the task is created.
@param fileList the tracking file which maintains the list of tasks.
@param conf Hive Configuration.
@throws Exception in case of any error.
ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplExternalTables.java