In a rather hasty and not-so-widely-publicised announcement, Launchpad, the infrastructure behind the development of Ubuntu Linux, informs its users that code hosting in Bazaar, their self-developed, once-default version control system, will be out of support soon.
They recommend all existing Bazaar branches to be converted to Git format by a close deadline. Git has been available for a while, and by now the default code hosting format of the portal, They still do not provide automated tools to do the branch conversion, tough. The post links only instructions (or rather just an example) of how to convert an existing code base to the target Git format.
How does this affect Direct Connect development?
DC++ and other Direct Connect projects had been using Bazaar repositories for more than a decade in the past, but hosting and development of the active projects were moved a long time ago to Mercurial repositories hosted by SourceForge.
There is one exception though : DC++ is still using the Launchpad translation interface for localization. This requires language templates to be committed to the old DC++ Bazaar repository at Launchpad. The end-of-support announcement does not mention this, but from some of the comments it is clear that processing language templates from Git repositories currently does not work at Launchpad.
So this is a breaking change – something that they promise to fix in due course (again, see the comments), and will probably happen sooner than later since Canonical, the company behind Launchpad and Ubuntu, use the same system for localization of their flagship product.
After the conversion to Mercurial the commit history of the projects’ code still remained in the old Bazaar repository at Launchpad. Checking old commits and investigating how and when features came and went over the years is pretty useful for the development – something that often saves time and helps fixing problems or realizing new ideas. Launchpad’s now-defunct code browsing interface for bzr, called Loggerhead, provided a very useful functionality to do this (a function called ‘Blame’ in modern VCS systems). This will be missed since the SourceForge’s Mercurial commit browser user interface does not provide such a feature, from now only the CLI or possibly some other local tools are available to do this.
All in all, the immediate effect of this end of bzr service does not appear to be severe on our development process, but there are other considerations:
ADCH++ have a few forks—abandoned, but technically interesting and containing valuable ideas—that began to demonstrate the extensibility potential behind the barebones structure of the original project. These branches are also hosted on Launchpad in bzr format. In the future, if someone wants to pick up ADCH++ development, the achievements already present in these forked branches could be quite useful.
Additionally, there are branches with additional tools, essential scripts and plugins for both DC++ and ADCH++, source code that is referenced alongside binary downloads, and are otherwise unavailable elsewhere.
One of the biggest question marks remaining is that the announcement doesn’t say a word about what will happen when the bzr code branches will be phased out. Will there be a download provided for code bases that haven’t been converted by the deadline? If so, in what format?
Since we don’t have the answers to these questions yet, it is essential to make a backup all of the branches by the specified deadline, in Bazaar or Breezy (the successor VCS) format. Once that is done, we can decide later how, when, and where they can be made available to the public again.
The following forks and other code branches could be considered to back up:
All the four DC related projects from : https://code.launchpad.net/~poy converted, available at GitLab and LP
From project ADCH++ :
https://code.launchpad.net/~lanowen/adchpp/pyIadchpp converted, available at GitLab and LP
https://code.launchpad.net/~klondike/adchpp/adchpp converted, available at GitLab, Codeberg and LP
(adchpp-hbri has already been moved to GitHub)
From project ADCH++ Lan :
https://code.launchpad.net/~dc4lan/adchpp-lan/trunk converted, available at GitLab, Codeberg and LP
From project ADCH++ GUI :
https://code.launchpad.net/~sulan80/adchppgui/trunk converted, available at GitLab and LP
https://code.launchpad.net/~lanowen/adchppgui/plus converted, available at GitLab and LP
The original DC++ and ADCH++ bzr repositories, in their current state, might also be worth saving, as they could serve as a partial historical backup in case issues arise when converting the up-to-date Mercurial repositories—possibly due to similar future announcements from SourceForge.
If you think anything are missing from the above list, please add them to the comments.
Edit: all the listed repositories are now successfully converted, big thanks goes out to klondike who helped us out with his time and research on the proper conversion process and configured tools what he used to convert his own code repository and then eventually all the rest. Well done!
You must be logged in to post a comment.