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;
|
||||
|
||||
// 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.
|
||||
|
|
|
|||
Loading…
Reference in New Issue