Splitting a Subfolder out into Its Own Repository with Git Subtree

Git Subtree

I have secretly been working on a project for a number of months now. It got a point where I decided it will be best to split some folders in the project out into their own Git repositories.…

How to Setup PHPunit Code Coverage in GitLab

Code coverage on Gitlab

In a previous post, i showed us how to set up automated testing for your PHP application. If you are using the .gitlab-ci.yml configuration i posted, chances are you will get the below notice in your build log.

No code coverage driver is available

The notice is as a result of missing Xdebug PHP extension.

To install and enable Xdebug, add the commands below to the before_script: section of your project .gitlab-ci.yml

Having done the above, go to your project settings and open the CI/CD pipelines screen.…

Setting up Automated PHP Testing on GitLab CI

GitLab CI builds

I recently moved to GitLab from GitHub for private project hosting to save money. Another major deciding factor was GitLab CI, a free hosted continuous integration server which further save me more money which otherwise would have be spent on a Travis CI subscription.

In this tutorial, i will quickly go over the steps in setting up automated unit/integration testing with PHPUnit on GitLab CI.…

Getting Good with Git & GitHub


I was recently involved in building an email marketing service (think MailChimp) where we needed to automatically send alongside HTML campaigns, their plain text version.

I was assigned to get this feature built out. To accomplish this, I tested a lot of HTML to text libraries and finally, settled for this by Jevon Wright.

Using soundasleep/html2text repository, we will be learning how to fork a Git repository on GitHub, make improvement on a fork, submit pull request, fetching, pulling and merging in changes from remote.…

SmartSVN – A Perfect TortoiseSVN Alternative

I have never fully grokked the use of Subversion (SVN) as a version control system on the command-line like Git and as such, relies on GUI applications such as TortoiseSVN. The only time i use SVN is when i want to deploy a new or updated version of my WordPress plugins.

In the past when i was a PC (windows OS) user, TortoiseSVN served me well.…

Signing Git Commits & Tags with GPG2 and Verified on GitHub

So i got myself a MacBook PRO and finally made the switch to Mac world after a long time being a Windows user.

One of the things i have been meaning to do was to GPG sign my git commits. Setting up my new MacBook proves to be the perfect time and finally, i did it.

The web has a number of tutorials that shows how to sign git commits with GnuPG (GPG) but none with GPG version 2.…