+ Reply to Thread
Results 1 to 6 of 6

Thread: What is phpCVS?

  1. #1
    Join Date
    Mar 2005
    Location
    California
    Posts
    2,099

    Default What is phpCVS?

    This is the first public inkling of phpCVS (a very 'working' name). So, before I get asked, I'll explain what it is.

    CVS stands for Concurrent Version System, and is simply a method where mutliple users can change the same file at the same time. A master copy of a set of files (often code files, but they don't HAVE to be) is kept on the server. A developer can check out these files, work on them, and check them back in. The master copy is updated to reflect the changes, but also the old files are kept in a very efficient form (basically as a Diff file). The effect of this is twofold. One, you can revert back to ANY prior version of the file set at any time, and two, any number of users can work on the exact same files at exactly the same time. When commited, a file is merged with the master copy, so no one ever loses their work. The only time a problem happens is when two users, working on the same version of the same file at the same time happen to change a the same line. Then there is a conflict, and the conflict is noted and returned to the *second* user for resolution (the second, because when the first user commits, the master copy will have no idea there is a conflict yet). It's a bit technical, but it all works, trust me

    The php prefix just means it's being written in php. The point behind phpCVS is that anyone with a website can install it and manage a project with multiple developers. There are such services available at present (SourceForge being the most widely used) but ALL of them have strings attached (SF, for instance, REQUIRES your code be open source). phpCVS willl have no such requirement, although it will, of course, be an option.

    phpCVS is basically in exploratory phase. I make absolutely no promise at this point that it will go anywhere I've written a diff engine (a mimic of Unix Diff command that outputs the exact steps required to change one string into another, which is the heart of any CVS system) and an output engine to display the results. The Diff runs bytewise (rather than line-wise) so it will handle binary files as equally well as it does text files (a traditional limitation of CVS systems). I'm working on the input phase now (so you can actually upload FILES to the server).

    So that's what this section is about. It may go nowhere. I'm not as good with php as I am with C++, and this project may be beyond me. But I've never let that stop me before

    Ron

  2. #2

    Default

    Thank you for the information about phpcvs.It is very useful for new comers

  3. #3
    Join Date
    Mar 2005
    Location
    California
    Posts
    2,099

    Default

    Yeah, this is a dead project. I wrote a diff engine for it, and that turned out okay. But when I tried to apply large files to it, it balked. I got timeout errors and such. That was about the extent of my PHP coding ability, so I gave up on it. It's a good idea (in my opinion), the world could really use this program (it astonishes me that there is not already one out there that doesn't have strings attached ala sourceforge), but I'm not the one to write it. I don't have the time or expertise necessary to do it.
    "They laughed when I said I was going to be a comedian ... They're not laughing now." - Bob Monkhouse

  4. #4
    Join Date
    Mar 2005
    Location
    Dublin, Ireland
    Posts
    244

    Default

    pssst.. Ron he's a bot.
    " There's nothing like a bit of destiny to get the ball rolling " - Terry Pratchett - The Wyrd Sisters

  5. #5
    Join Date
    Mar 2005
    Location
    USA
    Posts
    132

    Default

    Still good to have the update on the project, though.

  6. #6
    Join Date
    May 2005
    Posts
    390

    Default

    Quote Originally Posted by RonHiler View Post
    But when I tried to apply large files to it, it balked. I got timeout errors and such.
    Think about those websites that generate signature images for you; they generate a "still waiting" page with an autorefresh until your image gets to the top of the queue and is generated, for exactly this reason. The modern solution would probably use something AJAXy.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts