Repository and thorn names cannot be different

Issue #697 new
Erik Schnetter created an issue

I am accessing some thorns stored in git repositories at bitbucket.org, which insists that all repository names are all lower case. I don't know how to specify this in GetComponents. When I say

!TARGET = $ARR
!TYPE = git
!URL = git@bitbucket.org:user/thorn.git
!AUTH_URL = git@bitbucket.org:user/thorn.git
!CHECKOUT = Arrangement/Thorn

then GetComponents does not create a symbolic link from Thorn to ../../repos/thorn, but to ../../repos/thorn/Arrangement/Thorn instead. How do I avoid this?

Keyword:

Comments (5)

  1. Roland Haas
    • removed comment

    I think this is by design :-). There was a discussion that touched this http://lists.einsteintoolkit.org/pipermail/users/2010-June/000192.html although in a slightly different context. You cannot completely overwrite the checked out path in the repository using REPO_PATH. Unless REPO_PATH contains $1 or $2 it is added to CHECKOUT. If it does contain either one, it replaces CHECKOUT in the checkout/symbolic link procedure. You can fiddle with $2 if your want, eg something like REPO_PATH=../../arrangements/$1/../../repos/thorn likely does the trick. This works by first backing out of repos/thorns then into arrangements/Arrangement and then back again. The whole back and forth being required to have the $1 and $2 that GetComponents looks for in order to trigger special code. Otherwise (if you want something that is actually sane :-) ) I fear one might be out of luck.

  2. Erik Schnetter reporter
    • marked as
    • removed comment

    Thanks for the work-around -- I'm reducing the priority of this issue now.

    As I mention above, bitbucket simply doesn't allow upper case characters, so our design needs to be updated.

  3. Frank Löffler
    • removed comment

    The same trick works for git-repos that only contain one thorn (at their top level). But this is just wicked. We have to find a better solution for this.

  4. Roland Haas

    While Bitbucket will still make the names of repositories all lowercase it does allow mixed case names in the (https) checkout line (and converts them to all lower case internally). Ie this

    git clone https://bitbucket.org/cactuscode/Cactus.git
    

    works to check out the https://bitbucket.org/cactuscode/cactus.git repository (lowercase “c”) and creates a directory “Cactus” with a copy of the flesh in it. The trick is still needed for @Frank Löffler ’s case of a repo with only a single thorn in its top-level directory. Eg @David Radice ’s Boost thorn https://github.com/dradice/Boost.git

  5. Log in to comment