Learning to hack on Melody in one hour .

Even though Melody is a fork of Movable Type, we wanted Melody in many respects to be a fresh start for the product and platform. In starting fresh we wanted to re-evaluate the entire contribution chain to make sure it was as frictionless as possible. Central to any open source project and the ease at which people can contribute is the source code control system. Now traditionally Movable Type has been managed using subversion and for the many advantages over its predecessor cvs, subversion this day and age seems anachronistic in that it architected around a highly centralized single repository.

Enter git.

Unlike svn, git is architected around the operating reality of most open source projects: that the work that goes into them is inherently decentralized. Architecting itself around this underlying assumption has many benefits:

  • developers are free and encouraged to fork projects to work on them independently.
  • developers can work on a project, and commit to them frequently, without fear or anxiety of disrupting the parent project.
  • developers can more easily “pull” and “push,” or in other words, selectively share code between forks and projects.

In addition, the hosted service github, where Melody’s code is hosted, adds numerous features on top of git which makes managing projects a snap:

  • Git’s “fork queue” shows a list of all the people who have forked the project and what changes they have contributed back to you. It even gives you some idea of how easy it will be to merge their changes in helping alleviate one of the greatest pains of project maintainers.

But most importantly:

  • Github is a social network for developers allowing users to follow and monitor what their friends are hacking on.

We wanted Melody’s focus to be on community and ease of contribution - and git and github seem perfectly suited to help us achieve those goals. However we have heard many of our users tell us that they are unfamiliar with git.

Thankfully, O’Reilly recorded an excellent one hour tutorial on git and github which will help anyone curious about git or contributing to Melody get started.

1 Comment

Cool things I learning watching this video:

  • you can do partial commits - meaning if I have a file that has been seriously changed, but I only want to commit a single line from that file, I can using “git commit -p”. Cool.

  • “git diff —stage” lets me preview the patch that is going to be committed.

What else have you learned?

Leave a comment

Close