I recently joined a new project, and one of my teammates asked me, “Why do you commit so much?” I decided to write this post to explain my reasoning to him and anyone else who might come across my work in the future.
Last week, I introduced a concept I’m calling “sticky documentation” and reviewed a few ways that we can make the most of the “stickiest” documentation we have: the code. Today, I’d like to talk about another form of “sticky” documentation: source control history.
Ansible is a configuration management tool that uses “playbooks”, special scripts that describe an intended configuration (rather than operations to get there), and “modules”, which make changes to reflect the playbook’s configuration. (For example, “runit should be present”, rather than “install runit”.)
On my current iOS project, we’re using Specta as the testing framework. One of the really nice features that Specta provides is the ability to run specific specs/tests by prepending an f to an it or describe (or the other spec aliases). According to the Specta docs, “When specs are focused, all unfocused specs are […]
In my experience, working with a Git repository hosted by Gitlab, Github, or Gitorious has generally been issue free and enjoyable. Recently, however, three members of my team ran across the same cryptic RPC error when trying to push changes to a remote repository on Gitlab: error: RPC failed; result=22, HTTP code = 411error: RPC […]
Git is a powerful tool that we love as developers. It’s also complicated. I consider the bare essentials of Git, the minimum set of features to be familiar with before we can be productive, to be all of this: local interaction: status, add, remove, commit, reset, checkout branch management: checkout, merge remote interaction: clone, fetch, […]
This short post is intended to serve as a warning about a potential gotcha with git-svn, and how to prevent it. An Anecdote First, a sort of “postmortem” of my run-in with this issue: I was working to migrate an old SVN repository full of documents to Git. We had decided that we didn’t need […]
I recently was asked to teach a workshop at Hope College on Git. I am jealous of the students that attended. Their curriculum includes things like unit testing and version control. Having the importance of source control shown to them so early is a major boon. Giving this talk got me thinking about why I […]
I recently set up a project with hosting on Heroku. However, I had code spread across several repositories that all needed to be deployed to the same place. This is a problem because the process to deploy to Heroku is essentially pushing to a git remote — if I did that across two repositories, they […]
Until recently, my current project had maintained two distinct git repositories, one for each of the major components of the project. For a few reasons, we decided that it would be best to merge them into a single git repository. Ideally, we wanted to do so in such a way that would preserve the full […]