mirror of
https://github.com/abraunegg/onedrive
synced 2024-05-10 17:56:44 +02:00
Implement Feature: Multiple skip_dir & skip_file configuration rules (#1068)
* Implement Feature: Multiple skip_dir & skip_file configuration rules
This commit is contained in:
parent
0c12ed7df4
commit
19cf656c19
|
@ -340,6 +340,17 @@ Patterns are case insensitive. `*` and `?` [wildcards characters](https://techne
|
|||
|
||||
**Important:** Entries under `skip_dir` are relative to your `sync_dir` path.
|
||||
|
||||
**Note:** The `skip_dir` can be specified multiple times, for example:
|
||||
```text
|
||||
skip_dir = "SomeDir|OtherDir|ThisDir|ThatDir"
|
||||
skip_dir = "/Path/To/A/Directory"
|
||||
skip_dir = "/Another/Path/To/Different/Directory"
|
||||
```
|
||||
This will be interpreted the same as:
|
||||
```text
|
||||
skip_dir = "SomeDir|OtherDir|ThisDir|ThatDir|/Path/To/A/Directory|/Another/Path/To/Different/Directory"
|
||||
```
|
||||
|
||||
**Note:** After changing `skip_dir`, you must perform a full re-synchronization by adding `--resync` to your existing command line - for example: `onedrive --synchronize --resync`
|
||||
|
||||
#### skip_file
|
||||
|
@ -368,6 +379,17 @@ By default, the following files will be skipped:
|
|||
|
||||
**Important:** Do not use a skip_file entry of `.*` as this will prevent correct searching of local changes to process.
|
||||
|
||||
**Note:** The `skip_file` can be specified multiple times, for example:
|
||||
```text
|
||||
skip_file = "~*|.~*|*.tmp|*.swp"
|
||||
skip_file = "*.blah"
|
||||
skip_file = "never_sync.file"
|
||||
```
|
||||
This will be interpreted the same as:
|
||||
```text
|
||||
skip_file = "~*|.~*|*.tmp|*.swp|*.blah|never_sync.file"
|
||||
```
|
||||
|
||||
**Note:** after changing `skip_file`, you must perform a full re-synchronization by adding `--resync` to your existing command line - for example: `onedrive --synchronize --resync`
|
||||
|
||||
#### skip_dotfiles
|
||||
|
|
25
src/config.d
25
src/config.d
|
@ -544,8 +544,29 @@ final class Config
|
|||
// --skip-file ARG
|
||||
// --skip-dir ARG
|
||||
if (key == "sync_dir") configFileSyncDir = c.front.dup;
|
||||
if (key == "skip_file") configFileSkipFile = c.front.dup;
|
||||
if (key == "skip_dir") configFileSkipDir = c.front.dup;
|
||||
if (key == "skip_file") {
|
||||
// Handle multiple entries of skip_file
|
||||
if (configFileSkipFile.empty) {
|
||||
// currently no entry exists
|
||||
configFileSkipFile = c.front.dup;
|
||||
} else {
|
||||
// add to existing entry
|
||||
configFileSkipFile = configFileSkipFile ~ "|" ~ to!string(c.front.dup);
|
||||
setValueString("skip_file", configFileSkipFile);
|
||||
}
|
||||
}
|
||||
if (key == "skip_dir") {
|
||||
// Handle multiple entries of skip_dir
|
||||
if (configFileSkipDir.empty) {
|
||||
// currently no entry exists
|
||||
configFileSkipDir = c.front.dup;
|
||||
} else {
|
||||
// add to existing entry
|
||||
configFileSkipDir = configFileSkipDir ~ "|" ~ to!string(c.front.dup);
|
||||
setValueString("skip_dir", configFileSkipDir);
|
||||
}
|
||||
}
|
||||
|
||||
// Azure AD Configuration
|
||||
if (key == "azure_ad_endpoint") {
|
||||
string azureConfigValue = c.front.dup;
|
||||
|
|
Loading…
Reference in a new issue