Sometimes the best code review feedback happens when you aren’t explicitly asking for a review.
I mentioned last month that I attended GitHub Universe.
So what happened was …
I was showing Xgit’s documentation to somebody at the conference on my laptop. He seemed quite excited by the concept and was going through this site and the documentation I had published at the time on HexDocs. And then he said five words that I couldn’t put out of my head:
That’s quite a few modules.
Well, that rattled around in my brain for a while and it triggered some refactoring that landed in today’s 0.6.0 release.
There were two fundamental objectives in this refactoring:
- Make the module hierarchy flatter and more intuitive for typical end-user developers.
- Eliminate the single-function modules.
This played out as the following concrete changes:
- Merge all the plumbing commands together into a single module.
- Introduce new
Xgit.Repositorymodule. This will contain the porcelain-level commands when they are implemented.
- Move index file format parsing into
There have been two new releases in late November and early December:
Xgit.Plumbing.SymbolicRef.Put. This is an API analogue to the 2-argument form of
git symbolic-ref. This was marked API breaking because it introduced a new requirement on the
v0.6.0: Implemented the refactoring described above. This was marked API breaking because several modules were renamed and functions moved from one module to another.
There are a few more reference-related operations and concepts to implement: