git based workflow for updating a redmine instance with local code changes
We are using Redmine with several code changes (specific to our preferences, thus not candidates for being merged upstream).
I couldn't yet find a good workflow to update Redmine to new major releases in a non-messy way.
That's my setup:
The redmine directory is tracked in a git repository with 2 remotes: origin is our local repo, upstream is the github redmine repo.
I started by checking out the upstream branch 2.4-stable, then forked it to a new local branch 2.4-merge to which local changes were committed.
Whenever a new minor release (2.4.2, 2.4.3, ...) came out, I could easily update by merging 2.4-stable.
However this works only for minor releases. Now I've been on 2.4.7 for a while because I find no good way to update to a new major release.
E.g. if I try to merge 2.5-stable, git buries me under a mountain of conflicts. Those conflicts are not due to my local changes, but because the upstream branches somehow seem to be very unrelated to each other.
I'm not enough of a git expert to exactly understand / explain the problem. I guess that's something for git rebase, but could't yet figure out...