mirror of
https://github.com/gilbertchen/duplicacy
synced 2025-12-16 00:03:34 +00:00
Add -repository optiont to init add add to specifiy an alternate repository path
This commit is contained in:
@@ -71,6 +71,10 @@ func getRepositoryPreference(context *cli.Context, storageName string) (reposito
|
|||||||
}
|
}
|
||||||
|
|
||||||
if storageName == "" {
|
if storageName == "" {
|
||||||
|
if duplicacy.Preferences[0].RepositoryPath != "" {
|
||||||
|
repository = duplicacy.Preferences[0].RepositoryPath
|
||||||
|
duplicacy.LOG_INFO("REPOSITORY_SET", "Repository set to %s", repository)
|
||||||
|
}
|
||||||
return repository, &duplicacy.Preferences[0]
|
return repository, &duplicacy.Preferences[0]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,6 +84,12 @@ func getRepositoryPreference(context *cli.Context, storageName string) (reposito
|
|||||||
duplicacy.LOG_ERROR("STORAGE_NONE", "No storage named '%s' is found", storageName)
|
duplicacy.LOG_ERROR("STORAGE_NONE", "No storage named '%s' is found", storageName)
|
||||||
return "", nil
|
return "", nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if preference.RepositoryPath != "" {
|
||||||
|
repository = preference.RepositoryPath
|
||||||
|
duplicacy.LOG_INFO("REPOSITORY_SET", "Repository set to %s", repository)
|
||||||
|
}
|
||||||
|
|
||||||
return repository, preference
|
return repository, preference
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -293,9 +303,14 @@ func configRepository(context *cli.Context, init bool) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
repositoryPath := ""
|
||||||
|
if context.String("repository") != "" {
|
||||||
|
repositoryPath = context.String("repository")
|
||||||
|
}
|
||||||
preference := duplicacy.Preference{
|
preference := duplicacy.Preference{
|
||||||
Name: storageName,
|
Name: storageName,
|
||||||
SnapshotID: snapshotID,
|
SnapshotID: snapshotID,
|
||||||
|
RepositoryPath: repositoryPath,
|
||||||
StorageURL: storageURL,
|
StorageURL: storageURL,
|
||||||
Encrypted: context.Bool("encrypt"),
|
Encrypted: context.Bool("encrypt"),
|
||||||
}
|
}
|
||||||
@@ -427,8 +442,12 @@ func configRepository(context *cli.Context, init bool) {
|
|||||||
|
|
||||||
duplicacy.SavePreferences()
|
duplicacy.SavePreferences()
|
||||||
|
|
||||||
|
if repositoryPath == "" {
|
||||||
|
repositoryPath = repository
|
||||||
|
}
|
||||||
|
|
||||||
duplicacy.LOG_INFO("REPOSITORY_INIT", "%s will be backed up to %s with id %s",
|
duplicacy.LOG_INFO("REPOSITORY_INIT", "%s will be backed up to %s with id %s",
|
||||||
repository, preference.StorageURL, preference.SnapshotID)
|
repositoryPath, preference.StorageURL, preference.SnapshotID)
|
||||||
}
|
}
|
||||||
|
|
||||||
type TriBool struct {
|
type TriBool struct {
|
||||||
@@ -1287,6 +1306,11 @@ func main() {
|
|||||||
Usage: "assign a name to the storage",
|
Usage: "assign a name to the storage",
|
||||||
Argument: "<name>",
|
Argument: "<name>",
|
||||||
},
|
},
|
||||||
|
cli.StringFlag{
|
||||||
|
Name: "repository",
|
||||||
|
Usage: "initialize a new repository at the specified path rather than the current working directory",
|
||||||
|
Argument: "<path>",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Usage: "Initialize the storage if necessary and the current directory as the repository",
|
Usage: "Initialize the storage if necessary and the current directory as the repository",
|
||||||
ArgsUsage: "<snapshot id> <storage url>",
|
ArgsUsage: "<snapshot id> <storage url>",
|
||||||
@@ -1691,6 +1715,11 @@ func main() {
|
|||||||
Name: "bit-identical",
|
Name: "bit-identical",
|
||||||
Usage: "(when using -copy) make the new storage bit-identical to also allow rsync etc.",
|
Usage: "(when using -copy) make the new storage bit-identical to also allow rsync etc.",
|
||||||
},
|
},
|
||||||
|
cli.StringFlag{
|
||||||
|
Name: "repository",
|
||||||
|
Usage: "specify the path of the repository (instead of the current working directory)",
|
||||||
|
Argument: "<path>",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Usage: "Add an additional storage to be used for the existing repository",
|
Usage: "Add an additional storage to be used for the existing repository",
|
||||||
ArgsUsage: "<storage name> <snapshot id> <storage url>",
|
ArgsUsage: "<storage name> <snapshot id> <storage url>",
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import (
|
|||||||
type Preference struct {
|
type Preference struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
SnapshotID string `json:"id"`
|
SnapshotID string `json:"id"`
|
||||||
|
RepositoryPath string `json:"repository"`
|
||||||
StorageURL string `json:"storage"`
|
StorageURL string `json:"storage"`
|
||||||
Encrypted bool `json:"encrypted"`
|
Encrypted bool `json:"encrypted"`
|
||||||
BackupProhibited bool `json:"no_backup"`
|
BackupProhibited bool `json:"no_backup"`
|
||||||
|
|||||||
Reference in New Issue
Block a user