Name clash between a repository and a repository group

Issue #528 resolved
Gustavo Chaves created an issue

I had a problem with RhodeCode 1.4.0b which was installed on 2012-08-15. I'll try to reccount the steps that led me to the problem.

I wanted to import a Git repository into RhodeCode as /sw/ger/v3, i.e., /sw/ger would be repository groups and /sw/ger/v3 would be the repository.

By mistake, I created /sw/ger/v3 as directories under RC's repository store and moved the git repository to /sw/ger/v3/git.

Then I performed a repository scan as RC's admin user.

Then I realised the error and decided to try again.

I deleted the repository /sw/ger/v3/git.

I removed the directory /sw/ger/v3 by hand. (Stupid mistake, I know.)

I moved the repository to /sw/ger/v3, as it should have been.

I performed another repository scan.

Then RC got confused, because it now had a repository called /sw/ger/v3 and a repository group by the same name. I became weird when I tried to navigate to the repository.

I tried several things to resolve it to no avail. I ended up doing the following in order to get it back into shape:

I deleted the repository /sw/ger/v3.

I deleted the repository group /sw/ger/v3.

I moved once again the external repository to /sw/ger/v3.

Performed another repository scan.

Now everything seems ok.

Obviously I shouldn't have removed the directory /sw/ger/v3 by hand. But perhaps, RC could be a little more cautious and verify, during the scan, if there are some clashes like the one i got in to.

I want to say that this was the only issue I got when I tried to import almost 100 Git repositories into RhodeCode. I was very much impressed by its overall robustness. Thank you very much for such a great work.

-- Gustavo

Comments (2)

  1. Gustavo Chaves reporter

    I just tried this procedure against a 1.4.1 release. The problem still remains, but there seems to be a possible solution within RhodeCode's web interface. I didn't have to delete anything via the command line:

    1. First, I deleted the repository /sw/ger/v3/git
    2. Then I made a rescan with the "destroy old data" option enabled.
    3. Then, I deleted the repository group /sw/ger/v3

    After that, I could copy again the repository to the correct location and perform a rescan to get to the situation I wanted.

    This is a real improvement.

    Since the problem was triggered by my removing a repository group directory by mistake, I'm not counting this as a RhodeCode bug. But perhaps it could be a little smarter during the rescan and detect if repository groups were removed too.

    This issue could be closed by me, but I'll let you decide if it should be kept open until the rescan gets smarter.

    Thanks.

  2. Log in to comment