#64: cvs -> bzr conversion fails on adding files to non-existent directories
--------------------+-------------------------------------------------------
Reporter: luks | Owner: lele
Type: defect | Status: new
Priority: major | Milestone: VersionOne
Component: bzr | Version: 0.9
Keywords: |
--------------------+-------------------------------------------------------
As CVS doesn't version directories, they never appear in the changesets.
So if there is a CVS changeset that adds a file {{{foo/bar.c}}}, and the
{{{foo/}}} directory doesn't exist, it will not explicitly add it. AFAIK,
other target repositories can handle situations like these transparently,
but in bzrlib this causes a problem:
{{{
00:28:27 [E] Couldn't replay changeset
Revision: 2001-09-13 23:03:25 by wmaycisco
Date: 2001-09-13 23:03:26
Author: wmaycisco
Modified:
Makefile.am,atom_ftyp.cpp,atom_mdat.cpp,atom_root.cpp,atom_stbl.cpp,atoms.h,mp4.cpp,mp4.h,mp4atom.cpp,mp4atom.h,mp4file.cpp,mp4file.h,mp4property.cpp,mp4property.h,mp4track.cpp,mp4track.h,mp4util.h
Removed:
apitest.c,mp4broadcaster.cpp,mp4dump.cpp,mp4extract.cpp,nullcreate.cpp,nullvplayer.cpp
Added:
TODO,test/Makefile.am,test/c_api.c,test/nullcreate.cpp,test/nullvplayer.cpp,util/Makefile.am,util/mp4broadcaster.cpp,util/mp4dump.cpp,util/mp4extract.cpp
Log: Sync 9/13/2001 4:08PM PDT - forgot throw transfer.
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/vcpx/source.py", line 133, in
applyPendingChangesets
replay(c)
File "/usr/lib/python2.4/site-packages/vcpx/dualwd.py", line 107, in
replayChangeset
self.target.replayChangeset(changeset)
File "/usr/lib/python2.4/site-packages/vcpx/target.py", line 112, in
replayChangeset
self._replayChangeset(changeset)
File "/usr/lib/python2.4/site-packages/vcpx/target.py", line 314, in
_replayChangeset
action(group)
File "/usr/lib/python2.4/site-packages/vcpx/target.py", line 331, in
_addEntries
self._addPathnames([e.name for e in entries])
File "/usr/lib/python2.4/site-packages/vcpx/bzr.py", line 177, in
_addPathnames
self._working_tree.add(fnames)
File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 51,
in write_locked
return unbound(self, *args, **kwargs)
File "/usr/lib/python2.4/site-packages/bzrlib/workingtree.py", line 592,
in add
inv.add_path(f, kind=kind, file_id=file_id)
File "/usr/lib/python2.4/site-packages/bzrlib/inventory.py", line 1017,
in add_path
raise NotVersionedError(path=parent_path)
NotVersionedError: [u'test'] is not versioned
}}}
Attached a patch to fix this in the Bzr target, but I'm not sure at all if
it's the right place. Perhaps it could be fixed in the CVS source?
--
Ticket URL: <http://progetti.arstecnica.it/tailor/ticket/64>
Tailor <http://progetti.arstecnica.it/tailor>
An inter-VCs changeset exchanger_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor