Add a flag to toggle OneDrive delta incrementals
This will help us while this is still in development. We should be able to add in features without affecting anything else. Once we have it in a more or less stable state this can be removed completely.
This commit is contained in:
parent
3edc931d44
commit
62d83d2df0
@ -81,6 +81,7 @@ func addOneDriveCommands(cmd *cobra.Command) *cobra.Command {
|
|||||||
case createCommand:
|
case createCommand:
|
||||||
c, fs = utils.AddCommand(cmd, oneDriveCreateCmd())
|
c, fs = utils.AddCommand(cmd, oneDriveCreateCmd())
|
||||||
options.AddFeatureToggle(cmd, options.EnablePermissionsBackup())
|
options.AddFeatureToggle(cmd, options.EnablePermissionsBackup())
|
||||||
|
options.AddFeatureToggle(cmd, options.EnableOneDriveDeltaIncrementals())
|
||||||
|
|
||||||
c.Use = c.Use + " " + oneDriveServiceCommandCreateUseSuffix
|
c.Use = c.Use + " " + oneDriveServiceCommandCreateUseSuffix
|
||||||
c.Example = oneDriveServiceCommandCreateExamples
|
c.Example = oneDriveServiceCommandCreateExamples
|
||||||
|
|||||||
@ -16,6 +16,7 @@ func Control() control.Options {
|
|||||||
opt.RestorePermissions = restorePermissions
|
opt.RestorePermissions = restorePermissions
|
||||||
opt.ToggleFeatures.DisableIncrementals = disableIncrementals
|
opt.ToggleFeatures.DisableIncrementals = disableIncrementals
|
||||||
opt.ToggleFeatures.EnablePermissionsBackup = enablePermissionsBackup
|
opt.ToggleFeatures.EnablePermissionsBackup = enablePermissionsBackup
|
||||||
|
opt.ToggleFeatures.EnableOneDriveDeltaIncrementals = enableOneDriveDeltaIncrentals
|
||||||
|
|
||||||
return opt
|
return opt
|
||||||
}
|
}
|
||||||
@ -57,8 +58,9 @@ func AddRestorePermissionsFlag(cmd *cobra.Command) {
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
var (
|
var (
|
||||||
disableIncrementals bool
|
disableIncrementals bool
|
||||||
enablePermissionsBackup bool
|
enablePermissionsBackup bool
|
||||||
|
enableOneDriveDeltaIncrentals bool
|
||||||
)
|
)
|
||||||
|
|
||||||
type exposeFeatureFlag func(*pflag.FlagSet)
|
type exposeFeatureFlag func(*pflag.FlagSet)
|
||||||
@ -97,3 +99,16 @@ func EnablePermissionsBackup() func(*pflag.FlagSet) {
|
|||||||
cobra.CheckErr(fs.MarkHidden("enable-permissions-backup"))
|
cobra.CheckErr(fs.MarkHidden("enable-permissions-backup"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Adds the hidden '--enable-onedrive-delta-incrementals' cli flag which, when
|
||||||
|
// set, enables delta incrementals for OneDrive.
|
||||||
|
func EnableOneDriveDeltaIncrementals() func(*pflag.FlagSet) {
|
||||||
|
return func(fs *pflag.FlagSet) {
|
||||||
|
fs.BoolVar(
|
||||||
|
&enableOneDriveDeltaIncrentals,
|
||||||
|
"enable-onedrive-delta-incrementals",
|
||||||
|
false,
|
||||||
|
"Enables delta based incrementals for OneDrive")
|
||||||
|
cobra.CheckErr(fs.MarkHidden("enable-onedrive-delta-incrementals"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -289,6 +289,11 @@ func (op *BackupOperation) do(
|
|||||||
// checker to see if conditions are correct for incremental backup behavior such as
|
// checker to see if conditions are correct for incremental backup behavior such as
|
||||||
// retrieving metadata like delta tokens and previous paths.
|
// retrieving metadata like delta tokens and previous paths.
|
||||||
func useIncrementalBackup(sel selectors.Selector, opts control.Options) bool {
|
func useIncrementalBackup(sel selectors.Selector, opts control.Options) bool {
|
||||||
|
// TODO(meain): remove this once we stabilize delta incrementals for OneDrive
|
||||||
|
if sel.Service == selectors.ServiceOneDrive {
|
||||||
|
return opts.ToggleFeatures.EnableOneDriveDeltaIncrementals
|
||||||
|
}
|
||||||
|
|
||||||
// Delta-based incrementals currently only supported for Exchange
|
// Delta-based incrementals currently only supported for Exchange
|
||||||
if sel.Service != selectors.ServiceExchange {
|
if sel.Service != selectors.ServiceExchange {
|
||||||
return false
|
return false
|
||||||
|
|||||||
@ -80,4 +80,10 @@ type Toggles struct {
|
|||||||
// permissions. Permission metadata increases graph api call count,
|
// permissions. Permission metadata increases graph api call count,
|
||||||
// so disabling their retrieval when not needed is advised.
|
// so disabling their retrieval when not needed is advised.
|
||||||
EnablePermissionsBackup bool `json:"enablePermissionsBackup,omitempty"`
|
EnablePermissionsBackup bool `json:"enablePermissionsBackup,omitempty"`
|
||||||
|
|
||||||
|
// EnableOneDriveDeltaIncrementals is used to enable OneDrive
|
||||||
|
// delta incrementals. It is set to false by default as OneDrive
|
||||||
|
// delta incrementals is still in development. This flag works
|
||||||
|
// independent of DisableIncrementals.
|
||||||
|
EnableOneDriveDeltaIncrementals bool `json:"enableOneDriveDeltaIncrementals,omitempty"`
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user