Saturday, May 19, 2007

Talk about Git

I've been using Git (or better said Cogito) recently as part of my PFC and, although I don't like the way Git was started, I must confess I like it a lot. In some ways it is very similar to Monotone (the version control system I prefer now) but it has its own features that make it very interesting. One of these is the difference between local and remote branches, something I'll talk about in a future post.

For now I would just like to point you to a talk about Git by Linus given at Google. He focuses more on general concepts of distributed version systems than on Git itself, so most of the ideas given there apply to many other systems as well. If you still don't see the advantages of distributed VCSs over centralized ones, you must watch this. Really. Oh, and it is quite "funny" too ;-)

4 comments:

  1. I saw the video.
    Well, certainly Linus is quite aggressive on his statements. Either you are with him or you are against him.

    This was my first contact with git. I really like some of the ideas and points that Linus was making. The decentralized approach looks like a very nice feature. Also, the easy branching seems nice also. I want to checkout the tutorial and start using cogito to get my hands dirty.

    Julio, what are you using cogito in your PDC for? Keeping trac of your code or you use it as some part of your project?

    ReplyDelete
  2. I'm using it to keep track of my code. Given that I have to make changes to the Linux code, it's the easiest way to do so because the official trees are maintained using Git. I can easily keep my local tree up to date (merging with the corresponding "official" branches), yet the history of my own changes remains in the local repository for further review.

    Also, given that I already configured Git and gitweb in a machine we have here, I seized it to also store some related projects in it (libspe and Cell-specific applications).

    However, I use Monotone to keep track of the documentation I'm writing given that it is the one I started using before getting my hands on Git...

    By the way, what does PDC stand for? I assume it's a translation for "PFC". Thanks!

    ReplyDelete
  3. First thing first... I don't know why I used PDC. Well actually I do. When I wrote the reply I was working in a migration of a windows PDC server (primary domain controller) to LDAP/openldap. For some reason my brain took the liberty of using it instead PFC. Sorry about that.

    What kind of linux modifications are you working on?

    ReplyDelete
  4. drio: My main work consists on adding a representation to generalize all processing units within a machine, allowing the kernel to treat PPUs, SPUs and any other kind of processor in a similar way. (At the moment, SPUs are seen as I/O devices, which seems rather unnatural.) We are focusing on the Cell, but the idea is to be able to generalize any kind of machine that has different processors in it.

    Some other changes I'm working on involve adding support to asynchronously execute SPU code. (In fact, I'm fixing the code done by someone else in the past... not too fun.)

    ReplyDelete