#147: svn directory renames cause import errors in hg
----------------------------------------------+-----------------------------
 Reporter:  chris                             |       Owner:  lele      
     Type:  defect                            |      Status:  new       
 Priority:  major                             |   Milestone:  VersionOne
Component:  tailor                            |     Version:  0.9       
 Keywords:  svn hg directory rename renaming  |  
----------------------------------------------+-----------------------------
 Any SVN revision which contains a directory rename appears to fail with an
 error while replaying it in HG:

 {{{
 23:57:15 [I] Bootstrapping "svn-hg" in "/tmp/tailor-svn-hg"
 23:57:15 [I] Initializing new repository in '/tmp/tailor-svn-hg/hg'...
 .hgignore
 No username found, using '[EMAIL PROTECTED]' instead
 23:57:15 [I] $ svn ls --non-interactive http://www.boxbackup.org/svn
 23:57:16 [I] [Ok]
 23:57:16 [I] $ svn ls --non-interactive http://www.boxbackup.org
 23:57:16 [W] [Status 1]
 23:57:16 [I] $ svn co --quiet --ignore-externals --revision 2015
 http://www.boxbackup.org/svn/box/[EMAIL PROTECTED] /tmp/tailor-svn-hg/svn 2>&1
 23:57:39 [I] [Ok]
 23:57:39 [I] /tmp/tailor-svn-hg/svn $ svn log --verbose --xml --non-
 interactive --revision 2015 2>&1
 23:57:39 [I] [Ok]
 23:57:39 [I] $ rsync --archive --exclude .svn --exclude .hg --exclude
 .hgtags /tmp/tailor-svn-hg/svn/ /tmp/tailor-svn-hg/hg
 23:57:39 [I] [Ok]
 adding BUGS.txt
 ...
 adding win32.bat
 23:57:39 [I] Committing 'Tailorization'...
 BUGS.txt
 ...
 win32.bat
 23:57:40 [I] Bootstrap completed
 23:57:40 [I] Updating "svn-hg" in "/tmp/tailor-svn-hg"
 23:57:40 [I] /tmp/tailor-svn-hg/svn $ svn log --verbose --xml --non-
 interactive --revision 2016:HEAD .
 23:57:41 [I] [Ok]
 23:57:41 [W] Ignoring u'/box/trunk' since it is not under '/box/trunk/'
 23:57:41 [I] Cached information about 93 pending changesets
 23:57:41 [I] Applying pending upstream changesets
 23:57:41 [I] Changeset #1
 23:57:41 [I] Changeset "2016"
 23:57:41 [I] Log message: Rename html to box-html so that images and CSS
 are found automatically,
 and only one directory needs to be copied for publication.

 23:57:41 [I] /tmp/tailor-svn-hg/svn $ svn update --ignore-externals
 --revision 2016 . 2>&1
 23:57:44 [I] [Ok]
 23:57:44 [I] $ rsync --archive --exclude .svn --exclude .hg --exclude
 .hgtags /tmp/tailor-svn-hg/svn/ /tmp/tailor-svn-hg/hg
 23:57:44 [I] [Ok]
 23:57:44 [I] Renaming 'documentation/boxbackup/html' to
 'documentation/boxbackup/box-html'...
 documentation/boxbackup/box-html does not exist!
 23:57:44 [E] Failure replaying: Revision: 2016
 Date: 2008-01-02 13:29:33.425614+00:00
 Author: chris
 Entries: documentation/boxbackup/box-html(REN from
 documentation/boxbackup/html)
 Log: Rename html to box-html so that images and CSS are found
 automatically,
 and only one directory needs to be copied for publication.
 Traceback (most recent call last):
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 117, in
 replayChangeset
     self._replayChangeset(changeset)
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 320, in
 _replayChangeset
     action(group)
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 489, in
 _renameEntries
     self._renamePathname(e.old_name, e.name)
   File "build/bdist.linux-i686/egg/vcpx/repository/hg.py", line 410, in
 _renamePathname
     repo.remove([oldname], unlink=True)
   File "/var/lib/python-support/python2.5/mercurial/localrepo.py", line
 1028, in remove
     util.unlink(self.wjoin(f))
   File "/var/lib/python-support/python2.5/mercurial/util.py", line 648, in
 unlink
     os.unlink(f)
 OSError: [Errno 21] Is a directory: '/tmp/tailor-svn-
 hg/hg/documentation/boxbackup/html'
 23:57:44 [E] Couldn't replay changeset
 Revision: 2016
 Date: 2008-01-02 13:29:33.425614+00:00
 Author: chris
 Entries: documentation/boxbackup/box-html(REN from
 documentation/boxbackup/html)
 Log: Rename html to box-html so that images and CSS are found
 automatically,
 and only one directory needs to be copied for publication.
 Traceback (most recent call last):
   File "build/bdist.linux-i686/egg/vcpx/source.py", line 141, in
 applyPendingChangesets
     replay(c)
   File "build/bdist.linux-i686/egg/vcpx/dualwd.py", line 108, in
 replayChangeset
     self.target.replayChangeset(changeset)
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 117, in
 replayChangeset
     self._replayChangeset(changeset)
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 320, in
 _replayChangeset
     action(group)
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 489, in
 _renameEntries
     self._renamePathname(e.old_name, e.name)
   File "build/bdist.linux-i686/egg/vcpx/repository/hg.py", line 410, in
 _renamePathname
     repo.remove([oldname], unlink=True)
   File "/var/lib/python-support/python2.5/mercurial/localrepo.py", line
 1028, in remove
     util.unlink(self.wjoin(f))
   File "/var/lib/python-support/python2.5/mercurial/util.py", line 648, in
 unlink
     os.unlink(f)
 OSError: [Errno 21] Is a directory: '/tmp/tailor-svn-
 hg/hg/documentation/boxbackup/html'
 23:57:44 [C] Upstream change application failed
 Traceback (most recent call last):
   File "/usr/bin/tailor", line 5, in <module>
     pkg_resources.run_script('tailor==0.9.30', 'tailor')
   File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 448, in
 run_script
     self.require(requires)[0].run_script(script_name, ns)
   File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 1173, in
 run_script
     exec script_code in namespace, namespace
   File "/usr/bin/tailor", line 35, in <module>

   File "build/bdist.linux-i686/egg/vcpx/tailor.py", line 342, in main
   File "build/bdist.linux-i686/egg/vcpx/tailor.py", line 147, in __call__
   File "build/bdist.linux-i686/egg/vcpx/tailor.py", line 111, in update
   File "build/bdist.linux-i686/egg/vcpx/dualwd.py", line 97, in
 applyPendingChangesets
   File "build/bdist.linux-i686/egg/vcpx/source.py", line 141, in
 applyPendingChangesets
   File "build/bdist.linux-i686/egg/vcpx/dualwd.py", line 108, in
 replayChangeset
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 117, in
 replayChangeset
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 320, in
 _replayChangeset
   File "build/bdist.linux-i686/egg/vcpx/target.py", line 489, in
 _renameEntries
   File "build/bdist.linux-i686/egg/vcpx/repository/hg.py", line 410, in
 _renamePathname
   File "/var/lib/python-support/python2.5/mercurial/localrepo.py", line
 1028, in remove
     util.unlink(self.wjoin(f))
   File "/var/lib/python-support/python2.5/mercurial/util.py", line 648, in
 unlink
     os.unlink(f)
 OSError: [Errno 21] Is a directory: '/tmp/tailor-svn-
 hg/hg/documentation/boxbackup/html'
 }}}

 Tailor configuration:

 {{{
 [DEFAULT]
 verbose = True
 projects = svn-hg

 [svn-hg]
 source = svn:box-trunk
 start-revision = 2015
 root-directory = tailor-svn-hg
 state-file = state
 target = hg:box-trunk

 [hg:box-trunk]
 repository = hg-trunk-copy
 # repository = http://localhost:8000/
 subdir = hg

 [svn:box-trunk]
 module = /box/trunk
 repository = http://www.boxbackup.org/svn
 subdir = svn
 }}}

-- 
Ticket URL: <http://progetti.arstecnica.it/tailor/ticket/147>
Tailor <http://progetti.arstecnica.it/tailor>
An inter-VCs changeset exchanger
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to