Looking for some advice/ideas on a git workflow: We have three branches of the code: - upstream - The upstream release versions, tracks outside git repo. - external - Other external patches not included in the main git repo. - local - Our local development. For release reasons, we need to keep our local branch separate, but normal development needs to be done on a merge of 'external' and 'local' (the tree needs the merge of both just to build). Developers will generate patches, and maintainers will apply these patches to 'local'. I've tried creating a 'next' branch where I merge each change from local and/or external, and this seems to work, but the history gets very cluttered with merge commits. For some reason, history simplification doesn't seem to eliminate any of these merges. We also have an automated build/test system that checks out versions of 'next', and when the build and test moves 'master' forward to that version. Because of this, it would be nice to keep 'next' fairly up-to-date, which implies having a lot of merges. Does anyone have any better ideas on how to maintain this process? The 'next' and 'master' branches won't be exported too far, so could be replaced with simpler history occasionally, but there is a good number of developers who will be using them, so it would be best to not do this too often. Thanks, David Brown -- 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