I’m going to give some information so you can understand where i’m at with this so bear with me:
I’ve started working at this workplace 4 months ago now. They have an inhouse catalog engine that can be installed on many hosts. I brought in SVN because i’m relatively used to working with it, merging, branching and stuff like that.
The big problem with the catalog is that the core code that should be shared between all end users is crap, very crap. You can’t really have a core by itself, it comes with the templates, the config and everything else all mixed up.
Further more, my boss, wants to split all the different clients into different repositories (Which i might say is logical) but because i can’t have one main copy of the catalog, it becomes hell when i need to merge changes from the main repository to the different clients. A simple 1-10 line change can be done in the 9 catalogs, but today i’m being tasked to add a whole payment processor feature to it and it gives me about 700 lines in 35 files to modify…
I tried searching for an hour now on how to merge or replay changes from my main branch @rev54 to any other repository @rev??? but all i get are extremely long wait times and conflict reports or i get problems saying “X isn’t in repository Y” messages.
Here is what i tried:
Search: Svn merge changes across different repositories
Search: Svn replay changes to another repository
Search: Svn merge repository changes
Read countless posts on StackOverflow
Read countless blog posts
Tried: cd client1/cat/; svn merge –dry-run http://svnserver/svn/mainbranch/trunk@54
Tried: cd client1/cat/; svn merge –dry-run http://svnserver/svn/mainbranch/trunk@54 http://svnserver/svn/clientbranch/trunk@5 .
Looked at “advanced merging” documentation from svn redbook too, nothing seems to give out simple “replaying” results.
All i want is to take changes from REV54 from main branch and apply it to other catalogs at different revisions but with very similar source code. (Some templates may be customized)
Ok well after all it seemed harder than it really was, i was able to get it off with a simple:
And it worked. I did get a truck load of conflicts but that was related to the changes i was trying to merge and some already existed in that new project but overall i think i did get it right and i will be able to apply core changes to all catalogs from now on.
Obvioulsy, as fast as possible, we’ll get a core going that can be subdirectory checked out but for now, this solution will work.
Hope it helps someone later