[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