From: Carsten K. <car...@us...> - 2003-12-17 21:46:15
|
On Wednesday, December 17, 2003, at 03:55 pm, russ wrote: > I'm not actually a newbie, but I'm afeared this question is. > > I've been following and using PHPWiki for years; I spent a long time > hacking up 1.2.* for personal use. I'm eagerly awaiting 1.4 for a few > installations, and I'm sure some customization and tweaking will > follow. This time, however, I want to do it right. I want to be able > to upgrade as the product changes. I want to be able to isolate and > save my changes. I want the option of submitting my work back to the > project. > > However, I'm not 100% sure how to go about it. I looked into the inner > workings of diff and patch a bit months ago. Is that the place to > start? Does anyone have a pointer to a good reference for someone who > is not a necessarily a coding newbie but is a project newbie? How > about my own code? Should I use source control for that? Any other > best practices I should look into? > > Sorry if this is ramantly off-topic (can't be worse than the > administrivia reply-to thread :), but any pointers (reply-to just me > is fine, too :) would be much appreciated. > > russ Hi Russ, I think the best way to keep your PhpWikis absolutely up-to-date is through CVS. Learning diff and patch is a very good place to start. Next, learn the basics of CVS: how to check out a project, how to do diffs with CVS, how to update files to the latest revisions from the server, and how to resolve conflicts between modifications of your personal copy with similar changes newly added to the copy on the server. (Hopefully conflicts don't happen too often but they are usually pretty easy to fix with a text editor). Even when you make modifications to your local files, CVS can keep your files up-to-date by automatically merging your own changes with any changes in the code published/checked in at the SF server, using built-in diff and patch functions. If there is a conflict between your mods and a new change on the server, cvs will tell you where the conflict is. Say you don't always want to run "cvs -q up" etc. every day to keep your PhpWiki code *absolutely* current, that's fine too (and probably a good idea on a production PhpWiki). In that case CVS is still handy for doing things like: "cvs diff index.php". Then cvs will display a patch which shows how your copy of that file differs from that particular revision of the same file on the SF server. Sourceforge has some O.K. docs about how to use CVS. It's been a while since I first learned CVS, does anyone have a link to a good CVS getting started tutorial? Carsten |