<< Back to previous view |
![]() |
[QB-233] Checking multiple subtrees from a subversion repository fails to label correct
|
|
Status: | Resolved |
Project: | QuickBuild |
Component/s: | None |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Bug | Priority: | Blocker |
Reporter: | Matthew Inger | Assigned To: | Robin Shen |
Resolution: | Won't Fix | Votes: | 0 |
Remaining Estimate: | Unknown | Time Spent: | Unknown |
Original Estimate: | Unknown |
Description |
I have a configuration where I checkout the following from my repository: /DNA non-recursive --> /DNA /DNA/ums recursive --> /DNA/ums I do this so that i can get some properties file at the root level, but not have to checkout the entire DNA tree. Everything builds and publishes to ivy just fine. However, when I try to label, it fails with the following error (it looks like it's trying to delete something out of a tag, which is not a valid operation in subversion). Instead, if you checkout multiple trees from the same branch/revision in the same subversion repository, it should only attempt the label creation once. I know this is a headache with subversion if you end up with two disparate trees, or multiple revisions/branches in the same checkout, but there needs to be some sort of useful solution to this. 2007-04-05 21:07:07,895 [Thread-2017] INFO - Checking necessary condition of step "label". 2007-04-05 21:07:07,895 [Thread-2017] INFO - Condition satisfied, running step "label". 2007-04-05 21:07:07,896 [Thread-2017] INFO - Labeling repository: DNA 2007-04-05 21:07:07,897 [Thread-2017] INFO - Label source path: /DNA/ 2007-04-05 21:07:08,026 [Thread-2032] WARN - svn: URL 'http://svn.fiberlink.com:8000/svn/dna/tags/dna-dna-reorg-qa-0/DNA' non-existent in that revision 2007-04-05 21:07:08,234 [Thread-2036] WARN - svn: URL 'http://svn.fiberlink.com:8000/svn/dna/tags/dna-dna-reorg-qa-0' non-existent in that revision 2007-04-05 21:07:08,236 [Thread-2017] INFO - Seems that url "http://svn.fiberlink.com:8000/svn/dna/tags/dna-dna-reorg-qa-0" does not exist, creating... 2007-04-05 21:07:10,341 [Thread-2017] INFO - Label source path: /DNA/ums 2007-04-05 21:07:10,464 [Thread-2017] WARN - Destination url "http://svn.fiberlink.com:8000/svn/dna/tags/dna-dna-reorg-qa-0/DNA/ums" already exists, deleting... 2007-04-05 21:07:10,606 [Thread-2044] WARN - svn: MERGE request failed on '/svn/dna/tags/dna-dna-reorg-qa-0/DNA' 2007-04-05 21:07:10,606 [Thread-2044] WARN - svn: 'pre-commit' hook failed with error output: 2007-04-05 21:07:10,606 [Thread-2044] WARN - You can not check in changes in tags. 2007-04-05 21:07:10,606 [Thread-2044] WARN - Make a branch and make your changes there. 2007-04-05 21:07:10,608 [Thread-2017] ERROR - Step "label" is failed: ERROR: Failed to run command: Executing 'svn' with arguments: 'delete' 'http://svn.fiberlink.com:8000/svn/dna/tags/dna-dna-reorg-qa-0/DNA/ums' '-m' 'Label applied by QuickBuild' '--non-interactive' '--quiet' '--username' '********' '--password' '******' The ' characters around the executable and arguments are not part of the command. , returned code: 1 |
Comments |
Comment by Matthew Inger [ 05/Apr/07 03:16 PM ] |
I've done this checkout manually in my directory, and have found that I can do the following: svn -m "applying label" copy DNA http://svn.fiberlink.com/svn/dna/tags/test1 with no ill effects. granted this is all from the same branch/revision that i checked out, but it's a good start to changing the subversion labelling technique at least for this special case. |
Comment by Matthew Inger [ 06/Apr/07 07:29 AM ] |
Upon further review, this might be more a function of the pre-commit hooks than anything else. Our pre-commit hook blocks anything other than add requests to the /tags area. I've modified it to allow the build user (which quickbuild logs in as) to not be subject to this condition. So, while tagging now creates multiple revisions, it at least ends up with the proper result, and not a build failure. That being said, it would be useful to copy the local checkout up to the tag. It seems it does a repository to repository copy. However, if i do a non-recursive checkout of something, it tags recursively, which I don't believe it should. |
Comment by Robin Shen [ 08/Apr/07 06:21 PM ] |
QuickBuild need to perform label multiple times if there are multiple modules defined as some times the modules definition are not overlapped. And once it detects an existing path in the repository under tags directory, it will try to delete that path first before copying. It ends up with multiple revisions for a label operation, but it does not hurt I think. As to copying the local checkout instead of using the module url, I do not think it will help in this case. It seems that Subversion will always try to replicate the whole directory recursively even if your working directory is populated with "--non-recursively" option. Please correct me if I am obviously wrong on this. Regards. Robin |