--------------------------------------------------------------------------------

>HairyDiode                                             

--------------------------------------------------------------------------------
Control Systems Club Project Workflow                                  1-24-2019
--------------------------------------------------------------------------------

First, create an ssh key. Intructions below:
SSH Generation Tutorial
Email me "~/.ssh/id_rsa.pub", I will give you permission to the SSH server and
to the production environment.

In the meantime, clone the code repository from our server "ryugyong" at
public IP 157.230.168.203.

To do this, run the command

git clone git@157.230.168.203:csc-code

This will clone a repository named "csc-code"

1. Go into the repository, and checkout to the development branch. Use:

git checkout $branch

where $branch could be:
	arduino-devel
	frontend-devel
	backend-devel
	controller-devel

1.5. Set the upstream of your branch to sync to that branch on the git server. 

git branch --set-upstream-to origin/$branch

2. Make the changes you want to make, and commit them.

type "git branch" to make sure you're on the development branch.

git commit $file

where file is the file you have changed, if it is new run

git add $file

3. Afterwards, ask for a code review from me or somebody else.

Push your changes to the remote repository running on ryugyong

git push

if the code passes review, I will merge it with master.

4. Put the code into production

To put these changes into production on the server, ssh into ryugyong with

	ssh root@157.230.168.203
	cd ~/csc-code
	git pull
	cd backend; make
	./backend

To put these changes into production on the control computer, physically go to
the control computer and run:

	cd ~/csc-code
	git pull
	cd controller; make
	./controller

To put these changes into production on the arduino, Take the arduino to your
computer.

	git checkout master
	git pull

	Run Arduino IDE and flash the code onto the Arduino

	git checkout $branch 

5. GOTO 1