CSE 451, Introduction to Operating Systems, Spring 2014

Using Your Group Repositories

Finding Your Folder

Each group has been assigned a group letter and a folder. To find your group letter, log in to a CSE machine and execute the command groups. You should get back a list of groups, one of which is of the form cse451X where X is your group letter. Your group folder is located at

/projects/instr/14sp/cse451/groups/<X>/

For example:

[sunjayc ~]$ groups
ugrad_uw cse451z
In this case, my group letter would be z, and my group folder would be
/projects/instr/14sp/cse451/groups/z/

Setting Up Your Repository

Only one member of each group should complete the following instructions.

From your terminal, navigate to your group project folder, then execute the command
git init --shared=group --bare os161
This will set up the repository your group will push to and pull from.

Now navigate to the directory containing your os161 source code and execute the following commands:

git remote rename origin distrib  # the repo you initially cloned from is the distribution repo
git remote add origin /projects/instr/14sp/cse451/groups/<X>/os161/  # add your group's repo to your list of remotes
git push -u origin master  # push the initial commit and also set your group repo as the default to use

The other member(s) each group should complete the following instructions.

Navigate to the directory containing your os161 source code and execute the following commands:
git remote rename origin distrib  # the repo you initially cloned from is the distribution repo
git remote add origin /projects/instr/14sp/cse451/groups/<X>/os161/  # add your group's repo to your list of remotes
git fetch origin  # fetch the data from the repo
git branch --set-upstream-to=origin/master  # set your group repo as the default to use

Example

If Jared (jcm1317) and I (sunjayc) were in group cse451z, this is what our respective sessions would look like:

sunjayc's session

[sunjayc ~]$ cd /projects/instr/14sp/cse451/groups/z/
[sunjayc z]$ git init --shared=group --bare os161
Initialized empty shared Git repository in /projects/instr/14sp/cse451/groups/z/os161/

[sunjayc z]$ cd ~/cse451/os161
[sunjayc os161]$ git remote rename origin distrib
[sunjayc os161]$ git remote add origin /projects/instr/14sp/cse451/groups/z/os161/
[sunjayc os161]$ git remote -v
distrib /projects/instr/14sp/cse451/os161/ (fetch)
distrib /projects/instr/14sp/cse451/os161/ (push)
origin  /projects/instr/14sp/cse451/groups/z/os161/ (fetch)
origin  /projects/instr/14sp/cse451/groups/z/os161/ (push)

[sunjayc os161]$ git push -u origin master
Counting objects: 813, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (408/408), done.
Writing objects: 100% (813/813), 665.68 KiB | 0 bytes/s, done.
Total 813 (delta 387), reused 813 (delta 387)
To /projects/instr/14sp/cse451/groups/z/os161/
 * [new branch]      master -> master
 Branch master set up to track remote branch master from origin.

jcm1317's session

[jcm1317 ~]$ cd ~/cse451/os161
[jcm1317 os161]$ git remote rename origin distrib
[jcm1317 os161]$ git remote add origin /projects/instr/14sp/cse451/groups/z/os161/
[jcm1317 os161]$ git remote -v
distrib /projects/instr/14sp/cse451/os161/ (fetch)
distrib /projects/instr/14sp/cse451/os161/ (push)
origin  /projects/instr/14sp/cse451/groups/z/os161/ (fetch)
origin  /projects/instr/14sp/cse451/groups/z/os161/ (push)

[jcm1317 os161]$ git fetch origin
From /projects/instr/14sp/cse451/groups/z/os161
 * [new branch]      master     -> origin/master

[jcm1317 os161]$ git branch --set-upstream-to=origin/master
Branch master set up to track remote branch master from origin.