You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Jani Averbach <ja...@cc.jyu.fi> on 2002/10/30 19:24:30 UTC

cvs2svn.py: RuntimeError: Attempted to get textual contents of a *non*-file node.

Hi!

I converted 6 cvs repo to svn and everything was fine, until I tried 7th:

committing: Thu May 17 16:11:48 2001, over 0 seconds
    changing 1.1 : /trunk/jpe/
    making dir: /trunk/jpe
Traceback (most recent call last):
  File "./cvs2svn.py", line 854, in ?
    main()
  File "./cvs2svn.py", line 851, in main
    util.run_app(convert, ctx, start_pass=start_pass)
  File "/opt/svn/3575/lib/python2.1/site-packages/svn/util.py", line 38,
in run_app
    return apply(func, (pool,) + args, kw)
  File "./cvs2svn.py", line 784, in convert
    _passes[i](ctx)
  File "./cvs2svn.py", line 741, in pass4
    c.commit(t_fs, ctx)
  File "./cvs2svn.py", line 430, in commit
    handler, baton = fs.apply_textdelta(root, repos_path, f_pool)
RuntimeError: Attempted to get textual contents of a *non*-file node.

Any idea what went wrong?

svn is 3575 with swig-1.3.16 bindings, python is 2.1.2, and cvs2svn.py is
patched with this patch:

--- ../cvs2svn/cvs2svn/cvs2svn.py       2002-10-28 06:58:47.000000000 +0100
+++ cvs2svn.py  2002-10-28 07:05:23.000000000 +0100


BR, Jani

--
Jani Averbach


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn.py: RuntimeError: Attempted to get textual contents of a *non*-file node.

Posted by Michael Wood <mw...@its.uct.ac.za>.
Hi

On Thu, Oct 31, 2002 at 09:54:46PM +0100, Marko Macek wrote:
[snip]
> The problem is with filenames that include spaces.
> 
> Try this patch:
[snip]

That fixed it for me too.  Thanks.

Now there's a cosmetic problem.  cvs2svn.py seems to be skipping every
second revision number (or committing empty revisions or something.)

$ svn log file://`pwd`/svn
[...]
------------------------------------------------------------------------
rev 5:  dks | 1999-05-09 20:01:35 +0200 (Sun, 09 May 1999) | 2 lines

Added tag for XXX XXXXXX to use with the server and tree brokers

------------------------------------------------------------------------
rev 3:  dks | 1999-05-09 19:58:26 +0200 (Sun, 09 May 1999) | 1 line

initial checkin
------------------------------------------------------------------------
rev 1:  dks | 1999-05-09 19:58:26 +0200 (Sun, 09 May 1999) | 2 lines

initial checkin

------------------------------------------------------------------------

If I dump the repository and look at the even numbered revisions, they
look like this:
[...]
Revision-number: 2
Prop-content-length: 56
Content-length: 56

K 8
svn:date
V 27
2002-11-01T08:12:22.477435Z
PROPS-END

Revision-number: 3
[...]
Revision-number: 4
Prop-content-length: 56
Content-length: 56

K 8
svn:date
V 27
2002-11-01T08:12:22.979494Z
PROPS-END

Revision-number: 5
[...]

The dates are also current, rather than in line with the dates on the
odd revisions.

-- 
Michael Wood <mw...@its.uct.ac.za>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Solved (Re: cvs2svn.py: RuntimeError: Attempted to get textual contents of a *non*-file node.)

Posted by Jani Averbach <ja...@cc.jyu.fi>.
On Thu, 31 Oct 2002, Marko Macek wrote:

>
> Try this patch:
>

This will be rejected by your previous patch, but I changed that offending
point by hand, and cvs2svn.py is now working like a charm.
The produced svn repo has HEAD rev at 1324, which seems to be a reasonable
value.

Big thanks!

BR, Jani

--
Jani Averbach




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn.py: RuntimeError: Attempted to get textual contents of a *non*-file node.

Posted by Marko Macek <Ma...@gmx.net>.
Jani Averbach wrote:
> Hi!
> 
> I converted 6 cvs repo to svn and everything was fine, until I tried 7th:
> 
> committing: Thu May 17 16:11:48 2001, over 0 seconds
>     changing 1.1 : /trunk/jpe/
>     making dir: /trunk/jpe

The problem is with filenames that include spaces.

Try this patch:

--- V21/cvs2svn.py      2002-10-28 07:34:17.000000000 +0100
+++ cvs2svn.py  2002-10-31 21:46:17.000000000 +0100
@@ -640,7 +640,7 @@
    ntags = int(data[5])
    tags = data[6].split(' ', ntags + 1)
    nbranches = int(tags[ntags])
