The Artima Developer Community
Sponsored Link

Python Buzz Forum
GitHub: My Kind of Social Software

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Ryan Tomayko

Posts: 408
Nickname: rtomayko
Registered: Nov, 2004

Ryan Tomayko is an instance of a human being...
GitHub: My Kind of Social Software Posted: Feb 26, 2008 5:35 PM
Reply to this message Reply

This post originated from an RSS feed registered with Python Buzz by Ryan Tomayko.
Original Post: GitHub: My Kind of Social Software
Feed Title: Ryan Tomayko (weblog/python)
Feed URL: http://tomayko.com/feed/
Feed Description: Entries classified under Python.
Latest Python Buzz Posts
Latest Python Buzz Posts by Ryan Tomayko
Latest Posts From Ryan Tomayko (weblog/python)

Advertisement

I need to get in a quick plug for GitHub. This is my kind of social software. You want to "friend me"? Send me a patch; fork me.

I've been wanting to dig into git for some time now but I kept putting it off. Alex hooked me up with a GitHub invite last week so I took it as an opportunity to dive in and start migrating my smallish Bazaar branches over to git repos.

First, the tree browsing interface is beautiful and functional: syntax highlighting, link to line number in source file, plain text URLs, etc. I also love how they dump out the README* file for whatever directory you're in with link detection. It's a small touch but something I always loved in httpd's mod_autoindex.

The history browsing and diff views are also nicely done. There isn't a side-by-side view but I've become so accustomed to reading unified diff that I haven't really missed it.

Where things get really crazy is when you get into the collaboration aspects. You can "fork" any project at any time to create a clone of someone else's repo. The idea of cloning isn't all that interesting -- its basically at the foundation of git and you don't need a GitHub account to do it -- but what GitHub adds is visible linkage that shows the clone took place. The project owner is notified that his repo has been cloned and can see the forked project on his Network page and the person doing the forking has the clone on their project page.

Forking on GitHub is like friending on Myspace (or Facebook or whatever crazy ass social networking site that is) inasmuch as this is the point where a line is drawn from one node to another in the social graph.

Once you've forked a project and made some changes, you can then send someone (usually the person you forked from) a pull request, asking that they grab your changes and integrate them into their upstream branch. Again, "pull requests" happen every day over email without GitHub but, by sucking those interactions into a web application and recording certain bits and pieces as they transact, GitHub is able to 1.) guide git newbies in using fairly advanced concepts, and 2.) record that the interactions took place, which makes it possible to build entirely new types of tools.

The last thing I wanted to mention is that the folks at GitHub have done a terrific job at keeping things simple. Git is a conceptual beast with tremendous depth. It would be easy to wonder down a few dark alleys and make these interfaces really "advanced" and "sophisticated" (see: launchpad.net) but they've somehow abstained. Let's hope it stays that way.

Oh, I almost forgot... Who wants an invite?

Read: GitHub: My Kind of Social Software

Topic: Elisa weekly (not that weekly) news #6 Previous Topic   Next Topic Topic: Top Ten Tags

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use