Canonical references can not be used to model symbolic references. Relax this restriction by adding another member to the payload, named "symbolic". Its key-value/name-target pairs then translate directly to canonical symbolic references. Care is taken to not allow circular references, and that there always is a rule that could generate the target of a symbolic reference (or a chain of symbolic references). Still, a symbolic reference may dangle (for example when its target reference cannot be computed because of divergence), but at least it can be prevented that a symref *always* dangles, because there is no rule that would produce its target. Co-authored-by: Fintan Halpenny <fintan.halpenny@gmail.com> |
||
|---|---|---|
| .. | ||
| git-fetch.md | ||
| git-is-bare-repository.md | ||
| git-push-amend.md | ||
| git-push-canonical-annotated-tags.md | ||
| git-push-canonical-branch.md | ||
| git-push-canonical-lightweight-tags.md | ||
| git-push-canonical-symbolic-ref.md | ||
| git-push-converge.md | ||
| git-push-delete.md | ||
| git-push-diverge.md | ||
| git-push-force-with-lease.md | ||
| git-push-rollback.md | ||
| git-push.md | ||
| git-tag.md | ||