microsoft / codetour

VS Code extension that allows you to record and play back guided tours of codebases, directly within the editor.
https://aka.ms/codetour
MIT License
4.34k stars 109 forks source link

Add new 'last-edit' tour versioning scheme. #252

Open trcoffman opened 1 year ago

trcoffman commented 1 year ago

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.

ghost commented 1 year ago

CLA assistant check
All CLA requirements met.

trcoffman commented 1 year ago

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

huyz commented 11 months ago

This sounds like a good idea.