Exam 08.06
This exam will test your knowledge of the skills we covered in the practical sessions throughout the semester. You have 1.5 hours to submit your work. The exam is open-book, but individual: you may use the course materials, but don't discuss problems with others.
Make sure to use git status
a lot and make commits as often as you see fit, because the guidelines don't tell you when to make a commit.
Setup
First things first: check your e-mail. You should have access to the exam repository that has been created for you. If you don't have access, ask the instructor.
The exam repository has some code, some issues and some pull requests. Familiarise yourself with the repository, pick an unassigned issue you like and assign it to yourself.
Do not make any commits directly to the exam repository. Instead, fork the repository and make all commits in your own fork.
Create a new branch in your repository, use the branch naming policy outlined in the exam repository wiki. In the rest of the exam, this branch will be called "your branch".
Commit history
Create a folder with your name and add a file called answers.txt
, answer the following questions in the file (include the commands that you used to find the answers):
- How many commits are in this repository (in total; in all branches)?
- When was the line #10 in the file
index.html
last changed and who is the author of that commit? - What is the commit message of the commit with the hash
865cbc8
?
Git configuration
Make an alias for one of the commands you used to answer the questions. Name the alias "exam" and add it to the local (repository) configuration.
Save the contents of the local configuration file (get them either with the git config
command or by finding the file in the .git
directory) in a file named config.txt
in your folder.
Working on the issue
Make the changes necessary to fix/resolve the issue that you picked.
Merge conflicts
Copy the file raven.md
to your directory.
Create a new branch from your branch (in the rest of the exam, this branch will be called "new branch").
On the new branch, in your copy of raven.md
, make sure all lines begin with a capital letter. Add and commit the changes.
Go back to your branch and in your copy of raven.md
, replace underscores("_") with the word "door".
Merge the new branch into your branch and solve the merge conflicts so that the resulting file contains the poem where each line begins with a capital letter and all underscores have been replace with the word "door".
Continuous Integration
Use the configuration in the file sample_travis_config.txt
to set up Travis CI and add the status image to the README.md
file. Travis build doesn't have to pass.
Pull requests
Create a new pull request. When creating a pull request, make sure that "base fork" is "CSE2018/cse-exam", "base" is "dev", "head fork" is "YourGitHubUserName/cse-exam" and "compare" is your branch.
The description of the pull request should automatically close the issue you picked in the beginning when the pull request is accepted. Use "CSE2018/cse-exam#IssueNumber" to reference the issue.
Make @Stopa the reviewer of your pull request.
Lastly, go to the original exam repository, pick one of the pull requests with the tag "help wanted" that don't have reviews. Review the code changed in this pull request. If you find any errors or mistakes, point them out. When done, either approve or reject the changes. If you found the changes to be acceptable, merge the pull request.
When you've opened the pull request for your branch, requested a review from (@Stopa) and reviewed another pull request, you may leave.