mirror of
https://github.com/octoleo/syncthing.git
synced 2025-02-07 14:28:27 +00:00
lib/api: Expose blocksHash
in file info (#8810)
This adds the BlocksHash field from the FileInfo to our API output. It can be useful for debugging, or for external tools. I'm intentionally leaving it as an opaque base64 string because no meaning should be derived from it: it's just a string.
This commit is contained in:
parent
3cdcb7dd72
commit
ab8e6a82ab
@ -1828,6 +1828,7 @@ func fileIntfJSONMap(f protocol.FileIntf) map[string]interface{} {
|
||||
"localFlags": f.FileLocalFlags(),
|
||||
"platform": f.PlatformData(),
|
||||
"inodeChange": f.InodeChangeTime(),
|
||||
"blocksHash": f.FileBlocksHash(),
|
||||
}
|
||||
if f.HasPermissionBits() {
|
||||
out["permissions"] = fmt.Sprintf("%#o", f.FilePermissions())
|
||||
|
@ -133,6 +133,10 @@ func (f FileInfoTruncated) InodeChangeTime() time.Time {
|
||||
return time.Unix(0, f.InodeChangeNs)
|
||||
}
|
||||
|
||||
func (f FileInfoTruncated) FileBlocksHash() []byte {
|
||||
return f.BlocksHash
|
||||
}
|
||||
|
||||
func (f FileInfoTruncated) ConvertToIgnoredFileInfo() protocol.FileInfo {
|
||||
file := f.copyToFileInfo()
|
||||
file.SetIgnored()
|
||||
|
@ -46,6 +46,7 @@ type FileIntf interface {
|
||||
ModTime() time.Time
|
||||
PlatformData() PlatformData
|
||||
InodeChangeTime() time.Time
|
||||
FileBlocksHash() []byte
|
||||
}
|
||||
|
||||
func (Hello) Magic() uint32 {
|
||||
@ -170,6 +171,10 @@ func (f FileInfo) InodeChangeTime() time.Time {
|
||||
return time.Unix(0, f.InodeChangeNs)
|
||||
}
|
||||
|
||||
func (f FileInfo) FileBlocksHash() []byte {
|
||||
return f.BlocksHash
|
||||
}
|
||||
|
||||
// WinsConflict returns true if "f" is the one to choose when it is in
|
||||
// conflict with "other".
|
||||
func WinsConflict(f, other FileIntf) bool {
|
||||
|
Loading…
x
Reference in New Issue
Block a user