#80: Monotone support broken (Debian bug 390805)
--------------------+-------------------------------------------------------
 Reporter:  lele    |       Owner:  lele      
     Type:  defect  |      Status:  new       
 Priority:  major   |   Milestone:  VersionOne
Component:  mtn     |     Version:  0.9       
 Keywords:          |  
--------------------+-------------------------------------------------------
 Package: tailor
 Version: 0.9.26-1
 Severity: normal

 After trying to create a monotone repository:
 {{{
 16:21:44 [I] Bootstrapping "project" in "/home/brian/monotone"
 16:21:44 [I] $ mtn db init --db /home/brian/monotone/vacation.mtn
 16:21:44 [I] [Ok]
 Traceback (most recent call last):
   File "/usr/bin/tailor", line 35, in ?
     main()
   File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 338, in
 main
     tailorizer()
   File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 143, in
 __call__
     self.bootstrap()
   File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 64, in
 bootstrap
     dwd = self.workingDir()
   File "/var/lib/python-support/python2.4/vcpx/project.py", line 203, in
 workingDir
     self.dwd = DualWorkingDir(self.source, self.target)
   File "/var/lib/python-support/python2.4/vcpx/dualwd.py", line 68, in
 __init__
     self.target.prepareTargetRepository()
   File "/var/lib/python-support/python2.4/vcpx/target.py", line 512, in
 prepareTargetRepository
     self._prepareTargetRepository()
   File "/var/lib/python-support/python2.4/vcpx/repository/monotone.py",
 line 841, in _prepareTargetRepository
     self.repository.create()
   File "/var/lib/python-support/python2.4/vcpx/repository/monotone.py",
 line 81, in create
     cmd = self.repository.command("genkey", "--db",
 AttributeError: 'str' object has no attribute 'command'
 }}}

 Hmmm... Line 77 of monotone.py has "self.command" not
 "self.repository.command". I wonder if some of "self.repository.command"
 need
 to be replaced with "self.command". Especially line 75 and line 81.

 If I try to run the command again anyway, it skips the initialization step
 (because the monotone database looks initialized), but monotone hangs
 waiting
 for a password (presumably because it get up to the step of creating a the
 key
 I requested). This, to me, seems to be not-very-robust - if the
 initialization
 failed, running the same command again should retry the initialization.

 After making the change I suggested above, it appears that the passphrase
 is
 mandatory:
 {{{
 16:37:05 [I] Bootstrapping "project" in "/home/brian/monotone"
 16:37:05 [I] $ mtn db init --db /home/brian/monotone/vacation.mtn
 16:37:05 [I] [Ok]
 Traceback (most recent call last):
   File "/usr/bin/tailor", line 35, in ?
     main()
   File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 338, in
 main
     tailorizer()
   File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 143, in
 __call__
     self.bootstrap()
   File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 64, in
 bootstrap
     dwd = self.workingDir()
   File "/var/lib/python-support/python2.4/vcpx/project.py", line 203, in
 workingDir
     self.dwd = DualWorkingDir(self.source, self.target)
   File "/var/lib/python-support/python2.4/vcpx/dualwd.py", line 68, in
 __init__
     self.target.prepareTargetRepository()
   File "/var/lib/python-support/python2.4/vcpx/target.py", line 512, in
 prepareTargetRepository
     self._prepareTargetRepository()
   File "/var/lib/python-support/python2.4/vcpx/repository/monotone.py",
 line 841, in _prepareTargetRepository
     self.repository.create()
   File "/var/lib/python-support/python2.4/vcpx/repository/monotone.py",
 line 87, in create
     regkey.execute(self.keygenid, input=passp)
 UnboundLocalError: local variable 'passp' referenced before assignment
 }}}

 This should be checked, with an error displayed if not given.

 Which is easy to fix, and now:
 {{{
 16:43:24 [I] Updating "project" in "/home/brian/monotone"
 16:43:24 [I] Applying pending upstream changesets
 16:43:24 [I] Changeset "6"
 16:43:24 [I] Log message: 03/03/00 - usersname.c removed
 16:43:24 [I] /home/brian/monotone/vacation $ svn update --ignore-externals
 --revision 6 .
 16:43:28 [I] [Ok]
 16:43:28 [I] /home/brian/monotone/vacation $ mtn drop usersname.c
 16:43:28 [I] [Ok]
 16:43:28 [I] /home/brian/monotone/vacation $ mtn commit --author thecivvie
 --date 2000-03-23T12:13:44 --message-file /tmp/brian/tailornlAU81mtn .
 16:43:28 [W] [Status 1]
 16:43:28 [E] Monotone commit said: mtn: beginning commit on branch
 'org.vpac.vacation'
 mtn: misuse: you have multiple private keys
 mtn: misuse: pick one to use for signatures by adding '-k<keyname>' to
 your command

 16:43:28 [C] Couldn't replay changeset
 16:43:28 [C] Upstream change application failed
 Failure applying upstream changes: /home/brian/monotone/vacation $ mtn
 commit --author thecivvie --date 2000-03-23T12:13:44 --message-file
 /tmp/brian/tailornlAU81mtn . returned status 1
 }}}

 tailor is meant to be passing the -k parameter for the key it just
 created, but isn't.

-- 
Ticket URL: <http://progetti.arstecnica.it/tailor/ticket/80>
Tailor <http://progetti.arstecnica.it/tailor>
An inter-VCs changeset exchanger
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to