File edit UX - Commit history lookup
Problem to solve
Write commit message consistently with project style, using file and project commit history as an example. Maintain history messages beautiful.
Reduce roundtrips when asked to normalize commit message. Amending commit message from the web is impossible on GitHub. It is usually a pain point to checkout the PR edited from the web for this purpose. It is better to prevent it.
Intended users
Occasional contributors who edit files from the web, fixing obvious typos when reading docs etc. Project developers, who switch between different projects with different commit message styles, who also edit files online.
Personas.
- Sasha (Software Developer)
- Devon (DevOps Engineer)
Further details
Commit history is the value of repository, and the value of its online editor, and it would be a good UX feature to make it visible when writing changes to repo online. Inspecting messages and browsing diffs without reloading the page will save time for managing version history, encourage them more to care about project standards. Reducing the pain point will make occasional online edits less bothersome.
Proposal
Current journey:
- Open file for editing
- Edit file
- Write commit message
- View history
- 4.1. Try to guess filename path, remember it
- 4.2. Open "Repository -> Files" in a new tab
- 4.3. Click through to remembered path, but do not click the file, stay at directory level
- 4.4. Click History in the top
- 4.5. Add filename to URL
- Write the commit message the same way
- Commit
Proposed journey:
... 4. View history
- 4.1. Click dropdown pane at the current Edit file header
Currently it looks like this.
If expandable History pane is added there, user will need to scroll up to see it when writing commit message. It may worth to append the pane beneath edit form. This way the pane could be extended not only to show commits, but also show diffs (which may be handy for manual commit splitting).
- Write the message the same way
- Commit
Actually, there could be a suggestion component similar to one that is used to give live suggestions for similar issues. Only this time it will output 5-10 latest file commits.