Subject: Re: rebase planning: determining blobs changed by multiple branches

From: Neal Kreitzinger <[email-masked]>
Date: Mon, 07 Feb 2011 19:27:54 -0600

On 2/7/2011 6:59 PM, Marc Weber wrote:
> Hi Neal,
>
> I'm not quite sure what you want to do?
> rebase all branches on top of commit l so that they are up to date?
>
> Why do you want to find common blobs?
> If the same conflict happens you could use gitrere and reuse a conflict
> resolution.
>
> git ls-files --with $HASH
> gives you a list of files
>
> git diff --name-only
> should  give you a nice list of modified files.
>
> So using the intersection of  ls-files of branch and tip should give you
> common files. Substracting changed files using --name-only should yield
> the files which were not modified.
> Maybe there are nicer solutions though.
>
> Rebasing is always bad. Have you considered using top-git?
> This way you can merge with tip and create the rebased patches using the
> export function.

Our master represents our new system and we want to have a linear 
history so we use rebase.  Each branch is a project.  If a project does 
not have any merges with other projects then it can rebase with little 
impact.  If projects are changing alot of the same blobs then they will 
have alot of merged blobs and can be rebased on eachother in 
throw-away-integration branches.  In this way the branches can be 
grouped into appropriate rebase groups so the merge-conflict resolutions 
of these groups can be resolved simultaneously in different integration 
repos.  So lets say you have 5 groups, then you can rebase those 5 
integration-branches onto master one-by-one instead of doing 15 project 
branches one-by-one.  I thought maybe git had a cool command for 
analyzing this in one fell swoop.

v/r,
Neal