Bug 172110

Summary: downloads trunk tarball even if module-base-path points to another branch/tag!
Product: [Developer tools] kdesrc-build Reporter: David Faure <faure>
Component: generalAssignee: Michael Pyne <mpyne>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description David Faure 2008-10-03 21:53:14 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

I just created tags/kdesupport-for-4.1 (once it works it would be nice if kdesvn-build could use that automatically when requesting the 4.1 branch :)

So I wrote this into kdesvn-buildrc:

module kdesupport
        cmake-options -DKDE4_BUILD_TESTS=TRUE
        prefix /d/kde/inst/kdesupport-for-4.1
        module-base-path tags/kdesupport-for-4.1
end module

and deleted kdesupport srcdir+builddir.
The syntax appears to work because if I didn't delete the srcdir it would warn about its wrong svn url.
However if I run kdesvn-build, it downloads the trunk tarball for kdesupport instead of honouring the module-base-path, so I end up with a trunk kdesupport again!

Obviously kdesvn-build should check for branch and module-base-path before downloading a tarball.
Comment 1 Michael Pyne 2008-10-04 03:07:53 UTC
This is fixed as of revision 867626.  One note though: you probably want to use the tag option which should work in this case:

module kdesupport
  tag kdesupport-for-4.1
  ...
end module

The tag option is essentially "module-base-path tags/$foo" but it is different for some modules which don't conform to the standard tagging structure.
Comment 2 David Faure 2008-10-06 23:20:05 UTC
Thanks.

Answering the k-c-d followup on this issue:

> This shouldn't be an error-causing issue as kdesvn-build should still svn 
> switch correctly to tags/kdesupport-for-4.1 but it may cause the download to 
> take longer as the delta between kdesupport trunk and the 4.1 tag gets bigger.

I beg to diff; kdesvn-build doesn't switch checkouts automatically, it only warns about the URL not being the expected one. IIRC only --svn-only does the switching. So this is error-causing, if it is being run unattended.
Comment 3 Michael Pyne 2008-10-07 02:17:17 UTC
> > This shouldn't be an error-causing issue as kdesvn-build should still svn 
> > switch correctly to tags/kdesupport-for-4.1 but it may cause the download to 
> > take longer as the delta between kdesupport trunk and the 4.1 tag gets bigger.

> I beg to diff; kdesvn-build doesn't switch checkouts automatically, it only
> warns about the URL not being the expected one. IIRC only --svn-only does the
> switching. So this is error-causing, if it is being run unattended.

Well IIRC the idea of the snapshot download was that it would automatically svn switch immediately after the download to ensure that the svn-server setting was being respected (since checkouts are always from anonsvn).  However I don't remember that the switch would cause a change from trunk to a branch (i.e. if only --relocate were used) so it's possible it would still error out.

I don't have the time to test it out though, I assume you have proven theory-to-practice that it does error out and that's why you're telling me this. ;)
Comment 4 David Faure 2008-10-07 10:29:32 UTC
Right, it didn't work, I ended up with a trunk checkout (otherwise I wouldn't have noticed the problem).

I think you would have to switch --relocate from anonsvn to svn,
and _then_ to switch again, from trunk to branch. AFAIK this can't be done with the same operation.

Thanks for the fast fixing, in any case!