FUDCon Pune 2015

Pune, 26th to 28th June, 2015


26th to 28th June, 2015 09:00 am - 06:00 pm

Website: FUDCon Pune 2015


MIT College of Engineering
See map

Subscribe & Share

June 28, 2015, 10:00 am

Version Control, you git


Let's skip information on Git's niceness, and keep the information below focused on the session instead.

Depending on the audience, the plan is to:

* introduce Git.
what it is, why bother, simple and effective practices. Collaboration over GitHub (or any other remote if you'd like me to). For an introductory audience, I typically start with a story (varies with the conference, city, audience age and such) - for example, there are two authors collaborating on this book, and how they have a goofup and end up publishing something they didn't intend to. Or, like I did one 1.5 years back, rescuing extra terrestrials using open source software (http://www.slideshare.net/sarupbanskota/using-open-source-software-to-un...). The idea is not to throw too much terminology at a beginner, instead make him/her embrace why a tool is used and what are some best practices, with a little fiction and humor.

* explain how Git itself works.
I'll explain the concept of blobs, trees, and more trees and blobs inside trees, without making it sound confusing. It's simpler than it sounds. The ideal audience has played with Git well enough to understand branching. I'll walk them through the .git directory. When they make a change, where is the stuff stored? How does it change with more commits? What's this snapshot thing *really*? How is Git able to automagically store *all* of your file history along with the files, and still maintain such a lightweight size on your project?

* implement an extremely simple version of Git.
...as in feature wise, not simple as in easy.
I'll be honest, this will require me first explaining how Git itself works, so that's most of this category of talk. Towards the end, I'll first show around Rugged, the library that powers GitHub (and one I've recently done baby steps towards contributing to). Next, I'll explain a super simple implementation of Git in the language of my choice (Ruby - I know Infra, don't glare at me like that). You're free to play around in your favorite programming language of course, but I might be of limited help apart from explaining the core idea itself.

If there's enough interest and time, I can demonstrate how GlitterGallery internally works - it's Rugged-usage heavy, so it might just interest my next ..is Ninja still an acceptable role these days?.. contributor.


* While I would personally enjoy keeping the talk focused toward how Git itself works, it's more likely the session will tend toward an introduction to Git, considering the student crowd.

Hall: D405 [4th Floor] Track: Workshop Type: Workshop