SCM Baselines incorrect after SVN import
![]()
Hi
RTC 2.0 Server Linux RTC 2.0 Client Windows Beware: first time user of the SVN importer I have used the SVN importer to import my SVN trunk into a new RTC component. I checked the box to create baselines for tags and branches. There's quite a few tags and branches in my SVN repo. Some of the SVN tags did not get baselines created for them (OTOH some did). In at least one case, two of the baselines appear to be incorrect. The two relevant SVN tags represent SVN revisions 2448 and 2450. However, the two imported baselines are labelled 2447 each. Comparing the two baselines shows no differences (as you'd expect since they appear to come from the same, but wrong, SVN revision). Maybe I'm missing something, but isn't it true that two distinct SVN tags should be imported as two distinct RTC baselines ? Any help appreciated Dave |
6 answers
![]()
Dave,
It's complicated since SVN has no concept of a tag, branch or baseline but instead only models copies. In that sense, a tag or branch in SVN is really just another configuration that needs to be imported. The SVN importer doesn't "import" baselines but instead tries to determine the best place to create a baseline that will be as close to possible to the state of the copy representing the tag or branch. Using the baseline as a starting point, you can then import the tag or branch from SVN to get the proper configuration into RTC. The wiki page at http://jazz.net/wiki/bin/view/Main/SCMImport describes how you can import tags and branches from an SVN repository into RTC. Hope this helps, Michael David Ward wrote: Hi |
![]()
Hi Michael
I'm not sure what you meant when you say "using the baseline as a statting point, you can them import the tag or branch". The import seems to have already imported the tag and created a baseline for it; it's just chosen the wrong place to put the baseline. Do I need to re-import just that tag, into the existing RTC component ?? Sorry, but I'm not getting it :-( Michael Valenta wrote: Dave, |
![]()
David,
A tag in subversion is really just another copy of the tree. Because subversion only really models file trees and copies, it is difficult to line up baselines precisely with what you refer to as a tag in subversion (i.e. there aren't really any tags in SVN, only copies of trees put in a folder named "tags"). I can think of 3 possible reasons for what you are seeing: 1) The tag in subversion was not "pure". What I mean by that was that the tag may have been created by multiple copy commands. If we cannot determine the exact copy point, we label the baseline appropriately (something like "incomplete" but I don't remember the exact wording used). 2) The copy point was pure but the tag was modified after it was created (i.e. a tag in SVN is no different then a branch). If this is the case, you would need to follow the instructions on the wiki page I pointed you to in order to create a new stream for the tag and import the latest state of the tag into that stream. 3) It is possible that there is a bug in the importer. I would need to have access to the dump file in order to determine if that was the case. I know that this might not help all that much. Suffice it to say that the Subversion model is significantly different then the RTC model which leads to confusion over how to deal with branches and tags. If you need clarification on any of the instructions on the wiki page, let me know. Michael David Ward wrote: Hi Michael |
![]()
David,
I've done some investigation and it does appear that there is some anomalies in how the baselines are being placed. In the case I hit, I am seeing two baselines for the same branch root being created. One is in the proper place and one obviously isn't. This may be related to the issue you are having or it may be a different issue. I am investigation this as part of work item https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/97209. Michael Michael Valenta wrote: David, |
![]()
Hi Michael and thanks for expanding on the reasons why SVN tags might be
difficult to import. I guess I could explicitly import each SVN tag (rather than the trunk) but won't I then have multiple streams (one for each tag). Does that lead to source file copies within the RTC database ? Cheers Michael Valenta wrote: David, |
![]()
The way the import of branches and tags in intended to work is as follows:
1) Import trunk with creation of baselines enabled 2) For each tag or branch: a) Duplicate the target workspace from step 1 and replace the component with the baseline for the desired tag or branch b) Perform the import again and select the component from step a as the target c) the importer should detect the presence of the baseline and prompt the user to ask if the import of a tag/branch is desired d) Say yes to the prompt and select the same folders that were selected in step 1).2 You will then end up with a workspace for each tag or branch. In regards to you question about source file copies, if you follow the steps above, the answer is no. Michael avid Ward wrote: Hi Michael and thanks for expanding on the reasons why SVN tags might be |