> PS. Something that really got me the other day is the inability to just
> export a single directory (eg. examples) from the remote git repo


git does NOT support sparse checkout. Simply because git is repo oriented vs 
SVN is file oriented.

I've summed up quite a few aspects in a very old post when we introduced GIT at 
the ASF [1][2].


> I really like the 'Feature Branch Workflow', but if we cannot 

> use it due to Apache restrictions that would be huge minus for me 

That has nothing to do with ASF restrictions. 

Just look at Linux. It has no cannonical repo as we do technical. But it still 
has one socially at the end. And to this repo only Linus can push. Not 30 
people, not 5, just Linus. And thus he can also easily remove 'dead' branches 
and do other cleanup tasks. But really consider one thing: you cannot 'delete' 
branches from a downstream clone. E.g. if we have a feature branch blaBlub at 
our cannonical repo then it will get pulled over to github.com/apache/tomee. 
And even if you delete this blaBlub branch @ASF it will NOT get removed from 
our github mirror nor anywhere else!

The workflow as described by Atlassian really works great for companies. But it 
totalls sucks for OSS projects (in general, that's not even ASF related).

In addition we (ASF) decided to prevent history rewrite. This has multiple 
reasons. One is e.g. that we must have a strong code provenance to guard 
ourselves legally against copyright infringement claims. Thus we decided to 
technically make sure that history rewrite is forbidden.


> Another topic but wondered since years why we don't hack 

> maven release plugin to support it?

We have added support for GIT in maven-release-plugin a long time ago.
We should make sure to have the following config settings set though:
    <pushChanges>false</pushChanges>
    <localCheckout>true</localCheckout>



> AFAIK we should create submodules for such things - didnt use it 

> "for real" so no idea it is good or bad in practise.

Last time I checked they totally sucked.
It's e.g not possible to do a maven release over multiple submodules


You should really take a look how we do it over at DeltaSpike [3]. It works 
pretty fine imo.


LieGrue,
strub



[1] http://wiki.apache.org/couchdb/Git_At_Apache_Guide
[2] http://wiki.apache.org/couchdb/SVNvsGIT

[3] https://deltaspike.apache.org/suggested-git-workflows.html

Reply via email to