Monday, March 09, 2015

Emacspeak Development Is Moving To GitHub

Emacspeak Development Is Moving To GitHub

1 Summary:

Emacspeak development is moving from Google Code Hosting to GitHub. If you have been running from the SVN repository, I recommend you switch to the GitHub version by executing:

 
git clone https://github.com/tvraman/emacspeak.git 
make config 
make -j 
  • If using Outloud TTS:
 
cd servers/linux-outloud  &&  make 
  • If using Espeak TTS:
 
cd servers/linux-espeak && make 
  • After this, all you should need to stay up to date is a periodic
 
git pull; make config; make  

2 A Brief History

  • The first five years of Emacspeak development used a local RCS repository on my home machine (1994 –1999).
  • The first few releases of Emacspeak were distributed through the Web site and FTP server at Digital Research; they were also mirrored at Cornell.
  • After moving to Adobe Systems in the fall of 1995, Emacspeak was distributed exclusively through my Web page on the Cornell CS Department Web server, which also hosted my personal Web site.
  • In 2000, I created Emacspeak On SourceForge

and used that site for both hosting the Emacspeak source code as well as the Web site — coincidentally, I lost the ability to update my Web site at Cornell CS around the same time.

  • Over time it became harder and harder to publish new Emacspeak releases through the SourceForge interface. Luckily, Google Code Hosting came along a few months after I joined Google, and moving the source code repository to Google Code SVN was a no-brainer.
  • My friend and colleague Fitz helped me migrate the 5+ years of CVS history to SVN; this meant that the source code repository on Google Code also recorded all of the development history that had been built up on Sourceforge.
  • Now, it's time to move to GitHub. I've been using Git for most of my work the last few years, but was simply too lazy to move Emacspeak development from SVN to Git on GoogleCode.
  • But over time, the advantages present in Git as a source control system and GitHub as a hosting service have increased — primary among these — a rich set of Emacs tools that have been written to leverage the GitHub API.
  • For Git integration in Emacs, my personal preference is package Magit available through Elpa —
 
M-x package-install magit in Emacs. 
  • The GitHub Web site itself is fairly heavy-weight in terms of its use of scripting, i.e. performing all operations through the github.com Web site from within Emacs is fairly unpleasant. But the afore-mentioned GitHub API makes this a non-issue at this point with respect to the type of workflow I prefer.
  • So this week, I did the work to migrate Emacspeak development to Emacspeak On GitHub.

3 Status Of Migration

  • With help from some of the kind folk at Google Code Hosting, I've successfully migrated the source code repository including all release tags to GitHub.
  • I am now checking in changes into GitHub; the SVN repository on Google Code Hosting is now frozen, and I do not plan to make any commits there.
  • I presently have no immediate plans to start using features of GitHub like the Issue Tracker; for now we will continue to use the Emacspeak mailing list which has served us well for 20 years.
  • I have also taken this opportunity to prune out legacy portions of the Emacspeak codebase by moving modules to obsolete at each level of the directory tree.
  • Since starting the Emacspeak Blog in late 2005, I have published a sequence of articles describing Emacspeak features and usage patterns; I felt that having these articles for local reference made a useful supplement to the emacspeak online documentation. Toward this end, I have downloaded all articles published so far and checked in both XML and HTML versions into sub-directory blogs.
  • Note that newer articles are also available as .org files under sub-directory announcements.

4 Next Steps

  • I still need to learn how to do software releases on GitHub.

Share And Enjoy!

Date: <2015-03-06 Fri>

Author: raman

Created: 2015-03-07 Sat 08:12

Emacs 25.0.50.1 (Org mode 8.2.10)

Validate