Perhaps I should explain what I am trying to do.

We have several project branches where developers commit their code (A 
"project" is a set of related features). The project branches are 
frequently merged to an integration branch where the code is compiled and 
then deployed from. (1 integration branch is created per release)

If a project is pulled from the release and there is no way to simply 
"disable" it's code, we need to remove that code from the integration 
branch. Since removing code is a tedious process, we normally end up 
creating a new integration view and re-merging the remaining project 
branches to it which is a lot of re-work and time-consuming, thereby 
causing the project schedule to take a hit.

GIT has a feature called "rerere" that records the conflict resolutions in 
a cache so that it can be later replayed. A few folks have written some 
scripts that make use of "git rerere" and several low level git commands to 
create a new integration branch and re-merge the remaining project branches 
to it (see links below) which is a pretty neat idea. However, if the script 
encounters a merge that came from a tag on a project branch it does not 
correctly exclude it, probably because the "exclude parameter" passed to 
the script accepts a branch name but the script uses "git name-rev" (on 
each of the parent's SHASUMs) to find out the name of the branch which 
returns the tag name instead of the branch where the tag was used to merged 

I need to find a way to make this work (i.e. pass project branch name to 
the script's "--exclude" parameter and rely on the script to exclude merged 
from it to the new integration branch.

As you may be able to tell, I am fairly new to GIT and haven't played 
around it for long, so some of my assumptions may be incorrect. Feel free 
to point them out.


You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
For more options, visit

Reply via email to