No longer endorse relative paths
This commit is contained in:
parent
c0b0761cbb
commit
89f80086a2
4 changed files with 12 additions and 43 deletions
12
README.md
12
README.md
|
@ -86,8 +86,6 @@ Tools must implement the following in addition to respecting the schema:
|
|||
* When a path identifies a folder,
|
||||
the backup includes all of its files and subdirectories recursively.
|
||||
* When backing up registry keys, the backup includes all sub-keys recursively.
|
||||
* Relative paths must be resolved relative to the location of the manifest file.
|
||||
This is mainly relevant for secondary manifests.
|
||||
* If a tool supports secondary manifests, they must be automatically detected
|
||||
when they are named `.ludusavi.yaml` and located directly in `<base>`.
|
||||
For example, a Steam game's secondary manifest would be `<root>/steamapps/common/<game>/.ludusavi.yaml`.
|
||||
|
@ -106,15 +104,17 @@ Tools may also:
|
|||
and it may in fact occur on other operating systems as well.
|
||||
* Reject/ignore recursive aliases or set a recursion limit.
|
||||
The primary manifest will never contain a recursive alias.
|
||||
* Reject/ignore relative paths in the `files` mapping
|
||||
(i.e., paths starting with `./` or `../`).
|
||||
The primary manifest will never contain relative paths.
|
||||
|
||||
For authors of secondary manifests bundled with games:
|
||||
|
||||
* If present, the secondary manifest must be located directly in the game's install folder (not a subfolder),
|
||||
and the file name must be `.ludusavi.yaml`.
|
||||
* For clarity and consistency with the primary manifest,
|
||||
you are encouraged to use `<base>` instead of relative paths.
|
||||
For example, prefer `<base>/save.dat` instead of `./save.dat`,
|
||||
and prefer `<base>/../parent` instead of `../parent`.
|
||||
* You must use `<base>` instead of relative paths.
|
||||
For example, use `<base>/save.dat` instead of `./save.dat`,
|
||||
and use `<base>/../parent` instead of `../parent`.
|
||||
|
||||
The latest version of the primary manifest can be downloaded from
|
||||
https://raw.githubusercontent.com/mtkennerly/ludusavi-manifest/master/data/manifest.yaml .
|
||||
|
|
|
@ -94817,21 +94817,6 @@ Celestial Breach:
|
|||
steam:
|
||||
id: 547970
|
||||
Celestial Command:
|
||||
files:
|
||||
"./Celestial Command/Saves":
|
||||
tags:
|
||||
- save
|
||||
when:
|
||||
- os: windows
|
||||
- os: mac
|
||||
- os: linux
|
||||
"./Celestial Command/Saves/GameSettings.settings":
|
||||
tags:
|
||||
- config
|
||||
when:
|
||||
- os: windows
|
||||
- os: mac
|
||||
- os: linux
|
||||
installDir:
|
||||
Celestial Command: {}
|
||||
launch:
|
||||
|
@ -358724,11 +358709,6 @@ Mr. Shadow:
|
|||
id: 543270
|
||||
Mr. Shifty:
|
||||
files:
|
||||
"./Library/Preferences/unity.Team Shifty.Mr Shifty.plist":
|
||||
tags:
|
||||
- save
|
||||
when:
|
||||
- os: mac
|
||||
"<home>/.config/unity3d/Team Shifty/Mr Shifty":
|
||||
tags:
|
||||
- save
|
||||
|
@ -387372,17 +387352,6 @@ Ongaku:
|
|||
id: 360990
|
||||
Oni:
|
||||
files:
|
||||
"./persist.dat":
|
||||
tags:
|
||||
- save
|
||||
when:
|
||||
- os: windows
|
||||
- os: mac
|
||||
"./persist.dat, ./key_config.txt, ~/Library/Preferences/com.godgames.oni.plist":
|
||||
tags:
|
||||
- config
|
||||
when:
|
||||
- os: mac
|
||||
"<base>/AE/key_config.txt":
|
||||
tags:
|
||||
- config
|
||||
|
@ -515060,11 +515029,6 @@ Startopia:
|
|||
id: 243040
|
||||
Startup Company:
|
||||
files:
|
||||
"./StartupCompany":
|
||||
tags:
|
||||
- save
|
||||
when:
|
||||
- os: linux
|
||||
"<home>/Library/Application Support/Startup Company/SaveData":
|
||||
tags:
|
||||
- save
|
||||
|
|
|
@ -5380,6 +5380,7 @@
|
|||
* [Ceggtcher VR](https://www.pcgamingwiki.com/wiki/?curid=41470)
|
||||
* [Celestial](https://www.pcgamingwiki.com/wiki/?curid=144911)
|
||||
* [Celestial Breach](https://www.pcgamingwiki.com/wiki/?curid=52422)
|
||||
* [Celestial Command](https://www.pcgamingwiki.com/wiki/?curid=49279)
|
||||
* [Celestial Creator](https://www.pcgamingwiki.com/wiki/?curid=64554)
|
||||
* [Celestial Crossing](https://www.pcgamingwiki.com/wiki/?curid=55738)
|
||||
* [Celestial Hacker Girl Jessica](https://www.pcgamingwiki.com/wiki/?curid=98514)
|
||||
|
|
|
@ -706,7 +706,11 @@ impl WikiPath {
|
|||
}
|
||||
|
||||
pub fn usable(&self) -> bool {
|
||||
!self.composite.is_empty() && !self.irregular() && !self.too_broad()
|
||||
!self.composite.is_empty()
|
||||
&& !self.irregular()
|
||||
&& !self.too_broad()
|
||||
&& !self.composite.starts_with("./")
|
||||
&& !self.composite.starts_with("../")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue