[Pkg-bazaar-maint] Bug#428757: Bug#428757:
Jelmer Vernooij
jelmer at samba.org
Thu Jun 14 23:24:13 UTC 2007
On Thu, Jun 14, 2007 at 08:40:14AM +0200, tomga wrote:
> I think that we hit two things here.
> Output you requested:
> **** entering debugger
> /usr/lib/python2.4/site-packages/bzrlib/plugins/svn/fetch.py(261)close_file()
> -> ie.symlink_target = lines[0][len("link "):]
> (Pdb) print lines
> []
> (Pdb)
> This can be happening because a symbolic link pointing to outside of
> repository has been commited in bazaar repository. Maybe this
> exception
> is thrown because of this.
Adding a symlink to something outside of my working copy appears to work fine
here - does this particular file have any interesting properties or
history?
As far as I know, an empty file with the svn:special file property set
is invalid in Subversion; I wouldn't know what to do with such a file
- it's definitely not a regular file, but also not a symbolic link.
The error message should definitely be clearer though (throwing an exception
warning about a corrupt file).
> Anyway I have made a sample session from scratch which IMHO shows that
> something is very wrong and this package is really unusable right now.
> tst:~$ mkdir test
> tst:~$ cd test
> #create empty svn repository
> tst:~/test$ mkdir svnrepo
> tst:~/test$ svnadmin create svnrepo
> #create empty bzr repository
> tst:~/test$ mkdir bzrrepo
> tst:~/test$ bzr init bzrrepo
> #create directory a1, commit and push to svn repo
> tst:~/test$ cd bzrrepo/
> tst:~/test/bzrrepo$ mkdir a1
> tst:~/test/bzrrepo$ bzr add a1
> added a1
> tst:~/test/bzrrepo$ bzr commit -m "created a1"
> added a1
> Committed revision 1.
> tst:~/test/bzrrepo$ bzr push file:///home/tomga/test/svnrepo
> Pushed up to revision 1.
> #create directory a2, commit and push to svn repo
> tst:~/test/bzrrepo$ mkdir a2
> tst:~/test/bzrrepo$ bzr add a2
> added a2
> tst:~/test/bzrrepo$ bzr commit -m "created a2"
> added a2
> Committed revision 2.
> tst:~/test/bzrrepo$ bzr push file:///home/tomga/test/svnrepo
> bzr: ERROR: These branches have diverged. Try using "merge" and
> then "push".
> #checkout svn repo and examin log
> tst:~/test/bzrrepo$ cd ..
> tst:~/test$ svn co file:///home/tomga/test/svnrepo svnco
> A svnco/a1
> U svnco
> Checked out revision 1.
> tst:~/test$ cd svnco
> tst:~/test/svnco$ svn log
> ------------------------------------------------------------------------
> r1 | tomga | 2007-06-14 08:08:19 +0200 (Thu, 14 Jun 2007) | 1 line
> created a1
> ------------------------------------------------------------------------
> tst:~/test/svnco$ cd ..
> #merge bzr repo with svn repo - it seems that it incorrectly resolved
> "common root"
> tst:~/test$ cd bzrrepo/
> tst:~/test/bzrrepo$ bzr merge file:///home/tomga/test/svnrepo
> +N a1/
> -D a1/
> All changes applied successfully.
> tst:~/test/bzrrepo$ bzr status
> removed
> a1/
> a2/
> pending merges:
> tomga 2007-06-14 created a1
> tst:~/test/bzrrepo$
This is not a bug - the only "push" that is supported in 0.3 is
"push-as-merged". This requires you to run "bzr pull" right after "bzr
push".
"push-as-merged" basically means that when you run "bzr push" you
don't actually push the specified revision, but create a new revision
in the remote branch that merges the one you specified.
0.4 does not have this limitation, but it is not stable (yet).
Cheers,
Jelmer
--
Jelmer Vernooij <jelmer at samba.org> - http://jelmer.vernstok.nl/
01:14:35 up 68 days, 6 min, 4 users, load average: 1.43, 0.81, 0.59
More information about the Pkg-bazaar-maint
mailing list