Re: [PHP] Question about version control.. sorta..
I'll put in a +1 for Subversion. I use it and love it. I have the actual repository sitting on a linux box and usually use TortiseSVN to update, and commit to the repository. It's pretty easy to use, and was much easier to setup than I expected. I simply apt-get install svn, and then edited some Apache config files, of which the code is available with a quick google. I keep all the websites I code in the repository and even though I have 3 computers on the same network I'll sometimes commit related files on one PC, and update the local copy on another computer because it's even easier than using windows network file transfer. Plus the fact that I have a script to automatically backup the repository regularly, so once the data is in the repository I'm highly unlikely to loose it (esp as I've got local cached copies on 3 computers). Best of all? IT'S FREE! my 2c. Michael Kubler *G*rey *P*hoenix *P*roductions http://www.greyphoenix.biz TG wrote: So, for my purposes.. after trying a handful of solutions.. open source and commercial.. I think I've decided that Reliable Software's Code Co-op is what's going to work best for me. My trial is almost up, so as soon as my next paycheck comes, I think I'll be purchasing the full version for $150. For me, it's totally worth it. It stores everything in a local database, but allows collaboration if that's what you're into. Via email for the $150 version, via LAN for the $200 version. It lets me add files by type, is easy to check out files. Anyway.. if anyone's looking for an easy Windows version control system, check it out. (no, I don't work for them, just passing along the recommendation since I'm digging this software) Thanks for all the input! -TG -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Question about version control.. sorta..
So, for my purposes.. after trying a handful of solutions.. open source and commercial.. I think I've decided that Reliable Software's Code Co-op is what's going to work best for me. My trial is almost up, so as soon as my next paycheck comes, I think I'll be purchasing the full version for $150. For me, it's totally worth it. It stores everything in a local database, but allows collaboration if that's what you're into. Via email for the $150 version, via LAN for the $200 version. It lets me add files by type, is easy to check out files. Anyway.. if anyone's looking for an easy Windows version control system, check it out. (no, I don't work for them, just passing along the recommendation since I'm digging this software) Thanks for all the input! -TG - Original Message - From: TG tg-...@gryffyndevelopment.com To: php-general@lists.php.net Date: Wed, 31 Dec 2008 11:40:23 -0500 Subject: [PHP] Question about version control.. sorta.. Ok.. so I know about CVS and SVN and unfortunately haven't had as much experience with them as I'd like. I've used them, but always in a really basic sense and always on systems that have already been set up. A friend recently mentioned GIT ( http://git.or.cz/ ) too. But here's my situation.. I deal with dozens of clients. I usually make a backup copy of their site (at least the files, not usually the DB) so I have the latest copy of the site to make changes to. Usually I'm the only one working on the site, but sometimes other people may make changes too. Not so often than we're conflicting with our changes, or if this is a known issue, we make sure to coordinate. What I'd ideally like to do is be able to use a CVS type system to keep incremental backups of the code. So instead of checking code out of CVS, changing it, then checking it back in... I'd like to just do a mass checkin of the whole site and have changes recorded and the ability to look at previous versions with DIFF and all that. And of course the ability to 'check out' a previous set of files by date or revision maybe. I assume you can do this with one of the major version control systems, but mostly what I see with how to use these systems involves checking code out then checking it back in. That's not really what I want to do. The other issue is that I run Windows. So if there's something nice and WinGUI, that'd be nice. Please no you should be running linux responses. I don't have anything against Linux or Mac, they're great systems. But I have my reasons for running Windows. Also, I realize this is semi-OT for a PHP list, but asking on a CVS list or a SVN list might not give me the more comprehensive/broad experience base I'm looking for. I'd like a semi-unbiased response. :) Thanks in advance! -TG -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Question about version control.. sorta..
I use GIT and Subversion. Subversion is still a bit hard to use (branching etc) and not distributed but that was before i knew about GIT :-P. You have a central repository that you need to commit to and it's still quite CVS like (which is really confusing and horrible). GIT is nice and fast and also works in a distributed environment. So, it's great when you are the only one working on it or even if you have developers that don't always have broadband and want to commit to the central repository (when they are connected). It also has a windows port that is reasonably easy to install. Check out the cygwin unix on windows port library. It's great when you want the best of both worlds. Git is a package that you can select in there. I use windows at work and cygwin for all the unix stuff i want to do in windows, like perl, bash etc. It's awesome! Spending $150 on this is not really worth it i think and using a database for version control seems a bit odd. They have a database internally anyway which is optimised for the purpose and stored as files. Databases store the data as files (on disk) as well and only have the benefit that some of the data is stored partially in memory (indeces etc) and speeds up data retrieval (and i believe writing it too)... So give GIT a go. It also has a windows shell extension called 'Git Extensions'. Although you might like the GUI stuff, i think it's a lot easier to fire up a console (cmd or bash) and write git init git add . git commit -a -m your msg From then on, you just have to type: git commit -a -m your msg to make commits. There is lots of help for it on the web which you wont get with a proprietary solution. In general Open Source seems to have better support than closed source (simply because there are a lot more people who are willing to help because they want to and not because they get paid). You can create a central repository relatively easy too and push/pull your commits to your local repository ( http://toolmantim.com/articles/setting_up_a_new_remote_git_repository ). You can also use one of the many repositories out there if you don't want to take care of backups etc. BTW, what do you need incremental backups for in a versioning system? A versioning system is an incremental backup (an advanced one)! You might want to backup the whole repository to a different location but you can safely overwrite that. I think Linus Torwalds did a really good job on that :-). Hail Linus (lol). It's versioning as easy as it can get. Hope this helps someone. Regards, Tim Tim-Hinnerk Heuer http://www.ihostnz.com On Fri, Feb 6, 2009 at 3:06 PM, TG tg-...@gryffyndevelopment.com wrote: So, for my purposes.. after trying a handful of solutions.. open source and commercial.. I think I've decided that Reliable Software's Code Co-op is what's going to work best for me. My trial is almost up, so as soon as my next paycheck comes, I think I'll be purchasing the full version for $150. For me, it's totally worth it. It stores everything in a local database, but allows collaboration if that's what you're into. Via email for the $150 version, via LAN for the $200 version. It lets me add files by type, is easy to check out files. Anyway.. if anyone's looking for an easy Windows version control system, check it out. (no, I don't work for them, just passing along the recommendation since I'm digging this software) Thanks for all the input! -TG - Original Message - From: TG tg-...@gryffyndevelopment.com To: php-general@lists.php.net Date: Wed, 31 Dec 2008 11:40:23 -0500 Subject: [PHP] Question about version control.. sorta.. Ok.. so I know about CVS and SVN and unfortunately haven't had as much experience with them as I'd like. I've used them, but always in a really basic sense and always on systems that have already been set up. A friend recently mentioned GIT ( http://git.or.cz/ ) too. But here's my situation.. I deal with dozens of clients. I usually make a backup copy of their site (at least the files, not usually the DB) so I have the latest copy of the site to make changes to. Usually I'm the only one working on the site, but sometimes other people may make changes too. Not so often than we're conflicting with our changes, or if this is a known issue, we make sure to coordinate. What I'd ideally like to do is be able to use a CVS type system to keep incremental backups of the code. So instead of checking code out of CVS, changing it, then checking it back in... I'd like to just do a mass checkin of the whole site and have changes recorded and the ability to look at previous versions with DIFF and all that. And of course the ability to 'check out' a previous set of files by date or revision maybe. I assume you can do this with one of the major version control systems, but mostly what I see with how to use these systems involves checking code out then checking it back
Re: [PHP] Question about version control.. sorta..
My two cents, It's not bad, but you need to be aware of collisions. We set it up with a folder for each developer and it contains the main application code. The upside is that we each have our own code base so we don't affect each other when cutting new code. The downside is that we can each have the same file checked out and be working on it. The trouble comes when one deb checks in the file, as occasionally it will duplicate some lines in the code. It can lead to some funky errors. Otherwise, the only other error is the dispatcher going down and not passing the updates in. This does affect all users as the queue gets backed up until the dispatcher is turned back on. Bastien Sent from my iPod On Feb 5, 2009, at 21:06, TG tg-...@gryffyndevelopment.com wrote: So, for my purposes.. after trying a handful of solutions.. open source and commercial.. I think I've decided that Reliable Software's Code Co- op is what's going to work best for me. My trial is almost up, so as soon as my next paycheck comes, I think I'll be purchasing the full version for $150. For me, it's totally worth it. It stores everything in a local database, but allows collaboration if that's what you're into. Via email for the $150 version, via LAN for the $200 version. It lets me add files by type, is easy to check out files. Anyway.. if anyone's looking for an easy Windows version control system, check it out. (no, I don't work for them, just passing along the recommendation since I'm digging this software) Thanks for all the input! -TG - Original Message - From: TG tg-...@gryffyndevelopment.com To: php-general@lists.php.net Date: Wed, 31 Dec 2008 11:40:23 -0500 Subject: [PHP] Question about version control.. sorta.. Ok.. so I know about CVS and SVN and unfortunately haven't had as much experience with them as I'd like. I've used them, but always in a really basic sense and always on systems that have already been set up. A friend recently mentioned GIT ( http://git.or.cz/ ) too. But here's my situation.. I deal with dozens of clients. I usually make a backup copy of their site (at least the files, not usually the DB) so I have the latest copy of the site to make changes to. Usually I'm the only one working on the site, but sometimes other people may make changes too. Not so often than we're conflicting with our changes, or if this is a known issue, we make sure to coordinate. What I'd ideally like to do is be able to use a CVS type system to keep incremental backups of the code. So instead of checking code out of CVS, changing it, then checking it back in... I'd like to just do a mass checkin of the whole site and have changes recorded and the ability to look at previous versions with DIFF and all that. And of course the ability to 'check out' a previous set of files by date or revision maybe. I assume you can do this with one of the major version control systems, but mostly what I see with how to use these systems involves checking code out then checking it back in. That's not really what I want to do. The other issue is that I run Windows. So if there's something nice and WinGUI, that'd be nice. Please no you should be running linux responses. I don't have anything against Linux or Mac, they're great systems. But I have my reasons for running Windows. Also, I realize this is semi-OT for a PHP list, but asking on a CVS list or a SVN list might not give me the more comprehensive/broad experience base I'm looking for. I'd like a semi-unbiased response. :) Thanks in advance! -TG -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Question about version control.. sorta..
Thanks for the recommendations, everyone. I decided to give Subversion another try, since I had a server already set up from when I tried this a while ago. Reinstalled TortoiseSVN for Windows and got it all configured. But I couldn't figure out how to update existing files in the repository without checking them out. I tried using the RepoBrowser and I could add new items by dragging them to the browser, but if I tried to drag something that already existed, I got an error. Is there any way to reimport as a new version? In particular, I'd love to have it just import changed files. I'd love to also be able to select a date and get a copy of the directory in question as it appeared on that date. I'm sure there's ways to do this with SVN, but it's eluding me. I'll keep looking, but I'm thinking that SVN is overkill for what I need, even though it's in the right ballpark. The other option mentioned, FileHamster, has potential, but I'd rather control my own server and storage requirements. Plus I didn't see a way to either whitelist of blacklist file types. I really just want to back up script files and not the PDFs and other large files. So either whitelisting by file type (or blacklisting if necessary) or even doing it by file size would be fine. My web host supports rsync, but I don't think I've seen any version control options for rsync. This seems like a fairly basic request, but it's stumping me. -TG - Original Message - From: Micah Gersten mi...@onshore.com To: Richard Heyes rich...@php.net Cc: TG tg-...@gryffyndevelopment.com, php-general@lists.php.net Date: Wed, 31 Dec 2008 20:06:25 -0600 Subject: Re: [PHP] Question about version control.. sorta.. Richard Heyes wrote: The other issue is that I run Windows. So if there's something nice and WinGUI, that'd be nice. Please no you should be running linux You should be running linux. Muhaha. responses. I don't have anything against Linux or Mac, they're great systems. But I have my reasons for running Windows. There's definitely a Gui for CVS. TurtleCVS IIRC. Presumably there's one for SVN. TortoiseCVS and TortoiseSVN on Windows Thank you, Micah Gersten onShore Networks Internal Developer http://www.onshore.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Question about version control.. sorta..
On Thu, Jan 1, 2009 at 7:33 AM, TG tg-...@gryffyndevelopment.com wrote: Thanks for the recommendations, everyone. I decided to give Subversion another try, since I had a server already set up from when I tried this a while ago. Reinstalled TortoiseSVN for Windows and got it all configured. But I couldn't figure out how to update existing files in the repository without checking them out. you cant. you can basically just browse, but you can also do things like branch and delete (well things always stay in svn but still). if you want to change the contents of files or do merges, youll need to have a working copy. I tried using the RepoBrowser and I could add new items by dragging them to the browser, but if I tried to drag something that already existed, I got an error. never touched RepoBrowser.., i tend to stick to the cli :) Is there any way to reimport as a new version? In particular, I'd love to have it just import changed files. everything in svn is based around 'changesets'. its pretty easy to pull them up and apply them to working copies. for example say you wanted the diff between version 1 and 4, svn diff -r 1:4 svn://mysvnurl I'd love to also be able to select a date and get a copy of the directory in question as it appeared on that date. easy, use svn log and grep for the date in question. once youve found that you can get a snapshot of the entire repository as it appeared on any commit from that day. I'm sure there's ways to do this with SVN, but it's eluding me. I'll keep looking, but I'm thinking that SVN is overkill for what I need, even though it's in the right ballpark. svn is pretty simple, but you will have to spend some time on it for it to make sense. it sounds like you want something very simple. maybe something like quilt, http://savannah.nongnu.org/projects/quilt/ is better? im sure its limited, but there is a newer system called StGit as well that uses git as the backend. The other option mentioned, FileHamster, has potential, but I'd rather control my own server and storage requirements. Plus I didn't see a way to either whitelist of blacklist file types. if you mean, youd like to prevent certain files from making it into the repository then w/ svn, a commit hook would be sufficient. I really just want to back up script files and not the PDFs and other large files. So either whitelisting by file type (or blacklisting if necessary) or even doing it by file size would be fine. rather than a commit hook or in tandem w/ it, most people just choose not to commit certain files to the repository out of practice. these can also be hidden from view, essentially by placing filenames / patterns via the svn:ignore property My web host supports rsync, but I don't think I've seen any version control options for rsync. does your webhost support svn clients? you can do svn co then svn up, svn switch etc. -nathan
[PHP] Question about version control.. sorta..
Ok.. so I know about CVS and SVN and unfortunately haven't had as much experience with them as I'd like. I've used them, but always in a really basic sense and always on systems that have already been set up. A friend recently mentioned GIT ( http://git.or.cz/ ) too. But here's my situation.. I deal with dozens of clients. I usually make a backup copy of their site (at least the files, not usually the DB) so I have the latest copy of the site to make changes to. Usually I'm the only one working on the site, but sometimes other people may make changes too. Not so often than we're conflicting with our changes, or if this is a known issue, we make sure to coordinate. What I'd ideally like to do is be able to use a CVS type system to keep incremental backups of the code. So instead of checking code out of CVS, changing it, then checking it back in... I'd like to just do a mass checkin of the whole site and have changes recorded and the ability to look at previous versions with DIFF and all that. And of course the ability to 'check out' a previous set of files by date or revision maybe. I assume you can do this with one of the major version control systems, but mostly what I see with how to use these systems involves checking code out then checking it back in. That's not really what I want to do. The other issue is that I run Windows. So if there's something nice and WinGUI, that'd be nice. Please no you should be running linux responses. I don't have anything against Linux or Mac, they're great systems. But I have my reasons for running Windows. Also, I realize this is semi-OT for a PHP list, but asking on a CVS list or a SVN list might not give me the more comprehensive/broad experience base I'm looking for. I'd like a semi-unbiased response. :) Thanks in advance! -TG -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Question about version control.. sorta..
What I'd ideally like to do is be able to use a CVS type system to keep incremental backups of the code. Space is so cheap these days I don't think is particularly useful to do incremental backups unless you have a hell of a lot of data. I simply do full backups daily. Now... So instead of checking code out of CVS, changing it, then checking it back in... I'd like to just do a mass checkin of the whole site and have changes recorded and the ability to look at previous versions with DIFF and all that. And of course the ability to 'check out' a previous set of files by date or revision maybe. You can definitely do this with CVS and I assume SVN. I keep a separate abbreviated change log which I compile manually from checkin diffs. This changelog is what I publish. No one wants to know about the whitespace changes I've done for example. Or maybe they do - saddos I assume you can do this with one of the major version control systems, but mostly what I see with how to use these systems involves checking code out then checking it back in. That's not really what I want to do. I find it quite useful. It's an extra step but the advantages it provides are more than worth it. The other issue is that I run Windows. So if there's something nice and WinGUI, that'd be nice. Please no you should be running linux You should be running linux. Muhaha. responses. I don't have anything against Linux or Mac, they're great systems. But I have my reasons for running Windows. There's definitely a Gui for CVS. TurtleCVS IIRC. Presumably there's one for SVN. -- Richard Heyes HTML5 Graphing for FF, Chrome, Opera and Safari: http://www.rgraph.org (Updated December 20th) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Question about version control.. sorta..
Richard Heyes wrote: The other issue is that I run Windows. So if there's something nice and WinGUI, that'd be nice. Please no you should be running linux You should be running linux. Muhaha. responses. I don't have anything against Linux or Mac, they're great systems. But I have my reasons for running Windows. There's definitely a Gui for CVS. TurtleCVS IIRC. Presumably there's one for SVN. TortoiseCVS and TortoiseSVN on Windows Thank you, Micah Gersten onShore Networks Internal Developer http://www.onshore.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Question about version control.. sorta..
On Wed, Dec 31, 2008 at 9:40 AM, TG tg-...@gryffyndevelopment.com wrote: Ok.. so I know about CVS and SVN and unfortunately haven't had as much experience with them as I'd like. I've used them, but always in a really basic sense and always on systems that have already been set up. A friend recently mentioned GIT ( http://git.or.cz/ ) too. But here's my situation.. I deal with dozens of clients. I usually make a backup copy of their site (at least the files, not usually the DB) so I have the latest copy of the site to make changes to. Usually I'm the only one working on the site, but sometimes other people may make changes too. Not so often than we're conflicting with our changes, or if this is a known issue, we make sure to coordinate. What I'd ideally like to do is be able to use a CVS type system to keep incremental backups of the code. So instead of checking code out of CVS, changing it, then checking it back in... I'd like to just do a mass checkin of the whole site and have changes recorded and the ability to look at previous versions with DIFF and all that. And of course the ability to 'check out' a previous set of files by date or revision maybe. I assume you can do this with one of the major version control systems, but mostly what I see with how to use these systems involves checking code out then checking it back in. That's not really what I want to do. The other issue is that I run Windows. So if there's something nice and WinGUI, that'd be nice. Please no you should be running linux responses. I don't have anything against Linux or Mac, they're great systems. But I have my reasons for running Windows. Also, I realize this is semi-OT for a PHP list, but asking on a CVS list or a SVN list might not give me the more comprehensive/broad experience base I'm looking for. I'd like a semi-unbiased response. :) im not sure how well git works on windows atm, but if youre interested in a dcvs that works on windows, ive heard good things about mercurial; its written in python. http://www.selenic.com/mercurial/wiki/ -nathan