[Monetdb-developers] Monetdb-developers Digest, Vol 6, Issue 15

p.a.boncz p.a.boncz at chello.nl
Fri Nov 10 16:26:20 CET 2006


Hi Stefan,

Thanks for bringing this up.

While I started with (1) for  some of the most glaring bugs on Wednesday to
ensure that the HEAD has some functionality; I switched to (2) since
yesterday.

Peter

------------------------------

Message: 2
Date: Fri, 10 Nov 2006 00:39:08 +0100
From: Stefan Manegold <Stefan.Manegold at cwi.nl>
Subject: [Monetdb-developers] Branches, Checkins & Propagation
To: monetdb-developers at lists.sourceforge.net
Message-ID: <20061109233908.GA13905 at corona.ins.cwi.nl>
Content-Type: text/plain; charset=us-ascii

Esteemed fellow developers,

having two tightly related branches --- the release branch and the
development trunk --- give us the opportunity to clearly and conveniently
isolate new "progressive" developments on the development trunk from
"conservative" code consolidation and bug fixing on the release branch.

Unfortunately, also this medal has a second side: to make the development
trunk benefit from the code consolidation and bug fixes on the release
branch either (1) *each* of the respective changes has to be checked in
twice (by *each* developer), or (2) the checkins to the branch are *in bulk*
(aka. "automa[tgn]ically") propagated from the release branch to the
development trunk on an (ir?)regular basis or on need/request.

(1) has the advantage that all bug fixes are "instantly" available in the
development trunk, too,
but comes at the cost of double checkins and bears the risk of "forgetting"
one.
(2) keep all developers from extra work and -responsibility, but has the
disadvantage that the availability of bug fixes in the development trunk is
delayed.

Both strategies bear the risk of conflicts in case development has modified
code before a bug fix is applied. That's obviously unavoidable and such
conflicts need to be resolved "by hand".

Provided only one of the two strategies is strictly applied these should be
the only conflicts.

Mixing the two strategies, however, is IMHO no option, as it will/does/did
introduce extra conflicts:
Say developer A applies a bug fix X to both the release branch and the
development trunk. 
Later developer B applies once bug fix Y that (partly) changes the code that
was also modified by bug fix X.
Finally, when developer C tries to perform the bulk propagation of bug fixes
since the last propagation (i.e., X & Y) from branch to the trunk, a
conflict occurs since X had already been applied on the trunk.

Hence, mixing both strategies forces us to spend even more of our precious
time and energy on fixing these *avoidable* conflicts by hand.
I guess, I can assume that you all agree that this is not desirable.


Since we started with the first release branch a couple of years ago, we
have been using strategy (2), summarized as 

 * all bug-fixes (and only these) must go to the new release branches 
   (and only there)
 * all new features must go to the development trunks (and only there)


However, since the above (and similar) situation of mixing the strategies
with all its consequences has just occurred, I'm wondering whether you're
all still "satisfied" with strategy (2), or whether you'd prefer to switch
(completely!) to strategy (1).

I'm in favor of sticking to (2), but I'm perfectly fine if we agree on
*consequently* switching to (1).

Hence, please hit your keyboard, comment, and vote for either strategy.

Looking forward to hearing your verdict!

Good night,

Stefan

-- 
| Dr. Stefan Manegold | mailto:Stefan.Manegold at cwi.nl |
| CWI,  P.O.Box 94079 | http://www.cwi.nl/~manegold/  |
| 1090 GB Amsterdam   | Tel.: +31 (20) 592-4212       |
| The Netherlands     | Fax : +31 (20) 592-4312       |



------------------------------

Message: 3
Date: Fri, 10 Nov 2006 09:39:23 +0100
From: Torsten Grust <torsten.grust at gmail.com>
Subject: Re: [Monetdb-developers] Branches, Checkins & Propagation
To: Stefan Manegold <Stefan.Manegold at cwi.nl>
Cc: monetdb-developers at lists.sourceforge.net
Message-ID: <85BE9631-CA92-4AF0-817D-F6352C2BDD15 at gmail.com>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed

Dear all, I'm all with option (2) here.

   --Teggy

