On 2009.08.27 18:02:41 -0400, Joey Hess wrote: > My situation is this: My project has a lot of remotes with > lots of branches; about 250 branches in total. I want to > figure out which of these branches to look at to consider > merging. > > So, I reach for git branch -a --no-merged master; that's what > its man page says its for. But this still finds 120 branches, > and a lot of them are not things I want to look at. Many of > them are copies of some of my own branches. > > What I really want is a way to find remote branches that > are not merged with any of my local branches (or any origin > branches). A slow and stupid implementation of that is in the > attached git-unmerged script, and it weeds the branch list > down to 68 branches, which are mostly really ones I might > want to look at. > > So, three questions: > > * Is this situation somewhat common, or an I doing something wrong? > (Assuming that I have a good reason to want to look at remote > branches rather than waiting to get merge requests.) > * Is there a better way to accomplish this than a slow perl script that > runs git branch -r --merged foreach of my branches? Hm, not sure if I'd call it "better", but probably at least a bit faster. You could create a "fake" merge to combine all the branches. git branch -r --no-merged $( : | git commit-tree HEAD^{tree} $( git for-each-ref --format='-p %(refname)' \ refs/heads/ \ refs/remotes/origin ) ) Björn -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html