I'm rerunning my suite of tests for migrating our repository from CVS to
Subversion using Tailor 0.9.24 and I am getting farther with 0.9.24 than
I was able to get with 0.9.23 -- due mainly to the recent
svn-parent-dir-reordering fix that recently went in.  Thanks!

I'm running into a new problem that occurs when Tailor comes across the
first file that was removed in CVS.  The error I get is:

15:56:00 [C] Upstream change application failed
Traceback (most recent call last):
  File "./tailor", line 35, in ?
    main()
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/tailor.py", line 338,
in main
    tailorizer()
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/tailor.py", line 146,
in __call__
    self.update()
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/tailor.py", line 109,
in update
    last, conflicts = dwd.applyPendingChangesets(
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/dualwd.py", line 97,
in applyPendingChangesets
    applied=applied)
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/source.py", line 98,
in applyPendingChangesets
    if not self._willApplyChangeset(c, applyable):
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/source.py", line 174,
in _willApplyChangeset
    return applyable(changeset)
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/tailor.py", line 39,
in _applyable
    self.log.debug("Going to apply changeset:\n%s", str(changeset))
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/changes.py", line 174,
in __str__
    s.append('Entries: %s' % ', '.join([str(x) for x in self.entries]))
  File "/home/chase/tailor/0.9.24-trial1/app/vcpx/changes.py", line 52,
in __str__
    s += ' from ' + self.old_name
TypeError: cannot concatenate 'str' and 'NoneType' objects

The changeset Tailor is trying to apply is to remove a file
'localconfig'.  I suppose that self.old_name exists only when a file is
renamed.  I saw in changes.py, ChangesetEntry that the deleted and
renamed cases are collapsed together, so I called out the deleted case
explicitly in changes.py to get over that hurdle:
 
--- changes.py.orig     2006-08-16 16:04:38.183738955 -0400
+++ changes.py  2006-08-16 16:03:15.209923809 -0400
@@ -48,6 +48,9 @@
         elif self.action_kind == self.UPDATED:
             if self.new_revision:
                 s += ' to ' + self.new_revision
+        elif self.action_kind == self.DELETED:
+            if self.new_revision:
+                s += ' at ' + self.new_revision
         else:
             s += ' from ' + self.old_name
         s += ')'

This patch worked to get me past the bothersome commit.  I'm at revision
251 and still going. :)

Comments welcome,
Chase
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to