{"thread":{"id":"23851","subject":"Revision Generation Question","startedAt":"2010-05-20T07:46:03Z","lastAt":"2010-05-20T11:34:09Z","messageCount":2,"participants":["Albert Krawczyk","Ramkumar Ramachandra"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"141936","messageId":"000d01caf7f0$7f8c6700$7ea53500$@anu.edu.au","threadId":"23851","inReplyTo":null,"subject":"Revision Generation Question","fromName":"Albert Krawczyk","fromEmail":"u4232169@anu.edu.au","sentAt":"2010-05-20T07:46:03Z","receivedAt":"2010-05-20T07:46:03Z","isPatch":false,"sender":{"key":"u4232169@anu.edu.au","avatar":null},"body":"Hi,\n\nI'm trying to figure out how the internal revision generation works. Could\nsomebody shed some light on how this happens in the code?\n\nI've stepped through the code, however, I still don't really understand how\nthe revision history gets generated. \n\nAny pointers will be greatly appreciated :)  \n\nAlbert \n"},{"id":"141958","messageId":"AANLkTimg2zxwI2LC97sNyRpa8zChSUPeWCU-zr1DLbuK@mail.gmail.com","threadId":"23851","inReplyTo":"000d01caf7f0$7f8c6700$7ea53500$@anu.edu.au","subject":"Re: Revision Generation Question","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-05-20T11:34:09Z","receivedAt":"2010-05-20T11:34:09Z","isPatch":false,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi,\n\nOn Thu, May 20, 2010 at 9:46 AM, Albert Krawczyk <u4232169@anu.edu.au> wrote:\n> I'm trying to figure out how the internal revision generation works. Could\n> somebody shed some light on how this happens in the code?\n\nIn short, there are four kinds of objects that Git uses internally:\ncommit, blob, tree and tag. It can compress objects into a packfile\nfor minimizing storage space. I recommend chapter 9 of the Pro Git\nbook for more [1].\n\n-- Ram\n\n[1] http://progit.org/book/ch9-0.html\n"}]}