printz Posted May 1, 2011 I'm working on the source code of a port that's currently under development by its original authors as well, whose SVN builds keep coming out every day. I'm interested in having my own code keep up with the base port's evolution. Is there an automated and safe way to just patch my own code edits over nearly whatever newer original-port SVN source-code comes up? Or do I have to settle with manually updating my code by polling their trunk updates and being careful not to make mistakes? 0 Share this post Link to post
fraggle Posted May 1, 2011 Should have used git! Unless you urgently need an update, there isn't any need to do merges every day. You can probably manage doing it every couple of weeks, which reduces the effort. Learn how to use svn diff and patch - there isn't any need to do manual merges when tools exist that will do most of the work for you automatically. Ideally you'd get permission from the upstream author to maintain a branch within the same svn repository. 0 Share this post Link to post
Graf Zahl Posted May 1, 2011 Actually, (at least with TortoiseSVN) it's possible to do merges between different SVN repositories. I have been using this for quite some time to keep GZDoom up to date. 0 Share this post Link to post
printz Posted May 1, 2011 fraggle said:Learn how to use svn diff and patch - there isn't any need to do manual merges when tools exist that will do most of the work for you automatically.The way you say that makes it seem simple enough. So it's Diff and Patch you say. TortoiseSVN sounds even easier, because I already have it. Ideally you'd get permission from the upstream author to maintain a branch within the same svn repository. That would be nice, but I wouldn't ask at this moment. I have enough credibility issues with the mapping projects as it is (not actively doing work on them for a while) and wouldn't want to risk slacking on others' programmer projects. I may consider trying when I have like 25%-50% work done (and solidify my programming practices while at it). On the other hand, it IS tempting to ask them if it's not as bad. 0 Share this post Link to post
Gez Posted May 1, 2011 Little merging tut with TortoiseSVN, using ZDoom and GZDoom as the example since, well, I don't really need to port an Eternity or SLADE change to anything else: - Right-click on the root directory of the source source port (heh) to get the TSVN menu. - Choose "Show log". - In the log window, select the last few revisions not ported in yet. - Right click and choose "Merge revisions to" - Select the destination source port's root folder and click OK. - You may have to solve conflicts if they happen, but otherwise, you're done! 0 Share this post Link to post
printz Posted May 1, 2011 Does the target folder have to be a SVN checked-out folder as well? If I try to merge the source updates into my neutral folder, it says with an error that it's "not a working copy". 0 Share this post Link to post
Gez Posted May 1, 2011 Yeah, it has. But it doesn't need to be of the same project. You could try hosting a SVN server on localhost (that is to say, on your own computer). That way you don't have to bother anyone about creating a branch or a separate SVN repository for your project. 0 Share this post Link to post
printz Posted May 1, 2011 Nevermind, I just started a Sourceforge project and it's Subversion compatible :) I didn't know it would be so free and easy. I hope I'm secure, though. I don't want to be sued if I happen to slip something illegal in the SVN repository that happens to be public. At the moment, the only mistake is that I haven't yet placed GNU GPL tags at the heads of the new source files. Thanks for all the help :D 0 Share this post Link to post
RjY Posted May 1, 2011 printz said:At the moment, the only mistake is that I haven't yet placed GNU GPL tags at the heads of the new source files.Well, you can put that stuff in if you want to but you'd be in good company if you didn't bother. For example several thousand .c files in the linux kernel haven't got the GPL boilerplate header, including a lot of the really core stuff. (Although there are several thousand more that do have one.) 0 Share this post Link to post