|
From: | Derek Scherger |
Subject: | Re: [Monotone-devel] commit ignores _MTN/options keydir |
Date: | Mon, 03 Mar 2008 20:22:27 -0700 |
User-agent: | Thunderbird 2.0.0.9 (X11/20071116) |
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 commitfails 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 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.
If you have a chance, please have a look at this rev and see if you have any better ideas.
Thanks, Derek
[Prev in Thread] | Current Thread | [Next in Thread] |