# Interface SyncSpec

All Superinterfaces:
  `ContentFilterable, CopyProcessingSpec, CopySourceSpec, CopySpec, PatternFilterable`

public interface SyncSpec extends CopySpec
Synchronizes the contents of a destination directory with some source directories and files.

Since:
  7.5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PatternFilterable`
  `getPreserve()`
  Returns the filter that defines which files to preserve in the destination directory.
  `SyncSpec`
  `preserve(Action<? super PatternFilterable> action)`
  Configures the filter that defines which files to preserve in the destination directory.

  ### Methods inherited from interface CopyProcessingSpec

  `dirPermissions, filePermissions, getDirPermissions, getFilePermissions`

  ### Methods inherited from interface CopySpec

  `eachFile, eachFile, exclude, exclude, exclude, exclude, expand, expand, filesMatching, filesMatching, filesNotMatching, filesNotMatching, filter, filter, filter, filter, from, from, from, getDuplicatesStrategy, getFilteringCharset, getIncludeEmptyDirs, include, include, include, include, into, into, into, isCaseSensitive, rename, rename, rename, rename, setCaseSensitive, setDuplicatesStrategy, setExcludes, setFilteringCharset, setIncludeEmptyDirs, setIncludes, with`

  ### Methods inherited from interface PatternFilterable

  `getExcludes, getIncludes`

- ## Method Details

  - ### getPreserve

    @Internal PatternFilterable getPreserve()
    Returns the filter that defines which files to preserve in the destination directory.
    Returns:
      the filter defining the files to preserve

  - ### preserve

    SyncSpec preserve(Action<? super PatternFilterable> action)
    Configures the filter that defines which files to preserve in the destination directory.
    Parameters:
      `action` - Action for configuring the preserve filter
    Returns:
      this