Greetings! :-)
I would like to describe a workflow strategy with some gaps in it, and I would be glad if you could fill in the gaps and otherwise give comments. If admins think that this does not validate as a question, then please delete away.
I am working on a webproject having files with PHP, Javascript (jQuery), HTML, CSS and postgresql code for in-database functions, table creation and configuration. All files are changed frequently. I use Apache.
This is what I want:
- Introduce revision control.
- Use build files for managing compilation and revision control.
- Start using a proper IDE.
- Be able to hack on my stationary and laptop with little time wasted on keeping code and IDE project configurations synchronized.
- Have a setup for the project so some friends (approx 4-5) may join the project in the future.
This is what I am planning to start to use:
- Bazaar for revision control and "project distribution".
- Ant for build files.
- Eclipse setup with proper plugins for managing Bazaar and Ant.
With Bazaar I intend to put code files, build files and even Eclipse project configuration files (configuration files of the project that I create in Eclipse to work with the webproject) under revision control. That way I can pull all that stuff from my stationary to my laptop via Bazaar.
Since I also put Eclipse's project conf files under revision control, I expect that I can without hazzle immediately open the Eclipse project directly on my laptop. So even if I make modifications to the project settings in Eclipse this should also be synchronized over laptop and host.
But I do have a few questions. Do you know how I should use bazaar so that I am notified or stopped when I try to modify the code on my stationary but have forgotten to push/check-in modifications from my laptop?
Also how should I setup Bazaar so that others can easily join the project in the future? I dont like using a service like launchpad, and would like my stationary to be the server. Is it not a bit risky to do it through ssh because I would have to create a new user account on my stationary each time a new user wants to join in?
Thoughts? Comments? It would be appreciated.