Merge pull request #323 from Coderlane/diff_stats_string
Add DiffStats String
This commit is contained in:
commit
1670c49c7e
27
diff.go
27
diff.go
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue