Can I do the following without having to learn any version control systems?
- branch a codebase (to install an addon on each branch)
- merge files (merge–or rather–replace stock files with edited files if provided)
- merge files from different branches (so I can cherry-pick a combination of working addons)
I’m a user of osCommerce e-commerce CMS. And it has an addon system which are patches for the stock codebase to increase functionality and features.
The addons site hosts packages which generally contain modified files to replace the stock files and instructions if the files in question have already been modified. I’ve found it difficult to keep track of changes I’ve been doing. And I couldn’t just revert back to what it was before trying to install a new addon and edit a bunch of files.
I considered using version systems like Git or something but other than editing by following instructions, I don’t do a single line of coding myself. I signed up for GitHub thinking that I could just graphically take care of versioning, merging, etc. on their website, but the web frontend lacked those abilities or they weren’t obviously visible.
I already tried GitHub for Windows. I could ask it to clone the osCommerce repo (they develop on GitHub), and browsing to the repo it shows the last commit and diff. For the life of me I couldn’t find anyway to do the bullet points I mentioned above.
You could try SmartGit. You would still have to get a grasp of git basics, but the interface is about as visual and user-friendly as it gets with VCS.
The ProGit book is very good for git starters.
EDIT: to branch with SmartGit, you can use the
F7shortcut, or go to thebranchmenu (in the middle of the options list on the very top). Selectnew branch, in the pop-up dialog, enter the name for your branch and selectAdd Branch and Switch. Voila, you have branched the codebase and the changes you make can be committed to the new branch.You might not want to hear it (again), but for the single purpose of sparing you lots of frustration I too advise to read up some git basics. The first 60 pages of the GitPro book would be enough. Maybe less.
Even though VCS is not for code only, all current systems have been designed by programmers for programmers. Without some basic understanding of the inner workings, you will sometimes get unexpected results. Results you will have to recover from.