via Hackaday: A Tiny Knob Keeps You In Control
![](../themes/icons/grey.gif)
I made my first ever pull request on GitHub this morning!
The gang and I still mostly develop code on Windows boxes. It has more to do with the machines we have available to us on any given day than anything else. (The just-sit-down-and-type machine in our house is also for playing video games, so... Windows.)
This has led to issues when using our Datasette enabled QSO logger and mapping applications.
Datasette on Windows has an issue with finding the SpatiaLite DLL file. The gang and I worked through the issues and documented our really clunky, blunt force, fix. The fix, however, amounted to changing the source code of Datasette itself on a per installation basis. That meant that if I moved to a new Windows machine I had to find the fix and re-implement it. Even worse, that meant that if I wanted to try something that worked only in a newer version of Datasette, I also had to reimplement the fix.
That... Was a Lot.
So, I was totally psyched when I got a little bit of time yesterday to crank out a fix that should work with the existing install and be able to move forward with it. Towards that end though, I need to get my fix added to the Datasette project if at all possible, and that's where the pull request came in. It turned out to be far easier than I might have thought.
First, I forked the datasette repo and moved changes to my clone of the new fork.
I'm a big Simon Wilison fan as well as a big agile development fan as well as a big Datasette fan so I already knew I'd need test cases to keep from breaking existing code. (Also, I work in silicon functional verification, so, yeah, test cases are good.)
The next step was to review the documentation for how to contribute to Datasette. I'd forgotten the documentation step. Sure, I'd documented my fix in the original issue, but did I also need to update the Datasette documentation? I decided I needed to add a small comment about using Spatialite with Datasette for Windows there. I modeled my documentation add after the similar subject on Django.
Then, I made my pull request using the github site. The process was simple. And then, the pull request action for the Datsette repo kicked off automated checks of my pull request! So cool! So far, so good!