I agree the code duplication is annoying, but post-split I think it makes sense. If common makes a change, we expect them to test it in common but might not notice if the change breaks mapreduce and HDFS. Down the line the build processes might diverge more, in which case having separate copies is good.
Thanks for checking in the file. My trunk builds again