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