Brooklyners-

TL;DR: *switch to new repos at the weekend, incubator commits cut-off proposed for Sat 10am UK*

The new project structure seems to be working well and I think it's time to move to the new repos apache/brooklyn and apache/brooklyn-*, and then retire the incubator project.

I've built on Richard's separation scripts, with the current version at https://github.com/ahgittin/brooklyn-repo-split, and it also seems to be working very well. You can inspect the resulting projects at these URL's:

    https://github.com/ahgittin/brooklyn
    https://github.com/ahgittin/brooklyn-dist
    https://github.com/ahgittin/brooklyn-docs
    https://github.com/ahgittin/brooklyn-library
    https://github.com/ahgittin/brooklyn-server
    https://github.com/ahgittin/brooklyn-ui

You can try them for yourself e.g. using:

    for x in brooklyn{,-{dist,docs,library,server,ui}} ; do
        git clone [email protected]:ahgittin/$x.git
    done
    cd brooklyn/
    mvn clean install

I have done a lot of checking that these are all healthy -- see below -- but I'd value some others also casting their eyes over the projects. If there are other checks I should do when I run them again please let me know.

If this looks good I propose we wait until the weekend to cut over. If there is no objection we would STOP committing to the incubator project at Saturday 10am UK, and I will re-run the scripts, test, and push to apache/ repos instead of ahgittin.

Meanwhile I have some notes on migrating incubator PR's and branches to the new repos and on using subprojects which I will complete and circulate.

Best
Alex


CHECKS I'VE DONE

A) The command:

    git log --oneline --follow `find . -name AbstractEntity.java`

gives the same output modulo commit ID's and excluding the additional directory promotion commit in the new repo, 415 commits total

B) `find .` gives the same output, modulo items in the root and the .git/ dirs (actual command: `find -E . \! -regex '.*/\.git(/.*)?' \! -regex '\./[[:alnum:]\.]+'`)

C) Both builds work and the built artifacts are identical except for MANIFEST.MF (Implementation-SHA-1 and Bnd-LastModified) and pom.properties (timestamp)

D) Size of project is the same and history is substantially smaller:

incubator:

262M    ./.git
 44K    ./brooklyn
652K    ./brooklyn-dist
 16M    ./brooklyn-docs
9.6M    ./brooklyn-library
 19M    ./brooklyn-server
5.1M    ./brooklyn-ui
312M    .
of which 262M is */.git, 50M current

new:

180K    ./brooklyn/.git
224K    ./brooklyn
812K    ./brooklyn-dist/.git
1.4M    ./brooklyn-dist
 20M    ./brooklyn-docs/.git
 36M    ./brooklyn-docs
 15M    ./brooklyn-library/.git
 24M    ./brooklyn-library
 36M    ./brooklyn-server/.git
 55M    ./brooklyn-server
7.6M    ./brooklyn-ui/.git
 13M    ./brooklyn-ui
129M    .
of which 79M is */.git, 50M current

The size improvement comes of course from big WAR artifacts in ancient history which aren't being copied across.

The remaining size is mostly accounted for by:
* screenshots in docs
* some big JS in library/sandbox history and in ui (a bit of a shame as when we move to bower/grunt these deps won't be part of the repo, but a few megs isn't really that much)
* lots of files in server and its history (none esp big, nearly all needed)

END

Reply via email to