mark carter wrote:
> On Wed, 2007-08-15 at 19:36 +0200, Christian Thaeter wrote:
>> 2) Stop using SVN
> 
> I just saw a YouTube vid by Linus who is talking about git:
> http://uk.youtube.com/watch?v=4XpnKHJAok8
> 
> 
>> Even if commit access is generously handled to people who ask, it's
>> still a big blocker as I explained earlier. As long we have only one
>> linear history everything has global impact and there is no easy way to
>> add new features without running in troubles. There is no easy way that
>> small groups of people try and review new features, no easy way to get
>> good but intrusive new ideas back into CV.
> 
> I think the problem is that there's a lot of good code out there that
> isn't making it into the main "tree", for want of a better word (and no,
> I'm not necessarily thinking of my code). Actually, I think the problem
> is only partly to do with it being in SVN and not in GIT. I think the
> main problem is lack of modularity. Without sufficient modularity, GIT
> can't help much.
> 
> For example, I might even suggest (radically) that the plugins shouldn't
> even be in the git repository. People who want to write plugins should
> make their own repos consisting only of the plugin they want to submit.
> People developing the core of cinelerra wont even care about the
> plugins. Users can just download the plugins they're interested in, from
> whatever place they are available, and use those. Maybe packagers will
> come along and bolt the cinelerra core together with the plugins.
> 
> It can go further. Take file loading. If file loaders were plugins, then
> that would be another that could be separated out.
For cin3 we will do it this way, using the brand new git-submodule
support which will become useable really soon. When it is time, detailed
instructions will follow.

For cin2, using git will just enable that someone sets up this
infrastructure (I thought about doing this with the docs first, working
together with raffa sometime next). You won't be able to propose / show
such radical things on the SVN, git is just a enabler for this.

The problem I see is that this has 2 parts
1. The modularization on the repository level, which is doable.
2. Tear the current sourcetree apart to modularize things, which has
impacts on dependencies and build system setup. For the plugins that
would be easy since they have already their own subdirectories, for
filehandling and codecs this may involve quite much work and refactoring.


> What I'm saying is that in order for git to work, you have to have
> separate subsytems - with well-defined interfaces, of course.
Thats one of the reasons which motivate cin3. I started to refactor
cin2's sourcebase which seemed just to be a bottomless pit.


> I could be misunderstanding how git derives its strength, though.But I
> think the problem we're seeing is a lot of forks that don't stand much
> chance of being propagated to the main branch, which I think is a shame
> because it means that a lot of good effort has gone to waste. 
The question is who is responsible for deciding what goes into the main
branch or moreover what defines a main branch.

We need to change our goals first and define what has to constitute
CinelerraCV releases and then think about some way how we work together
to get the stuff in place, distributed revision control would be only a
tool providing us the ability to reach this goals, but not make
decisions about the project direction, thats clear. And thats exactly
why I created this mob repository and my 'ct' branch, to free developers
from the constraints that there is a stalled SVN branch with no much
perspective to get things merged.

Finally we have at least some discussion how to work this out, maybe
really soon we can agree on some process how we assemble releases, maybe
we just happily merge from each other and meet again in a few months and
decide/vote what should go into a official release, or we nominate a
"Release Manager" among us who is responsible to prepare the next
release, or we use some shared git repo where anyone can push changes
which will be blessed official and reviewed with the goal of a
releaseable state.

How we decide to do it lies in our hands, after all I try to push us
into a "Just-Do-It" direction, we could talk endlessly about it, as long
the current centralized branch is there, we will stuck to discussions
with no progress.


        Christian


_______________________________________________
Cinelerra mailing list
Cinelerra@skolelinux.no
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra

Reply via email to