dalehenrich/filetree — pull request #110 by krono (2013-09-14 22:51:14+00:00)
Title: Add means to split monticello version files

The version files for monticell (located in monticello.meta for cypress) are
rather huge and, being one long string, not really suited for VCS/SCM like
git, svn, or hg.

With this feature, the version file is split into a 'verison.d' directory
containing one version file per ancestor/stepChild. The original version file
simply includes the UUID of the current version, to be retrieved from the
dir.

The _big_ advantage is, that upon (git-)merges, not the whole
version information is confilcted, but only the 'head' UUID
stored in the version file, which makes merging easier, regardless
of the VCS/SCM used. (We could even automate such merges on Smalltalk
side)

A new monticello.meta dir might look like this:

```
.
├── categories.st
├── initializers.st
├── package
├── version
└── version.d
├── Cypress-Mocks-dkh.10_ad637421-2d36-448b-a56d-34b9fdf3f7a8
├── Cypress-Mocks-dkh.11_c444a6b8-868d-4796-9b9f-0892f416366c
├── Cypress-Mocks-dkh.12_69f2b830-b40e-4307-9589-ab2ec410cc09
├── Cypress-Mocks-dkh.13_a84c5a36-0447-472b-b980-b6f048d9c295
├── Cypress-Mocks-dkh.14_b6a04043-a012-4ec6-ac55-b02217efd4cd
├── Cypress-Mocks-dkh.15_f842c337-9b2a-4e62-a356-b76bc8542185
├── Cypress-Mocks-dkh.16_32dcfd04-aa93-48c9-a19e-c9eaea018e32
├── Cypress-Mocks-dkh.1_a5097e9e-1888-4e9d-bba6-c142add676db
├── Cypress-Mocks-dkh.2_cf98f4fb-cc54-465f-a770-22008f435b9a
├── Cypress-Mocks-dkh.3_fabc5fcb-ef59-4095-8e64-0172fda79cab
├── Cypress-Mocks-dkh.4_532f2be9-e166-404a-8ee7-782c1d5d14e0
├── Cypress-Mocks-dkh.5_195bdd19-051b-4ba6-afd4-3db4561d57fa
├── Cypress-Mocks-dkh.6_45050c08-be9e-4fba-93c6-fcb5539a6635
├── Cypress-Mocks-dkh.7_0cd353a1-d9bd-48f5-93c8-3f69a2684c27
└── Cypress-Mocks-dkh.9_14c92a80-61f9-47ef-8cf8-39302dd087b1
```