NQ4EHPIVGLGKJCM2DLZ2BNCXS7LUTI2M33MVBMF4J6GE7EWP67FAC
Both `Hash` and `Merkle` appear to users as strings of [base32](https://en.wikipedia.org/wiki/Base32).
`Hash` and `SerializedHash` are sequences of bytes which represent changes.\
`Merkle` and `SerializedMerkle` are sequences of bytes which represent the state of a repository.\
Both `Hash` and `Merkle` appear to users as strings of [base32](https://en.wikipedia.org/wiki/Base32).\
API notes:
+ As usual, we need some kind of Transaction for most of the interactions with either view of a remote.
+ `pijul::remote::RemoteRepo` represents the _actual_ remote.
+ `libpijul::pristine::RemoteRef` represents the local cache of the last remote we've signed off on.
API notes:\
+ As usual, we need some kind of Transaction for most of the interactions with either view of a remote.\
+ `pijul::remote::RemoteRepo` represents the _actual_ remote.\
+ `libpijul::pristine::RemoteRef` represents the local cache of the last remote we've signed off on.\
Example of the base case:
+ local/master is comprised of the patches `[(0, A), (1, B)]`
+ remote/bugfix is comprised of the patches `[(0, A), (1, B), (2, C), (3, D), (4, E)]`
Example of the base case:\
+ local/master is comprised of the patches `[(0, A), (1, B)]`\
+ remote/bugfix is comprised of the patches `[(0, A), (1, B), (2, C), (3, D), (4, E)]`\
Example of the exceptional case:
we're pulling from remote/bugfix into local/master.
+ local/master is comprised of the patches `[(0, A), (1, B), (2, C), (3, D)]`,
+ the last version of `remote/bugfix` we saw was `[(0, A), (1, B), (2, C)]`
Example of the exceptional case:\
we're pulling from remote/bugfix into local/master.\
+ local/master is comprised of the patches `[(0, A), (1, B), (2, C), (3, D)]`,\
+ the last version of `remote/bugfix` we saw was `[(0, A), (1, B), (2, C)]`\