I have a very large repo which needs some clean up. The repo came from SVN and was messy to begin with.
There are many branches, some of them were merged into trunk, while others were not. Unfortunately, SVN did not track this so merged/unmerged branches from SVN look the same. (as Branches just hanging out there in the wind)
I would like to trim off these extraneous branches and clean things up a bit.
How can I take the SHA1 of a commit, and compare ONLY the changes that occured in that commit with what is in master? (Thus if all the changes in the commits for a certain branch are in master, I can delete the branch, otherwise I can maintain the branch appropriately).
Example of the Tree:
o--o--o--o--o Unmerged from SVN
/
o--o--o--o--o--o--o--o--o--o--o--o--o--o--o--o--o--o--o Master
\ \ /
o--o--o Merged from SVN o--o--o
(note how two branches are NOT merged back into master as far as Git knows, but in one of them, all of the changes are in master because it was merged while it was an SVN repo, this one I want to delete)