Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
cli: Allow force-push with single delegates
cloudhead committed 2 years ago
commit 8196027f3528e344df19253c3fb643b02d51440e
parent 9aee9b243656852b0cd3ada28e39899899a0ff0b
1 file changed +6 -2
modified radicle-remote-helper/src/push.rs
@@ -226,11 +226,15 @@ pub fn run(
                        let (canonical_ref, canonical_oid) = &canonical;

                        // If we're trying to update the canonical head, make sure
-
                        // we don't diverge from the current head.
+
                        // we don't diverge from the current head. This only applies
+
                        // to repos with more than one delegate.
                        //
                        // Note that we *do* allow rolling back to a previous commit on the
                        // canonical branch.
-
                        if dst == *canonical_ref && delegates.contains(&Did::from(nid)) {
+
                        if dst == *canonical_ref
+
                            && delegates.contains(&Did::from(nid))
+
                            && delegates.len() > 1
+
                        {
                            let head = working.find_reference(src.as_str())?;
                            let head = head.peel_to_commit()?.id();
                            // Rollback is allowed and head is an ancestor of the canonical head.