[Mesa-dev] Moving amdgpu/addrlib into a git submodule

Nicolai Hähnle nhaehnle at gmail.com
Fri Aug 12 10:15:52 UTC 2016


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
>


More information about the mesa-dev mailing list