Google has announced Hesokuri, a new open-source application that allows developers to automatically and safely back up their all-important source code as they are up to their eyeballs in open-source projects.
Developed by Matthew DeVore of the Google+ team, Hesokuri is a background process that keeps Git repositories on multiple machines in sync, automatically, so that developers can ensure that their code is backed up to alternate locations for safekeeping. DeVore detailed his application in a Sept. 12 post on the Google Open Source Blog.
"If you are a developer, source code is some of the most important data you have," wrote DeVore. "It needs to be backed up regularly, it must be readily accessible from all of your machines, and it may even be confidential. Most of the code is probably already stored under version control."
With all of that in mind, wrote DeVore, he created Hesokuri to ensure that critical backups are automated and certain so that developers won't lose hours', days' or weeks' worth of code if hardware or systems should fail and devour the code along with it.
"Changes are pushed aggressively to peers as they are committed," he wrote. "When a peer is offline, Hesokuri will retry a push regularly until the peer responds. In some cases, a peer will merge pushed commits into the current branch so they are immediately visible in any open text editor. This means that if Hesokuri is running on two or more networked machines, the Git repositories on them are duplicated, backed up, and widely accessible."
For developers who are frantically writing code and not necessarily following efficient personal backup schemes, this is a potential boon.
"Once you have set up Hesokuri and written a simple configuration file, you can just use Git as you always have," wrote DeVore. "Hesokuri also has a web interface so you can check what revisions of each repository have been pushed to each peer."
The interface for Hesokuri is still being developed, so changes are still coming, he wrote. The source code and instructions on how to get started with the application are available at the Hesokuri project page. Users can also get help using Hesokuri and discuss improvements in the Google discussion group for the application.
Hesokuri is a daemon utility that synchronizes one or more Git source code repositories between multiple machines on a network, according to the project page. It allows developers to control multiple machines and work on the same project across them at the same time, with changes on one machine appearing on all other machines as soon as they are connected.
Hesokuri runs best with a Unix-like operating system, according to the project's FAQ page. "Hesokuri is tested on Mac OS X and Linux, but Windows is worth a try if you are feeling adventurous," according to the FAQ.