GitHub : Quickly review changed functions in your PHP pull requests

GitHub is one of the greatest tools for developers ever.  And it keeps getting better.  Most of the new features that GitHub introduces are usually generic and apply to all developers universally.  Today, however, they have a special present for the PHP developers – Quickly review changed functions in your PHP pull requests.  This is mighty useful, especially on the larger pull requests.

Automerge – a JSON-like data structure for concurrent multi-user editing

Collaborative editing is a very challenging subject, technically speaking.  The old days of users editing a file, sending it to another user, and back are long gone.  Version control tools like git helped with tracking changes and resolving conflicts.  But the newer generation of tools – Google Docs for example – push the bar even higher.  Now many users expect real-time, transparent collaborative tools, which allow multiple users to work on the same document at the same time and without any additional technical complexity.

Automerge is one project that helps the developers to build such collaborative tools, by providing a library of JSON-like data structures, which can be edited in parallel and then merged back together.

Automerge […] supports automatic syncing and merging:

  • You can have a copy of the application state locally on several devices (which may belong to the same user, or to different users). Each user can independently update the application state on their local device, even while offline, and save the state to local disk.(Similar to git, which allows you to edit files and commit changes offline.)
  • When a network connection is available, Automerge figures out which changes need to be synced from one device to another, and brings them into the same state.(Similar to git, which lets you push your own changes, and pull changes from other developers, when you are online.)
  • If the state was concurrently changed on different devices, Automerge automatically merges the changes together cleanly, so that everybody ends up in the same state, and no changes are lost.(Different from git: no merge conflicts to resolve!)

 

GitHub : Security Alerts and Team Discussions

GitHub blog recently announced a couple of interesting new features.

Firstly, Security Alerts.   For now it only supports Ruby and JavaScript, but hopefully other languages are coming soon (PHP/Composer please!).  Security Alerts will notify repository owners if there are any known security issues in any of the packages that the repository is using.  Similar, I guess, to who SensioLabs Security Check works, but integrated with your GitHub.

Secondly, Team Discussions. This is yet another way place for the team to communicate.  There are Issues and Pull Requests already.  But those are more specific and more focused.  For anything that doesn’t have a single issue, or doesn’t have a PR yet, a Team Discussion might be a better place.

GitHub : Archiving Repositories

GitHub archive repositories

Last week, GitHub introduced archiving of repositories. While it might not seem like a news worthy feature, it is quite useful for both individuals and teams.  Two particular scenarios that I find helpful are:

  1. Indicate that a particular repository / project is obsolete and is not maintained.  This should save quite a bit of time for people who randomly end up on a project’s page, via searching GitHub/Packagist/Google or somewhere else.
  2. Provide an insight into how many of the person’s or team’s profile are active.  It’s often difficult to estimate at a first glance, when looking at a GitHub profile of a person or a team who have been developing for a long time, how many of their projects are actually actively maintained.