Jason Merrill wrote: > On Fri, Sep 15, 2017 at 1:52 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > > Jason Merrill wrote: >>> Subject: Fix merge parent checking with svn.pushmergeinfo. >>> >>> Without this fix, svn dcommit of a merge with svn.pushmergeinfo set would >>> get error messages like "merge parent <X> for <Y> is on branch >>> svn+ssh://gcc.gnu.org/svn/gcc/trunk, which is not under the git-svn root >>> svn+ssh://jason@xxxxxxxxxxx/svn/gcc!" >>> >>> * git-svn.perl: Remove username from rooturl before comparing to branchurl. >>> >>> Signed-off-by: Jason Merrill <jason@xxxxxxxxxx> >> >> Interesting. Thanks for writing it. > > Thanks for the review. > >> Could there be a test for this to make sure this doesn't regress in >> the future? See t/t9151-svn-mergeinfo.sh for some examples. > > Hmm, I'm afraid figuring out how to write such a test would take > longer than I can really spare for this issue. There don't seem to be > any svn+ssh tests currently. Well, could you give manual commands to allow me to reproduce the problem? Then I'll translate them into a test. :) FWIW remove_username seems to be able to cope fine with an http:// URL. t/lib-httpd.sh starts an http server with Subversion enabled, as long as the envvar GIT_SVN_TEST_HTTPD is set to true. Its address is $svnrepo, which is an http URL (but I don't see a username in the URL). Does that help? Alternatively, does using rewrite-root as in t9151-svn-mergeinfo.sh help? [...] > How about this? > > git-svn: Fix svn.pushmergeinfo handling of svn+ssh usernames. > > Previously, svn dcommit of a merge with svn.pushmergeinfo set would > get error messages like "merge parent <X> for <Y> is on branch > svn+ssh://gcc.gnu.org/svn/gcc/trunk, which is not under the git-svn root > svn+ssh://jason@xxxxxxxxxxx/svn/gcc!" > > So, let's call remove_username (as we do for svn info) before comparing > rooturl to branchurl. Looks good. Thanks. Jonathan