Noone proposed to change tree layout, I like it a lot. And it should
be kept intact.
The question is - do we want to separate non-essential apps into a
standalone module, and separate additional, not present in Windows
apps into yet another module?
Or get rid of almost everything in rosapps, and merge what's left
into trunk?
On Mar 12, 2009, at 4:34 PM, Steven Edwards wrote:
  2009/3/12 Aleksey Bragin <aleksey(a)reactos.org>rg>:
  So, are there any objections in separating
thirdparty, additional,
 sometimes
 helpful stuff into addons module, and having all apps which exist in
 Windows, but aren't required for booting into rosapps?
 Please, let's come to a solution, because having such a trash can
 which
 rosapps is now is unbearable. 
 Good riddance but I would go a step further. What are you planning on
 leaving in reactos and what are you planning on moving to rosapps?
 Without a clear outline I think its risky to say 'sure split it as you
 desire'. The current tree layout represents a lot of work and design
 Alex did long ago and I am hesitant to see it divested without a wiki
 page explaining what is going where.
 I mean if your going to strip it down to only the applications
 required for booting then I think you should move all non essential
 services over as well. My thinking is something more radically
 different along the lines of the attached screenshot. But my question
 is, what does it gain? Without a change in behavior, your just moving
 the problem around.
 My thinking is that we are never going to get around the
 interdependancy mess with the sdk/ddk/ndk/wine/w32api. However, we can
 make it a requirement that we limit commits that affect across
 submodules to window. Perhaps changes from each module have to be
 merged one day a week or something. This way developer joe does not
 commit Wine code and SDK changes on tuesday that force developer fred
 to update and rebuild the entire ReactOS tree to merge. Likewise
 perhaps rbuild changes can only be merged on Sundays so we've got the
 whole week to deal with them.
 Hear me out on this. Something like
 1. Changes to base,user, services, whatever that does not affect
 another module can go in the tree 24x7
 2. Wine dlls updates that affect sdk/ddk/ndk follow sdk rules, Simple
 Wine updates not requiring IDL changes can go in any time as in rule
 1.
 3. WineSDK, third party libs, sdk/ddk/ndk,rbuild and rosbe changes get
 merged on the weekends
 So my thoughts are a little rough around the edges but you get the
 idea. The hope is we make the tree pretty granular and we know ahead
 of time when major breakages are going to happen. I suspect others
 have ideas too. I think before we go moving anything we need to wikify
 the plan as Alex did last time we had a major tree restructuring
 because it served us very well.
 There is nothing wrong with having a window for merges, with modern
 revision control, everyone is free to have a branch that is their own
 private playground and it just makes sense for the stability of
 everyone to limit the times at which we merge. If we are not going to
 do this, then changing the layout seems pretty pointless to me.
 Thanks
 P.S. I just remembered, I left a test/kernel test/winetest module off
 the list. It is imperative that we make it to where any commits+merges
 that result in a test failure be rejected. non-trunk commits/merges
 could be free to fail all day long.
 --
 Steven Edwards