-  branches = tags[ntags + 1].split(' ', nbranches + 1)
+  branches = tags[ntags + 1].split(' ', nbranches)
    fname = branches[nbranches][:-1]

    ##print "TAGS: ", ntags, repr(tags);


As usual, only lightly tested.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn.py: RuntimeError: Attempted to get textual contents of a *non*-file node.

Posted by Jani Averbach <ja...@cc.jyu.fi>.
On Thu, 31 Oct 2002, Michael Wood wrote:

> i.e. it also seems to have something to do with a directory, but since
> over 400 revisions had already been committed, I don't know why it chose
> that point to die.
>

Yep, same here, last what it printed was that "making dir: /trunk/jpe".

> > committing: Thu May 17 16:11:48 2001, over 0 seconds
> >     changing 1.1 : /trunk/jpe/
> >     making dir: /trunk/jpe
> > Traceback (most recent call last):
> >   File "./cvs2svn.py", line 854, in ?
...

>
> I have not done any investigating yet, since, although I was using an up
> to date cvs2svn.py along with Marko's latest patch that was sent to the
> list, I was not using an up to date Subversion installation, so I was
> going to try that first before anything else.  I've not had a chance to
> do that yet, though.
>

We are using same kind of installation (cvs2svn.py is same), except that I
have very new subversion installation, dated: 2002-10-31 07:30:16 +0200,
and you have newer python.

>
> I assume you're referring to Marko's latest patch that was sent to the
> list.
>

Yes.

Thanks for verifying this.

BR, Jani

--
Jani Averbach


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn.py: RuntimeError: Attempted to get textual contents of a *non*-file node.

Posted by Michael Wood <mw...@its.uct.ac.za>.
On Wed, Oct 30, 2002 at 09:24:30PM +0200, Jani Averbach wrote:
> 
> Hi!
> 
> I converted 6 cvs repo to svn and everything was fine, until I tried
> 7th:

I get an identical traceback trying to convert a CVS repository.

The last few lines before the traceback look like this for me:
    new revision: 420
committing: Fri Sep  8 17:07:32 2000, over 3 seconds
    changing 1.2 : /trunk/UCT/domain/dataflow/imap-migration/IMAP
    changing 1.2 : /trunk/UCT/domain/dataflow/imap-migration/IMAPClient.pm
    changing 1.2 : /trunk/UCT/domain/dataflow/imap-migration/LIBEAY32.DLL
    changing 1.2 : /trunk/UCT/domain/dataflow/imap-migration/LIBSSL32.DLL
    changing 1.1 : /trunk/UCT/domain/dataflow/imap-migration/testdata/DistributionLists.ldif
    changing 1.2 : /trunk/UCT/domain/dataflow/imap-migration/convertall.pl
    changing 1.2 : /trunk/UCT/domain/dataflow/imap-migration/testdata/DESKTOP.PM0
    changing 1.1 : /trunk/UCT/domain/dataflow/imap-migration/testdata

i.e. it also seems to have something to do with a directory, but since
over 400 revisions had already been committed, I don't know why it chose
that point to die.

> committing: Thu May 17 16:11:48 2001, over 0 seconds
>     changing 1.1 : /trunk/jpe/
>     making dir: /trunk/jpe
> Traceback (most recent call last):
>   File "./cvs2svn.py", line 854, in ?
>     main()
>   File "./cvs2svn.py", line 851, in main
>     util.run_app(convert, ctx, start_pass=start_pass)
>   File "/opt/svn/3575/lib/python2.1/site-packages/svn/util.py", line 38,
> in run_app
>     return apply(func, (pool,) + args, kw)
>   File "./cvs2svn.py", line 784, in convert
>     _passes[i](ctx)
>   File "./cvs2svn.py", line 741, in pass4
>     c.commit(t_fs, ctx)
>   File "./cvs2svn.py", line 430, in commit
>     handler, baton = fs.apply_textdelta(root, repos_path, f_pool)
> RuntimeError: Attempted to get textual contents of a *non*-file node.
> 
> Any idea what went wrong?

I have not done any investigating yet, since, although I was using an up
to date cvs2svn.py along with Marko's latest patch that was sent to the
list, I was not using an up to date Subversion installation, so I was
going to try that first before anything else.  I've not had a chance to
do that yet, though.

> svn is 3575 with swig-1.3.16 bindings, python is 2.1.2, and cvs2svn.py is

I can't remember what revision of Subversion it is that I was using, but
it's version 0.14.3 compiled on Sep 24 2002.

Python version 2.2.1.

> patched with this patch:

> --- ../cvs2svn/cvs2svn/cvs2svn.py       2002-10-28 06:58:47.000000000 +0100
> +++ cvs2svn.py  2002-10-28 07:05:23.000000000 +0100

I assume you're referring to Marko's latest patch that was sent to the
list.

-- 
Michael Wood <mw...@its.uct.ac.za>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org