monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Possible bug in `mtn log`?


From: Thomas Keller
Subject: Re: [Monotone-devel] Possible bug in `mtn log`?
Date: Wed, 07 Jul 2010 00:54:08 +0200
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5

Am 06.07.10 23:10, schrieb Thomas Keller:
> Am 06.07.10 19:15, schrieb "Marcin W. Dąbrowski":
>> Hi.
>>
>> Today I hit something weird, when trying to see the history of one
>> of the files in my repository - `mtn log filename.ext` is showing
>> logs for other files than 'filename.ext'.
>>
>> I tried to find minimal case, and running the sequence you can see
>> presented below hits the "bug" - or to say this in other words —
>> it shows not exactly the information I'd like to see.
>> [snip]
>> I see two changelogs printed. I don't know why I see the changelog
>> for example.txt, nor why the order is chronological (normally it
>> should be reverse chronology - usually it is).
>>
>> So - is this by design (no, really?), or a bug?
> 
> I think this is a fall-out of the new restrictions code which landed in
> 0.48 (try out 0.47 and you see the expected behaviour). We now
> implicitely include all parents of a node in a restriction and as such,
> if you log "sec/second.txt", changes for "sec" and "" (the root node)
> are also logged.
> 
> I'll try out a fix and switch the restriction handling mode to what we
> use also for 'revert', i.e. no implicit includes.

I committed a temporary fix in branch
net.venge.monotone.restriction-fixes, but this is not ready for mainline
yet, because it breaks one test, namely log_--diffs.

The underlying problem here is that we use the initial node restriction
mask for two distinct things, for one to filter out unwanted revisions
from log's display and on the other hand to create a restricted roster
to iterate over when the --diffs option is supplied. The creation of the
latter roster fails now though, because the parent nodes are no longer
part of the node restriction.

From my simple viewpoint the "fix" I see for this issue is to create
another node restriction mask, exclusively for --diffs and build that
with implicit_includes, but this sounds a little awkward to me and I
wanted to hear opinions from others, namely Derek who invented all this
magic :), before I do stupid things...

Thomas.

-- 
GPG-Key 0x160D1092 | address@hidden | http://thomaskeller.biz
Please note that according to the EU law on data retention, information
on every electronic information exchange might be retained for a period
of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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