# Revision Generation Question

2 messages from 2010-05-20 to 2010-05-20. Participants: Albert Krawczyk, Ramkumar Ramachandra.
Thread: https://gitlist.dev/t/23851

## Albert Krawczyk, 2010-05-20 07:46

Subject: Revision Generation Question
Message-ID: <000d01caf7f0$7f8c6700$7ea53500$@anu.edu.au>
URL: https://gitlist.dev/e/000d01caf7f0%247f8c6700%247ea53500%24%40anu.edu.au

```
Hi,

I'm trying to figure out how the internal revision generation works. Could
somebody shed some light on how this happens in the code?

I've stepped through the code, however, I still don't really understand how
the revision history gets generated. 

Any pointers will be greatly appreciated :)  

Albert 

```

## Ramkumar Ramachandra, 2010-05-20 11:34

Subject: Re: Revision Generation Question
Message-ID: <AANLkTimg2zxwI2LC97sNyRpa8zChSUPeWCU-zr1DLbuK@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTimg2zxwI2LC97sNyRpa8zChSUPeWCU-zr1DLbuK%40mail.gmail.com
In-Reply-To: <000d01caf7f0$7f8c6700$7ea53500$@anu.edu.au>

```
Hi,

On Thu, May 20, 2010 at 9:46 AM, Albert Krawczyk <u4232169@anu.edu.au> wrote:
> I'm trying to figure out how the internal revision generation works. Could
> somebody shed some light on how this happens in the code?

In short, there are four kinds of objects that Git uses internally:
commit, blob, tree and tag. It can compress objects into a packfile
for minimizing storage space. I recommend chapter 9 of the Pro Git
book for more [1].

-- Ram

[1] http://progit.org/book/ch9-0.html

```
