= Tiny Git

A tiny model of Git, used for learning and demonstrating how Git
works. A series of version of Tiny Git is available, in increasing
order of complexity. The list of versions and their features is listed
below.

[options="header"]
|======
| Version	| Description
| v0		| Only argument parsing
| v1		| Implements single file commits without history tracking
| v2		| Adds support for history tracking and logs
| v3		| Adds support for checking-out older revisions
| v4		| Adds support for creating branching
| v5		| Adds support for merging changes
|======

== Usage

The first step is to activate a particular version of Tiny Git. From
the top level directory of the project source `activate` and specify
the version no. to activate. For example, to activate version `v5`,
the following command can be used.

------
$ source activate v5
------

Type `tig` to get the available list of sub-commands.

------
$ tig
Usage:
  tig init
  tig commit <msg>
  tig checkout <start-point> [-b <branch-name>]
  tig diff
  tig log
  tig branch
  tig merge <branch>
-----

== Slides: Building Git From Scratch

The link:docs/slides.asciidoc[] provide more information about the
various revsions and how to build Git incrementally.
= Tiny Git

A tiny model of Git, used for learning and demonstrating how Git
works. A series of version of Tiny Git is available, in increasing
order of complexity. The list of versions and their features is listed
below.

[options="header"]
|======
| Version	| Description
| v0		| Only argument parsing
| v1		| Implements single file commits without history tracking
| v2		| Adds support for history tracking and logs
| v3		| Adds support for checking-out older revisions
| v4		| Adds support for creating branching
| v5		| Adds support for merging changes
|======

== Usage

The first step is to activate a particular version of Tiny Git. From
the top level directory of the project source `activate` and specify
the version no. to activate. For example, to activate version `v5`,
the following command can be used.

------
$ source activate v5
------

Type `tig` to get the available list of sub-commands.

------
$ tig
Usage:
  tig init
  tig commit <msg>
  tig checkout <start-point> [-b <branch-name>]
  tig diff
  tig log
  tig branch
  tig merge <branch>
------

== Slides: Building Git From Scratch

The link:docs/slides.asciidoc[] provide more information about the
various revsions and how to build Git incrementally.
Fix markup of preformatted text.
Fix markup of preformatted text.
