Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   Programming Collaboration (http://www.chiefdelphi.com/forums/showthread.php?t=119408)

RobotKnight2014 17-09-2013 21:21

Programming Collaboration
 
We are revamping our computer setup for programmers/cad, and I'm curious as to how other teams with C++ synchronize and share code across different programmers and code. The past few years its just been one laptop with a few people huddled around one person typing, but I would love to see a row of programmers working on various projects.

mikets 17-09-2013 22:48

Re: Programming Collaboration
 
Get a peer-to-peer source control such as GIT or Mercurial. Our team uses Mercurial. We partitioned the code into subsystems. Assign each subsystem to different programmers. Each subsystem is in a separate file so to minimize the need of other programmers having to touch your file. There are some common files that contains common definitions and constants. It should not be too frequent for students to change them once they are in place. If there is a need to do so, the student will announce it ahead of time to avoid conflicting changes to common files. Even if it happens, you should be able to merge without too much problem. The benefit of peer-to-peer source control is that you can push the code to a USB flash drive and pass it around for other students to pull (synchronize) the code from it. We also have a server that is one of the peer sync targets. The server, in addition to being a sync target, provides a web interface allowing you to inspect the change history and the differences between different versions.
For example, here is a link to our server.
http://proj.titanrobotics.net/hg/Frc/2013/code/

BigJ 18-09-2013 09:08

Re: Programming Collaboration
 
Github offered organization accounts to teams last season (and probably still do?).

Here's the topic from earlier this year: http://www.chiefdelphi.com/forums/sh...ghlight=github

Note: I think you can have an organization account that is free but all the repositories are public. This isn't normally a problem in FRC.

They even have a FIRST octocat!

http://octodex.github.com/FIRSTocat/

faust1706 19-09-2013 00:22

Re: Programming Collaboration
 
this problem was only recently addressed for our team. We have vision programmers (2 people, me and another student, but the other student got pulled to cad) and the crio programmers(~3-5), and we had one computer for vision, one laptop for the other. We recently created a vault for all of our data. This was made in part due to the school restricting everything and us being unable to access files at home if we didnt copy them onto a portable device. It is divided into cad, vision, labview, business, and parts (for build). It is nowhere near the sophistication of github, but it is a start to solving our problem. It wasn't hard to set up, and has become very useful.

mandrews281 07-10-2013 08:00

Re: Programming Collaboration
 
Ditto. We are using Mercurial with Tortoise (one of our former programmers recommended it over git for beginners). Since mercurial is python, the Windows install was much easier (and functional). Our main repository is on the main programming laptop we take to competitions so the work method doesn't even change when we get to competition.


All times are GMT -5. The time now is 12:53.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi