Hi Roland,
!TARGET = $ARR !TYPE = git !URL = git://someurl/Scotch/$2 AUTH_URL = rhaas3@someotherurl/Scotch/$2 !REPO_PATH= ../$2 !CHECKOUT = Scotch/SoundSpeed Scotch/Bremsstrahlung
That's an interesting example, but is there really a case where you would need $2 in both URL and REPO_PATH? I'd rather not add anything that could add confusion like that. Also, I think it's better to stick with the nature of distributed versioning systems and clone the whole repo, as opposed to attempting a clone of a sub-directory (I'm assuming the Scotch is the repository in your example).
That being said, I agree that the $[12] expansion should be expanded to cvs and http/ftp.
!REPO_PATH is handled differently depending on whether it contains $[12] or does not.
!REPO_PATH = $1/$2 !CHECKOUT = Scotch/SoundSpeed leads to ln -s $git_repos_dir/$git_repo/Scotch/SoundSpeed $checkout_item
but
!REPO_PATH = Scotch1/SoundSpeed1 !CHECKOUT = Scotch2/SoundSpeed2 leads to ln -s $git_repos_dir/$git_repo/Scotch1/SoundSpeed1/Scotch2/SoundSpeed2 $checkout_item
The first variant seems to be the more general one since it does not make assumptions about the repository layout. Currently both versions are used in einsteintoolkit.th (first one for McLachlan, second one for GenericFD).
This variance is actually by design, as you point out we use both methods in einsteintoolkit.th. Is it causing any problems when you add other thorns? It has worked very well for einsteintoolkit.th, and I would prefer not to change the method unless it's causing issues.
Eric