C.20 GitGcTask

Cleanup unnecessary files and optimize the local repository.

Table C.21: 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.20.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" />