Switching to split repos - binaries

Jaroslav Tulach jaroslav.tulach at oracle.com
Fri Aug 14 09:46:51 UTC 2015


Hi.
I'd like to share my experience with new repository layout. I found working 
with the new mx tool intuitive enough. My repositories were always next to 
each other:

truffle
graal-compiler
graal-js

and it was a pleasant surprise that mx actually picks up the most recent 
version of truffle when I work in the graal-* ones. It is easy to do changes 
across repositories this way!

On the other hand, newcomers seemed to complain that exactly the above 
described feature is hurting them. They don't want such flexibility - rather 
than that they always need a consistent view over all repositories driven from 
the main repository. I've learned that there is "mx sforceimports" which does 
that - but it is slightly hard to find such command. It's name is not very 
intuitive for newcomers. Recently I've seen some change that even "mx spull" 
could get all the repositories into consistent state (by default) as well - 
that would be good for non-experienced mx users.

The last thing I cry for is easy binary re-use of some suites. Imho, if in my 
above described repository structure I remove

truffle

directory then graal-js should automatically download the binary bits of 
truffle instead of trying to/requiring checkout of truffle Hg repository. The 
same for jvmci - I really don't think I ever make a change that would require 
me to touch jvmci. I know there is some (hidden) environment variable one can 
use, but in my opinion working on the layout itself would be better. 

If the directory isn't there: "just use binaries" would be so easy to 
understand concept!
-jt



More information about the graal-dev mailing list