C.15 GitGcTask

Cleanup unnecessary files and optimize the local repository.

Table C.15: Attributes

NameTypeDescriptionDefaultRequired
gitPathStringPath to Git binary/usr/bin/gitNo
repositoryStringThe repository to cleanup.n/aYes
aggressiveBooleanThis 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.falseNo
autoBooleanWith this option, git gc checks whether any housekeeping is required; if not, it exits without performing any work. See --auto option of git-gc.falseNo
nopruneBooleanDo not prune any loose objects. See --no-prune option of git-gc.falseNo
pruneStringPrune loose objects older than date. See --prune option of git-gc.2.weeks.agoNo

C.15.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" />