Setting up a multi-user programming environment
I have a college project coming up and I require the following: A multi user (programmer) environment run on Linux which would allow for headless use, c++ code management, allowing for code writing from Windows or Linux, and compiling and running of code on the same machine.
I am familiar with C++ and Linux, but in a single user (me) way. I need to work on this project with 3 others.
Please advise on what software I should/can use to accomplish this.
First, I would recommend subversion (or cvs) for your code management. Once setup, it is fairly simple to use and will create a nice central location for all your code. I used a similar setup for many college projects and found it very productive.
Now, I am confused about the rest of what you want. Are you going to be building on this machine? Or logged into this machine while developing? If you're going to use this machine for these tasks... then I just recommend installing the tools you're used to. For example, you can run kdevelop on this server and have it display on your local linux machine... so it's running headless but you can use graphical tools. I wouldn't recommend it over a dialup or distant connection but it does work. As long as the windows users can access the repository they should be fine using whatever tools they want.
And are you looking to make C++ code which is going to compile cleanly on both Linux and Windows? In this case... very very careful coding will help. But I'm out of my league... I know very little about windows programming.
Oh, and a second thing... communication is important. If you're not working in the same lab then I recommend both a mailing list and possibly an IRC channel on a network which lets you register channels (don't waste time running your own unless you're already doing that).
Make the IRC channel +s and +k (with a keyword everyone is informed about) to keep it limited to just your group members. This is especially effective if you all keep roughly the same hours. It's less effective when you don't but still useful.
The mailing list works for people keeping massively different schedules but also suffers from a delay of communication and often less specific information sharing. Where you may comment on how you're changing function xzy in a specific way which doesn't massively change the code in real time... for the mailing list you would just assume they'll pick it up when they update their code and if they run into problems they'll email then.
Group projects make communication very important. Remember that. You all need to be working towards the same goal and not overlap or redo each other's work as often as possible. (I can't even recall the number of times a group of us broke apart to code 5 different functions and all came back with the same function of the five because it was the most clearly defined and thus easiest to implement.)
To attempt to be more clear, I usually code my apps on my own FC4 computer, using KDevelop, which in turn uses g++ to compile (I assume). How do I set things up so that the other members can use Visual Studio 2003 to write their code, and have it compile/run on the server?
Thanks for your initial advice.
|All times are GMT -5. The time now is 04:59 PM.|