<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>6475</bug_id>
          
          <creation_ts>2014-06-24 15:25:12 +0000</creation_ts>
          <short_desc>SVN fetcher removes username from URI inappropriately</short_desc>
          <delta_ts>2014-07-07 05:49:13 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BitBake</product>
          <component>bitbake</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>3 July 2014: Doc flag set to &quot;Done&quot;</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.7</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="William R. Otte">wotte</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>srifenbark</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Done (doc changes complete)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>44160</commentid>
    <comment_count>0</comment_count>
    <who name="William R. Otte">wotte</who>
    <bug_when>2014-06-24 15:25:12 +0000</bug_when>
    <thetext>Given the following srcuri in a recipe:

SRC_URI = &quot;svn://git@svn.example.com/path/to/repo;module=path/to/module;protocol=svn+ssh&quot;

the svn fetcher generates the following command:

svn --non-interactive --trust-server-cert log --limit 1 --no-auth-cache --username git svn+ssh://svn.example.com/path/to/repo/path/to/module/

This causes svn to connect as the current user instead of the specified username, causing the command to fail.  

I would expect that it would generate the following command:

svn --non-interactive --trust-server-cert log --limit 1 --no-auth-cache  svn+ssh://git@svn.example.com/path/to/repo/path/to/module/

In my mind, the svn fetcher is being too clever for its own good: the former generated command should only be generated if I append &quot;user=git&quot; to the SRC_URI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44197</commentid>
    <comment_count>1</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2014-06-26 09:42:40 +0000</bug_when>
    <thetext>Well, this is a really tricky one. Rightly or wrongly, the fetcher defines the username in the url to be the username parameter to pass to svn. Until now its never evidently been needed to have two different usernames, one for the transport and one for svn itself.

We have a backwards compatibility problem, I&apos;d suggest we add a parameter to specify the transport username for a case like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44206</commentid>
    <comment_count>2</comment_count>
    <who name="William R. Otte">wotte</who>
    <bug_when>2014-06-26 14:53:42 +0000</bug_when>
    <thetext>That would be sufficient for my purposes; the only comment I have is that if the current behavior is kept (foo@ generates --user foo), and my use case was the intended behavior, the reason for the failure isn&apos;t intuitive. 

I&apos;d suggest deprecating user@ behavior entirely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44310</commentid>
    <comment_count>3</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2014-07-03 10:41:20 +0000</bug_when>
    <thetext>There is a patch out for review on bitbake-devel. It adds a transportuser parameter to svn urls, the bitbake manual will need updating with this new parameter. A description is:

&quot;A parameter to set the username to use for the transport if required, defaulting to empty. This is different to the username used in the main url which is passed to the subversion command.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44318</commentid>
    <comment_count>4</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2014-07-03 14:49:10 +0000</bug_when>
    <thetext>Here is a doc change for the bug.  http://www.yoctoproject.org/docs/1.7/bitbake-user-manual/bitbake-user-manual.html#svn-fetcher

Please check it over.

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44328</commentid>
    <comment_count>5</comment_count>
    <who name="William R. Otte">wotte</who>
    <bug_when>2014-07-03 17:11:56 +0000</bug_when>
    <thetext>This all seems reasonable to me.  Thanks for the quick action folks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44335</commentid>
    <comment_count>6</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2014-07-04 08:29:50 +0000</bug_when>
    <thetext>Merged into master: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=a5531a2b8983318b99c119a87b78a92cf84160b8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44347</commentid>
    <comment_count>7</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2014-07-07 05:49:13 +0000</bug_when>
    <thetext>Set the doc flag to &quot;Done&quot;.

Scott</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>