[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] commit ignores _MTN/options keydir
From: |
Stephen Leake |
Subject: |
Re: [Monotone-devel] commit ignores _MTN/options keydir |
Date: |
Wed, 05 Mar 2008 08:15:01 -0500 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/22.1 (windows-nt) |
Derek Scherger <address@hidden> writes:
> Stephen Leake wrote:
>> I've discovered that commit ignores _MTN/options keydir; I think this
>> is a bug.
>> If I specify a keydir other than the default with 'mtn setup
>> --keydir',
>> then later do 'mtn commit' _without_ the --keydir option, the commit
>> fails with: mtn: fatal: std::logic_error:
>> ../monotone/key_store.cc:168: invariant 'I(i != keys.end())'
>> violated
>> even though the correct keydir is specified in _MTN/options.
>> This isn't noticed in the test suite because that always specifies
>> --keydir on all mtn commands.
>> If this is a bug, I'll create a test for it, and try to fix it.
>
> It's very likely a bug.
>
> I committed a change yesterday that sets a default value for the
> --keydir option for non-workspace commands (CMD_NO_WORKSPACE) in rev
> 65ac5a3fda02533e30468090f63f82e3674cac73.
This also fixes my bug.
I've checked in my new test anyway, to ensure the bug does not come
back. I verified it fails with mtn 0.39.
> This prevents hitting another invariant on an empty key directory
> (i.e. the keydir name is "") also in the key_store. Unfortunately,
> this "fix" also seems to trigger another invariant in
> workspace::get_ws_options (work.cc:454) I(opts.key_dir.empty())'
> which requires that there is no default keydir.
I fixed this by deleting that invariant.
There is consequence of these changes; 'mtn sync' now appears to
require an explicit --key option. And it is also not respecting keydir
in _MTN/options; more work to do :(>
--
-- Stephe
Re: [Monotone-devel] commit ignores _MTN/options keydir,
Stephen Leake <=
Re: [Monotone-devel] commit ignores _MTN/options keydir, Stephen Leake, 2008/03/15