Re: [git-users] Git Software Architecture

2015-10-21 Thread Aravind Ganesan
Hi
Thanks a lot for your help. I already found the 1st link, neverthless links
2 and 3 are very useful.
My objective is to compare the prescriptive ( original,before development)
 and descriptive (current) architectures of the system. I have got lots of
textual material. Being software architecture class, I have to get some
diagrams of the prescriptive architecture and analyse how it has digressed
( or maybe has remained the same ). This is part of my academic project.

I have already got some content for descriptive architecture, such as this
one
http://www.ibm.com/developerworks/library/d-learn-workings-git/index.html
Now, I am searching for the Git original ( or at least some earlier
versions ) architecture.


It would be really helpful if you could suggest references.
Thanks

On Wed, Oct 21, 2015 at 3:54 AM, Konstantin Khomoutov <
flatw...@users.sourceforge.net> wrote:

> On Tue, 20 Oct 2015 20:02:54 -0700 (PDT)
> Aravind Ganesan  wrote:
>
> > I am doing an architecture analysis of Git and I want the
> > prescriptive architecture of the system ( or the architectures for
> > the earlier versions ). I searched all over but couldnt get any
> > material for it. Can anyone provide me links ?
>
> I'd start with the definition -- often being forgotten these days --
> that above all (or, rather, below all) Git is a content-addressable
> filesystem.  Git was envisioned as a framework to build a VCS *on* it,
> not *in* it.  The development actually turned Git itself into a
> full-fledged VCS but its first version had almost no commands you might
> expect from a typical [D]VCS but it had commands to shovel the data at
> the Git's object store and hence provide that content-addressable
> filesystem.
>
> Consequently, I'd just google for "git"+"content-addressable
> filesystem".  Actually, having done just that, among other things, I've
> found this guide [1] which appears to deal rather nicely with
> explaining Git's underlying concepts and links to the original LKML
> discussion about Git.
>
> I also suggest you to read [2] in which Keith Packard (one of the chief
> developers behind X.org) explains why the concepts behind the Git
> repository format are sound, and doing that, he touches on the features
> of this design.
>
> [3] is a good intro to the Git repository format.
>
> 1. http://www-cs-students.stanford.edu/~blynn/gitmagic/ch08.html
> 2. http://keithp.com/blog/Repository_Formats_Matter/
> 3. http://gitolite.com/gcs.html
>

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [git-users] Git Software Architecture

2015-10-21 Thread Konstantin Khomoutov
On Wed, 21 Oct 2015 09:36:04 -0700
Aravind Ganesan  wrote:

> Being software architecture class,
> I have to get some diagrams of the prescriptive architecture and
> analyse how it has digressed ( or maybe has remained the same ). This
> is part of my academic project.
[...]
> Now, I am searching for the Git original ( or at least some earlier
> versions ) architecture.
> 
> It would be really helpful if you could suggest references.
[...]

Uh... Clone the Git repository and study the contents of the first few
commits?

Otherwise I'm not exactly sure your approach is feasible in practice:
software gems like Git aren't usually created by writing design
documents and drawing UML diagrams etc up front.
Rather, they are thought out and then written and re-written multiple
times in quick succession to see how it all plays out.  Then shared with
everyone else, then studied by interested developers and improved.
Studies of the product's architectures come later, when the bulk of the
work is done, and are performed by other people -- not related to the
development itself.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [git-users] Git Software Architecture

2015-10-21 Thread Konstantin Khomoutov
On Tue, 20 Oct 2015 20:02:54 -0700 (PDT)
Aravind Ganesan  wrote:

> I am doing an architecture analysis of Git and I want the
> prescriptive architecture of the system ( or the architectures for
> the earlier versions ). I searched all over but couldnt get any
> material for it. Can anyone provide me links ?

I'd start with the definition -- often being forgotten these days --
that above all (or, rather, below all) Git is a content-addressable
filesystem.  Git was envisioned as a framework to build a VCS *on* it,
not *in* it.  The development actually turned Git itself into a
full-fledged VCS but its first version had almost no commands you might
expect from a typical [D]VCS but it had commands to shovel the data at
the Git's object store and hence provide that content-addressable
filesystem.

Consequently, I'd just google for "git"+"content-addressable
filesystem".  Actually, having done just that, among other things, I've
found this guide [1] which appears to deal rather nicely with
explaining Git's underlying concepts and links to the original LKML
discussion about Git.

I also suggest you to read [2] in which Keith Packard (one of the chief
developers behind X.org) explains why the concepts behind the Git
repository format are sound, and doing that, he touches on the features
of this design.

[3] is a good intro to the Git repository format.

1. http://www-cs-students.stanford.edu/~blynn/gitmagic/ch08.html
2. http://keithp.com/blog/Repository_Formats_Matter/
3. http://gitolite.com/gcs.html

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.