codetour icon indicating copy to clipboard operation
codetour copied to clipboard

Add new 'last-edit' tour versioning scheme.

Open trcoffman opened this issue 3 years ago • 3 comments

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.

trcoffman avatar Jul 28 '22 23:07 trcoffman

CLA assistant check
All CLA requirements met.

ghost avatar Jul 28 '22 23:07 ghost

It would be wonderful to get a review on this PR. I would appreciate it greatly.

trcoffman avatar Oct 29 '22 15:10 trcoffman

This sounds like a good idea.

huyz avatar Aug 08 '23 11:08 huyz