Commit fba55e4 1 parent 406ff8b commit fba55e4 Copy full SHA for fba55e4
File tree 4 files changed +42
-4
lines changed
4 files changed +42
-4
lines changed Original file line number Diff line number Diff line change 1
- //go:build !windows
2
- // +build !windows
1
+ //go:build !windows && !linux && !darwin && !freebsd && !netbsd && !solaris
3
2
4
3
package common
5
4
Original file line number Diff line number Diff line change
1
+ //go:build linux || darwin || freebsd || netbsd || solaris
2
+
3
+ // additional *NIX based OSes included since it uses a generic xattr implementation.
4
+
5
+ package common
6
+
7
+ import (
8
+ "encoding/json"
9
+ "github.com/pkg/xattr"
10
+ )
11
+
12
+ var AzCopySyncMetaXAttr = "azcopy.syncmeta"
13
+
14
+ func TryGetHashData (fullpath string ) (SyncHashData , error ) {
15
+ // LGet because we want to target the file we actually specify, not what's on the other end.
16
+ buf , err := xattr .LGet (fullpath , AzCopySyncMetaXAttr )
17
+ if err != nil {
18
+ return SyncHashData {}, err
19
+ }
20
+
21
+ var out SyncHashData
22
+ err = json .Unmarshal (buf , & out )
23
+
24
+ return out , err
25
+ }
26
+
27
+ func PutHashData (fullpath string , data SyncHashData ) error {
28
+ buf , err := json .Marshal (data )
29
+ if err != nil {
30
+ return err
31
+ }
32
+
33
+ // LSet because we want to target the file we actually specify, not what's on the other end.
34
+ return xattr .LSet (fullpath , AzCopySyncMetaXAttr , buf )
35
+ }
Original file line number Diff line number Diff line change @@ -14,15 +14,15 @@ require (
14
14
github.com/mattn/go-ieproxy v0.0.3
15
15
github.com/minio/minio-go v6.0.14+incompatible
16
16
github.com/pkg/errors v0.9.1
17
- github.com/pkg/xattr v0.4.6
17
+ github.com/pkg/xattr v0.4.9
18
18
github.com/rogpeppe/go-internal v1.8.1 // indirect
19
19
github.com/spf13/cobra v1.4.0
20
20
github.com/wastore/keychain v0.0.0-20180920053336-f2c902a3d807
21
21
github.com/wastore/keyctl v0.3.1
22
22
golang.org/x/crypto v0.0.0-20220314234724-5d542ad81a58
23
23
golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a
24
24
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
25
- golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5
25
+ golang.org/x/sys v0.0.0-20220408201424-a24fb2fb8a0f
26
26
google.golang.org/api v0.72.0
27
27
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
28
28
)
Original file line number Diff line number Diff line change @@ -240,6 +240,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
240
240
github.com/pkg/errors v0.9.1 /go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0 =
241
241
github.com/pkg/xattr v0.4.6 h1:0vqthLIMxQKA9VscyMcxjvAUGvyfzlk009vwLE8OZJg =
242
242
github.com/pkg/xattr v0.4.6 /go.mod h1:sBD3RAqlr8Q+RC3FutZcikpT8nyDrIEEBw2J744gVWs =
243
+ github.com/pkg/xattr v0.4.9 h1:5883YPCtkSd8LFbs13nXplj9g9tlrwoJRjgpgMu1/fE =
244
+ github.com/pkg/xattr v0.4.9 /go.mod h1:di8WF84zAKk8jzR1UBTEWh9AUlIZZ7M/JNt8e9B6ktU =
243
245
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM =
244
246
github.com/pmezard/go-difflib v1.0.0 /go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4 =
245
247
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 /go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA =
@@ -460,6 +462,8 @@ golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBc
460
462
golang.org/x/sys v0.0.0-20220209214540-3681064d5158 /go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg =
461
463
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5 h1:y/woIyUBFbpQGKS0u1aHF/40WUDnek3fPOyD08H5Vng =
462
464
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5 /go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg =
465
+ golang.org/x/sys v0.0.0-20220408201424-a24fb2fb8a0f h1:8w7RhxzTVgUzw/AH/9mUV5q0vMgy40SQRursCcfmkCw =
466
+ golang.org/x/sys v0.0.0-20220408201424-a24fb2fb8a0f /go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg =
463
467
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 /go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo =
464
468
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 /go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8 =
465
469
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c /go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ =
You can’t perform that action at this time.
0 commit comments