For simplicity, is good to have the option to mark a branch as conflict-free. A conflict free branch don't accept push if the new patches create conflict with the previus ones in the branch. For example, in the nest, my master branch is always conflict free, and when i or other push patches to it, if there is conflict, the patches are rejected. I must firstly pull the patches from the master branch in the nest, solve the conflicts locally and push after that. Similar to git. I think conflict free branches are usefull for "oficial" repositories.
Florent and myself discussed a new semantics for push/pull to prevent users from accidentally creating on the remote end states they've never seen locally.
Git does that with "fast forward" pulls, for purely technical reasons. Here we have more flexibility: any set of patch closed for dependencies is valid. Any comments welcome!
Thanks! This is fixed by the latest master: Pijul now refuses to push non-fast-forward branches. So, you can still create a conflict if you want, but there is now a way to avoid it.
If this is unsatisfactory for you, please contribute to discussion #22.