cli: Allow force-push with single delegates
It's not currently possible to force-push rad/master if it's not a rollback, even if you are the only delegate. Since there is no risk in doing that, we allow it in this patch.
This commit is contained in:
parent
9aee9b2436
commit
8196027f35
|
|
@ -226,11 +226,15 @@ pub fn run(
|
||||||
let (canonical_ref, canonical_oid) = &canonical;
|
let (canonical_ref, canonical_oid) = &canonical;
|
||||||
|
|
||||||
// If we're trying to update the canonical head, make sure
|
// 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
|
// Note that we *do* allow rolling back to a previous commit on the
|
||||||
// canonical branch.
|
// 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 = working.find_reference(src.as_str())?;
|
||||||
let head = head.peel_to_commit()?.id();
|
let head = head.peel_to_commit()?.id();
|
||||||
// Rollback is allowed and head is an ancestor of the canonical head.
|
// Rollback is allowed and head is an ancestor of the canonical head.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue