The mailing list is email@example.com. Enroll at: https://lists.osu.edu/mailman/listinfo/cacl or send email to: <listname>-firstname.lastname@example.org using that list name (cacl).
To run software on lab machines, you’ll need a linguistics user account.
- If necessary, email harmon@ling with cc to schuler to give you an OSU name.# username and password.
- Email harmon@ling with cc to schuler to give you access to mulligan, dignam and deasy.
- You can now log into mulligan, dignam or deasy from any linguistics machine. This will ensure you have compatible versions of all tools required to run lab software.
- You will start out in your own linguistics directory. You should have permission to use space on home/mulproj or home/digproj or home/deasproj, but you will have to keep an eye on your disk usage, to make sure you are not using more than your fair share. You can check your usage by typing:
du -sh *
from the /home/digproj, /home/mulproj and /home/deasproj directories.
To run the lab systems, you’ll need access to the lab project software (and developers will need to modify the source code). To access the released (stable) lab project source code:
- Go to the directory where you want your copy of the modelblocks-release directory to live (we suggest your root directory).
- If you just want to read from the repository, or if you have been given developer read/write permissions for github modelblocks, type the following:
git clone https://github.com/modelblocks/modelblocks-release.git
FORMERLY: If you have been given developer read/write permissions for github modelblocks, type:
git clone https://⟨username⟩@github.com/modelblocks/modelblocks-release.git
...where ⟨username⟩ is replaced with your github username. It will ask for your password.
To access the internal (development) lab project source code, which is necessary for annotation:
- Go to the directory where you want your copy of the modelblocks-repository directory to live, which should be in the same directory as modelblocks-release (i.e. your root directory if you took our suggestion above).
git clone https://⟨username⟩@code.osu.edu/modelblocks/modelblocks-repository.git
...where ⟨username⟩ is replaced with your OSU name.# username. It will ask for your password.
- If you will be contributing to our repository, email harmon@ling with cc to schuler to add you to the compling user group.
NOTE: If you have a repository using the old remote location, and wish to update to the new location, type the following, then push and pull as usual.
git remote set-url origin https://⟨username⟩@code.osu.edu/modelblocks/modelblocks-repository.git
FORMERLY: If you just want to read from the repository, type the following:
git clone ssh://ling.osu.edu/home/compling/modelblocks-repository
If you have developer read/write permissions, type:
git clone ssh://⟨username⟩@ling.osu.edu/home/compling/modelblocks-repository
...where ⟨username⟩ is replaced with your ling username. It will ask for your password once.
To contribute to papers in the lab, you’ll also need access to the lab latex repository. To access the lab latex repository:
- cd to the directory where you want your copy of the latex-repository directory to live.
git clone https://⟨username⟩@code.osu.edu/modelblocks/latex-repository.git
...where ⟨username⟩ is replaced with your OSU name.# username. It will ask for your password once.
If you will be using the nlp project space, please be sure to:
- Set your default permissions so that new files and directories that you create will be group read/writable:
- add "
umask 007" to your "
- add "
- When you create a new directory in /project/nlp, /project/nlp03, /project/nlp04, or /scratch/nlp, you need to do two things:
- Change the directory's group to nlp using
- Set the directory's sticky bit using
- Change the directory's group to nlp using
- Subscribe to the cacl newsgroup, to receive announcements about lab facilities: send mail to cacl
If you didn't change your umask immediately, or didn't set sticky bit somewhere, you will have to:
chmod -R 770on all your group-unreadable files and directories
chgrp -R complingon all your group-unreadable files
chmod +son all your group-unreadable directories to set the sticky bit that controls group inheritance
Git workflows for developers
- Clone the directory as above.
- Create a .gitconfig file in your home directory to contain personal information as well as handy aliases (you may copy and paste the following directly, adding of course your real information):
[user] name = (your name) email = (your email) [alias] co = checkout ci = commit st = status
git checkout -b <local_branch>## creates local branch and switches to it
vi file1.cpp## Edit some files
vi file2.cpp## Edit some files
git status## Examine file status
git add <new_file>## If you've created new files, tell git about them
git commit -a## Commit your changes to your local branch. You have to type a message to tell us what you did in this commit.
- At this point you'd like to check if someone has made changes to the main development branch, and if so integrate them with your changes to make sure nothing is broken.
git checkout master## Switch back to master branch
git pull## Get changes from the remote server
git rebase master <local_branch>## `Rewind' the changes in your branch, apply the remote changes to the branch point, then apply your changes on top of that. Also will check out the local branch for you.
- You can go back to step 4 now and resume development.
At some point you may want to send your changes to the server:
- Run steps 8-12 above so that your branch is up-to-date
git checkout master## Check out master branch
git merge <local_branch>## Merge your branch into master
git push## Send your changes to the server
- The git help pages are very useful: try
git help <command name>
git stashis useful if you need to temporarily hide some changes when you get sidetracked by other tasks. You can use
git stash listto see the stack of stashes you've created, and
git stash popto apply the most recent stash and remove it from the stack.