Fix markup of Repository Format section
This commit is contained in:
parent
aeb3135bcb
commit
007bfb29de
1 changed files with 16 additions and 25 deletions
41
README.rst
41
README.rst
|
@ -120,37 +120,28 @@ Remote ID
|
||||||
Repository Format
|
Repository Format
|
||||||
.................
|
.................
|
||||||
|
|
||||||
``EncSign(X)``
|
| `EncSign(X):` Sign and Encrypt to GPG key holder
|
||||||
Sign and Encrypt to GPG key holder
|
| `Encrypt(K,X):` Encrypt using symmetric-key algorithm
|
||||||
``Encrypt(K,X)``
|
| `Hash(X):` SHA-2/256
|
||||||
Encrypt using symmetric-key algorithm
|
|
|
||||||
``Hash(X)``
|
| `B:` branch list
|
||||||
SHA-2/256
|
| `L:` list of the hash (`Hi`) and key (`Ki`) for each packfile
|
||||||
|
| `R:` Remote ID
|
||||||
``B``
|
|
||||||
branch list
|
|
||||||
``L``
|
|
||||||
list of the hash (``Hi``) and key (``Ki``) for each packfile
|
|
||||||
``R``
|
|
||||||
Remote ID
|
|
||||||
|
|
||||||
|
|
|
|
||||||
| To write the repository:
|
| To write the repository:
|
||||||
|
|
|
|
||||||
| Store each packfile ``P`` as ``Encrypt(Ki, P) -> P'`` in filename ``Hi``
|
| Store each packfile `P` as `Encrypt(Ki, P)` → `P'` in filename `Hi`
|
||||||
| where ``Ki`` is a new random string and ``Hash(P') -> Hi``
|
| where `Ki` is a new random string and `Hash(P')` → `Hi`
|
||||||
| Store ``EncSign(B || L || R)`` in the manifest
|
| Store `EncSign(B || L || R)` in the manifest
|
||||||
|
|
|
|
||||||
| To read the repository:
|
| To read the repository:
|
||||||
|
|
|
|
||||||
| Decrypt and verify manifest using GPG keyring ``-> (B, L, R)``
|
| Get manifest, decrypt and verify using GPG keyring → `(B, L, R)`
|
||||||
| Warn if ``R`` does not match previously seen Remote ID
|
| Warn if `R` does not match previously seen Remote ID
|
||||||
| for each ``Hi, Ki in L``:
|
| for each `Hi, Ki` in `L`:
|
||||||
| Get file ``Hi`` from the server ``-> P'``
|
| Get file `Hi` from the server → `P'`
|
||||||
| Verify ``Hash(P')`` matches ``Hi``
|
| Verify `Hash(P')` matches `Hi`
|
||||||
| Decrypt ``P'`` using ``Ki`` -> ``P`` then open ``P`` with git
|
| Decrypt `P'` using `Ki` → `P` then open `P` with git
|
||||||
|
|
|
||||||
| Only packs mentioned in ``L`` are downloaded.
|
|
||||||
|
|
||||||
Manifest file
|
Manifest file
|
||||||
.............
|
.............
|
||||||
|
|
Loading…
Reference in a new issue