diff options
| author | Carlos MartÃn Nieto <[email protected]> | 2016-08-05 16:23:34 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2016-08-05 16:23:34 +0200 |
| commit | 1670c49c7e02ba38aa10072a102a33c3e6d5e1c3 (patch) | |
| tree | 4914b9c0e6d0a1ecbd8bf0f3337090a3cec280c7 /diff.go | |
| parent | f720800b507b72c0d64cdae70e2058bc620adc24 (diff) | |
| parent | 981538924c7607980dd8328564cad6c0aedd6154 (diff) | |
Merge pull request #323 from Coderlane/diff_stats_string
Add DiffStats String
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) |
