[Svnmerge] KeyError with svnmerge.py init

Buddy Burden barefootcoder at gmail.com
Thu Jun 26 15:49:34 PDT 2008


Dustin,

>  Try this:
> :
> :

It really doesn't like me putting a print there.  I get the same thing
I got before:

[tyr:~/proj/rent] svnmerge.py init
svn+ssh://svnhost.rent.com/company/svn/rent/branches/sp_alpha_branch
  File "/usr/local/VCtools/svnmerge.py", line 824
    print >>sys.stderr, info
    ^
SyntaxError: invalid syntax

Oh, wait ... it doesn't like the tabs, does it?  I am _so_ not a
Python programmer. :-D

Okay, here you go:

[tyr:~/proj/rent] svnmerge.py init
svn+ssh://svnhost.rent.com/company/svn/rent/branches/sp_alpha_branch
{}
Traceback (most recent call last):
  File "/usr/local/VCtools/svnmerge.py", line 2179, in ?
    main(sys.argv[1:])
  File "/usr/local/VCtools/svnmerge.py", line 2150, in main
    source_pathid = target_to_pathid(source)
  File "/usr/local/VCtools/svnmerge.py", line 848, in target_to_pathid
    root = get_repo_root(target)
  File "/usr/local/VCtools/svnmerge.py", line 825, in get_repo_root
    root = info["Repository Root"]
KeyError: 'Repository Root'

I'm guessing from the empty curly braces that the call to svn info is
just completely failing somehow ... ?  As I said in my original post,
running svn info from the command line seemed to work fine for me.  Is
svnmerge providing extra parameters to svn info?  Hmmm ... let's see
...

Okay, I worked this out.  My URL is incorrect!  By putting

    print 'info "%s"' % target

just above the launchsvn line in get_svninfo(), I could see exactly
what it was calling, and then running that myself I got:

[tyr:~/proj/rent] svn info
"svn+ssh://svnhost.rent.com/company/svn/rent/branches/sp_alpha_branch"
svn+ssh://svnhost.rent.com/company/svn/rent/branches/sp_alpha_branch:
(Not a valid URL)

which eventually led me to stare at the stupid thing until I realized
I was one character off.  D'oh!

So this is totally my fault, but I do wonder if it wouldn't be a good
idea to have a more user-friendly error message ... if launchsvn isn't
capturing the stderr from svn, then perhaps it should, and try to
determine if there was an error and then report that back to the user.
 Or something.

Anyways, I'm off and running again.  Thanx for all the help!


         -- Buddy



More information about the Svnmerge mailing list