Will remodeling a SVN repository cause Crucible to be unhappy?
Asked by Kevin Buchs:

Does a wholesale change in an SVN repository (moving directories around and nesting, etc) cause Crucible any problems for current or historical reviews?


Answers:
author: Daniel R
body: Yes, this option is on by default. Correct, this option must be checked prior to review creation.


author: Daniel R
body: Hello Kevin,

If this option is selected you can disconnect the entire repository without affecting reviews:
> **Store the contents of files in reviews** -- check to have the source files under review stored in the Crucible database, along with the comments and review data. This retains a copy of all the source files under review even if the repository is disconnected from Crucible. See [Storing all revisions under review](https://confluence.atlassian.com/display/CRUCIBLE/Storing+all+revisions+under+review).

See this page:

<https://confluence.atlassian.com/display/CRUCIBLE/Creating+a+project>

Thanks,

comments: author: Kevin Buchs
body: Ok, this is good. Is having this checked the default? A quick scan of several of our projects shows it is checked.

I imagine this must be checked before a review is created, however.


author: Sergey Svishchev
body: Historical reviews won't be affected since any 'remodeling' is not retroactive, and reviews refer to specific changesets (also, if the review project has 'Store contents of files under review' checked, it won't matter if the repository is available at all).

I don't see how future reviews will be affected, but if the change you are going to make will affect the top-level structure (trunk/branches/tags), you should pay attention to 'symbolic rules' setup.


author: LucasA
body: Hello there,

Yes. Since Crucible use the repository structure (the files paths) of the changeset, if you change the repository structure, only the new files will properly work. In order to fix this misbehavior (at lest be able to find the repository again) you'll need to run a full re-index of your repo. Note that this re-index could least days, even weeks, depending of the amount of data stored on your repository.

Cheers,

Lucas

comments: author: Kevin Buchs
body: I would not assume it would be an issue of not finding the repository, as the root of the repository would not change, that is, the root given to Crucible for indexing.

I am really after the simple case, file root/directorya/directoryb/my-file.ext is moved to root/directoryc/directoryd/my-file.ext. This file is included in a review. Will the contents of the file and comments attached to it survive that move?

I guess it is a question as to whether Crucible tracks the history to know that the file was moved.

A full index of one of our more complex repositories takes \<\< 1 hour. You must have a very, very slow server and mega-sized repositories to take weeks.


author: Sergey Svishchev
body: > Will the contents of the file and comments attached to it survive that move?

Crucible doesn't automatically add new revisions of a file to the review (and a move is recorded as a revision). You can add them manually, or use the "Add Latest" feature, but result is unexpected -- while Fisheye does track the file's history, Crucible (2.10.4) apparently doesn't use that info.

I've tested this on a file that was moved 2 times; Crucible detects that a file was modified and offers to "Add Latest" revision, but the file shows up as 'deleted' (since in SVN, the move operation is really 'delete' + 'add').


author: Kevin Buchs
body: This *Experimentally* derived answer seems to be the most authoritative one I have received.

I have derived the general rule: assume that moving an SVN file will break a review that was using the file prior to the move.