On 2019-09-03 03:01 +0200, Guillem Jover wrote: > Source: breezy > Source-Version: 3.0.1-3 > Severity: wishlist > > I see upstream contains a git-remote-bzr program, but it's not > currently being installed(?). With the removal of the git-remote-bzr > binary package, and the transition away from bazaar (and the dummy > bzr-git which has stopped providing its own git-remote-bzr) it would > be really nice if breeze could ship its variant somewhere. My > preference would be to takeover the git-remote-bzr binary package > name so that we get a smooth transition (which AFAIR might cause no > trip via NEW processing?), and a less confusing package name than > the previous bzr-git.
The patch below creates such a git-remote-bzr package:
diff --git a/debian/control b/debian/control index 01ebb66..0f40571 100644 --- a/debian/control +++ b/debian/control @@ -114,3 +114,19 @@ Description: easy to use distributed version control system (documentation) and easily extendable. . This package provides the documentation. + +Package: git-remote-bzr +Architecture: all +Multi-Arch: foreign +Depends: git, + python3-breezy (<= ${source:Version}.1~), + python3-breezy (>= ${source:Version}), + ${misc:Depends}, + ${python3:Depends} +Suggests: git-doc, brz +Replaces: bzr-git (<< 0.6.13+bzr1650+brz1~) +Breaks: bzr-git (<< 0.6.13+bzr1650+brz1~) +Description: bidirectional bridge between Git and Bazaar + This package provides the bzr remote helper, which allows Git to + read from and write to Bazaar repositories as though they were remote + Git repositories. diff --git a/debian/git-remote-bzr.install b/debian/git-remote-bzr.install new file mode 100644 index 0000000..a7dc8c0 --- /dev/null +++ b/debian/git-remote-bzr.install @@ -0,0 +1,4 @@ +debian/python3-breezy/usr/bin/git-remote-bzr usr/bin +debian/python3-breezy/usr/bin/bzr-receive-pack usr/bin +debian/python3-breezy/usr/bin/bzr-upload-pack usr/bin +debian/python3-breezy/usr/man/man1/git-remote-bzr.1 usr/share/man/man1
Unfortunately, at least with breezy 3.0.1 it does not actually work. :-( Here is what I got trying to clone a random repository: ,---- | $ git clone bzr::https://code.launchpad.net/~clint-fewbar/pipemeter/packaging | Cloning into 'packaging'... | warning: this remote helper should implement refspec capability | Traceback (most recent call last): | File "/usr/lib/python3/dist-packages/breezy/git/git_remote_helper.py", line 117, in cmd_list | repo = self.remote_dir.find_repository() | File "/usr/lib/python3/dist-packages/breezy/bzr/bzrdir.py", line 589, in find_repository | raise errors.NoRepositoryPresent(self) | breezy.errors.NoRepositoryPresent: No repository present: "https://code.launchpad.net/~clint-fewbar/pipemeter/packaging/" | | During handling of the above exception, another exception occurred: | | Traceback (most recent call last): | File "/usr/bin/git-remote-bzr", line 52, in <module> | helper.process(sys.stdin.buffer, sys.stdout.buffer) | File "/usr/lib/python3/dist-packages/breezy/git/git_remote_helper.py", line 171, in process | self.process_line(line, outf) | File "/usr/lib/python3/dist-packages/breezy/git/git_remote_helper.py", line 189, in process_line | self.commands[argv[0].decode()](self, outf, argv) | File "/usr/lib/python3/dist-packages/breezy/git/git_remote_helper.py", line 119, in cmd_list | repo = self.remote_dir.create_repository() | File "/usr/lib/python3/dist-packages/breezy/bzr/bzrdir.py", line 912, in create_repository | return self._format.repository_format.initialize(self, shared) | File "/usr/lib/python3/dist-packages/breezy/bzr/pack_repo.py", line 1909, in initialize | a_controldir, dirs, files, utf8_files, shared) | File "/usr/lib/python3/dist-packages/breezy/bzr/repository.py", line 135, in _upload_blank_content | control_files = self._create_control_files(a_bzrdir) | File "/usr/lib/python3/dist-packages/breezy/bzr/repository.py", line 127, in _create_control_files | repository_transport = a_bzrdir.get_repository_transport(self) | File "/usr/lib/python3/dist-packages/breezy/bzr/bzrdir.py", line 1017, in get_repository_transport | self.transport.mkdir('repository', mode=self._get_mkdir_mode()) | File "/usr/lib/python3/dist-packages/breezy/transport/http/__init__.py", line 456, in mkdir | raise errors.TransportNotPossible('http does not support mkdir()') | breezy.errors.TransportNotPossible: Transport operation not possible: http does not support mkdir() `---- Maybe it would be better to try and revive the original git-remote-bzr package? Paul Wise has attempted to port it to Python3[1], but I don't know how far he got. Cheers, Sven 1. https://github.com/pabs3/git-remote-bzr/tree/python3