On Nov 10, 2006, 12:39 AM, Stefan Manegold wrote with possible  
deletions:
> [...] Unfortunately, also this medal has a second side: to make the  
> development
> trunk benefit from the code consolidation and bug fixes on the release
> branch either (1) *each* of the respective changes has to be  
> checked in
> twice (by *each* developer), or (2) the checkins to the branch are  
> *in bulk*
> (aka. "automa[tgn]ically") propagated from the release branch to the
> development trunk on an (ir?)regular basis or on need/request. [...]

-- 
| Torsten Grust
| torsten.grust at gmail.com






------------------------------

Message: 4
Date: Fri, 10 Nov 2006 11:33:13 +0100
From: Stefan Manegold <Stefan.Manegold at cwi.nl>
Subject: Re: [Monetdb-developers] [Monetdb-pf-checkins]
	pathfinder/runtime	pathfinder.mx, 1.269.2.7, 1.269.2.8
To: monetdb-developers at lists.sourceforge.net, Peter Boncz
	<P.Boncz at cwi.nl>
Cc: monetdb-pf-checkins at lists.sourceforge.net
Message-ID: <20061110103313.GA26099 at corona.ins.cwi.nl>
Content-Type: text/plain; charset=us-ascii

Peter

are the *.print() below debugging output that should not be in and hence be
removed again?

Thanks!

Stefan


On Thu, Nov 09, 2006 at 11:35:05PM +0000, Peter Boncz wrote:
> Update of /cvsroot/monetdb/pathfinder/runtime
> In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv29555
> 
> Modified Files:
>       Tag: XQuery_0-14
> 	pathfinder.mx 
> Log Message:
> - newnids(): prevent error in slice
> 
> 
> 
> Index: pathfinder.mx
> ===================================================================
> RCS file: /cvsroot/monetdb/pathfinder/runtime/pathfinder.mx,v
> retrieving revision 1.269.2.7
> retrieving revision 1.269.2.8
> diff -u -d -r1.269.2.7 -r1.269.2.8
> --- pathfinder.mx	9 Nov 2006 18:17:58 -0000	1.269.2.7
> +++ pathfinder.mx	9 Nov 2006 23:35:02 -0000	1.269.2.8
> @@ -1488,10 +1488,10 @@
>  {
>      var free_nids := runtime.fetch(RT_NID_FREELIST);
>      var i := count(free_nids);
> -    
> +free_nids.col_name("free_nids").print(); 
>      # re-use a page from the list; or -if empty- append a new page
>      if (i > 0) {
> -        var ret := free_nids.slice(i - cnt, i - 1).copy();
> +        var ret := free_nids.slice(max(0, i - cnt), i - 1).copy();
>          free_nids.delete(ret);
>          return ret;
>      }
> @@ -1797,6 +1797,7 @@
>      lock_set(coll_lock);
>      var newnids := empty_bat, err := CATCH(newnids :=
__runtime_newnids(runtime, cnt));
>      lock_unset(coll_lock);
> +newnids.col_name("newnids").print();
>  
>      if (isnil(err) and bit(cnt :-= count(newnids))) {
>          # not enough free nids page: we must physically extend the
nid_rid table 
> @@ -1834,6 +1835,7 @@
>                  var delta := reverse(nid_rid.slice(nid_off,nid_cnt - 1));
>                  # put nids in reverse order in the freelist, so they are
given out in order
>                  delta := delta.copy().access(BAT_WRITE).revert(); 
> +delta.col_name("delta").print();
>  
>                  # add extra created NIDs to the freelist
>                  lock_set(coll_lock);
> 
> 
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Monetdb-pf-checkins mailing list
> Monetdb-pf-checkins at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins
> 
> 

-- 
| Dr. Stefan Manegold | mailto:Stefan.Manegold at cwi.nl |
| CWI,  P.O.Box 94079 | http://www.cwi.nl/~manegold/  |
| 1090 GB Amsterdam   | Tel.: +31 (20) 592-4212       |
| The Netherlands     | Fax : +31 (20) 592-4312       |



------------------------------

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

------------------------------

_______________________________________________
Monetdb-developers mailing list
Monetdb-developers at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/monetdb-developers


End of Monetdb-developers Digest, Vol 6, Issue 15
*************************************************





More information about the developers-list mailing list