Since I have started working with Mozilla, I have been doing a lot of work with mercurial, and development in the Bugzilla way. So much so, that I've not really used git much in the last four months.
Coming back to git, to collaborate on a paper I am writing with some researchers, I find some things really bothersome, that I had sort of taken for granted after years of becoming one with the Git way
- Branches / Pull Requests are too heavyweight! This might be a side effect of the writing of a paper, but what I find myself desperately wanting to do is produce dozens of independent diffs, that I can throw up for other authors to look at. Especially speculative diffs, that change a section of the paper in a way that I'm not sure we absolutely want to go. This isn't so much a criticism of git, so much as it is of the github style of collaboration.
- The staging area is way too complicated for a simple workflow of trying to make quick changes to a small project. When doing full fledged production software engineering, I have found it useful, but working on a paper like this? It's just extra friction that doesn't produce any value.
I have another rant one day about how LaTeX and version control is a pretty bad workflow, due to the mismatch in diff semantics (or alternatively, the hoops one needs to go through to get a good version-controllable LaTeX document).