diff options
| author | Mirko Nosenzo <[email protected]> | 2016-10-08 11:33:56 +0200 |
|---|---|---|
| committer | Mirko Nosenzo <[email protected]> | 2016-10-08 11:33:56 +0200 |
| commit | 4567e4f7fa621df30e84ee643a27998776919b26 (patch) | |
| tree | 203c24d93683a2bda5bab19c578a2c108159337e /diff.go | |
| parent | 717a47f7547811622fb1c08c28262a8c63af96fe (diff) | |
| parent | 22091886372e73de5d66168e8665775676ec13c5 (diff) | |
Merge remote-tracking branch 'upstream/v24' into remote-refinements
Diffstat (limited to 'diff.go')
| -rw-r--r-- | diff.go | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -217,6 +217,33 @@ func (stats *DiffStats) FilesChanged() int { return int(C.git_diff_stats_files_changed(stats.ptr)) } +type DiffStatsFormat int + +const ( + DiffStatsNone DiffStatsFormat = C.GIT_DIFF_STATS_NONE + DiffStatsFull DiffStatsFormat = C.GIT_DIFF_STATS_FULL + DiffStatsShort DiffStatsFormat = C.GIT_DIFF_STATS_SHORT + DiffStatsNumber DiffStatsFormat = C.GIT_DIFF_STATS_NUMBER + DiffStatsIncludeSummary DiffStatsFormat = C.GIT_DIFF_STATS_INCLUDE_SUMMARY +) + +func (stats *DiffStats) String(format DiffStatsFormat, + width uint) (string, error) { + buf := C.git_buf{} + defer C.git_buf_free(&buf) + + runtime.LockOSThread() + defer runtime.UnlockOSThread() + + ret := C.git_diff_stats_to_buf(&buf, + stats.ptr, C.git_diff_stats_format_t(format), C.size_t(width)) + if ret < 0 { + return "", MakeGitError(ret) + } + + return C.GoString(buf.ptr), nil +} + func (diff *Diff) Stats() (*DiffStats, error) { stats := new(DiffStats) |
