[Mono-devel-list] DataView, its very weird history and its future

Marc Haisenko haisenko at webport.de
Thu Jul 14 07:32:30 EDT 2005

Hi folks,
while investigating DataView.cs and bugs related to it I found the history of 
this file to be a little weird.

First a bit of background: I work for a company that works on an industry 
project (GUI for an industrial laser) which will run on Portable .NET (aka 
dotGNU). As you might know or not, dotGNU repackages and uses a part of 
Mono's class library as "ml-pnet". Among other classes, the complete 
System.Data namespace from Mono is repackaged.

We then found a bug in Mono's DataView back in fall/winter 2004, which I fixed 
and posted a patch. A few weeks ago we hit another bug with ml-pnet 0.7.0 
(more on that later), I checked out the current Mono SubVersion trunk, found 
the same source as back in fall/winter 2004 and fixed the very same bug. Now 
it turned out that the patch doesn't apply to the DataView in ml-pnet 0.7.0 
as that is a completely different implementation.

While investigating this I found this weird history of this file (ISO dates):

2004-11-11: Implementation A: I fixed a bug, posted the patch.

2004-11-30: I reposted the patch

2004-12-01: Miguel de Icaza commits the patch (r36917)

2005-02-01: Implementation B: Atsushi Enomoto "mostly reimplemented" DataView 

2005-05-11: dotGNU released 0.7.0, including Mono's DataView.cs 
(implementation B from Atsushi Enomoto, I don't know which SubVersion 

2005-05-16: Implementation A: Konstantin Triger overwrites DataView.cs while 
"merging the Mainsoft branch to the trunk" with a version that pre-dates 
2004-12-01 (i.e. over half a year old), completely reverting Atsushis 
implementation (r44547)

2005-07-06: I fixed the very same bug back from 2004-11-11 and posted the 
patch. It wasn't a applied since Konstantin was concerned that there is a 
"deeper problem" with DataView.

2005-07-14: Since I noticed my patch didn't go to trunk and I reposted my 

So my question about the future of DataView: which implementation will be 
used ? Will implementation A be continued to be used in the future or will 
there be a revert to implementation B (the one from Atsushi Enomoto) ? E.g., 
do I need to bother fixing the bug in implementation B or not ;-)


Marc Haisenko
Webport IT-Services GmbH
mailto: haisenko at webport.de

More information about the Mono-devel-list mailing list