monotone-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]