It should perhaps be pointed out that Perforce is only free as in beer, not speech, and that the Perforce Server (which is needed if you want to share the repo with more than one other person) is not free (unless you're an open-source project in which case you can get a special license).
Without wanting to turn this into an off-topic flamefest, I don't know any feature which Perforce (or any other closed-source SCM) offers that is not available from an open source one, and the Linux kernel Bitkeeper mess shows the importance of keeping one's codebase in an open format which can be readily accessed with open tools.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan
| [reply] |
Well, as I mentioned previously, I am a complete newbie with SCCS software. I tried CVS, Subversion, and Perforce. The only system I could get up and running, that had documentation I could understand, was Perforce. Those other systems may very well be better, but since I can't figure out how to make them go, they aren't useful to me. As for Perforce not being "free as in speech", I didn't consider that an issue. Since nothing I produce would depend on Perforce, it would not affect any licensing. I agree that if you're trying to keep your machine completely "free as in speech", Perforce would not be an appropriate choice. I'm not acquainted with the "Linux kernel Bitkeeper mess". That mess (if I knew about it) might have caused me to change my mind about using a closed-source product. The Perforce Server is free (as in beer), but sharply limited (2 users, 5 client workspaces).
As it turns out, however, I finally just wrote my own script to take care of the problem of version control, and it works well enough for me that I don't have to worry about any of these programs. It just tucks my files away into time-stamped directories, so that I can find them if needed. It's not pretty, but it does the job.
| [reply] |
In brief, the "Linux kernel Bitkeeper mess" was Linus Torvalds using a proprietary (but freely available, for some definitions of freely) SCM for the main tree of the Linux kernel. At some point the SCM vendor (decided|was forced) to declare he would no longer provide the system for free. Since the vendors had issues with other people developing software which interoperated with his system, kernel development was severely impaired while Linus wrote his own SCM and worked on getting the kernel tree and history imported into that in an useful way. It appears that the "mess" set kernel development back by about a month, which is considerable. Google for "linus mcvoy bitkeeper" and take a look at the lkml archives for more details on the sordid mess.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan
| [reply] |