@@ -80,7 +80,7 @@ type CheckOptions struct {
80
80
// layer to the contents that we'd expect it to have to ignore certain
81
81
// discrepancies
82
82
type checkIgnore struct {
83
- ownership , timestamps , permissions bool
83
+ ownership , timestamps , permissions , filetype bool
84
84
}
85
85
86
86
// CheckMost returns a CheckOptions with mostly just "quick" checks enabled.
@@ -139,8 +139,10 @@ func (s *store) Check(options *CheckOptions) (CheckReport, error) {
139
139
if strings .Contains (o , "ignore_chown_errors=true" ) {
140
140
ignore .ownership = true
141
141
}
142
- if strings .HasPrefix (o , "force_mask=" ) {
142
+ if strings .Contains (o , "force_mask=" ) {
143
+ ignore .ownership = true
143
144
ignore .permissions = true
145
+ ignore .filetype = true
144
146
}
145
147
}
146
148
for o := range s .pullOptions {
@@ -833,7 +835,7 @@ func (s *store) Repair(report CheckReport, options *RepairOptions) []error {
833
835
// compareFileInfo returns a string summarizing what's different between the two checkFileInfos
834
836
func compareFileInfo (a , b checkFileInfo , idmap * idtools.IDMappings , ignore checkIgnore ) string {
835
837
var comparison []string
836
- if a .typeflag != b .typeflag {
838
+ if a .typeflag != b .typeflag && ! ignore . filetype {
837
839
comparison = append (comparison , fmt .Sprintf ("filetype:%v→%v" , a .typeflag , b .typeflag ))
838
840
}
839
841
if idmap != nil && ! idmap .Empty () {
0 commit comments