Hi, I made a quick attempt at adding baz support to tla-load-dirs. It's not very well tested, but worked for me. The attached diff is against the debian source in unstable and adds a new binary package baz-load-dirs.
Teemu
diff -r -N -u tla-load-dirs-1.0.26.orig/baz_load_dirs tla-load-dirs-1.0.26/baz_load_dirs --- tla-load-dirs-1.0.26.orig/baz_load_dirs 1970-01-01 02:00:00.000000000 +0200 +++ tla-load-dirs-1.0.26/baz_load_dirs 2005-09-06 15:16:25.000000000 +0300 @@ -0,0 +1,21 @@ +#!/usr/bin/python2.3 +# arch-tag: tla load dirs primary executable +# Copyright (C) 2005 John Goerzen +# <[EMAIL PROTECTED]> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from tla_support import init +init.run("baz") diff -r -N -u tla-load-dirs-1.0.26.orig/darcs_load_dirs tla-load-dirs-1.0.26/darcs_load_dirs --- tla-load-dirs-1.0.26.orig/darcs_load_dirs 2005-04-17 06:04:36.000000000 +0300 +++ tla-load-dirs-1.0.26/darcs_load_dirs 2005-09-06 14:57:51.000000000 +0300 @@ -23,4 +23,4 @@ from tla_support import init -init.run(darcsdefault=True) +init.run("darcs") diff -r -N -u tla-load-dirs-1.0.26.orig/debian/baz-load-dirs.install tla-load-dirs-1.0.26/debian/baz-load-dirs.install --- tla-load-dirs-1.0.26.orig/debian/baz-load-dirs.install 1970-01-01 02:00:00.000000000 +0200 +++ tla-load-dirs-1.0.26/debian/baz-load-dirs.install 2005-09-06 16:32:58.000000000 +0300 @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/baz_load_dirs usr/bin + diff -r -N -u tla-load-dirs-1.0.26.orig/debian/baz-load-dirs.manpages tla-load-dirs-1.0.26/debian/baz-load-dirs.manpages --- tla-load-dirs-1.0.26.orig/debian/baz-load-dirs.manpages 1970-01-01 02:00:00.000000000 +0200 +++ tla-load-dirs-1.0.26/debian/baz-load-dirs.manpages 2005-09-06 16:33:07.000000000 +0300 @@ -0,0 +1 @@ +docs/baz_load_dirs.1 diff -r -N -u tla-load-dirs-1.0.26.orig/debian/control tla-load-dirs-1.0.26/debian/control --- tla-load-dirs-1.0.26.orig/debian/control 2005-04-21 06:32:47.000000000 +0300 +++ tla-load-dirs-1.0.26/debian/control 2005-09-06 16:40:54.000000000 +0300 @@ -30,6 +30,18 @@ changes. It works on a principle similar to Subversion's svn_load_dirs or my tla_load_dirs package for Arch. +Package: baz-load-dirs +Architecture: all +Depends: load-dirs-common, bazaar, ${shlibs:Depends} ${misc:Depends} ${python:Depends} +Description: Import upstream archives into baz + Bazaar (baz) works fine for importing new archives. However, for situations + where the upstream renames or moves files and directories on a regular + basis, version information can be lost. + . + baz-load-dirs works with baz to import these things and preserve + changes. It works on a principle similar to Subversion's + svn_load_dirs or my tla_load_dirs package for tla. + Package: load-dirs-common Architecture: all Depends: ${shlibs:Depends} ${misc:Depends} ${python:Depends} diff -r -N -u tla-load-dirs-1.0.26.orig/docs/Makefile tla-load-dirs-1.0.26/docs/Makefile --- tla-load-dirs-1.0.26.orig/docs/Makefile 2005-04-17 06:04:36.000000000 +0300 +++ tla-load-dirs-1.0.26/docs/Makefile 2005-09-06 16:34:15.000000000 +0300 @@ -29,13 +29,16 @@ html: html/index.html text: $(MASTERBASE).txt -manpages: tla_load_dirs.1 darcs_load_dirs.1 +manpages: tla_load_dirs.1 darcs_load_dirs.1 baz_load_dirs.1 %.1: %.sgml docbook2man $< darcs_load_dirs.1: tla_load_dirs.1 sed s/tla_load_dirs/darcs_load_dirs/g < $< > $@ +baz_load_dirs.1: tla_load_dirs.1 + sed s/tla_load_dirs/baz_load_dirs/g < $< > $@ + include sgml-common/Makefile.common realclean: clean diff -r -N -u tla-load-dirs-1.0.26.orig/setup.py tla-load-dirs-1.0.26/setup.py --- tla-load-dirs-1.0.26.orig/setup.py 2005-04-17 06:04:36.000000000 +0300 +++ tla-load-dirs-1.0.26/setup.py 2005-09-06 16:37:15.000000000 +0300 @@ -23,7 +23,7 @@ author = 'John Goerzen', author_email = '[EMAIL PROTECTED]', packages = ['tla_support'], - scripts = ['tla_load_dirs', 'darcs_load_dirs'] + scripts = ['tla_load_dirs', 'darcs_load_dirs', 'baz_load_dirs'] #license = offlineimap.version.copyright + \ # ", Licensed under the GPL version 2" ) diff -r -N -u tla-load-dirs-1.0.26.orig/tla_load_dirs tla-load-dirs-1.0.26/tla_load_dirs --- tla-load-dirs-1.0.26.orig/tla_load_dirs 2005-04-17 06:04:36.000000000 +0300 +++ tla-load-dirs-1.0.26/tla_load_dirs 2005-09-06 14:57:32.000000000 +0300 @@ -18,4 +18,4 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA from tla_support import init -init.run(darcsdefault=False) +init.run("tla") diff -r -N -u tla-load-dirs-1.0.26.orig/tla_support/commandver.py tla-load-dirs-1.0.26/tla_support/commandver.py --- tla-load-dirs-1.0.26.orig/tla_support/commandver.py 2005-08-24 21:32:21.000000000 +0300 +++ tla-load-dirs-1.0.26/tla_support/commandver.py 2005-09-06 15:29:56.000000000 +0300 @@ -22,14 +22,17 @@ tlacmd = None darcs = False -def setdarcs(x): +def setscm(x): global darcs, tlacmd - if (x): + darcs = False + if (x == "darcs"): tlacmd = "darcs" + darcs = True + elif (x == "baz"): + tlacmd = "baz" else: tlacmd = "tla" print " TLACMD: ", tlacmd - darcs = x def isdarcs(): global darcs @@ -43,12 +46,18 @@ if isdarcs(): tlasyn = 'darcs' tlaobj = Darcs() - elif util.getstdoutsafeexec('tla', ['-V'])[0].find('tla-1.0.') != -1: + elif util.getstdoutsafeexec(tlacmd, ['-V'])[0].find('tla-1.0.') != -1: tlasyn = '1.0' tlaobj = Tla10() - elif util.getstdoutsafeexec('tla', ['-V'])[0].find('tla-1.1.') != -1: + elif util.getstdoutsafeexec(tlacmd, ['-V'])[0].find('tla-1.1.') != -1: tlasyn = '1.1' tlaobj = Tla11() + elif util.getstdoutsafeexec(tlacmd, ['-V'])[0].find('tla-1.3.') != -1: + tlasyn = '1.3' + tlaobj = Tla13() + elif util.getstdoutsafeexec(tlacmd, ['-V'])[0].find('baz Bazaar version 1.4.') != -1: + tlasyn = 'baz1.4' + tlaobj = Baz14() else: tlasyn = '1.3' tlaobj = Tla13() @@ -81,6 +90,15 @@ replay = 'replay' commit = 'commit' +class Baz14: + tagging_method = 'id-tagging-method' + add = ['add-id'] + move = 'move-id' + delete = 'delete-id' + update = 'update' + replay = 'replay' + commit = 'commit' + class Darcs: tagging_method = None add = ['add', '--case-ok'] Binary files tla-load-dirs-1.0.26.orig/tla_support/commandver.pyc and tla-load-dirs-1.0.26/tla_support/commandver.pyc differ diff -r -N -u tla-load-dirs-1.0.26.orig/tla_support/init.py tla-load-dirs-1.0.26/tla_support/init.py --- tla-load-dirs-1.0.26.orig/tla_support/init.py 2005-08-24 21:32:21.000000000 +0300 +++ tla-load-dirs-1.0.26/tla_support/init.py 2005-09-06 14:58:05.000000000 +0300 @@ -34,7 +34,7 @@ if len(args) != 1: parser.error("Failed to specify a path to import.") - commandver.setdarcs(darcsdefault) + commandver.setscm(darcsdefault) from tla_support import tla_wc, tla_interact Binary files tla-load-dirs-1.0.26.orig/tla_support/init.pyc and tla-load-dirs-1.0.26/tla_support/init.pyc differ Binary files tla-load-dirs-1.0.26.orig/tla_support/tla_interact.pyc and tla-load-dirs-1.0.26/tla_support/tla_interact.pyc differ diff -r -N -u tla-load-dirs-1.0.26.orig/tla_support/tla_wc.py tla-load-dirs-1.0.26/tla_support/tla_wc.py --- tla-load-dirs-1.0.26.orig/tla_support/tla_wc.py 2005-08-24 21:32:21.000000000 +0300 +++ tla-load-dirs-1.0.26/tla_support/tla_wc.py 2005-09-06 15:14:03.000000000 +0300 @@ -35,7 +35,7 @@ # ['check']) return "Darcs repository" else: - return util.chdircmd(self.wcpath, util.getstdoutsafeexec, "tla", + return util.chdircmd(self.wcpath, util.getstdoutsafeexec, tlacmd, ['tree-version'])[0].strip() def wcverify(self): @@ -49,7 +49,7 @@ if isdarcs(): return 'explicit' else: - return util.chdircmd(self.wcpath, util.getstdoutsafeexec, "tla", + return util.chdircmd(self.wcpath, util.getstdoutsafeexec, tlacmd, [cmd().tagging_method])[0].strip() def gettree(self): @@ -121,7 +121,7 @@ self.summary = summary self.logtext = logtext if not isdarcs(): - logfn = util.chdircmd(self.wcpath, util.getstdoutsafeexec, "tla", + logfn = util.chdircmd(self.wcpath, util.getstdoutsafeexec, tlacmd, ['make-log'])[0].strip() else: logfn = ",,darcslog" Binary files tla-load-dirs-1.0.26.orig/tla_support/tla_wc.pyc and tla-load-dirs-1.0.26/tla_support/tla_wc.pyc differ