C.16 GitGcTask
Prev | Appendix C. Optional tasks | Next

## C.16 GitGcTask

Cleanup unnecessary files and optimize the local repository.

Table C.17: Attributes

Name | Type | Description | Default | Required
--- | --- | --- | --- | ---
`gitPath` | `String` | Path to Git binary | /usr/bin/git | No
`repository` | `String` | The repository to cleanup. | n/a | Yes
`aggressive` | `Boolean` | This option will cause git gc to more aggressively optimize the repository at the expense of taking much more time. See --aggressive option of git-gc. | `false` | No
`auto` | `Boolean` | With this option, git gc checks whether any housekeeping is required; if not, it exits without performing any work. See --auto option of git-gc. | `false` | No
`noprune` | `Boolean` | Do not prune any loose objects. See --no-prune option of git-gc. | `false` | No
`prune` | `String` | Prune loose objects older than date. See --prune option of git-gc. | 2.weeks.ago | No

### C.16.1 Example

    <property name="repo.dir" value="./relative/path/to/repo" />
    <resolvepath propertyName="repo.dir.resolved" file="${repo.dir}" />

    <!-- Clone repository -->
    <gitclone
        repository="git://github.com/path/to/repo/repo.git"
        targetPath="${repo.dir.resolved}" />

    <!-- Cleanup repository-->
    <gitgc
        repository="${repo.dir.resolved}"
        aggressive="true"
        prune="1.week.ago" />

Prev | Up | Next
C.15 GitCloneTask | Home | C.17 GitBranchTask