Hi Mathias,

thanks for the input!

On 11.08.2016 06:49, Mathias Fröhlich wrote:
For subtree-merge:

There is a pair of visualisation teams that used to work for the same
company until they both got sold to individual vendors but still wanted
to share their basic framwork code. Those two applications done by these
teams are somewhere beyond - may be far beyond 1e6 loc each. The shared
part is at least 2e5 loc, probably more. I do not recall the exact
numbers. The shared part is communicated via a common upstream
repository managed by git-subtree. There happens branching merging,
rebasing, the usual git things. The git version that is used is ancient,
the one from redhat 6.

The git repository is based on an import from svn with non standard
branch names in svn and that svn used to be imported from cvs. All
together more than 10 years of history.

Observed problems: It needs special care to be handled. There were not
so nice things that happened like disconnected git object trees. After
installing a git hook in the subtree managed upstream repository that
refuses such a push, disconnected object trees never happened again.
Also checking out commits from the subtree side of a subtree merge gives
interresting results. Well, plausible once you think about it, but
probably surprising for the average git user. You will see a completely
different filesystem structure, the one of the subtree you have.

I take it this means `git bisect` becomes unusable? At least it looks like it after a bit of playing around with it. That seems like a show-stopper :(

Cheers,
Nicolai


The success side: A hand full years sharing > 2e5 loc where normal
development happens. Probably some orders of magnitude more changes than
I observed with addrlib since its creation. It basically does what you
expect when you think about the problem to be solved. So, beside the
problems there has been loads of expected and good behavior. Without
subtree merge that undertaken would have been much more difficult to
infeasible.



I do not think that I can give a recomendation. The basic constraints
like the age of git used and the history of the repositry may introduce
problems that you never observe with something simpler.



best

Mathias

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to