The Current Commit versioning strategy for tours is quite brittle, because it is
based on commit hashes. The moment history gets rewritten by a rebase, the tour
becomes untethered from the commit that we are trying to attach it to, because
the commit hash that's recorded in the tour file no longer exists.
Also, the Current Commit versioning strategy means that a tour commit must be in a
separate commit, becuase the commit that it's attached to must already exist so
that its hash can be recorded in the ref field of the tour.
Introduce a 'last-edit' versioning scheme. If the value of the ref is
'last-edit', then the tour is associated with the most recent commit that
modifies the tour file.
This will enable a code change and a tour which documents the code change to
exist in the same commit. If during code review, the git history is rewritten by
a rebase, the tour will still properly be associated with the correct commit.
This should provide a far more robust and simpler user experience than the
Current Commit versioning strategy.
The Current Commit versioning strategy for tours is quite brittle, because it is based on commit hashes. The moment history gets rewritten by a rebase, the tour becomes untethered from the commit that we are trying to attach it to, because the commit hash that's recorded in the tour file no longer exists.
Also, the Current Commit versioning strategy means that a tour commit must be in a separate commit, becuase the commit that it's attached to must already exist so that its hash can be recorded in the
ref
field of the tour.Introduce a 'last-edit' versioning scheme. If the value of the ref is
'last-edit'
, then the tour is associated with the most recent commit that modifies the tour file.This will enable a code change and a tour which documents the code change to exist in the same commit. If during code review, the git history is rewritten by a rebase, the tour will still properly be associated with the correct commit. This should provide a far more robust and simpler user experience than the Current Commit versioning strategy.