bugmonotone - Bugs: bug #17173, get_manifest_of I()-outs if there...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #17173: get_manifest_of I()-outs if there is an attribute which has set an empty value

Submitted by:  Thomas Keller <tommyd>
Submitted on:  Sat 22 Jul 2006 03:17:29 AM UTC  
 
Category: command line UISeverity: 3 - Normal
Item Group: crashStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed
mtn version --full: 

monotone 0.27 (base revision: 341e4a18c594cec49896fa97bd4e74de7bee5827)
Running on : Darwin 8.7.0 Darwin Kernel Version 8.7.0: Fri May 26 15:20:53 PDT 2006; root:xnu-792.6.76.obj~1/RELEASE_PPC Power Macintosh
C++ compiler : GNU C++ version 4.0.1 (Apple Computer, Inc. build 5341)
C++ standard library: GNU libstdc++ version 20050421
Boost version : 1_33_1
Changes since base revision:
format_version "1"

new_manifest [8e9ac81ef37aa9c0334b97d46467a8ee61450078]

old_revision [341e4a18c594cec49896fa97bd4e74de7bee5827]

Sat 22 Jul 2006 05:21:08 AM UTC, comment #2:

Good catch -- removed the invariant on mainline, fix will be in 0.28.

(Dropped attrs do get a cleared value, but it is also possible to have a non-dropped attr that just happens to be set to the empty string; that's why we have that weird pair<bool, attr_value> structure all over the place, so that we can distinguish these two cases.)

For your other question -- look at the revision ("automate get_revision") to see if it has a set_attr stanza.

Nathaniel Smith <njs>
Project Member
Sat 22 Jul 2006 03:23:50 AM UTC, comment #1:

Actually, I think I know why the invariant is there: dropped attributes get a cleared value, but they can also be determined (and thus sorted out from get_manifest_of) by looking at the boolean value in the pair<name, pair <bool, value> > - anyone might comment on this?

A related question: Can an attribute which has just been added be distincted from an attribute which is part of the base revision already?

Thomas Keller <tommyd>
Project Administrator
Sat 22 Jul 2006 03:17:29 AM UTC, original submission:

$ mtn attr set file foo ""
$ mtn automate get_manifest_of
mtn: fatal: std::logic_error: roster.cc:2418: invariant 'I(!j->second.second().empty())' violated
[...]

Is there any particular reason why attributes with empty values are disallowed? If yes, mtn attr set should error out if it notices such a thing, otherwise this invariant may be removed...?

Thomas Keller <tommyd>
Project Administrator

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 2 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sat 22 Jul 2006 05:21:08 AM UTCnjsStatusNone=>Fixed
  Open/ClosedOpen=>Closed

Back to the top


Powered by Savane 3.1-cleanup1