projects and collateral developing |
Veteran
|
I think many developers face what you are facing. I'm not sure how others have addressed this, but our team has decided to avoid exactly what you are doing and do the following instead:
I believe having developers edit files on a server with WinSCP (which I also use for other reasons) is a Bad Idea. I believe the same is true of directly editing on ANY Live server. We used to have to upload developer work via WinSCP or use an editor that saves to remote files, for development testing, but doing the former causes productivity to drop like a stone, and doing either results in developers overwriting each others' changes. |
||||||||||||
|
|
thanks a lot for the answer. I'll digest your reply for a while,
but right now I would notice that 1. despite editing files directly on server each has its own branch, and it comparatively rare happens that someone needs to edit branch of another dev. (but this is still staying the problem with merging branches via SVN). 2. i have too small experience of working (about 3 months) so some questions may be stupid. 3. when i set up the work for the first time, main developer said that making full local copy of project is too problematically because of big size of that. At that time i couldn't waste a lot of time for looking into setup so i did everything as other did. But! I don't need the whole copy of server version, do you? The only I need is my branch, images folder, some config files. rest content i would exclude from project..? 4. I think too that using local web-server as you say is much better than every time upload files (it's much faster). In addition sometimes server brakes so everybody are forced to stand idle. 5. in case of using local web-server what would be with database and othe? server options? some options in config file would have to be changed..? |
||||||||||||
|
Guru master
|
We handle it a bit differently. We have a dedicated development server and everyone has their own working folder on it. We use git as source versioning system.
The webserver has a different vhost for every developer, but all use the main database to display the site. We work test-driven and for those (we do a lot more tests with phpunit on commandline than actually visiting the website) every developer has his own database. Since we develop new features in the TDD-way testing occurs on the own DB and thus any changes required database wise can be done there without breaking the main db. If a task is done and it was committed locally for the developer (after passing the entire test suite and various other checks) changes are then pushed to the main repository and made available for everyone and for the rest of our process to production (> testing-environment > staging-environment > production). I use cygwin-rsync to upload files after changes, but I've used Webdrive in the past as well (also works really well and you just save like on a local drive). Tbh the day we threw out SVN was pretty much the happiest day of my development life (looking back on it that is, it took a while to get used to it). We merge a lot and often and never had a single issue anymore since we stepped over to git. |
||||||||||||
|
Veteran
|
Hey Blizz, our structure is more similar to yours than I hinted above. I didn't want to complicate senseysensor's situation but this might help you too senseysensor:
Our current model is that a central dev server mounts each of our work drives as exported mounts (samba or NFS). Every save that we do is reflected instantly on the server, but we all share the same working database because it is large. Every dev has his own working copy. Our work is not as TDD (we're working towards it) but our Test model is that the unit tests create a copy of all required tables exclusively for each dev running the test (avoids test result pollution when multiple devs are testing). Unfortunately, this model only works if you are all in the same office. We're now slowly building so that the "dev" server is really just a VM image, the idea being that any developer could have a VM running on their system. Anyway, we're stuck using CVS, nevermind SVN, and I'm pushing us towards Git as fast as I possibly could . |
||||||||||||
|
Guru master
|
We are spread over more than one country and often work from home as well. Our dev server is an instance on amazon. The only extra step is getting your files there. But as I said, for windows you have webdrive. PhpED had it's smart upload (although that doesn't delete files that are removed on the server). For linux/mac you have sshfs and so on. I tried a lot of them and still like the rsync over cygwin most. As you confirmed, running on a central database for the normal work and a per-dev copy of the structure for the tests is what works best And git yeah, what can I say. Unfortunately it requires quite a mind shift. Best is to try to convince the others to try it for 2 weeks. If used intensively you'll need the first week to get used to the shift Ow and if you don't have any experience with git: do NOT use it like you use SVN, thats not how it is supposed to work
|
||||||||||||
|
projects and collateral developing |
|
||
Content © NuSphere Corp., PHP IDE team
Powered by phpBB © phpBB Group, Design by phpBBStyles.com | Styles Database.
Powered by
Powered by phpBB © phpBB Group, Design by phpBBStyles.com | Styles Database.
Powered by