pure java git solution